You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by jo...@apache.org on 2012/03/07 04:18:01 UTC

svn commit: r1297847 - /subversion/trunk/tools/server-side/svnpubsub/svnwcsub.py

Author: joes
Date: Wed Mar  7 03:18:01 2012
New Revision: 1297847

URL: http://svn.apache.org/viewvc?rev=1297847&view=rev
Log:
set gid first before dropping uid to non-root user

Modified:
    subversion/trunk/tools/server-side/svnpubsub/svnwcsub.py

Modified: subversion/trunk/tools/server-side/svnpubsub/svnwcsub.py
URL: http://svn.apache.org/viewvc/subversion/trunk/tools/server-side/svnpubsub/svnwcsub.py?rev=1297847&r1=1297846&r2=1297847&view=diff
==============================================================================
--- subversion/trunk/tools/server-side/svnpubsub/svnwcsub.py (original)
+++ subversion/trunk/tools/server-side/svnpubsub/svnwcsub.py Wed Mar  7 03:18:01 2012
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2.7
 #
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
@@ -380,15 +380,6 @@ def handle_options(options):
         open(options.pidfile, 'w').write('%s\n' % pid)
         logging.info('pid %d written to %s', pid, options.pidfile)
 
-    if options.uid:
-        try:
-            uid = int(options.uid)
-        except ValueError:
-            import pwd
-            uid = pwd.getpwnam(options.uid)[2]
-        logging.info('setting uid %d', uid)
-        os.setuid(uid)
-
     if options.gid:
         try:
             gid = int(options.gid)
@@ -398,6 +389,15 @@ def handle_options(options):
         logging.info('setting gid %d', gid)
         os.setgid(gid)
 
+    if options.uid:
+        try:
+            uid = int(options.uid)
+        except ValueError:
+            import pwd
+            uid = pwd.getpwnam(options.uid)[2]
+        logging.info('setting uid %d', uid)
+        os.setuid(uid)
+
     if options.umask:
         umask = int(options.umask, 8)
         os.umask(umask)