summaryrefslogtreecommitdiff
path: root/package/librpcsecgss
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-05-20 14:40:55 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-05-20 14:41:37 +0200
commita4b30459ce19bdbde09c91c97772b6bb8a66030c (patch)
treef45bb237b9d862710907a70a2c48c03b05219576 /package/librpcsecgss
parent64c7cfdc54c30633f9bfe7f2ef7bcd39de2e1672 (diff)
fix nfsv4 with musl
Diffstat (limited to 'package/librpcsecgss')
-rw-r--r--package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_gss_h62
-rw-r--r--package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_h90
-rw-r--r--package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_rpc_h28
-rw-r--r--package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_auth_h28
-rw-r--r--package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_h228
-rw-r--r--package/librpcsecgss/patches/patch-src_svc_c11
-rw-r--r--package/librpcsecgss/patches/patch-src_svc_run_c11
-rw-r--r--package/librpcsecgss/patches/patch-src_svc_udp_c13
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,