[81630] trunk/base/src/port1.0/portutil.tcl

jmr at macports.org jmr at macports.org
Tue Aug 2 23:14:00 PDT 2011


Revision: 81630
          http://trac.macports.org/changeset/81630
Author:   jmr at macports.org
Date:     2011-08-02 23:13:57 -0700 (Tue, 02 Aug 2011)
Log Message:
-----------
return to previous privilege level when done in adduser and addgroup

Modified Paths:
--------------
    trunk/base/src/port1.0/portutil.tcl

Modified: trunk/base/src/port1.0/portutil.tcl
===================================================================
--- trunk/base/src/port1.0/portutil.tcl	2011-08-03 05:33:54 UTC (rev 81629)
+++ trunk/base/src/port1.0/portutil.tcl	2011-08-03 06:13:57 UTC (rev 81630)
@@ -2075,6 +2075,7 @@
         return
     } elseif {[geteuid] != 0} {
         seteuid 0; setegid 0
+        set escalated 1
     }
 
     set passwd {*}
@@ -2117,6 +2118,10 @@
         ui_warn "adduser is not implemented on ${os.platform}."
         ui_warn "The requested user '$name' was not created."
     }
+
+    if {[info exists escalated]} {
+        dropPrivileges
+    }
 }
 
 proc addgroup {name args} {
@@ -2128,6 +2133,7 @@
         return
     } elseif {[geteuid] != 0} {
         seteuid 0; setegid 0
+        set escalated 1
     }
 
     set gid [nextgid]
@@ -2158,6 +2164,10 @@
         ui_warn "addgroup is not implemented on ${os.platform}."
         ui_warn "The requested group was not created."
     }
+
+    if {[info exists escalated]} {
+        dropPrivileges
+    }
 }
 
 # proc to calculate size of a directory
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110802/b2c783ef/attachment.html>


More information about the macports-changes mailing list