diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-05-20 14:40:55 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-05-20 14:41:37 +0200 |
commit | a4b30459ce19bdbde09c91c97772b6bb8a66030c (patch) | |
tree | f45bb237b9d862710907a70a2c48c03b05219576 /package/librpcsecgss | |
parent | 64c7cfdc54c30633f9bfe7f2ef7bcd39de2e1672 (diff) |
fix nfsv4 with musl
Diffstat (limited to 'package/librpcsecgss')
8 files changed, 466 insertions, 5 deletions
diff --git a/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_gss_h b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_gss_h new file mode 100644 index 000000000..d6a884eab --- /dev/null +++ b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_gss_h @@ -0,0 +1,62 @@ +--- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/auth_gss.h 2009-05-13 23:33:08.000000000 +0200 ++++ librpcsecgss-0.19/include/rpcsecgss/rpc/auth_gss.h 2014-05-19 15:34:51.506269269 +0200 +@@ -95,34 +95,38 @@ struct rpc_gss_init_res { + #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 *pd)); ++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 *pd); + + + +-int authgss_set_debug_level __P((int new_level)); +-void authgss_log_err __P((char *format, ...)); +-void authgss_log_dbg __P((char *format, ...)); +-void authgss_log_status __P((char *m, OM_uint32 maj_stat, +- OM_uint32 min_stat)); +-void authgss_perror __P((int err, char *msg)); +-void authgss_log_hexdump __P((const u_char *buf, int len, int offset)); ++int authgss_set_debug_level (int new_level); ++void authgss_log_err (char *format, ...); ++void authgss_log_dbg (char *format, ...); ++void authgss_log_status (char *m, OM_uint32 maj_stat, ++ OM_uint32 min_stat); ++void authgss_perror (int err, char *msg); ++void authgss_log_hexdump (const u_char *buf, int len, int offset); + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + /* Debugging */ + extern int authgss_debug_level; diff --git a/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_h b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_h new file mode 100644 index 000000000..466efeda6 --- /dev/null +++ b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_h @@ -0,0 +1,90 @@ +--- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/auth.h 2009-07-29 18:24:50.000000000 +0200 ++++ librpcsecgss-0.19/include/rpcsecgss/rpc/auth.h 2014-05-19 15:33:04.338267038 +0200 +@@ -44,7 +44,6 @@ + + #ifndef _RPC_AUTH_H + #define _RPC_AUTH_H +-#include <sys/cdefs.h> + + #define MAX_AUTH_BYTES 400 + #define MAXNETNAMELEN 255 /* maximum length of network user's name */ +@@ -84,9 +83,13 @@ union des_block { + char c[8]; + }; + typedef union des_block des_block; +-__BEGIN_DECLS +-extern bool_t xdr_des_block __P((XDR *, des_block *)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern bool_t xdr_des_block (XDR *, des_block *); ++#ifdef __cplusplus ++} ++#endif + + /* + * Authentication info. Opaque to client. +@@ -106,24 +109,24 @@ typedef struct __rpc_auth { + struct opaque_auth ah_verf; + union des_block ah_key; + struct auth_ops { +- void (*ah_nextverf) __P((struct __rpc_auth *)); ++ void (*ah_nextverf) (struct __rpc_auth *); + /* nextverf & serialize */ +- int (*ah_marshal) __P((struct __rpc_auth *, XDR *)); ++ int (*ah_marshal) (struct __rpc_auth *, XDR *); + /* validate verifier */ +- int (*ah_validate) __P((struct __rpc_auth *, +- struct opaque_auth *)); ++ int (*ah_validate) (struct __rpc_auth *, ++ struct opaque_auth *); + /* refresh credentials */ +- int (*ah_refresh) __P((struct __rpc_auth *)); ++ int (*ah_refresh) (struct __rpc_auth *); + /* destroy this structure */ +- void (*ah_destroy) __P((struct __rpc_auth *)); ++ void (*ah_destroy) (struct __rpc_auth *); + /* prepare to refresh credentials by destroying gss context */ +- void (*ah_prep_refresh) __P((struct __rpc_auth *)); ++ void (*ah_prep_refresh) (struct __rpc_auth *); + /* returns number of retries remaining for this rpc session */ +- int (*ah_get_retries) __P((struct __rpc_auth *)); ++ int (*ah_get_retries) (struct __rpc_auth *); + /* encode data for wire */ +- int (*ah_wrap) __P((struct __rpc_auth *, XDR *, xdrproc_t, caddr_t)); ++ int (*ah_wrap) (struct __rpc_auth *, XDR *, xdrproc_t, caddr_t); + /* decode data for wire */ +- int (*ah_unwrap) __P((struct __rpc_auth *, XDR *, xdrproc_t, caddr_t)); ++ int (*ah_unwrap) (struct __rpc_auth *, XDR *, xdrproc_t, caddr_t); + + } *ah_ops; + caddr_t ah_private; +@@ -210,15 +213,19 @@ int authany_unwrap(struct __rpc_auth *, + * int len; + * int *aup_gids; + */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + struct sockaddr_in; +-extern AUTH *authunix_create __P((char *, int, int, int, int *)); +-extern AUTH *authunix_create_default __P((void)); +-extern AUTH *authnone_create __P((void)); +-extern AUTH *authdes_create __P((char *, u_int, +- struct sockaddr_in *, des_block *)); +-extern bool_t xdr_opaque_auth __P((XDR *, struct opaque_auth *)); +-__END_DECLS ++extern AUTH *authunix_create (char *, int, int, int, int *); ++extern AUTH *authunix_create_default (void); ++extern AUTH *authnone_create (void); ++extern AUTH *authdes_create (char *, u_int, ++ struct sockaddr_in *, des_block *); ++extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *); ++#ifdef __cplusplus ++} ++#endif + + #define AUTH_NONE 0 /* no authentication */ + #define AUTH_NULL 0 /* backward compatibility */ diff --git a/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_rpc_h b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_rpc_h index cc07b1833..7a4c1334a 100644 --- a/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_rpc_h +++ b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_rpc_h @@ -1,16 +1,34 @@ --- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/rpc.h 2009-07-29 18:24:50.000000000 +0200 -+++ librpcsecgss-0.19/include/rpcsecgss/rpc/rpc.h 2013-11-11 21:11:41.000000000 +0100 -@@ -71,13 +71,6 @@ - - __BEGIN_DECLS ++++ librpcsecgss-0.19/include/rpcsecgss/rpc/rpc.h 2014-05-19 15:45:28.866420803 +0200 +@@ -67,17 +67,12 @@ + * defined by <rpc/netdb.h> included in <netdb.h>. + */ + /* routines for parsing /etc/rpc */ +-#include <rpc/netdb.h> /* structures and routines to parse /etc/rpc */ +- +-__BEGIN_DECLS ++//#include <rpc/netdb.h> /* structures and routines to parse /etc/rpc */ -/* Global variables, protected for multi-threaded applications. */ -extern fd_set *__rpc_thread_svc_fdset (void) __attribute__ ((__const__)); -#define svc_fdset (*__rpc_thread_svc_fdset ()) -- ++#ifdef __cplusplus ++extern "C" { ++#endif + -extern struct rpc_createerr *__rpc_thread_createerr (void) - __attribute__ ((__const__)); -#define get_rpc_createerr() (*__rpc_thread_createerr ()) /* The people who "engineered" RPC should bee punished for naming the data structure and the variable the same. We cannot always define the macro 'rpc_createerr' because this would prevent people from defining +@@ -94,6 +89,8 @@ extern struct pollfd **__rpc_thread_svc_ + extern int *__rpc_thread_svc_max_pollfd (void) __attribute__ ((__const__)); + #define svc_max_pollfd (*__rpc_thread_svc_max_pollfd ()) + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* rpc/rpc.h */ diff --git a/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_auth_h b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_auth_h new file mode 100644 index 000000000..ef222f58b --- /dev/null +++ b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_auth_h @@ -0,0 +1,28 @@ +--- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/svc_auth.h 2009-07-29 18:24:50.000000000 +0200 ++++ librpcsecgss-0.19/include/rpcsecgss/rpc/svc_auth.h 2014-05-19 15:34:43.714268869 +0200 +@@ -71,7 +71,7 @@ typedef struct svc_authentication_data { + /* + * Approved way of getting principal of caller + */ +-char *svcauth_gss_get_principal __P((SVCAUTH *auth)); ++char *svcauth_gss_get_principal (SVCAUTH *auth); + + /* + * Approved way of setting server principal +@@ -83,10 +83,14 @@ svcauth_gss_set_svc_name(char *principal + /* + * Server side authenticator + */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + extern enum auth_stat _authenticate(struct svc_req *__rqst, + struct rpc_msg *__msg, + bool_t *no_dispatch); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* !_RPC_SVCAUTH_H */ diff --git a/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_h b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_h new file mode 100644 index 000000000..5e35af0c4 --- /dev/null +++ b/package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_h @@ -0,0 +1,228 @@ +--- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/svc.h 2009-07-29 18:24:50.000000000 +0200 ++++ librpcsecgss-0.19/include/rpcsecgss/rpc/svc.h 2014-05-19 15:39:27.314306687 +0200 +@@ -40,7 +40,6 @@ + + #ifndef _RPC_SVC_H + #define _RPC_SVC_H +-#include <sys/cdefs.h> + #include <rpc/svc_auth.h> + + /* +@@ -79,21 +78,21 @@ typedef struct __rpc_svcxprt { + u_short xp_port; /* associated port number */ + struct xp_ops { + /* receive incomming requests */ +- bool_t (*xp_recv) __P((struct __rpc_svcxprt *, +- struct rpc_msg *)); ++ bool_t (*xp_recv) (struct __rpc_svcxprt *, ++ struct rpc_msg *); + /* get transport status */ +- enum xprt_stat (*xp_stat) __P((struct __rpc_svcxprt *)); ++ enum xprt_stat (*xp_stat) (struct __rpc_svcxprt *); + /* get arguments */ +- bool_t (*xp_getargs) __P((struct __rpc_svcxprt *, xdrproc_t, +- caddr_t)); ++ bool_t (*xp_getargs) (struct __rpc_svcxprt *, xdrproc_t, ++ caddr_t); + /* send reply */ +- bool_t (*xp_reply) __P((struct __rpc_svcxprt *, +- struct rpc_msg *)); ++ bool_t (*xp_reply) (struct __rpc_svcxprt *, ++ struct rpc_msg *); + /* free mem allocated for args */ +- bool_t (*xp_freeargs) __P((struct __rpc_svcxprt *, xdrproc_t, +- caddr_t)); ++ bool_t (*xp_freeargs) (struct __rpc_svcxprt *, xdrproc_t, ++ caddr_t); + /* destroy this struct */ +- void (*xp_destroy) __P((struct __rpc_svcxprt *)); ++ void (*xp_destroy) (struct __rpc_svcxprt *); + } *xp_ops; + int xp_addrlen; /* length of remote address */ + struct sockaddr_in xp_raddr; /* remote address */ +@@ -179,10 +178,14 @@ struct svc_req { + * void (*dispatch)(); + * int protocol; like TCP or UDP, zero means do not register + */ +-__BEGIN_DECLS +-extern bool_t svc_register __P((SVCXPRT *, u_long, u_long, +- void (*) __P((struct svc_req *, SVCXPRT *)), int)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern bool_t svc_register (SVCXPRT *, u_long, u_long, ++ void (*) (struct svc_req *, SVCXPRT *), int); ++#ifdef __cplusplus ++} ++#endif + + /* + * Service un-registration +@@ -191,9 +194,13 @@ __END_DECLS + * u_long prog; + * u_long vers; + */ +-__BEGIN_DECLS +-extern void svc_unregister __P((u_long, u_long)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern void svc_unregister (u_long, u_long); ++#ifdef __cplusplus ++} ++#endif + + /* + * Transport registration. +@@ -201,9 +208,13 @@ __END_DECLS + * xprt_register(xprt) + * SVCXPRT *xprt; + */ +-__BEGIN_DECLS +-extern void xprt_register __P((SVCXPRT *)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern void xprt_register (SVCXPRT *); ++#ifdef __cplusplus ++} ++#endif + + /* + * Transport un-register +@@ -211,9 +222,13 @@ __END_DECLS + * xprt_unregister(xprt) + * SVCXPRT *xprt; + */ +-__BEGIN_DECLS +-extern void xprt_unregister __P((SVCXPRT *)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern void xprt_unregister (SVCXPRT *); ++#ifdef __cplusplus ++} ++#endif + + + +@@ -244,16 +259,20 @@ __END_DECLS + * deadlock the caller and server processes! + */ + +-__BEGIN_DECLS +-extern bool_t svc_sendreply __P((SVCXPRT *, xdrproc_t, char *)); +-extern void svcerr_decode __P((SVCXPRT *)); +-extern void svcerr_weakauth __P((SVCXPRT *)); +-extern void svcerr_noproc __P((SVCXPRT *)); +-extern void svcerr_progvers __P((SVCXPRT *, u_long, u_long)); +-extern void svcerr_auth __P((SVCXPRT *, enum auth_stat)); +-extern void svcerr_noprog __P((SVCXPRT *)); +-extern void svcerr_systemerr __P((SVCXPRT *)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern bool_t svc_sendreply (SVCXPRT *, xdrproc_t, char *); ++extern void svcerr_decode (SVCXPRT *); ++extern void svcerr_weakauth (SVCXPRT *); ++extern void svcerr_noproc (SVCXPRT *); ++extern void svcerr_progvers (SVCXPRT *, u_long, u_long); ++extern void svcerr_auth (SVCXPRT *, enum auth_stat); ++extern void svcerr_noprog (SVCXPRT *); ++extern void svcerr_systemerr (SVCXPRT *); ++#ifdef __cplusplus ++} ++#endif + + /* + * Lowest level dispatching -OR- who owns this process anyway. +@@ -278,12 +297,16 @@ extern fd_set svc_fdset; + extern int svc_fds; + #endif /* def FD_SETSIZE */ + +-__BEGIN_DECLS +-extern void svc_getreq __P((int)); +-extern void svc_getreqset __P((fd_set *)); +-extern void svc_getreqset2 __P((fd_set *, int)); +-extern void svc_run __P((void)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern void svc_getreq (int); ++extern void svc_getreqset (fd_set *); ++extern void svc_getreqset2 (fd_set *, int); ++extern void svc_run (void); ++#ifdef __cplusplus ++} ++#endif + + /* + * Socket to use on svcxxx_create call to get default socket +@@ -297,32 +320,48 @@ __END_DECLS + /* + * Memory based rpc for testing and timing. + */ +-__BEGIN_DECLS +-extern SVCXPRT *svcraw_create __P((void)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern SVCXPRT *svcraw_create (void); ++#ifdef __cplusplus ++} ++#endif + + + /* + * Udp based rpc. + */ +-__BEGIN_DECLS +-extern SVCXPRT *svcudp_create __P((int)); +-extern SVCXPRT *svcudp_bufcreate __P((int, u_int, u_int)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern SVCXPRT *svcudp_create (int); ++extern SVCXPRT *svcudp_bufcreate (int, u_int, u_int); ++#ifdef __cplusplus ++} ++#endif + + + /* + * Tcp based rpc. + */ +-__BEGIN_DECLS +-extern SVCXPRT *svctcp_create __P((int, u_int, u_int)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern SVCXPRT *svctcp_create (int, u_int, u_int); ++#ifdef __cplusplus ++} ++#endif + + /* + * Fd based rpc. + */ +-__BEGIN_DECLS +-extern SVCXPRT *svcfd_create __P((int, u_int, u_int)); +-__END_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern SVCXPRT *svcfd_create (int, u_int, u_int); ++#ifdef __cplusplus ++} ++#endif + + #endif /* !_RPC_SVC_H */ diff --git a/package/librpcsecgss/patches/patch-src_svc_c b/package/librpcsecgss/patches/patch-src_svc_c new file mode 100644 index 000000000..877a4f732 --- /dev/null +++ b/package/librpcsecgss/patches/patch-src_svc_c @@ -0,0 +1,11 @@ +--- librpcsecgss-0.19.orig/src/svc.c 2009-07-29 18:24:50.000000000 +0200 ++++ librpcsecgss-0.19/src/svc.c 2014-05-19 15:40:07.794315889 +0200 +@@ -409,7 +409,7 @@ svc_getreq(rdfds) + svc_getreqset(&readfds); + } + +-void svc_getreqset2 __P((fd_set *, int)); ++void svc_getreqset2 (fd_set *, int); + + void + svc_getreqset(readfds) diff --git a/package/librpcsecgss/patches/patch-src_svc_run_c b/package/librpcsecgss/patches/patch-src_svc_run_c new file mode 100644 index 000000000..708372797 --- /dev/null +++ b/package/librpcsecgss/patches/patch-src_svc_run_c @@ -0,0 +1,11 @@ +--- librpcsecgss-0.19.orig/src/svc_run.c 2009-07-29 18:24:50.000000000 +0200 ++++ librpcsecgss-0.19/src/svc_run.c 2014-05-19 15:40:24.146319867 +0200 +@@ -45,7 +45,7 @@ static char *rcsid = "$OpenBSD: svc_run. + extern int __svc_fdsetsize; + extern fd_set *__svc_fdset; + +-void svc_getreqset2 __P((fd_set *, int)); ++void svc_getreqset2 (fd_set *, int); + + void + svc_run() diff --git a/package/librpcsecgss/patches/patch-src_svc_udp_c b/package/librpcsecgss/patches/patch-src_svc_udp_c new file mode 100644 index 000000000..f50038e89 --- /dev/null +++ b/package/librpcsecgss/patches/patch-src_svc_udp_c @@ -0,0 +1,13 @@ +--- librpcsecgss-0.19.orig/src/svc_udp.c 2009-07-29 18:24:50.000000000 +0200 ++++ librpcsecgss-0.19/src/svc_udp.c 2014-05-19 15:39:54.706312812 +0200 +@@ -58,8 +58,8 @@ static enum xprt_stat svcudp_stat(); + static bool_t svcudp_getargs(); + static bool_t svcudp_freeargs(); + static void svcudp_destroy(); +-static void cache_set __P((SVCXPRT *, u_long)); +-static int cache_get __P((SVCXPRT *, struct rpc_msg *, char **, u_long *)); ++static void cache_set (SVCXPRT *, u_long); ++static int cache_get (SVCXPRT *, struct rpc_msg *, char **, u_long *); + + static struct xp_ops svcudp_op = { + svcudp_recv, |