[BACK]Return to set_perms.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / sudo

Diff for /src/usr.bin/sudo/Attic/set_perms.c between version 1.1 and 1.2

version 1.1, 2002/01/03 03:49:16 version 1.2, 2002/01/14 00:11:44
Line 66 
Line 66 
 #include "sudo.h"  #include "sudo.h"
   
 #ifndef lint  #ifndef lint
 static const char rcsid[] = "$Sudo: set_perms.c,v 1.8 2001/12/31 17:18:05 millert Exp $";  static const char rcsid[] = "$Sudo: set_perms.c,v 1.9 2002/01/13 18:28:09 millert Exp $";
 #endif /* lint */  #endif /* lint */
   
 /*  /*
Line 93 
Line 93 
                                 if (seteuid(0))                                  if (seteuid(0))
                                     fatal("seteuid(0)");                                      fatal("seteuid(0)");
                                 break;                                  break;
   
           case PERM_FULL_ROOT:
                                   /* headed for exec() */
                                   (void) seteuid(0);
                                   if (setuid(0))
                                       fatal("setuid(0)");
                                   break;
   
         case PERM_USER:          case PERM_USER:
                                 (void) setegid(user_gid);                                  (void) setegid(user_gid);
                                 if (seteuid(user_uid))                                  if (seteuid(user_uid))
                                     fatal("seteuid(user_uid)");                                      fatal("seteuid(user_uid)");
                                 break;                                  break;
   
         case PERM_FULL_USER:  
                                 /* headed for exec() */  
                                 (void) setgid(user_gid);  
                                 if (setuid(user_uid))  
                                     fatal("setuid(user_uid)");  
                                 break;  
   
         case PERM_RUNAS:          case PERM_RUNAS:
                                 /* headed for exec(), assume euid == 0 */                                  /* headed for exec(), assume euid == 0 */
                                 runas_setup();                                  runas_setup();
Line 155 
Line 156 
     int error;      int error;
   
     switch (perm) {      switch (perm) {
           case PERM_FULL_ROOT:
         case PERM_ROOT:          case PERM_ROOT:
                                 if (setuid(0))                                  if (setuid(0))
                                     fatal("setuid(0)");                                      fatal("setuid(0)");
                                 break;                                  break;
   
         case PERM_USER:          case PERM_USER:
                                 (void) setegid(user_gid);                                  (void) setegid(user_gid);
                                 if (setreuid(0, user_uid))                                  if (setreuid(0, user_uid))
                                     fatal("setreuid(0, user_uid)");                                      fatal("setreuid(0, user_uid)");
                                 break;                                  break;
   
         case PERM_FULL_USER:  
                                 /* headed for exec() */  
                                 (void) setgid(user_gid);  
                                 if (setuid(user_uid)) {  
                                     fatal("setuid(user_uid)");  
                                     exit(1);  
                                 }  
                                 break;  
   
         case PERM_RUNAS:          case PERM_RUNAS:
                                 /* headed for exec(), assume euid == 0 */                                  /* headed for exec(), assume euid == 0 */
                                 runas_setup();                                  runas_setup();
Line 234 
Line 228 
                                     fatal("seteuid(user_uid)");                                      fatal("seteuid(user_uid)");
                                 break;                                  break;
   
         case PERM_FULL_USER:  
                                 /* headed for exec() */  
                                 (void) setgid(user_gid);  
                                 if (setuid(user_uid))  
                                     fatal("setuid(user_uid)");  
                                 break;  
   
         case PERM_RUNAS:          case PERM_RUNAS:
                                 /* headed for exec(), assume euid == 0 */                                  /* headed for exec(), assume euid == 0 */
                                 runas_setup();                                  runas_setup();

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2