Commit 6dc861f2 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

libtirpc: new package

parent 78f136ad
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -468,6 +468,7 @@ source "package/libpcap/Config.in"
source "package/libosip2/Config.in"
source "package/librsync/Config.in"
source "package/libsoup/Config.in"
source "package/libtirpc/Config.in"
source "package/libtorrent/Config.in"
source "package/libupnp/Config.in"
source "package/libvncserver/Config.in"
+7 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_LIBTIRPC
	bool "libtirpc"
	help
	  Libtirpc is a port of Sun's Transport-Independent RPC
	  library to Linux.

	  http://sourceforge.net/projects/libtirpc/
+70 −0
Original line number Diff line number Diff line
From f4c022c526ce061dfdd3c46f544a9495a3a3a97e Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 23 Jun 2012 21:57:39 +0200
Subject: [PATCH 1/4] Disable parts of TIRPC requiring NIS support

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 src/Makefile.am  |    3 +--
 src/rpc_soc.c    |    2 ++
 tirpc/rpc/auth.h |    3 +++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 7ee8cbc..6d36b93 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -49,8 +49,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
         pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \
         rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
         rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
-        svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
-        auth_time.c auth_des.c authdes_prot.c des_crypt.c
+        svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c
 
 ## XDR
 libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
diff --git a/src/rpc_soc.c b/src/rpc_soc.c
index c678429..27f2136 100644
--- a/src/rpc_soc.c
+++ b/src/rpc_soc.c
@@ -515,6 +515,7 @@ clnt_broadcast(prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult)
 	    (resultproc_t) rpc_wrap_bcast, "udp");
 }
 
+#if 0
 /*
  * Create the client des authentication object. Obsoleted by
  * authdes_seccreate().
@@ -546,6 +547,7 @@ fallback:
 	dummy = authdes_seccreate(servername, window, NULL, ckey);
 	return (dummy);
 }
+#endif
 
 /*
  * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()
diff --git a/tirpc/rpc/auth.h b/tirpc/rpc/auth.h
index 734e6b9..6e7e54e 100644
--- a/tirpc/rpc/auth.h
+++ b/tirpc/rpc/auth.h
@@ -282,6 +282,8 @@ extern AUTH *authunix_create(char *, uid_t, uid_t, int, uid_t *);
 extern AUTH *authunix_create_default(void);	/* takes no parameters */
 extern AUTH *authnone_create(void);		/* takes no parameters */
 __END_DECLS
+
+#if 0
 /*
  * DES style authentication
  * AUTH *authsecdes_create(servername, window, timehost, ckey)
@@ -295,6 +297,7 @@ extern AUTH *authdes_create (char *, u_int, struct sockaddr *, des_block *);
 extern AUTH *authdes_seccreate (const char *, const u_int, const  char *,
     const  des_block *);
 __END_DECLS
+#endif
 
 __BEGIN_DECLS
 extern bool_t xdr_opaque_auth		(XDR *, struct opaque_auth *);
-- 
1.7.9.5
+26 −0
Original line number Diff line number Diff line
From c91721dc289397dfe38fdae175f4ee37e824667c Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 23 Jun 2012 21:58:07 +0200
Subject: [PATCH 2/4] uClibc without RPC support does not install rpcent.h

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 tirpc/rpc/rpcent.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tirpc/rpc/rpcent.h b/tirpc/rpc/rpcent.h
index 7fd93d9..df1f5ed 100644
--- a/tirpc/rpc/rpcent.h
+++ b/tirpc/rpc/rpcent.h
@@ -47,7 +47,7 @@
 __BEGIN_DECLS
 
 /* These are defined in /usr/include/rpc/netdb.h */
-#if 0
+#if __UCLIBC__
 struct rpcent {
 	char	*r_name;	/* name of server for this rpc program */
 	char	**r_aliases;	/* alias list */
-- 
1.7.9.5
+60 −0
Original line number Diff line number Diff line
From a4852bd653ac917165de1d41b60168cd88dc6672 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 23 Jun 2012 21:58:36 +0200
Subject: [PATCH 3/4] Add missing INET6 conditional

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 src/rpc_generic.c |    2 ++
 src/svc_dg.c      |    4 ++++
 2 files changed, 6 insertions(+)

diff --git a/src/rpc_generic.c b/src/rpc_generic.c
index 509fb36..2eb91ad 100644
--- a/src/rpc_generic.c
+++ b/src/rpc_generic.c
@@ -535,7 +535,9 @@ __rpc_nconf2fd_flags(const struct netconfig *nconf, int flags)
 	    si.si_af == AF_INET6) {
 		int val = 1;
 
+#ifdef INET6
 		setsockopt(fd, SOL_IPV6, IPV6_V6ONLY, &val, sizeof(val));
+#endif
 	}
 	return fd;
 }
diff --git a/src/svc_dg.c b/src/svc_dg.c
index 66a56ee..e8faf33 100644
--- a/src/svc_dg.c
+++ b/src/svc_dg.c
@@ -627,9 +627,11 @@ svc_dg_enable_pktinfo(int fd, const struct __rpc_sockinfo *si)
 		(void) setsockopt(fd, SOL_IP, IP_PKTINFO, &val, sizeof(val));
 		break;
 
+#ifdef INET6
 	case AF_INET6:
 		(void) setsockopt(fd, SOL_IPV6, IPV6_PKTINFO, &val, sizeof(val));
 		break;
+#endif
 	}
 }
 
@@ -667,6 +669,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg)
 		}
 		break;
 
+#ifdef INET6
 	case AF_INET6:
 		if (cmsg->cmsg_level != SOL_IPV6
 		 || cmsg->cmsg_type != IPV6_PKTINFO
@@ -679,6 +682,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg)
 			pkti->ipi6_ifindex = 0;
 		}
 		break;
+#endif
 
 	default:
 		return 0;
-- 
1.7.9.5
Loading