about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--elf/Makefile30
-rw-r--r--elf/dl-close.c11
-rw-r--r--sunrpc/des_crypt.c12
-rw-r--r--sunrpc/rpc/key_prot.h90
-rw-r--r--sunrpc/rpc/rpc_des.h10
-rw-r--r--sunrpc/rpc_scan.h9
-rw-r--r--sunrpc/rpcsvc/bootparam_prot.x12
-rw-r--r--sunrpc/rpcsvc/key_prot.x60
-rw-r--r--sunrpc/rpcsvc/klm_prot.x11
-rw-r--r--sunrpc/rpcsvc/rstat.x10
-rw-r--r--sunrpc/rpcsvc/spray.x14
-rw-r--r--sunrpc/rpcsvc/yppasswd.x14
12 files changed, 146 insertions, 137 deletions
diff --git a/elf/Makefile b/elf/Makefile
index e600cc3982..125edcc1e9 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -28,7 +28,7 @@ routines	= $(dl-routines) dl-support dl-iteratephdr \
 # The core dynamic linking functions are in libc for the static and
 # profiled libraries.
 dl-routines	= $(addprefix dl-,load cache lookup object reloc deps \
-			          runtime error init fini debug misc \
+				  runtime error init fini debug misc \
 				  version profile conflict tls origin scope \
 				  execstack caller open close trampoline)
 all-dl-routines = $(dl-routines) $(sysdep-dl-routines)
@@ -89,6 +89,7 @@ distribute	:= rtld-Rules \
 		   unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \
 		   unload6mod1.c unload6mod2.c unload6mod3.c \
 		   unload7mod1.c unload7mod2.c \
+		   unload8mod1.c unload8mod1x.c unload8mod2.c unload8mod3.c \
 		   tst-audit1.c tst-audit2.c tst-audit3.c tst-audit4.c \
 		   tst-auditmod1.c tst-auditmod3a.c tst-auditmod3b.c \
 		   tst-auditmod4a.c tst-auditmod4b.c \
@@ -195,7 +196,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
 	 tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \
 	 tst-dlmodcount tst-dlopenrpath tst-deep1 \
 	 tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
-	 unload3 unload4 unload5 unload6 unload7 tst-global1 order2 \
+	 unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \
 	 tst-audit1 tst-audit2 \
 	 tst-stackguard1 tst-addr1 tst-thrlock \
 	 tst-unique1 tst-unique2
@@ -224,7 +225,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
 		neededobj5 neededobj6 firstobj globalmod1 \
 		unload2mod unload2dep ltglobmod1 ltglobmod2 pathoptobj \
 		dblloadmod1 dblloadmod2 dblloadmod3 reldepmod5 reldepmod6 \
-	        reldep6mod0 reldep6mod1 reldep6mod2 reldep6mod3 reldep6mod4 \
+		reldep6mod0 reldep6mod1 reldep6mod2 reldep6mod3 reldep6mod4 \
 		reldep7mod1 reldep7mod2 \
 		tst-tlsmod1 tst-tlsmod2 tst-tlsmod3 tst-tlsmod4 \
 		tst-tlsmod5 tst-tlsmod6 tst-tlsmod7 tst-tlsmod8 \
@@ -246,6 +247,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
 		unload4mod1 unload4mod2 unload4mod3 unload4mod4 \
 		unload6mod1 unload6mod2 unload6mod3 \
 		unload7mod1 unload7mod2 \
+		unload8mod1 unload8mod1x unload8mod2 unload8mod3 \
 		order2mod1 order2mod2 order2mod3 order2mod4 \
 		tst-unique1mod1 tst-unique1mod2 \
 		tst-unique2mod1 tst-unique2mod2
@@ -521,6 +523,9 @@ $(objpfx)unload6mod2.so: $(libdl)
 $(objpfx)unload6mod3.so: $(libdl)
 $(objpfx)unload7mod1.so: $(libdl)
 $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so
+$(objpfx)unload8mod1.so: $(objpfx)unload8mod2.so
+$(objpfx)unload8mod2.so: $(objpfx)unload8mod3.so
+$(objpfx)unload8mod3.so: $(libdl)
 
 LDFLAGS-tst-tlsmod5.so = -nostdlib
 LDFLAGS-tst-tlsmod6.so = -nostdlib
@@ -822,6 +827,9 @@ $(objpfx)unload7: $(libdl)
 $(objpfx)unload7.out: $(objpfx)unload7mod1.so $(objpfx)unload7mod2.so
 unload7-ENV = MALLOC_PERTURB_=85
 
+$(objpfx)unload8: $(libdl)
+$(objpfx)unload8.out: $(objpfx)unload8mod1.so $(objpfx)unload8mod1x.so
+
 ifdef libdl
 $(objpfx)tst-tls9-static: $(common-objpfx)dlfcn/libdl.a
 $(objpfx)tst-tls9-static.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so
@@ -925,11 +933,11 @@ $(objpfx)tst-dlmodcount: $(libdl)
 $(objpfx)tst-dlmodcount.out: $(test-modules)
 
 check-data := $(firstword $(wildcard \
-	        $(foreach D,$(add-ons) scripts,\
-	        	  $(patsubst %,$(..)$D/data/localplt-%.data,\
-			   	     $(abi-name) \
-			   	     $(addsuffix -$(config-os),\
-				     		 $(config-machine) \
+		$(foreach D,$(add-ons) scripts,\
+			  $(patsubst %,$(..)$D/data/localplt-%.data,\
+				     $(abi-name) \
+				     $(addsuffix -$(config-os),\
+						 $(config-machine) \
 						 $(base-machine)) \
 			   generic))))
 
@@ -941,9 +949,9 @@ endif
 
 $(objpfx)check-localplt.out: $(objpfx)check-localplt \
 			     $(common-objpfx)libc.so \
-		    	     $(common-objpfx)math/libm.so $(thread-dso) \
-		    	     $(common-objpfx)rt/librt.so \
-		    	     $(common-objpfx)dlfcn/libdl.so \
+			     $(common-objpfx)math/libm.so $(thread-dso) \
+			     $(common-objpfx)rt/librt.so \
+			     $(common-objpfx)dlfcn/libdl.so \
 			     $(common-objpfx)resolv/libresolv.so \
 			     $(common-objpfx)crypt/libcrypt.so \
 			     $(check-data)
diff --git a/elf/dl-close.c b/elf/dl-close.c
index 700e765c3c..5b54e9f2f6 100644
--- a/elf/dl-close.c
+++ b/elf/dl-close.c
@@ -1,5 +1,5 @@
 /* Close a shared object opened by `_dl_open'.
-   Copyright (C) 1996-2007, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -274,7 +274,7 @@ _dl_close_worker (struct link_map *map)
 	    }
 
 #ifdef SHARED
-	  /* Auditing checkpoint: we have a new object.  */
+	  /* Auditing checkpoint: we remove an object.  */
 	  if (__builtin_expect (do_audit, 0))
 	    {
 	      struct audit_ifaces *afct = GLRO(dl_audit);
@@ -421,6 +421,13 @@ _dl_close_worker (struct link_map *map)
 
 	      imap->l_scope_max = new_size;
 	    }
+	  else if (new_list != NULL)
+	    {
+	      /* We didn't change the scope array, so reset the search
+		 list.  */
+	      imap->l_searchlist.r_list = NULL;
+	      imap->l_searchlist.r_nlist = 0;
+	    }
 
 	  /* The loader is gone, so mark the object as not having one.
 	     Note: l_idx != IDX_STILL_USED -> object will be removed.  */
diff --git a/sunrpc/des_crypt.c b/sunrpc/des_crypt.c
index 87389b47ce..cd7b2145fb 100644
--- a/sunrpc/des_crypt.c
+++ b/sunrpc/des_crypt.c
@@ -5,23 +5,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
@@ -80,7 +80,7 @@ common_crypt (char *key, char *buf, register unsigned len,
 
   desdev = mode & DES_DEVMASK;
   COPY8 (key, desp->des_key);
-  /* 
+  /*
    * software
    */
   if (!_des_crypt (buf, len, desp))
diff --git a/sunrpc/rpc/key_prot.h b/sunrpc/rpc/key_prot.h
index 3e2eb7208e..629e24991b 100644
--- a/sunrpc/rpc/key_prot.h
+++ b/sunrpc/rpc/key_prot.h
@@ -41,7 +41,7 @@
 #endif
 /* Copyright (c)  1990, 1991 Sun Microsystems, Inc. */
 
-/* 
+/*
  * Compiled from key_prot.x using rpcgen.
  * DO NOT EDIT THIS FILE!
  * This is NOT source code!
@@ -60,33 +60,33 @@ enum keystatus {
 	KEY_SYSTEMERR = 3,
 };
 typedef enum keystatus keystatus;
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_keystatus(XDR *, keystatus*);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_keystatus(XDR *, keystatus*);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_keystatus();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 
 typedef char keybuf[HEXKEYBYTES];
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_keybuf(XDR *, keybuf);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_keybuf(XDR *, keybuf);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_keybuf();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 
 typedef char *netnamestr;
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_netnamestr(XDR *, netnamestr*);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_netnamestr(XDR *, netnamestr*);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_netnamestr();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 
 struct cryptkeyarg {
@@ -94,13 +94,13 @@ struct cryptkeyarg {
 	des_block deskey;
 };
 typedef struct cryptkeyarg cryptkeyarg;
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_cryptkeyarg();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 
 struct cryptkeyarg2 {
@@ -109,13 +109,13 @@ struct cryptkeyarg2 {
 	des_block deskey;
 };
 typedef struct cryptkeyarg2 cryptkeyarg2;
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_cryptkeyarg2();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 
 struct cryptkeyres {
@@ -125,13 +125,13 @@ struct cryptkeyres {
 	} cryptkeyres_u;
 };
 typedef struct cryptkeyres cryptkeyres;
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_cryptkeyres();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 #define MAXGIDS 16
 
@@ -144,13 +144,13 @@ struct unixcred {
 	} gids;
 };
 typedef struct unixcred unixcred;
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_unixcred(XDR *, unixcred*);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_unixcred(XDR *, unixcred*);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_unixcred();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 
 struct getcredres {
@@ -160,13 +160,13 @@ struct getcredres {
 	} getcredres_u;
 };
 typedef struct getcredres getcredres;
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_getcredres(XDR *, getcredres*);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_getcredres(XDR *, getcredres*);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_getcredres();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 
 struct key_netstarg {
@@ -175,13 +175,13 @@ struct key_netstarg {
 	netnamestr st_netname;
 };
 typedef struct key_netstarg key_netstarg;
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_key_netstarg(XDR *, key_netstarg*);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_key_netstarg(XDR *, key_netstarg*);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_key_netstarg();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 
 struct key_netstres {
@@ -191,13 +191,13 @@ struct key_netstres {
 	} key_netstres_u;
 };
 typedef struct key_netstres key_netstres;
-#ifdef __cplusplus 
+#ifdef __cplusplus
 extern "C" bool_t xdr_key_netstres(XDR *, key_netstres*);
-#elif __STDC__ 
+#elif __STDC__
 extern  bool_t xdr_key_netstres(XDR *, key_netstres*);
-#else /* Old Style C */ 
+#else /* Old Style C */
 bool_t xdr_key_netstres();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 
 #ifndef opaque
@@ -242,7 +242,7 @@ extern  des_block * key_gen_1_svc(void *, struct svc_req *);
 extern  getcredres * key_getcred_1(netnamestr *, CLIENT *);
 extern  getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *);
 
-#else /* Old Style C */ 
+#else /* Old Style C */
 #define KEY_SET ((u_long)1)
 extern  keystatus * key_set_1();
 extern  keystatus * key_set_1_svc();
@@ -258,7 +258,7 @@ extern  des_block * key_gen_1_svc();
 #define KEY_GETCRED ((u_long)5)
 extern  getcredres * key_getcred_1();
 extern  getcredres * key_getcred_1_svc();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 #define KEY_VERS2 ((u_long)2)
 
 #ifdef __cplusplus
@@ -315,7 +315,7 @@ extern  key_netstres * key_net_get_2_svc(void *, struct svc_req *);
 extern  cryptkeyres * key_get_conv_2(opaque *, CLIENT *);
 extern  cryptkeyres * key_get_conv_2_svc(opaque *, struct svc_req *);
 
-#else /* Old Style C */ 
+#else /* Old Style C */
 extern  keystatus * key_set_2();
 extern  keystatus * key_set_2_svc();
 extern  cryptkeyres * key_encrypt_2();
@@ -341,6 +341,6 @@ extern  key_netstres * key_net_get_2_svc();
 #define KEY_GET_CONV ((u_long)10)
 extern  cryptkeyres * key_get_conv_2();
 extern  cryptkeyres * key_get_conv_2_svc();
-#endif /* Old Style C */ 
+#endif /* Old Style C */
 
 #endif /* !_KEY_PROT_H_RPCGEN */
diff --git a/sunrpc/rpc/rpc_des.h b/sunrpc/rpc/rpc_des.h
index 0f36d16977..96e536984d 100644
--- a/sunrpc/rpc/rpc_des.h
+++ b/sunrpc/rpc/rpc_des.h
@@ -5,23 +5,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
diff --git a/sunrpc/rpc_scan.h b/sunrpc/rpc_scan.h
index 74d77b0fbb..af02479e79 100644
--- a/sunrpc/rpc_scan.h
+++ b/sunrpc/rpc_scan.h
@@ -31,11 +31,11 @@
 /*      @(#)rpc_scan.h  1.3  90/08/29  (C) 1987 SMI   */
 
 /*
- * rpc_scan.h, Definitions for the RPCL scanner 
+ * rpc_scan.h, Definitions for the RPCL scanner
  */
 
 /*
- * kinds of tokens 
+ * kinds of tokens
  */
 enum tok_kind {
 	TOK_IDENT,
@@ -81,7 +81,7 @@ enum tok_kind {
 typedef enum tok_kind tok_kind;
 
 /*
- * a token 
+ * a token
  */
 struct token {
 	tok_kind kind;
@@ -91,7 +91,7 @@ typedef struct token token;
 
 
 /*
- * routine interface 
+ * routine interface
  */
 void scan(tok_kind expect, token *tokp);
 void scan2(tok_kind expect1, tok_kind expect2, token *tokp);
@@ -104,4 +104,3 @@ void expected1(tok_kind exp1) __attribute__ ((noreturn));
 void expected2(tok_kind exp1, tok_kind exp2)  __attribute__ ((noreturn));
 void expected3(tok_kind exp1, tok_kind exp2, tok_kind exp3)
      __attribute__ ((noreturn));
-
diff --git a/sunrpc/rpcsvc/bootparam_prot.x b/sunrpc/rpcsvc/bootparam_prot.x
index 65bc0dcbfb..6f75f18435 100644
--- a/sunrpc/rpcsvc/bootparam_prot.x
+++ b/sunrpc/rpcsvc/bootparam_prot.x
@@ -8,23 +8,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
@@ -82,7 +82,7 @@ struct bp_getfile_arg {
 	bp_machine_name_t	client_name;
 	bp_fileid_t		file_id;
 };
-	
+
 struct bp_getfile_res {
 	bp_machine_name_t	server_name;
 	bp_address		server_address;
diff --git a/sunrpc/rpcsvc/key_prot.x b/sunrpc/rpcsvc/key_prot.x
index d9272cbcfa..f385ed14b3 100644
--- a/sunrpc/rpcsvc/key_prot.x
+++ b/sunrpc/rpcsvc/key_prot.x
@@ -49,7 +49,7 @@
 %
 %/* Copyright (c)  1990, 1991 Sun Microsystems, Inc. */
 %
-%/* 
+%/*
 % * Compiled from key_prot.x using rpcgen.
 % * DO NOT EDIT THIS FILE!
 % * This is NOT source code!
@@ -95,7 +95,7 @@ typedef opaque keybuf[HEXKEYBYTES];	/* store key in hex */
 typedef string netnamestr<MAXNETNAMELEN>;
 
 /*
- * Argument to ENCRYPT or DECRYPT 
+ * Argument to ENCRYPT or DECRYPT
  */
 struct cryptkeyarg {
 	netnamestr remotename;
@@ -125,12 +125,12 @@ default:
 const MAXGIDS  = 16;	/* max number of gids in gid list */
 
 /*
- * Unix credential 
- */	
+ * Unix credential
+ */
 struct unixcred {
 	u_int uid;
 	u_int gid;
-	u_int gids<MAXGIDS>;	
+	u_int gids<MAXGIDS>;
 };
 
 /*
@@ -157,7 +157,7 @@ case KEY_SUCCESS:
 	key_netstarg knet;
 default:
 	void;
-};	
+};
 
 #ifdef RPC_HDR
 %
@@ -173,15 +173,15 @@ program KEY_PROG {
 		 * This is my secret key.
 	 	 * Store it for me.
 		 */
-		keystatus 
-		KEY_SET(keybuf) = 1;	
-	
+		keystatus
+		KEY_SET(keybuf) = 1;
+
 		/*
 		 * I want to talk to X.
 		 * Encrypt a conversation key for me.
 	 	 */
 		cryptkeyres
-		KEY_ENCRYPT(cryptkeyarg) = 2;	
+		KEY_ENCRYPT(cryptkeyarg) = 2;
 
 		/*
 		 * X just sent me a message.
@@ -193,7 +193,7 @@ program KEY_PROG {
 		/*
 		 * Generate a secure conversation key for me
 		 */
-		des_block 
+		des_block
 		KEY_GEN(void) = 4;
 
 		/*
@@ -215,15 +215,15 @@ program KEY_PROG {
 		 * This is my secret key.
 	 	 * Store it for me.
 		 */
-		keystatus 
-		KEY_SET(keybuf) = 1;	
-	
+		keystatus
+		KEY_SET(keybuf) = 1;
+
 		/*
 		 * I want to talk to X.
 		 * Encrypt a conversation key for me.
 	 	 */
 		cryptkeyres
-		KEY_ENCRYPT(cryptkeyarg) = 2;	
+		KEY_ENCRYPT(cryptkeyarg) = 2;
 
 		/*
 		 * X just sent me a message.
@@ -235,7 +235,7 @@ program KEY_PROG {
 		/*
 		 * Generate a secure conversation key for me
 		 */
-		des_block 
+		des_block
 		KEY_GEN(void) = 4;
 
 		/*
@@ -244,13 +244,13 @@ program KEY_PROG {
 		 */
 		getcredres
 		KEY_GETCRED(netnamestr) = 5;
-		
+
 		/*
 		 * I want to talk to X. and I know X's public key
 		 * Encrypt a conversation key for me.
 	 	 */
 		cryptkeyres
-		KEY_ENCRYPT_PK(cryptkeyarg2) = 6;	
+		KEY_ENCRYPT_PK(cryptkeyarg2) = 6;
 
 		/*
 		 * X just sent me a message. and I know X's public key
@@ -258,29 +258,27 @@ program KEY_PROG {
 		 */
 		cryptkeyres
 		KEY_DECRYPT_PK(cryptkeyarg2) = 7;
-		
-		/* 
-		 * Store my public key, netname and private key. 
+
+		/*
+		 * Store my public key, netname and private key.
 		 */
 		keystatus
 		KEY_NET_PUT(key_netstarg) = 8;
-		
+
 		/*
-		 * Retrieve my public key, netname and private key. 
+		 * Retrieve my public key, netname and private key.
 		 */
  		key_netstres
 		KEY_NET_GET(void) = 9;
-		
+
 		/*
-		 * Return me the conversation key that is constructed 
-		 * from my secret key and this publickey. 
+		 * Return me the conversation key that is constructed
+		 * from my secret key and this publickey.
 		 */
 
-		cryptkeyres 
-		KEY_GET_CONV(keybuf) = 10; 
+		cryptkeyres
+		KEY_GET_CONV(keybuf) = 10;
+
 
-		
 	} = 2;
 } = 100029;
-
-
diff --git a/sunrpc/rpcsvc/klm_prot.x b/sunrpc/rpcsvc/klm_prot.x
index 5f3e12e7d3..9dde81c51f 100644
--- a/sunrpc/rpcsvc/klm_prot.x
+++ b/sunrpc/rpcsvc/klm_prot.x
@@ -8,23 +8,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
@@ -131,4 +131,3 @@ lock request  */
 		klm_stat	KLM_UNLOCK (struct klm_unlockargs) =	4;
 	} = 1;
 } = 100020;
-
diff --git a/sunrpc/rpcsvc/rstat.x b/sunrpc/rpcsvc/rstat.x
index 6367c43943..51f81ee12c 100644
--- a/sunrpc/rpcsvc/rstat.x
+++ b/sunrpc/rpcsvc/rstat.x
@@ -8,23 +8,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
diff --git a/sunrpc/rpcsvc/spray.x b/sunrpc/rpcsvc/spray.x
index b242f0ac75..943238fdf5 100644
--- a/sunrpc/rpcsvc/spray.x
+++ b/sunrpc/rpcsvc/spray.x
@@ -8,23 +8,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
@@ -62,7 +62,7 @@ program SPRAYPROG {
 	version SPRAYVERS {
 		/*
 		 * Just throw away the data and increment the counter
-		 * This call never returns, so the client should always 
+		 * This call never returns, so the client should always
 		 * time it out.
 		 */
 		void
@@ -72,7 +72,7 @@ program SPRAYPROG {
 		 * Get the value of the counter and elapsed time  since
 		 * last CLEAR.
 		 */
-		spraycumul	
+		spraycumul
 		SPRAYPROC_GET(void) = 2;
 
 		/*
diff --git a/sunrpc/rpcsvc/yppasswd.x b/sunrpc/rpcsvc/yppasswd.x
index ad349adbfa..ab2edbaa9d 100644
--- a/sunrpc/rpcsvc/yppasswd.x
+++ b/sunrpc/rpcsvc/yppasswd.x
@@ -8,23 +8,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
@@ -37,7 +37,7 @@
 program YPPASSWDPROG {
 	version YPPASSWDVERS {
 		/*
-		 * Update my passwd entry 
+		 * Update my passwd entry
 		 */
 		int
 		YPPASSWDPROC_UPDATE(yppasswd) = 1;
@@ -59,5 +59,3 @@ struct yppasswd {
 	string oldpass<>;	/* unencrypted old password */
 	passwd newpw;		/* new passwd entry */
 };
-
-