diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/libtirpc/APKBUILD | 29 | ||||
-rw-r--r-- | main/libtirpc/fix-cdefs.patch | 1622 | ||||
-rw-r--r-- | main/libtirpc/gssglue.patch | 113 | ||||
-rw-r--r-- | main/libtirpc/musl-compliance.patch | 31 |
4 files changed, 41 insertions, 1754 deletions
diff --git a/main/libtirpc/APKBUILD b/main/libtirpc/APKBUILD index daac9e032..f22a8d6b4 100644 --- a/main/libtirpc/APKBUILD +++ b/main/libtirpc/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=libtirpc -pkgver=0.2.3 -pkgrel=1 +pkgver=0.2.4 +pkgrel=0 pkgdesc="Transport Independent RPC library (SunRPC replacement)" url="http://libtirpc.sourceforge.net/" arch="all" @@ -12,15 +12,12 @@ makedepends="$depends_dev autoconf automake libtool" subpackages="$pkgname-dev $pkgname-doc" source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 nis.h - gssglue.patch libtirpc-no-des.patch - automake.patch - fix-cdefs.patch + musl-compliance.patch " prepare() { cd "$srcdir"/$pkgname-$pkgver - update_config_sub || return 1 # uclibc does not provide nis.h so provide our own mkdir src/rpcsvc @@ -54,23 +51,17 @@ package() { cd $srcdir/$pkgname-$pkgver make DESTDIR="$pkgdir" install || return 1 rm "$pkgdir"/usr/lib/*.la || return 1 - install -D -m644 doc/etc_netconfig "$pkgdir"/etc/netconfig } -md5sums="b70e6c12a369a91e69fcc3b9feb23d61 libtirpc-0.2.3.tar.bz2 + +md5sums="847995e8d002cbf1387bda05947be086 libtirpc-0.2.4.tar.bz2 082dff1bc78bdcbac6d305c1534fe3c0 nis.h -7c50e2381f103cc9b84a86fad9b8eac5 gssglue.patch 80e8f54aab0f5bed37e58ad79fe4ff2b libtirpc-no-des.patch -5cac96c765922f33de61a215aa264a7f automake.patch -5a5f63b42c2c10845584eaa6d5da61ba fix-cdefs.patch" -sha256sums="4f29ea0491b4ca4c29f95f3c34191b857757873bbbf4b069f9dd4da01a6a923c libtirpc-0.2.3.tar.bz2 +26e391e40f06d3d14189ec6ae0598948 musl-compliance.patch" +sha256sums="45c3e21dfc23a5ba501f9dfc6671678316fdfdb8355a1ec404ae2aa2f81943a1 libtirpc-0.2.4.tar.bz2 7149d53da167168cbad9e75cbab302768f659e59e208763b1bf5df2a6ff3bfdb nis.h -02658756777563dccb3904a00e87fa562eddeab0fe15ef0c6c21893b2d8619aa gssglue.patch 5b7c8f6d19f17541902dfd1b1132f2b07e4cc0987152d4e8007243e776d4d47f libtirpc-no-des.patch -6188b7236b1f9088ad09749eed6407bd7b75fe37d1569a19977f44d15ec6a10c automake.patch -802d2bad879c3554496414d9b882d8a68a2c00acc9bff5d4c6fbb07b0d756a27 fix-cdefs.patch" -sha512sums="dd480fcb6feda4a2bba7e5a5dc9b1f523697a39ddaa44a5742405f66d202996d99a562a31dbf6daf06e9b7ce5d82dfd1cce7b76a34466b92f84176e77498163d libtirpc-0.2.3.tar.bz2 +8c54cf46095945c25c8bf4968e67e6304bbae82352d3c25a6532af66443e931a musl-compliance.patch" +sha512sums="8b7fec13d34ad0ddfa3832f4a4955607d94f6a691fedcc81a98554345f6c6e64d5f289490a10a80600cebf5b53cfad99c0d78007b88f8f2fbc60cbb8680fc87f libtirpc-0.2.4.tar.bz2 15edac1e30cc1aa65ca495bae14c6c7455d65ca539b7e5c865c3fbd5a51c76966b37dd34e9a6483aadcaea3602aefb0b48cdb46f877dae1c65dfa6840dfd8c54 nis.h -3dd3d4a082b1b9bb82c358a5b74e6c5f23fdd522ea2875fc27a7b1035e04b14aeec30db08aa3ce5c0168df325e540799bf6f55c3a67226e05cf52de11968ad86 gssglue.patch 9a984a7741deb943f92cd8a9f23d1a0e09a01e91aa88268456ccbb7998b24f50ad431e26400def3a8ba9d6cd345e5abccf5acf9c59708ce8f0653275c2ea5d61 libtirpc-no-des.patch -dcbc55ed5551703799e6a690e65dbdbd9cc0293c0392a1a3c2d52bc9e91e8b0e18b89fa146f78fea8476c04409b766b6cdbde38a5f226d32043987ca1471634c automake.patch -f1c95df18a97a633d49fca4698c090c138b18bb4c330a59be48849065c6ecbf7be06254fd4a145884cf1c3fdd05946a962bdfb7452bf31e5261f49edfab0f11b fix-cdefs.patch" +5c0414345e863057eb0ff28f97e654e22fc444f4d72c392de83ab372d0485123c8a42bc558c3688c5b24f3cc83997db5324b2cc57a2676b658761dce45605999 musl-compliance.patch" diff --git a/main/libtirpc/fix-cdefs.patch b/main/libtirpc/fix-cdefs.patch deleted file mode 100644 index ed5b1a1bb..000000000 --- a/main/libtirpc/fix-cdefs.patch +++ /dev/null @@ -1,1622 +0,0 @@ ---- libtirpc-0.2.3.orig/src/auth_des.c -+++ libtirpc-0.2.3/src/auth_des.c -@@ -38,7 +38,6 @@ - #include <string.h> - #include <stdlib.h> - #include <unistd.h> --#include <sys/cdefs.h> - #include <rpc/des_crypt.h> - #include <syslog.h> - #include <rpc/types.h> -@@ -52,7 +51,6 @@ - - #if defined(LIBC_SCCS) && !defined(lint) - #endif --#include <sys/cdefs.h> - - #define USEC_PER_SEC 1000000 - #define RTIME_TIMEOUT 5 /* seconds to wait for sync */ ---- libtirpc-0.2.3.orig/src/auth_none.c -+++ libtirpc-0.2.3/src/auth_none.c -@@ -31,7 +31,6 @@ - static char *sccsid = "@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro"; - static char *sccsid = "@(#)auth_none.c 2.1 88/07/29 4.0 RPCSRC"; - #endif --#include <sys/cdefs.h> - __FBSDID("$FreeBSD: src/lib/libc/rpc/auth_none.c,v 1.12 2002/03/22 23:18:35 obrien Exp $"); - */ - ---- libtirpc-0.2.3.orig/src/auth_time.c -+++ libtirpc-0.2.3/src/auth_time.c -@@ -25,7 +25,6 @@ - * needed to deal with TCP connections. - */ - --#include <sys/cdefs.h> - #include <stdio.h> - #include <syslog.h> - #include <string.h> ---- libtirpc-0.2.3.orig/src/auth_unix.c -+++ libtirpc-0.2.3/src/auth_unix.c -@@ -26,7 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * auth_unix.c, Implements UNIX style authentication parameters. ---- libtirpc-0.2.3.orig/src/authdes_prot.c -+++ libtirpc-0.2.3/src/authdes_prot.c -@@ -1,4 +1,3 @@ --#include <sys/cdefs.h> - /* - * Copyright (c) 2009, Sun Microsystems, Inc. - * All rights reserved. ---- libtirpc-0.2.3.orig/src/authunix_prot.c -+++ libtirpc-0.2.3/src/authunix_prot.c -@@ -26,7 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * authunix_prot.c ---- libtirpc-0.2.3.orig/src/bindresvport.c -+++ libtirpc-0.2.3/src/bindresvport.c -@@ -26,7 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * Copyright (c) 1987 by Sun Microsystems, Inc. -@@ -40,6 +39,7 @@ - #include <netinet/in.h> - - #include <errno.h> -+#include <netdb.h> - #include <string.h> - #include <unistd.h> - ---- libtirpc-0.2.3.orig/src/clnt_bcast.c -+++ libtirpc-0.2.3/src/clnt_bcast.c -@@ -28,7 +28,6 @@ - /* - * Copyright (c) 1986-1991 by Sun Microsystems Inc. - */ --#include <sys/cdefs.h> - - /* - * clnt_bcast.c ---- libtirpc-0.2.3.orig/src/clnt_perror.c -+++ libtirpc-0.2.3/src/clnt_perror.c -@@ -27,7 +27,6 @@ - */ - - /* --#include <sys/cdefs.h> - */ - /* - * clnt_perror.c ---- libtirpc-0.2.3.orig/src/clnt_simple.c -+++ libtirpc-0.2.3/src/clnt_simple.c -@@ -29,7 +29,6 @@ - * Copyright (c) 1986-1991 by Sun Microsystems Inc. - */ - --#include <sys/cdefs.h> - - /* - * clnt_simple.c ---- libtirpc-0.2.3.orig/src/crypt_client.c -+++ libtirpc-0.2.3/src/crypt_client.c -@@ -30,7 +30,6 @@ - * SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - #include <err.h> - #include <sys/types.h> ---- libtirpc-0.2.3.orig/src/des_crypt.c -+++ libtirpc-0.2.3/src/des_crypt.c -@@ -39,7 +39,6 @@ - static char sccsid[] = "@(#)des_crypt.c 2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/08 SMI"; - #endif - #endif --#include <sys/cdefs.h> - - static int common_crypt( char *, char *, unsigned, unsigned, struct desparams * ); - int (*__des_crypt_LOCAL)() = 0; ---- libtirpc-0.2.3.orig/src/des_soft.c -+++ libtirpc-0.2.3/src/des_soft.c -@@ -1,5 +1,4 @@ --//#include <sys/cdefs.h> -- -+// - /* - * Copyright (c) 2009, Sun Microsystems, Inc. - * All rights reserved. ---- libtirpc-0.2.3.orig/src/getnetconfig.c -+++ libtirpc-0.2.3/src/getnetconfig.c -@@ -32,7 +32,6 @@ - - #include <pthread.h> - #include <reentrant.h> --#include <sys/cdefs.h> - #include <stdio.h> - #include <errno.h> - #include <netconfig.h> ---- libtirpc-0.2.3.orig/src/getnetpath.c -+++ libtirpc-0.2.3/src/getnetpath.c -@@ -25,13 +25,11 @@ - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ --#include <sys/cdefs.h> - - /* - * Copyright (c) 1989 by Sun Microsystems, Inc. - */ - --#include <sys/cdefs.h> - #include <stdio.h> - #include <errno.h> - #include <netconfig.h> ---- libtirpc-0.2.3.orig/src/getpeereid.c -+++ libtirpc-0.2.3/src/getpeereid.c -@@ -24,7 +24,6 @@ - * SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - #include <sys/param.h> - #include <sys/socket.h> ---- libtirpc-0.2.3.orig/src/getpublickey.c -+++ libtirpc-0.2.3/src/getpublickey.c -@@ -26,7 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - /* --#include <sys/cdefs.h> - */ - - /* ---- libtirpc-0.2.3.orig/src/key_call.c -+++ libtirpc-0.2.3/src/key_call.c -@@ -30,7 +30,6 @@ - */ - - --#include <sys/cdefs.h> - - /* - * key_call.c, Interface to keyserver ---- libtirpc-0.2.3.orig/src/key_prot_xdr.c -+++ libtirpc-0.2.3/src/key_prot_xdr.c -@@ -33,7 +33,6 @@ - */ - /* Copyright (c) 1990, 1991 Sun Microsystems, Inc. */ - --#include <sys/cdefs.h> - - /* - * Compiled from key_prot.x using rpcgen. ---- libtirpc-0.2.3.orig/src/mt_misc.c -+++ libtirpc-0.2.3/src/mt_misc.c -@@ -1,5 +1,4 @@ - --#include <sys/cdefs.h> - #include <pthread.h> - #include <reentrant.h> - #include <rpc/rpc.h> ---- libtirpc-0.2.3.orig/src/pmap_clnt.c -+++ libtirpc-0.2.3/src/pmap_clnt.c -@@ -26,7 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * pmap_clnt.c ---- libtirpc-0.2.3.orig/src/pmap_getmaps.c -+++ libtirpc-0.2.3/src/pmap_getmaps.c -@@ -26,7 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * pmap_getmap.c ---- libtirpc-0.2.3.orig/src/rpc_com.h -+++ libtirpc-0.2.3/src/rpc_com.h -@@ -40,7 +40,6 @@ - #ifndef _TIRPC_RPCCOM_H - #define _TIRPC_RPCCOM_H - --#include <sys/cdefs.h> - - /* #pragma ident "@(#)rpc_com.h 1.11 93/07/05 SMI" */ - -@@ -54,7 +53,9 @@ - #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \ - (u_int32_t)(now)->tv_usec) - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern u_int __rpc_get_a_size(int); - extern int __rpc_dtbsize(void); - extern struct netconfig * __rpcgettp(int); -@@ -90,6 +91,8 @@ - SVCXPRT **__svc_xports; - int __svc_maxrec; - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* _TIRPC_RPCCOM_H */ ---- libtirpc-0.2.3.orig/src/rpc_generic.c -+++ libtirpc-0.2.3/src/rpc_generic.c -@@ -29,7 +29,6 @@ - * Copyright (c) 1986-1991 by Sun Microsystems Inc. - */ - --#include <sys/cdefs.h> - - /* - * rpc_generic.c, Miscl routines for RPC. ---- libtirpc-0.2.3.orig/src/rpcb_st_xdr.c -+++ libtirpc-0.2.3/src/rpcb_st_xdr.c -@@ -35,7 +35,6 @@ - * routines used with the rpcbind stats facility. - */ - --#include <sys/cdefs.h> - - #include <rpc/rpc.h> - ---- libtirpc-0.2.3.orig/src/rpcdname.c -+++ libtirpc-0.2.3/src/rpcdname.c -@@ -25,7 +25,6 @@ - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ --#include <sys/cdefs.h> - - /* - * rpcdname.c ---- libtirpc-0.2.3.orig/src/rpcsvc/nis.h -+++ libtirpc-0.2.3/src/rpcsvc/nis.h -@@ -35,7 +35,9 @@ - //#include <rpc/rpc.h> - //#include <rpcsvc/nis_tags.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* - * nis.h -@@ -537,6 +539,8 @@ - #define NIS_VERSION 3 - - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* ! _RPCSVC_NIS_H */ ---- libtirpc-0.2.3.orig/src/svc_dg.c -+++ libtirpc-0.2.3/src/svc_dg.c -@@ -31,7 +31,6 @@ - * Copyright (c) 1986-1991 by Sun Microsystems Inc. - */ - --#include <sys/cdefs.h> - - /* - * svc_dg.c, Server side for connectionless RPC. ---- libtirpc-0.2.3.orig/src/svc_simple.c -+++ libtirpc-0.2.3/src/svc_simple.c -@@ -29,7 +29,6 @@ - * Copyright (c) 1986-1991 by Sun Microsystems Inc. - */ - --#include <sys/cdefs.h> - - /* - * svc_simple.c ---- libtirpc-0.2.3.orig/src/svc_vc.c -+++ libtirpc-0.2.3/src/svc_vc.c -@@ -27,7 +27,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * svc_vc.c, Server side for Connection Oriented based RPC. ---- libtirpc-0.2.3.orig/src/xdr.c -+++ libtirpc-0.2.3/src/xdr.c -@@ -26,7 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * xdr.c, Generic XDR routines implementation. ---- libtirpc-0.2.3.orig/src/xdr_array.c -+++ libtirpc-0.2.3/src/xdr_array.c -@@ -27,7 +27,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * xdr_array.c, Generic XDR routines impelmentation. ---- libtirpc-0.2.3.orig/src/xdr_float.c -+++ libtirpc-0.2.3/src/xdr_float.c -@@ -27,7 +27,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * xdr_float.c, Generic XDR routines implementation. ---- libtirpc-0.2.3.orig/src/xdr_mem.c -+++ libtirpc-0.2.3/src/xdr_mem.c -@@ -26,7 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * xdr_mem.h, XDR implementation using memory buffers. ---- libtirpc-0.2.3.orig/src/xdr_rec.c -+++ libtirpc-0.2.3/src/xdr_rec.c -@@ -27,8 +27,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> --#include <sys/cdefs.h> - - /* - * xdr_rec.c, Implements TCP/IP based XDR streams with a "record marking" ---- libtirpc-0.2.3.orig/src/xdr_reference.c -+++ libtirpc-0.2.3/src/xdr_reference.c -@@ -26,8 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> --#include <sys/cdefs.h> - - /* - * xdr_reference.c, Generic XDR routines impelmentation. ---- libtirpc-0.2.3.orig/src/xdr_sizeof.c -+++ libtirpc-0.2.3/src/xdr_sizeof.c -@@ -34,7 +34,6 @@ - * when serialized using XDR. - */ - --#include <sys/cdefs.h> - - #include "namespace.h" - #include <rpc/types.h> ---- libtirpc-0.2.3.orig/src/xdr_stdio.c -+++ libtirpc-0.2.3/src/xdr_stdio.c -@@ -26,7 +26,6 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - --#include <sys/cdefs.h> - - /* - * xdr_stdio.c, XDR implementation on standard i/o file. ---- libtirpc-0.2.3.orig/tirpc/misc/event.h -+++ libtirpc-0.2.3/tirpc/misc/event.h -@@ -186,15 +186,18 @@ - - #else /* !_KERNEL */ - --#include <sys/cdefs.h> - struct timespec; - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - int kqueue(void); - int kevent(int kq, const struct kevent *changelist, int nchanges, - struct kevent *eventlist, int nevents, - const struct timespec *timeout); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_KERNEL */ - ---- libtirpc-0.2.3.orig/tirpc/netconfig.h -+++ libtirpc-0.2.3/tirpc/netconfig.h -@@ -74,7 +74,9 @@ - #define NC_UDP "udp" - #define NC_ICMP "icmp" - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - extern void *setnetconfig (void); - extern struct netconfig *getnetconfig (void *); -@@ -89,6 +91,8 @@ - extern void nc_perror (const char *); - extern char *nc_sperror (void); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* _NETCONFIG_H_ */ ---- libtirpc-0.2.3.orig/tirpc/rpc/auth.h -+++ libtirpc-0.2.3/tirpc/rpc/auth.h -@@ -48,7 +48,6 @@ - - #include <rpc/xdr.h> - #include <rpc/clnt_stat.h> --#include <sys/cdefs.h> - #include <sys/socket.h> - #include <sys/types.h> - #include <stdio.h> -@@ -165,9 +164,13 @@ - char c[8]; - }; - typedef union des_block des_block; --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t xdr_des_block(XDR *, des_block *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Authentication info. Opaque to client. -@@ -288,9 +291,13 @@ - xfunc, xwhere)) - - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern struct opaque_auth _null_auth; --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Any style authentication. These routines can be used by any -@@ -311,11 +318,15 @@ - * int len; - * int *aup_gids; - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - 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 -+#ifdef __cplusplus -+} -+#endif - /* - * DES style authentication - * AUTH *authsecdes_create(servername, window, timehost, ckey) -@@ -324,15 +335,23 @@ - * const char *timehost; - optional hostname to sync with - * des_block *ckey; - optional conversation key to use - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - 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 -+#ifdef __cplusplus -+} -+#endif - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #define authsys_create(c,i1,i2,i3,ip) authunix_create((c),(i1),(i2),(i3),(ip)) - #define authsys_create_default() authunix_create_default() -@@ -340,36 +359,48 @@ - /* - * Netname manipulation routines. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern int getnetname(char *); - extern int host2netname(char *, const char *, const char *); - extern int user2netname(char *, const uid_t, const char *); - extern int netname2user(char *, uid_t *, gid_t *, int *, gid_t *); - extern int netname2host(char *, char *, const int); - extern void passwd2des ( char *, char * ); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * - * These routines interface to the keyserv daemon - * - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern int key_decryptsession(const char *, des_block *); - extern int key_encryptsession(const char *, des_block *); - extern int key_gendes(des_block *); - extern int key_setsecret(const char *); - extern int key_secretkey_is_set(void); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Publickey routines. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern int getpublickey (const char *, char *); - extern int getpublicandprivatekey (char *, char *); - extern int getsecretkey (char *, char *, char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #ifdef KERBEROS - /* -@@ -382,10 +413,14 @@ - * const char *timehost; - optional hostname to sync with - * int *status; - kerberos status returned - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern AUTH *authkerb_seccreate(const char *, const char *, const char *, - const u_int, const char *, int *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Map a kerberos credential into a unix cred. -@@ -398,19 +433,27 @@ - * int *groups; - * - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern int authkerb_getucred(/* struct svc_req *, uid_t *, gid_t *, - short *, int * */); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - #endif /* KERBEROS */ - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - struct svc_req; - struct rpc_msg; - enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *); - enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *); - enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #define AUTH_NONE 0 /* no authentication */ - #define AUTH_NULL 0 /* backward compatibility */ ---- libtirpc-0.2.3.orig/tirpc/rpc/auth_des.h -+++ libtirpc-0.2.3/tirpc/rpc/auth_des.h -@@ -114,17 +114,25 @@ - * Map a des credential into a unix cred. - * - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern int authdes_getucred( struct authdes_cred *, uid_t *, gid_t *, int *, gid_t * ); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t xdr_authdes_cred(XDR *, struct authdes_cred *); - extern bool_t xdr_authdes_verf(XDR *, struct authdes_verf *); - extern int rtime(dev_t, struct netbuf *, int, struct timeval *, - struct timeval *); - extern void kgetnetname(char *); - extern enum auth_stat _svcauth_des(struct svc_req *, struct rpc_msg *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* ndef _TI_AUTH_DES_ */ ---- libtirpc-0.2.3.orig/tirpc/rpc/auth_gss.h -+++ libtirpc-0.2.3/tirpc/rpc/auth_gss.h -@@ -104,28 +104,32 @@ - #define MAXSEQ 0x80000000 - - /* Prototypes. */ --__BEGIN_DECLS --bool_t xdr_rpc_gss_cred __P((XDR *xdrs, struct rpc_gss_cred *p)); --bool_t xdr_rpc_gss_init_args __P((XDR *xdrs, gss_buffer_desc *p)); --bool_t xdr_rpc_gss_init_res __P((XDR *xdrs, struct rpc_gss_init_res *p)); --bool_t xdr_rpc_gss_data __P((XDR *xdrs, xdrproc_t xdr_func, -+#ifdef __cplusplus -+extern "C" { -+#endif -+bool_t xdr_rpc_gss_cred (XDR *xdrs, struct rpc_gss_cred *p); -+bool_t xdr_rpc_gss_init_args (XDR *xdrs, gss_buffer_desc *p); -+bool_t xdr_rpc_gss_init_res (XDR *xdrs, struct rpc_gss_init_res *p); -+bool_t xdr_rpc_gss_data (XDR *xdrs, xdrproc_t xdr_func, - caddr_t xdr_ptr, gss_ctx_id_t ctx, - gss_qop_t qop, rpc_gss_svc_t svc, -- u_int seq)); -+ u_int seq); - --AUTH *authgss_create __P((CLIENT *, gss_name_t, -- struct rpc_gss_sec *)); --AUTH *authgss_create_default __P((CLIENT *, char *, struct rpc_gss_sec *)); --bool_t authgss_service __P((AUTH *auth, int svc)); --bool_t authgss_get_private_data __P((AUTH *auth, -- struct authgss_private_data *)); --bool_t authgss_free_private_data __P((struct authgss_private_data *)); -+AUTH *authgss_create (CLIENT *, gss_name_t, -+ struct rpc_gss_sec *); -+AUTH *authgss_create_default (CLIENT *, char *, struct rpc_gss_sec *); -+bool_t authgss_service (AUTH *auth, int svc); -+bool_t authgss_get_private_data (AUTH *auth, -+ struct authgss_private_data *); -+bool_t authgss_free_private_data (struct authgss_private_data *); - --void gss_log_debug __P((const char *fmt, ...)); --void gss_log_status __P((char *m, OM_uint32 major, -- OM_uint32 minor)); --void gss_log_hexdump __P((const u_char *buf, int len, int offset)); -+void gss_log_debug (const char *fmt, ...); -+void gss_log_status (char *m, OM_uint32 major, -+ OM_uint32 minor); -+void gss_log_hexdump (const u_char *buf, int len, int offset); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_TIRPC_AUTH_GSS_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/auth_unix.h -+++ libtirpc-0.2.3/tirpc/rpc/auth_unix.h -@@ -45,7 +45,6 @@ - - #ifndef _TIRPC_AUTH_UNIX_H - #define _TIRPC_AUTH_UNIX_H --#include <sys/cdefs.h> - - /* The machine name is part of a credential; it may not exceed 255 bytes */ - #define MAX_MACHINE_NAME 255 -@@ -67,9 +66,13 @@ - - #define authsys_parms authunix_parms - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t xdr_authunix_parms(XDR *, struct authunix_parms *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * If a response verifier has flavor AUTH_SHORT, ---- libtirpc-0.2.3.orig/tirpc/rpc/clnt.h -+++ libtirpc-0.2.3/tirpc/rpc/clnt.h -@@ -42,7 +42,6 @@ - #include <rpc/clnt_stat.h> - #include <rpc/auth.h> - --#include <sys/cdefs.h> - #include <netconfig.h> - #include <sys/un.h> - -@@ -267,7 +266,9 @@ - * Generic client creation routine. Supported protocols are those that - * belong to the nettype namespace (/etc/netconfig). - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern CLIENT *clnt_create(const char *, const rpcprog_t, const rpcvers_t, - const char *); - /* -@@ -414,32 +415,46 @@ - */ - extern CLIENT *clnt_raw_create(rpcprog_t, rpcvers_t); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - - /* - * Print why creation failed - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void clnt_pcreateerror(const char *); /* stderr */ - extern char *clnt_spcreateerror(const char *); /* string */ --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Like clnt_perror(), but is more verbose in its output - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void clnt_perrno(enum clnt_stat); /* stderr */ - extern char *clnt_sperrno(enum clnt_stat); /* string */ --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Print an English error message, given the client error code - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void clnt_perror(CLIENT *, const char *); /* stderr */ - extern char *clnt_sperror(CLIENT *, const char *); /* string */ --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - - /* -@@ -450,9 +465,13 @@ - struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */ - }; - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern struct rpc_createerr *__rpc_createerr(void); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - #define get_rpc_createerr() (*(__rpc_createerr())) - #define rpc_createerr (*(__rpc_createerr())) - -@@ -469,12 +488,16 @@ - * char *out; - * const char *nettype; - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern enum clnt_stat rpc_call(const char *, const rpcprog_t, - const rpcvers_t, const rpcproc_t, - const xdrproc_t, const char *, - const xdrproc_t, char *, const char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * RPC broadcast interface -@@ -522,7 +545,9 @@ - - typedef bool_t (*resultproc_t)(caddr_t, ...); - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern enum clnt_stat rpc_broadcast(const rpcprog_t, const rpcvers_t, - const rpcproc_t, const xdrproc_t, - caddr_t, const xdrproc_t, caddr_t, -@@ -532,7 +557,9 @@ - caddr_t, const xdrproc_t, caddr_t, - const resultproc_t, const int, - const int, const char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* For backward compatibility */ - #include <rpc/clnt_soc.h> ---- libtirpc-0.2.3.orig/tirpc/rpc/clnt_soc.h -+++ libtirpc-0.2.3/tirpc/rpc/clnt_soc.h -@@ -46,7 +46,6 @@ - * with TS-RPC. - */ - --#include <sys/cdefs.h> - - #define UDPMSGSIZE 8800 /* rpc imposed limit on udp msg size */ - -@@ -61,28 +60,40 @@ - * u_int sendsz; - * u_int recvsz; - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern CLIENT *clnttcp_create(struct sockaddr_in *, u_long, u_long, int *, - u_int, u_int); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Raw (memory) rpc. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern CLIENT *clntraw_create(u_long, u_long); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - - /* - IPv6 socket version - */ - #ifdef INET6 --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern CLIENT *clnttcp6_create(struct sockaddr_in6 *, u_long, u_long, int *, - u_int, u_int); --__END_DECLS -+#ifdef __cplusplus -+} - #endif -+#endif - - /* - * UDP based rpc. -@@ -105,7 +116,9 @@ - * u_int sendsz; - * u_int recvsz; - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern CLIENT *clntudp_create(struct sockaddr_in *, u_long, u_long, - struct timeval, int *); - extern CLIENT *clntudp_bufcreate(struct sockaddr_in *, u_long, u_long, -@@ -116,7 +129,9 @@ - extern CLIENT *clntudp6_bufcreate(struct sockaddr_in6 *, u_long, u_long, - struct timeval, int *, u_int, u_int); - #endif --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - - #endif /* _RPC_CLNT_SOC_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/des_crypt.h -+++ libtirpc-0.2.3/tirpc/rpc/des_crypt.h -@@ -43,7 +43,6 @@ - #ifndef _DES_DES_CRYPT_H - #define _DES_DES_CRYPT_H - --#include <sys/cdefs.h> - #include <rpc/rpc.h> - - #define DES_MAXDATA 8192 /* max bytes encrypted in one call */ -@@ -83,23 +82,35 @@ - /* - * Cipher Block Chaining mode - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - int cbc_crypt( char *, char *, unsigned int, unsigned int, char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Electronic Code Book mode - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - int ecb_crypt( char *, char *, unsigned int, unsigned int ); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Set des parity for a key. - * DES parity is odd and in the low bit of each byte - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - void des_setparity( char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* _DES_DES_CRYPT_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/nettype.h -+++ libtirpc-0.2.3/tirpc/rpc/nettype.h -@@ -53,11 +53,15 @@ - #define _RPC_TCP 7 - #define _RPC_UDP 8 - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void *__rpc_setconf(const char *); - extern void __rpc_endconf(void *); - extern struct netconfig *__rpc_getconf(void *); - extern struct netconfig *__rpc_getconfip(const char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_TIRPC_NETTYPE_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/pmap_clnt.h -+++ libtirpc-0.2.3/tirpc/rpc/pmap_clnt.h -@@ -63,9 +63,10 @@ - - #ifndef _RPC_PMAP_CLNT_H_ - #define _RPC_PMAP_CLNT_H_ --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t pmap_set(u_long, u_long, int, int); - extern bool_t pmap_unset(u_long, u_long); - extern struct pmaplist *pmap_getmaps(struct sockaddr_in *); -@@ -80,6 +81,8 @@ - resultproc_t); - extern u_short pmap_getport(struct sockaddr_in *, - u_long, u_long, u_int); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_RPC_PMAP_CLNT_H_ */ ---- libtirpc-0.2.3.orig/tirpc/rpc/pmap_prot.h -+++ libtirpc-0.2.3/tirpc/rpc/pmap_prot.h -@@ -71,7 +71,6 @@ - - #ifndef _RPC_PMAP_PROT_H - #define _RPC_PMAP_PROT_H --#include <sys/cdefs.h> - - #define PMAPPORT ((u_short)111) - #define PMAPPROG ((u_long)100000) -@@ -97,10 +96,14 @@ - struct pmaplist *pml_next; - }; - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t xdr_pmap(XDR *, struct pmap *); - extern bool_t xdr_pmaplist(XDR *, struct pmaplist **); - extern bool_t xdr_pmaplist_ptr(XDR *, struct pmaplist *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_RPC_PMAP_PROT_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/pmap_rmt.h -+++ libtirpc-0.2.3/tirpc/rpc/pmap_rmt.h -@@ -41,7 +41,6 @@ - - #ifndef _RPC_PMAP_RMT_H - #define _RPC_PMAP_RMT_H --#include <sys/cdefs.h> - - struct rmtcallargs { - u_long prog, vers, proc, arglen; -@@ -56,9 +55,13 @@ - xdrproc_t xdr_results; - }; - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t xdr_rmtcall_args(XDR *, struct rmtcallargs *); - extern bool_t xdr_rmtcallres(XDR *, struct rmtcallres *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_RPC_PMAP_RMT_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/rpc.h -+++ libtirpc-0.2.3/tirpc/rpc/rpc.h -@@ -79,9 +79,11 @@ - #define UDPMSGSIZE 8800 - #endif - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern int get_myaddress(struct sockaddr_in *); --extern int bindresvport(int, struct sockaddr_in *) __THROW; -+extern int bindresvport(int, struct sockaddr_in *); - extern int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]), - xdrproc_t, xdrproc_t); - extern int callrpc(const char *, int, int, int, xdrproc_t, void *, -@@ -93,18 +95,24 @@ - - struct sockaddr; - extern int bindresvport_sa(int, struct sockaddr *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * The following are not exported interfaces, they are for internal library - * and rpcbind use only. Do not use, they may change without notice. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - int __rpc_nconf2fd(const struct netconfig *); - int __rpc_nconf2fd_flags(const struct netconfig *, int); - int __rpc_nconf2sockinfo(const struct netconfig *, struct __rpc_sockinfo *); - int __rpc_fd2sockinfo(int, struct __rpc_sockinfo *); - u_int __rpc_get_t_size(int, int, int); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_RPC_RPC_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/rpc_com.h -+++ libtirpc-0.2.3/tirpc/rpc/rpc_com.h -@@ -41,7 +41,6 @@ - #ifndef _RPC_RPCCOM_H - #define _RPC_RPCCOM_H - --#include <sys/cdefs.h> - - /* #pragma ident "@(#)rpc_com.h 1.11 93/07/05 SMI" */ - -@@ -55,7 +54,9 @@ - #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \ - (u_int32_t)(now)->tv_usec) - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern u_int __rpc_get_a_size(int); - extern int __rpc_dtbsize(void); - extern int _rpc_dtablesize(void); -@@ -77,6 +78,8 @@ - - char *_get_next_token(char *, int); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* _RPC_RPCCOM_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/rpc_msg.h -+++ libtirpc-0.2.3/tirpc/rpc/rpc_msg.h -@@ -161,7 +161,9 @@ - #define acpted_rply ru.RM_rmb.ru.RP_ar - #define rjcted_rply ru.RM_rmb.ru.RP_dr - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - /* - * XDR routine to handle a rpc message. - * xdr_callmsg(xdrs, cmsg) -@@ -210,6 +212,8 @@ - * struct rpc_err *error; - */ - extern void _seterr_reply(struct rpc_msg *, struct rpc_err *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_TIRPC_RPC_MSG_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/rpcb_clnt.h -+++ libtirpc-0.2.3/tirpc/rpc/rpcb_clnt.h -@@ -59,7 +59,9 @@ - - #include <rpc/types.h> - #include <rpc/rpcb_prot.h> --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t rpcb_set(const rpcprog_t, const rpcvers_t, - const struct netconfig *, const struct netbuf *); - extern bool_t rpcb_unset(const rpcprog_t, const rpcvers_t, -@@ -78,6 +80,8 @@ - extern bool_t rpcb_gettime(const char *, time_t *); - extern char *rpcb_taddr2uaddr(struct netconfig *, struct netbuf *); - extern struct netbuf *rpcb_uaddr2taddr(struct netconfig *, char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_RPC_RPCB_CLNT_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/rpcent.h -+++ libtirpc-0.2.3/tirpc/rpc/rpcent.h -@@ -44,10 +44,12 @@ - /* #pragma ident "@(#)rpcent.h 1.13 94/04/25 SMI" */ - /* @(#)rpcent.h 1.1 88/12/06 SMI */ - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* These are defined in /usr/include/rpc/netdb.h */ --#if 0 -+#if !defined(__GLIBC__) - struct rpcent { - char *r_name; /* name of server for this rpc program */ - char **r_aliases; /* alias list */ -@@ -60,8 +62,10 @@ - extern struct rpcent *getrpcent(void); - #endif - --extern void setrpcent(int) __THROW; --extern void endrpcent(void) __THROW; --__END_DECLS -+extern void setrpcent(int); -+extern void endrpcent(void); -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_RPC_CENT_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/svc.h -+++ libtirpc-0.2.3/tirpc/rpc/svc.h -@@ -40,7 +40,6 @@ - - #ifndef _TIRPC_SVC_H - #define _TIRPC_SVC_H --#include <sys/cdefs.h> - - /* - * This interface must manage two items concerning remote procedure calling: -@@ -200,11 +199,15 @@ - * const struct netconfig *nconf; - */ - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t svc_reg(SVCXPRT *, const rpcprog_t, const rpcvers_t, - void (*)(struct svc_req *, SVCXPRT *), - const struct netconfig *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Service un-registration -@@ -214,9 +217,13 @@ - * const rpcvers_t vers; - */ - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void svc_unreg(const rpcprog_t, const rpcvers_t); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Transport registration. -@@ -224,9 +231,13 @@ - * xprt_register(xprt) - * SVCXPRT *xprt; - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void xprt_register(SVCXPRT *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Transport un-register -@@ -234,9 +245,13 @@ - * xprt_unregister(xprt) - * SVCXPRT *xprt; - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void xprt_unregister(SVCXPRT *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - - /* -@@ -265,7 +280,9 @@ - * deadlock the caller and server processes! - */ - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t svc_sendreply(SVCXPRT *, xdrproc_t, void *); - extern void svcerr_decode(SVCXPRT *); - extern void svcerr_weakauth(SVCXPRT *); -@@ -277,7 +294,9 @@ - extern int rpc_reg(rpcprog_t, rpcvers_t, rpcproc_t, - char *(*)(char *), xdrproc_t, xdrproc_t, - char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Lowest level dispatching -OR- who owns this process anyway. -@@ -306,11 +325,17 @@ - * a small program implemented by the svc_rpc implementation itself; - * also see clnt.h for protocol numbers. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void rpctest_service(void); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void svc_getreq(int); - extern void svc_getreqset(fd_set *); - extern void svc_getreq_common(int); -@@ -319,7 +344,9 @@ - - extern void svc_run(void); - extern void svc_exit(void); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Socket to use on svcxxx_create call to get default socket -@@ -331,7 +358,9 @@ - * These are the existing service side transport implementations - */ - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - /* - * Transport independent svc_create routine. - */ -@@ -427,7 +456,9 @@ - - int __rpc_get_local_uid(SVCXPRT *_transp, uid_t *_uid); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - - /* for backward compatibility */ ---- libtirpc-0.2.3.orig/tirpc/rpc/svc_auth.h -+++ libtirpc-0.2.3/tirpc/rpc/svc_auth.h -@@ -65,11 +65,15 @@ - /* - * Server side authenticator - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern enum auth_stat _authenticate(struct svc_req *, struct rpc_msg *); - extern int svc_auth_reg(int, enum auth_stat (*)(struct svc_req *, - struct rpc_msg *)); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_RPC_SVC_AUTH_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/svc_soc.h -+++ libtirpc-0.2.3/tirpc/rpc/svc_soc.h -@@ -38,7 +38,6 @@ - - #ifndef _RPC_SVC_SOC_H - #define _RPC_SVC_SOC_H --#include <sys/cdefs.h> - - /* #pragma ident "@(#)svc_soc.h 1.11 94/04/25 SMI" */ - /* svc_soc.h 1.8 89/05/01 SMI */ -@@ -64,10 +63,14 @@ - * void (*dispatch)(); - * int protocol; like TCP or UDP, zero means do not register - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t svc_register(SVCXPRT *, u_long, u_long, - void (*)(struct svc_req *, SVCXPRT *), int); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Service un-registration -@@ -76,44 +79,64 @@ - * u_long prog; - * u_long vers; - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern void svc_unregister(u_long, u_long); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - - /* - * Memory based rpc for testing and timing. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern SVCXPRT *svcraw_create(void); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - - /* - * Udp based rpc. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern SVCXPRT *svcudp_create(int); - extern SVCXPRT *svcudp_bufcreate(int, u_int, u_int); - extern int svcudp_enablecache(SVCXPRT *, u_long); - extern SVCXPRT *svcudp6_create(int); - extern SVCXPRT *svcudp6_bufcreate(int, u_int, u_int); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - - /* - * Tcp based rpc. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern SVCXPRT *svctcp_create(int, u_int, u_int); - extern SVCXPRT *svctcp6_create(int, u_int, u_int); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Fd based rpc. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern SVCXPRT *svcfd_create(int, u_int, u_int); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_RPC_SVC_SOC_H */ ---- libtirpc-0.2.3.orig/tirpc/rpc/xdr.h -+++ libtirpc-0.2.3/tirpc/rpc/xdr.h -@@ -40,7 +40,6 @@ - - #ifndef _TIRPC_XDR_H - #define _TIRPC_XDR_H --#include <sys/cdefs.h> - #include <stdio.h> - #include <netinet/in.h> - -@@ -287,7 +286,9 @@ - /* - * These are the "generic" xdr routines. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - extern bool_t xdr_void(void); - extern bool_t xdr_int(XDR *, int *); - extern bool_t xdr_u_int(XDR *, u_int *); -@@ -322,7 +323,9 @@ - extern bool_t xdr_u_hyper(XDR *, u_quad_t *); - extern bool_t xdr_longlong_t(XDR *, quad_t *); - extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - /* - * Common opaque bytes objects used by many rpc protocols; -@@ -340,7 +343,9 @@ - * These are the public routines for the various implementations of - * xdr streams. - */ --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - /* XDR using memory buffers */ - extern void xdrmem_create(XDR *, char *, u_int, enum xdr_op); - -@@ -361,6 +366,8 @@ - /* true if no more input */ - extern bool_t xdrrec_eof(XDR *); - extern u_int xdrrec_readbytes(XDR *, caddr_t, u_int); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_TIRPC_XDR_H */ diff --git a/main/libtirpc/gssglue.patch b/main/libtirpc/gssglue.patch deleted file mode 100644 index d16f815bc..000000000 --- a/main/libtirpc/gssglue.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 9151a39539145e1f62f8b30168d1cdeb19299dac Mon Sep 17 00:00:00 2001 -From: Simo Sorce <simo@redhat.com> -Date: Tue, 26 Mar 2013 11:13:05 -0400 -Subject: [PATCH 1/2] Switch to use standard GSSAPI by default - -Make libgssglue configurable still but disabled by default. -There is no reason to use libgssglue anymore, and modern gssapi -supports all needed features for libtirpc and its dependencies. - -Signed-off-by: Steve Dickson <steved@redhat.com> ---- - configure.ac | 23 +++++++++++++++++++---- - src/Makefile.am | 4 ++-- - 2 files changed, 21 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 40dce96..4a4adba 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -5,15 +5,30 @@ AC_CONFIG_SRCDIR([src/auth_des.c]) - AC_CONFIG_MACRO_DIR([m4]) - - AC_ARG_ENABLE(gss,[ --enable-gss Turn on gss api], [case "${enableval}" in -- yes) gss=true ; AC_CHECK_LIB([gssapi],[gss_init_sec_context]) ;; -+ yes) gss=true ;; - no) gss=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-gss) ;; - esac],[gss=false]) - AM_CONDITIONAL(GSS, test x$gss = xtrue) -+AC_ARG_WITH(gssglue, -+ [ --with-gssglue Use libgssglue], -+ [case "${enableval}" in -+ yes) gssglue=true ;; -+ no) gssglue=false ;; -+ *) AC_MSG_ERROR(bad value ${enableval} for --with-gssglue) ;; -+ esac], -+ [gssglue=false]) -+AM_CONDITIONAL(USEGSSGLUE, test x$gssglue = xtrue) - if test x$gss = xtrue; then -- AC_DEFINE(HAVE_LIBGSSAPI, 1, []) -- PKG_CHECK_MODULES(GSSGLUE, libgssglue, [], -- AC_MSG_ERROR([Unable to locate information required to use libgssglue.])) -+ if test x$gssglue = xtrue; then -+ PKG_CHECK_MODULES(GSSAPI, libgssglue, [], -+ AC_MSG_ERROR([Unable to locate information required to use libgssglue.])) -+ else -+ GSSAPI_CFLAGS=`krb5-config --cflags gssapi` -+ GSSAPI_LIBS=`krb5-config --libs gssapi` -+ AC_SUBST([GSSAPI_CFLAGS]) -+ AC_SUBST([GSSAPI_LIBS]) -+ fi - fi - AC_ARG_ENABLE(ipv6, - [AC_HELP_STRING([--disable-ipv6], [Disable IPv6 support @<:@default=no@:>@])], -diff --git a/src/Makefile.am b/src/Makefile.am -index 66350f5..2dd7768 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -58,8 +58,8 @@ libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_ref - ## Secure-RPC - if GSS - libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c -- libtirpc_la_LDFLAGS += $(GSSGLUE_LIBS) -- libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS) -+ libtirpc_la_LDFLAGS += $(GSSAPI_LIBS) -+ libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS) - endif - - ## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c --- -1.8.1.4 - - -From 4072a0bb8b619cab027bb3833785768681da4ed5 Mon Sep 17 00:00:00 2001 -From: Simo Sorce <simo@redhat.com> -Date: Wed, 10 Apr 2013 11:38:14 -0400 -Subject: [PATCH 2/2] gss: Fix private data giveaway - -When the private data is given away the gss context also needs to go, -because the caller may destroy it, such as when the context is exported -into a lucid context to hand it to the kernel. - -Signed-off-by: Simo Sorce <simo@redhat.com> -Signed-off-by: Steve Dickson <steved@redhat.com> ---- - src/auth_gss.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/auth_gss.c b/src/auth_gss.c -index 81ae8ae..703bc3f 100644 ---- a/src/auth_gss.c -+++ b/src/auth_gss.c -@@ -269,6 +269,7 @@ authgss_get_private_data(AUTH *auth, struct authgss_private_data *pd) - * send an RPCSEC_GSS_DESTROY request which might inappropriately - * destroy the context. - */ -+ gd->ctx = GSS_C_NO_CONTEXT; - gd->gc.gc_ctx.length = 0; - gd->gc.gc_ctx.value = NULL; - -@@ -284,7 +285,8 @@ authgss_free_private_data(struct authgss_private_data *pd) - if (!pd) - return (FALSE); - -- pd->pd_ctx = NULL; -+ if (pd->pd_ctx != GSS_C_NO_CONTEXT) -+ gss_delete_sec_context(&min_stat, &pd->pd_ctx, NULL); - gss_release_buffer(&min_stat, &pd->pd_ctx_hndl); - memset(&pd->pd_ctx_hndl, 0, sizeof(pd->pd_ctx_hndl)); - pd->pd_seq_win = 0; --- -1.8.1.4 - diff --git a/main/libtirpc/musl-compliance.patch b/main/libtirpc/musl-compliance.patch new file mode 100644 index 000000000..f325a02b2 --- /dev/null +++ b/main/libtirpc/musl-compliance.patch @@ -0,0 +1,31 @@ +--- libtirpc-0.2.4.orig/src/bindresvport.c ++++ libtirpc-0.2.4/src/bindresvport.c +@@ -37,6 +37,7 @@ + #include <sys/types.h> + #include <sys/socket.h> + ++#include <netdb.h> + #include <netinet/in.h> + + #include <errno.h> +--- libtirpc-0.2.4.orig/tirpc/rpc/rpcent.h ++++ libtirpc-0.2.4/tirpc/rpc/rpcent.h +@@ -47,7 +47,7 @@ + __BEGIN_DECLS + + /* These are defined in /usr/include/rpc/netdb.h */ +-#if 0 ++#if !defined(__GLIBC__) + struct rpcent { + char *r_name; /* name of server for this rpc program */ + char **r_aliases; /* alias list */ +--- libtirpc-0.2.4.orig/tirpc/rpc/types.h ++++ libtirpc-0.2.4/tirpc/rpc/types.h +@@ -39,6 +39,7 @@ + #define _TIRPC_TYPES_H + + #include <sys/types.h> ++#include <sys/cdefs.h> + + typedef int32_t bool_t; + typedef int32_t enum_t; |