aboutsummaryrefslogtreecommitdiff
path: root/sunrpc
diff options
context:
space:
mode:
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/Makefile16
-rw-r--r--sunrpc/auth_none.c135
-rw-r--r--sunrpc/auth_unix.c415
-rw-r--r--sunrpc/authuxprot.c36
-rw-r--r--sunrpc/bindrsvprt.c68
-rw-r--r--sunrpc/clnt_gen.c168
-rw-r--r--sunrpc/clnt_perr.c406
-rw-r--r--sunrpc/clnt_raw.c313
-rw-r--r--sunrpc/clnt_simp.c164
-rw-r--r--sunrpc/clnt_tcp.c682
-rw-r--r--sunrpc/clnt_udp.c647
-rw-r--r--sunrpc/get_myaddr.c69
-rw-r--r--sunrpc/getrpcport.c48
-rw-r--r--sunrpc/pm_getmaps.c53
-rw-r--r--sunrpc/pm_getport.c71
-rw-r--r--sunrpc/pmap_clnt.c99
-rw-r--r--sunrpc/pmap_prot.c26
-rw-r--r--sunrpc/pmap_prot2.c94
-rw-r--r--sunrpc/pmap_rmt.c568
-rw-r--r--sunrpc/rpc/auth.h38
-rw-r--r--sunrpc/rpc/clnt.h133
-rw-r--r--sunrpc/rpc/pmap_clnt.h26
-rw-r--r--sunrpc/rpc/svc.h56
-rw-r--r--sunrpc/rpc/svc_auth.h1
-rw-r--r--sunrpc/rpc/types.h20
-rw-r--r--sunrpc/rpc/xdr.h184
-rw-r--r--sunrpc/rpc_clntout.c291
-rw-r--r--sunrpc/rpc_cmsg.c309
-rw-r--r--sunrpc/rpc_dtable.c17
-rw-r--r--sunrpc/rpc_prot.c328
-rw-r--r--sunrpc/rpc_sample.c315
-rw-r--r--sunrpc/rpc_scan.c764
-rw-r--r--sunrpc/rpc_svcout.c1477
-rw-r--r--sunrpc/rpc_tblout.c214
-rw-r--r--sunrpc/rpc_util.c563
-rw-r--r--sunrpc/rpcinfo.c1130
-rw-r--r--sunrpc/svc.c527
-rw-r--r--sunrpc/svc_auth.c75
-rw-r--r--sunrpc/svc_authux.c145
-rw-r--r--sunrpc/svc_raw.c173
-rw-r--r--sunrpc/svc_run.c46
-rw-r--r--sunrpc/svc_simple.c184
-rw-r--r--sunrpc/svc_tcp.c530
-rw-r--r--sunrpc/svc_udp.c642
-rw-r--r--sunrpc/xdr.c819
-rw-r--r--sunrpc/xdr_array.c152
-rw-r--r--sunrpc/xdr_mem.c196
-rw-r--r--sunrpc/xdr_rec.c821
-rw-r--r--sunrpc/xdr_ref.c91
-rw-r--r--sunrpc/xdr_stdio.c155
50 files changed, 7582 insertions, 6918 deletions
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
index 1981c75941..9feff64c53 100644
--- a/sunrpc/Makefile
+++ b/sunrpc/Makefile
@@ -80,9 +80,6 @@ extra-objs = $(rpcgen-objs)
all: # Make this the default target; it will be defined in Rules.
-# Sun's code is not too clean.
-override +gccwarn := -w
-
include ../Makeconfig
ifeq (no,$(cross-compiling))
@@ -96,6 +93,19 @@ librpcsvc-inhibit-o = .so # Build no shared rpcsvc library.
omit-deps = $(librpcsvc-routines)
endif
+CFLAGS-xbootparam.c = -Wno-unused
+CFLAGS-xnlm_prot.c = -Wno-unused
+CFLAGS-xrstat.c = -Wno-unused
+CFLAGS-xyppasswd.c = -Wno-unused
+CFLAGS-xklm_prot.c = -Wno-unused
+CFLAGS-xrex.c = -Wno-unused
+CFLAGS-xsm_inter.c = -Wno-unused
+CFLAGS-xmount.c = -Wno-unused
+CFLAGS-xrusers.c = -Wno-unused
+CFLAGS-xspray.c = -Wno-unused
+CFLAGS-xnfs_prot.c = -Wno-unused
+CFLAGS-xrquote.c = -Wno-unused
+
include ../Rules
$(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) $(common-objpfx)libc.a
diff --git a/sunrpc/auth_none.c b/sunrpc/auth_none.c
index 630037fb47..a7c1524ef5 100644
--- a/sunrpc/auth_none.c
+++ b/sunrpc/auth_none.c
@@ -6,23 +6,23 @@
* may copy or modify Sun RPC without charge, but are not authorized
* to license or distribute it to anyone else except as part of a product or
* program developed by the user.
- *
+ *
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
+ *
* Sun RPC is provided with no support and without any obligation on the
* part of Sun Microsystems, Inc. to assist in its use, correction,
* modification or enhancement.
- *
+ *
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
* OR ANY PART THEREOF.
- *
+ *
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
* or profits or other special, indirect and consequential damages, even if
* Sun has been advised of the possibility of such damages.
- *
+ *
* Sun Microsystems, Inc.
* 2550 Garcia Avenue
* Mountain View, California 94043
@@ -33,101 +33,104 @@ static char sccsid[] = "@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro";
/*
* auth_none.c
- * Creates a client authentication handle for passing "null"
- * credentials and verifiers to remote systems.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
+ * Creates a client authentication handle for passing "null"
+ * credentials and verifiers to remote systems.
+ *
+ * Copyright (C) 1984, Sun Microsystems, Inc.
*/
#include <rpc/types.h>
-#include <rpc/xdr.h>
#include <rpc/auth.h>
+
#define MAX_MARSHEL_SIZE 20
+extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *);
+
/*
* Authenticator operations routines
*/
-static void authnone_verf();
-static void authnone_destroy();
-static bool_t authnone_marshal();
-static bool_t authnone_validate();
-static bool_t authnone_refresh();
+static void authnone_verf (AUTH *);
+static void authnone_destroy (AUTH *);
+static bool_t authnone_marshal (AUTH *, XDR *);
+static bool_t authnone_validate (AUTH *, struct opaque_auth *);
+static bool_t authnone_refresh (AUTH *);
-static struct auth_ops ops = {
- authnone_verf,
- authnone_marshal,
- authnone_validate,
- authnone_refresh,
- authnone_destroy
+static struct auth_ops ops =
+{
+ authnone_verf,
+ authnone_marshal,
+ authnone_validate,
+ authnone_refresh,
+ authnone_destroy
};
-static struct authnone_private {
- AUTH no_client;
- char marshalled_client[MAX_MARSHEL_SIZE];
- u_int mcnt;
-} *authnone_private;
+static struct authnone_private
+ {
+ AUTH no_client;
+ char marshalled_client[MAX_MARSHEL_SIZE];
+ u_int mcnt;
+ }
+ *authnone_private;
AUTH *
-authnone_create()
+authnone_create (void)
{
- register struct authnone_private *ap = authnone_private;
- XDR xdr_stream;
- register XDR *xdrs;
+ struct authnone_private *ap = authnone_private;
+ XDR xdr_stream;
+ XDR *xdrs;
- if (ap == 0) {
- ap = (struct authnone_private *)calloc(1, sizeof (*ap));
- if (ap == 0)
- return (0);
- authnone_private = ap;
- }
- if (!ap->mcnt) {
- ap->no_client.ah_cred = ap->no_client.ah_verf = _null_auth;
- ap->no_client.ah_ops = &ops;
- xdrs = &xdr_stream;
- xdrmem_create(xdrs, ap->marshalled_client, (u_int)MAX_MARSHEL_SIZE,
- XDR_ENCODE);
- (void)xdr_opaque_auth(xdrs, &ap->no_client.ah_cred);
- (void)xdr_opaque_auth(xdrs, &ap->no_client.ah_verf);
- ap->mcnt = XDR_GETPOS(xdrs);
- XDR_DESTROY(xdrs);
- }
- return (&ap->no_client);
+ if (ap == 0)
+ {
+ ap = (struct authnone_private *) calloc (1, sizeof (*ap));
+ if (ap == 0)
+ return NULL;
+ authnone_private = ap;
+ }
+ if (!ap->mcnt)
+ {
+ ap->no_client.ah_cred = ap->no_client.ah_verf = _null_auth;
+ ap->no_client.ah_ops = &ops;
+ xdrs = &xdr_stream;
+ xdrmem_create (xdrs, ap->marshalled_client, (u_int) MAX_MARSHEL_SIZE,
+ XDR_ENCODE);
+ (void) xdr_opaque_auth (xdrs, &ap->no_client.ah_cred);
+ (void) xdr_opaque_auth (xdrs, &ap->no_client.ah_verf);
+ ap->mcnt = XDR_GETPOS (xdrs);
+ XDR_DESTROY (xdrs);
+ }
+ return (&ap->no_client);
}
-/*ARGSUSED*/
+/*ARGSUSED */
static bool_t
-authnone_marshal(client, xdrs)
- AUTH *client;
- XDR *xdrs;
+authnone_marshal (AUTH *client, XDR *xdrs)
{
- register struct authnone_private *ap = authnone_private;
+ struct authnone_private *ap = authnone_private;
- if (ap == 0)
- return (0);
- return ((*xdrs->x_ops->x_putbytes)(xdrs,
- ap->marshalled_client, ap->mcnt));
+ if (ap == 0)
+ return (0);
+ return ((*xdrs->x_ops->x_putbytes) (xdrs,
+ ap->marshalled_client, ap->mcnt));
}
-static void
-authnone_verf()
+static void
+authnone_verf (AUTH *auth)
{
}
static bool_t
-authnone_validate()
+authnone_validate (AUTH *auth, struct opaque_auth *oa)
{
-
- return (TRUE);
+ return TRUE;
}
static bool_t
-authnone_refresh()
+authnone_refresh (AUTH *auth)
{
-
- return (FALSE);
+ return FALSE;
}
static void
-authnone_destroy()
+authnone_destroy (AUTH *auth)
{
}
diff --git a/sunrpc/auth_unix.c b/sunrpc/auth_unix.c
index 8890a926ba..5e5dc995ca 100644
--- a/sunrpc/auth_unix.c
+++ b/sunrpc/auth_unix.c
@@ -45,6 +45,7 @@ static char sccsid[] = "@(#)auth_unix.c 1.19 87/08/11 Copyr 1984 Sun Micro";
#include <limits.h>
#include <stdio.h>
+#include <string.h>
#include <unistd.h>
#include <sys/param.h>
@@ -53,36 +54,40 @@ static char sccsid[] = "@(#)auth_unix.c 1.19 87/08/11 Copyr 1984 Sun Micro";
#include <rpc/auth.h>
#include <rpc/auth_unix.h>
+extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *);
+
/*
* Unix authenticator operations vector
*/
-static void authunix_nextverf();
-static bool_t authunix_marshal();
-static bool_t authunix_validate();
-static bool_t authunix_refresh();
-static void authunix_destroy();
-
-static struct auth_ops auth_unix_ops = {
- authunix_nextverf,
- authunix_marshal,
- authunix_validate,
- authunix_refresh,
- authunix_destroy
+static void authunix_nextverf (AUTH *);
+static bool_t authunix_marshal (AUTH *, XDR *);
+static bool_t authunix_validate (AUTH *, struct opaque_auth *);
+static bool_t authunix_refresh (AUTH *);
+static void authunix_destroy (AUTH *);
+
+static struct auth_ops auth_unix_ops =
+{
+ authunix_nextverf,
+ authunix_marshal,
+ authunix_validate,
+ authunix_refresh,
+ authunix_destroy
};
/*
* This struct is pointed to by the ah_private field of an auth_handle.
*/
-struct audata {
- struct opaque_auth au_origcred; /* original credentials */
- struct opaque_auth au_shcred; /* short hand cred */
- u_long au_shfaults; /* short hand cache faults */
- char au_marshed[MAX_AUTH_BYTES];
- u_int au_mpos; /* xdr pos at end of marshed */
-};
+struct audata
+ {
+ struct opaque_auth au_origcred; /* original credentials */
+ struct opaque_auth au_shcred; /* short hand cred */
+ u_long au_shfaults; /* short hand cache faults */
+ char au_marshed[MAX_AUTH_BYTES];
+ u_int au_mpos; /* xdr pos at end of marshed */
+ };
#define AUTH_PRIVATE(auth) ((struct audata *)auth->ah_private)
-static bool_t marshal_new_auth();
+static bool_t marshal_new_auth (AUTH *);
/*
@@ -90,77 +95,72 @@ static bool_t marshal_new_auth();
* Returns an auth handle with the given stuff in it.
*/
AUTH *
-authunix_create(machname, uid, gid, len, aup_gids)
- char *machname;
- uid_t uid;
- gid_t gid;
- register int len;
- gid_t *aup_gids;
+authunix_create (machname, uid, gid, len, aup_gids)
+ char *machname;
+ uid_t uid;
+ gid_t gid;
+ int len;
+ gid_t *aup_gids;
{
- struct authunix_parms aup;
- char mymem[MAX_AUTH_BYTES];
- struct timeval now;
- XDR xdrs;
- register AUTH *auth;
- register struct audata *au;
-
- /*
- * Allocate and set up auth handle
- */
- auth = (AUTH *)mem_alloc(sizeof(*auth));
-#ifndef KERNEL
- if (auth == NULL) {
- (void)fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- au = (struct audata *)mem_alloc(sizeof(*au));
-#ifndef KERNEL
- if (au == NULL) {
- (void)fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- auth->ah_ops = &auth_unix_ops;
- auth->ah_private = (caddr_t)au;
- auth->ah_verf = au->au_shcred = _null_auth;
- au->au_shfaults = 0;
-
- /*
- * fill in param struct from the given params
- */
- (void)gettimeofday(&now, (struct timezone *)0);
- aup.aup_time = now.tv_sec;
- aup.aup_machname = machname;
- aup.aup_uid = uid;
- aup.aup_gid = gid;
- aup.aup_len = (u_int)len;
- aup.aup_gids = aup_gids;
-
- /*
- * Serialize the parameters into origcred
- */
- xdrmem_create(&xdrs, mymem, MAX_AUTH_BYTES, XDR_ENCODE);
- if (! xdr_authunix_parms(&xdrs, &aup))
- abort();
- au->au_origcred.oa_length = len = XDR_GETPOS(&xdrs);
- au->au_origcred.oa_flavor = AUTH_UNIX;
-#ifdef KERNEL
- au->au_origcred.oa_base = mem_alloc((u_int) len);
-#else
- if ((au->au_origcred.oa_base = mem_alloc((u_int) len)) == NULL) {
- (void)fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- bcopy(mymem, au->au_origcred.oa_base, (u_int)len);
-
- /*
- * set auth handle to reflect new cred.
- */
- auth->ah_cred = au->au_origcred;
- marshal_new_auth(auth);
- return (auth);
+ struct authunix_parms aup;
+ char mymem[MAX_AUTH_BYTES];
+ struct timeval now;
+ XDR xdrs;
+ AUTH *auth;
+ struct audata *au;
+
+ /*
+ * Allocate and set up auth handle
+ */
+ auth = (AUTH *) mem_alloc (sizeof (*auth));
+ if (auth == NULL)
+ {
+ (void) fprintf (stderr, _("authunix_create: out of memory\n"));
+ return NULL;
+ }
+ au = (struct audata *) mem_alloc (sizeof (*au));
+ if (au == NULL)
+ {
+ (void) fprintf (stderr, _("authunix_create: out of memory\n"));
+ return NULL;
+ }
+ auth->ah_ops = &auth_unix_ops;
+ auth->ah_private = (caddr_t) au;
+ auth->ah_verf = au->au_shcred = _null_auth;
+ au->au_shfaults = 0;
+
+ /*
+ * fill in param struct from the given params
+ */
+ (void) gettimeofday (&now, (struct timezone *) 0);
+ aup.aup_time = now.tv_sec;
+ aup.aup_machname = machname;
+ aup.aup_uid = uid;
+ aup.aup_gid = gid;
+ aup.aup_len = (u_int) len;