]> Zhao Yanbai Git Server - minix.git/commitdiff
Let other uids (temporarily) set their mapping.
authorBen Gras <ben@minix3.org>
Fri, 20 Jan 2006 12:43:19 +0000 (12:43 +0000)
committerBen Gras <ben@minix3.org>
Fri, 20 Jan 2006 12:43:19 +0000 (12:43 +0000)
servers/fs/const.h
servers/fs/misc.c

index b978ea2a3f12db42133929fe0d2c59114fffce0d..139503fe3983b100896c088c220fc6f28af44c5d 100644 (file)
@@ -28,6 +28,7 @@
 
 /* Miscellaneous constants */
 #define SU_UID          ((uid_t) 0)    /* super_user's uid_t */
+#define SERVERS_UID ((uid_t) 11) /* who may do FSSIGNON */
 #define SYS_UID  ((uid_t) 0)   /* uid_t for processes MM and INIT */
 #define SYS_GID  ((gid_t) 0)   /* gid_t for processes MM and INIT */
 #define NORMAL            0    /* forces get_block to do disk read */
index 59f96d8256cf7c80b076fe924759f278c2ab5767..4fd694784c562dce30de242fa006475612315592 100644 (file)
@@ -496,7 +496,8 @@ PUBLIC int do_svrctl()
        struct fssignon device;
        int r, major;
 
-       if (fp->fp_effuid != SU_UID) return(EPERM);
+       if (fp->fp_effuid != SU_UID && fp->fp_effuid != SERVERS_UID)
+               return(EPERM);
 
        /* Try to copy request structure to FS. */
        if ((r = sys_datacopy(who, (vir_bytes) m_in.svrctl_argp,