Author: pfg
Date: Sun Oct  7 05:11:29 2012
New Revision: 241309
URL: http://svn.freebsd.org/changeset/base/241309

Log:
  MFC    r241141, r241165, r241165,  r241181;
  
  rpc: convert all uid and gid variables to u_int.
  
  Follow a similar change in Solaris and linux where the uid and
  gid variables were made more similar to what the system expects.
  In our case we use u_int which is what XDR can manage,
  
  Reviewed by:  bde

Modified:
  stable/9/include/rpc/auth.h
  stable/9/include/rpc/auth_unix.h
  stable/9/lib/libc/rpc/auth_unix.c
  stable/9/lib/libc/rpc/authunix_prot.c
  stable/9/lib/libc/rpc/rpc_soc.3
  stable/9/lib/libc/rpc/svc_auth_unix.c
  stable/9/sys/rpc/auth.h

Modified: stable/9/include/rpc/auth.h
==============================================================================
--- stable/9/include/rpc/auth.h Sun Oct  7 02:08:19 2012        (r241308)
+++ stable/9/include/rpc/auth.h Sun Oct  7 05:11:29 2012        (r241309)
@@ -243,14 +243,13 @@ __END_DECLS
  * System style authentication
  * AUTH *authunix_create(machname, uid, gid, len, aup_gids)
  *     char *machname;
- *     int uid;
- *     int gid;
+ *     u_int uid;
+ *     u_int gid;
  *     int len;
- *     int *aup_gids;
+ *     u_int *aup_gids;
  */
 __BEGIN_DECLS
-extern AUTH *authunix_create(char *, int, int, int,
-    int *);
+extern AUTH *authunix_create(char *, u_int, u_int, int, u_int *);
 extern AUTH *authunix_create_default(void);    /* takes no parameters */
 extern AUTH *authnone_create(void);            /* takes no parameters */
 __END_DECLS

Modified: stable/9/include/rpc/auth_unix.h
==============================================================================
--- stable/9/include/rpc/auth_unix.h    Sun Oct  7 02:08:19 2012        
(r241308)
+++ stable/9/include/rpc/auth_unix.h    Sun Oct  7 05:11:29 2012        
(r241309)
@@ -60,10 +60,10 @@
 struct authunix_parms {
        u_long   aup_time;
        char    *aup_machname;
-       int      aup_uid;
-       int      aup_gid;
+       u_int    aup_uid;
+       u_int    aup_gid;
        u_int    aup_len;
-       int     *aup_gids;
+       u_int   *aup_gids;
 };
 
 #define authsys_parms authunix_parms

Modified: stable/9/lib/libc/rpc/auth_unix.c
==============================================================================
--- stable/9/lib/libc/rpc/auth_unix.c   Sun Oct  7 02:08:19 2012        
(r241308)
+++ stable/9/lib/libc/rpc/auth_unix.c   Sun Oct  7 05:11:29 2012        
(r241309)
@@ -94,10 +94,10 @@ struct audata {
 AUTH *
 authunix_create(machname, uid, gid, len, aup_gids)
        char *machname;
-       int uid;
-       int gid;
+       u_int uid;
+       u_int gid;
        int len;
-       int *aup_gids;
+       u_int *aup_gids;
 {
        struct authunix_parms aup;
        char mymem[MAX_AUTH_BYTES];
@@ -189,9 +189,9 @@ authunix_create_default()
        int ngids;
        long ngids_max;
        char machname[MAXHOSTNAMELEN + 1];
-       uid_t uid;
-       gid_t gid;
-       gid_t *gids;
+       u_int uid;
+       u_int gid;
+       u_int *gids;
 
        ngids_max = sysconf(_SC_NGROUPS_MAX) + 1;
        gids = malloc(sizeof(gid_t) * ngids_max);
@@ -207,9 +207,8 @@ authunix_create_default()
                abort();
        if (ngids > NGRPS)
                ngids = NGRPS;
-       /* XXX: interface problem; those should all have been unsigned */
-       auth = authunix_create(machname, (int)uid, (int)gid, ngids,
-           (int *)gids);
+       /* XXX: interface problem; we should translate from uid_t and gid_t */
+       auth = authunix_create(machname, uid, gid, ngids, gids);
        free(gids);
        return (auth);
 }

Modified: stable/9/lib/libc/rpc/authunix_prot.c
==============================================================================
--- stable/9/lib/libc/rpc/authunix_prot.c       Sun Oct  7 02:08:19 2012        
(r241308)
+++ stable/9/lib/libc/rpc/authunix_prot.c       Sun Oct  7 05:11:29 2012        
(r241309)
@@ -60,19 +60,19 @@ xdr_authunix_parms(xdrs, p)
        XDR *xdrs;
        struct authunix_parms *p;
 {
-       int **paup_gids;
+       u_int **paup_gids;
 
        assert(xdrs != NULL);
        assert(p != NULL);
 
        paup_gids = &p->aup_gids;
 
-       if (xdr_u_long(xdrs, &(p->aup_time))
-           && xdr_string(xdrs, &(p->aup_machname), MAX_MACHINE_NAME)
-           && xdr_int(xdrs, &(p->aup_uid))
-           && xdr_int(xdrs, &(p->aup_gid))
-           && xdr_array(xdrs, (char **) paup_gids,
-                   &(p->aup_len), NGRPS, sizeof(int), (xdrproc_t)xdr_int) ) {
+       if (xdr_u_long(xdrs, &(p->aup_time)) &&
+           xdr_string(xdrs, &(p->aup_machname), MAX_MACHINE_NAME) &&
+           xdr_u_int(xdrs, &(p->aup_uid)) &&
+           xdr_u_int(xdrs, &(p->aup_gid)) &&
+           xdr_array(xdrs, (char **) paup_gids,
+           &(p->aup_len), NGRPS, sizeof(u_int), (xdrproc_t)xdr_u_int) ) {
                return (TRUE);
        }
        return (FALSE);

Modified: stable/9/lib/libc/rpc/rpc_soc.3
==============================================================================
--- stable/9/lib/libc/rpc/rpc_soc.3     Sun Oct  7 02:08:19 2012        
(r241308)
+++ stable/9/lib/libc/rpc/rpc_soc.3     Sun Oct  7 05:11:29 2012        
(r241309)
@@ -148,7 +148,7 @@ default authentication used by
 .Ft "AUTH *"
 .Xc
 .It Xo
-.Fn authunix_create "char *host" "int uid" "int gid" "int len" "int *aup_gids"
+.Fn authunix_create "char *host" "u_int uid" "u_int gid" "int len" "u_int 
*aup_gids"
 .Xc
 .Pp
 Create and return an

Modified: stable/9/lib/libc/rpc/svc_auth_unix.c
==============================================================================
--- stable/9/lib/libc/rpc/svc_auth_unix.c       Sun Oct  7 02:08:19 2012        
(r241308)
+++ stable/9/lib/libc/rpc/svc_auth_unix.c       Sun Oct  7 05:11:29 2012        
(r241309)
@@ -68,7 +68,7 @@ _svcauth_unix(rqst, msg)
        struct area {
                struct authunix_parms area_aup;
                char area_machname[MAX_MACHINE_NAME+1];
-               int area_gids[NGRPS];
+               u_int area_gids[NGRPS];
        } *area;
        u_int auth_len;
        size_t str_len, gid_len;

Modified: stable/9/sys/rpc/auth.h
==============================================================================
--- stable/9/sys/rpc/auth.h     Sun Oct  7 02:08:19 2012        (r241308)
+++ stable/9/sys/rpc/auth.h     Sun Oct  7 05:11:29 2012        (r241309)
@@ -234,18 +234,17 @@ __END_DECLS
  * System style authentication
  * AUTH *authunix_create(machname, uid, gid, len, aup_gids)
  *     char *machname;
- *     int uid;
- *     int gid;
+ *     u_int uid;
+ *     u_int gid;
  *     int len;
- *     int *aup_gids;
+ *     u_int *aup_gids;
  */
 __BEGIN_DECLS
 #ifdef _KERNEL
 struct ucred;
 extern AUTH *authunix_create(struct ucred *);
 #else
-extern AUTH *authunix_create(char *, int, int, int,
-    int *);
+extern AUTH *authunix_create(char *, u_int, u_int, int, u_int *);
 extern AUTH *authunix_create_default(void);    /* takes no parameters */
 #endif
 extern AUTH *authnone_create(void);            /* takes no parameters */
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to