[CalendarServer-changes] [4174] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Mon May 4 20:32:59 PDT 2009


Revision: 4174
          http://trac.macosforge.org/projects/calendarserver/changeset/4174
Author:   sagen at apple.com
Date:     2009-05-04 20:32:58 -0700 (Mon, 04 May 2009)
Log Message:
-----------
The mail and notification gateways now shed privileges after startup.

Modified Paths:
--------------
    CalendarServer/trunk/calendarserver/tap/caldav.py
    CalendarServer/trunk/twistedcaldav/upgrade.py

Modified: CalendarServer/trunk/calendarserver/tap/caldav.py
===================================================================
--- CalendarServer/trunk/calendarserver/tap/caldav.py	2009-05-05 02:58:05 UTC (rev 4173)
+++ CalendarServer/trunk/calendarserver/tap/caldav.py	2009-05-05 03:32:58 UTC (rev 4174)
@@ -1057,10 +1057,16 @@
             notificationsArgv = [
                 sys.executable,
                 config.Twisted.twistd,
+            ]
+            if config.UserName:
+                notificationsArgv.extend(("-u", config.UserName))
+            if config.GroupName:
+                notificationsArgv.extend(("-g", config.GroupName))
+            notificationsArgv.extend((
                 "--reactor=%s" % (config.Twisted.reactor,),
                 "-n", "caldav_notifier",
                 "-f", options["config"],
-            ]
+            ))
             monitor.addProcess("notifications", notificationsArgv,
                 env=parentEnv)
 
@@ -1073,10 +1079,17 @@
             mailGatewayArgv = [
                 sys.executable,
                 config.Twisted.twistd,
+            ]
+            if config.UserName:
+                mailGatewayArgv.extend(("-u", config.UserName))
+            if config.GroupName:
+                mailGatewayArgv.extend(("-g", config.GroupName))
+            mailGatewayArgv.extend((
                 "--reactor=%s" % (config.Twisted.reactor,),
                 "-n", "caldav_mailgateway",
                 "-f", options["config"],
-            ]
+            ))
+
             monitor.addProcess("mailgateway", mailGatewayArgv, env=parentEnv)
 
         stats = CalDAVStatisticsServer(logger) 

Modified: CalendarServer/trunk/twistedcaldav/upgrade.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/upgrade.py	2009-05-05 02:58:05 UTC (rev 4173)
+++ CalendarServer/trunk/twistedcaldav/upgrade.py	2009-05-05 03:32:58 UTC (rev 4174)
@@ -21,6 +21,7 @@
 from twistedcaldav.directory.directory import DirectoryService
 from twistedcaldav.directory.calendaruserproxy import CalendarUserProxyDatabase
 from twistedcaldav.directory.resourceinfo import ResourceInfoDatabase
+from twistedcaldav.mail import MailGatewayTokensDatabase
 from twistedcaldav.log import Logger
 from twistedcaldav.ical import Component
 from twistedcaldav import caldavxml
@@ -270,8 +271,16 @@
         if os.path.exists(dbPath):
             os.chown(dbPath, uid, gid)
 
+    def createMailTokensDatabase(config, uid, gid):
+        # Cause the tokens db to be created on disk so we can set the
+        # permissions on it now
+        MailGatewayTokensDatabase(config.DataRoot).lookupByToken("")
 
+        dbPath = os.path.join(config.DataRoot, MailGatewayTokensDatabase.dbFilename)
+        if os.path.exists(dbPath):
+            os.chown(dbPath, uid, gid)
 
+
     directory = getDirectory()
 
     docRoot = config.DocumentRoot
@@ -377,6 +386,7 @@
                 log.warn("Done processing calendar homes")
 
     migrateResourceInfo(config, directory, uid, gid)
+    createMailTokensDatabase(config, uid, gid)
 
     if errorOccurred:
         raise UpgradeError("Data upgrade failed, see error.log for details")
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090504/9f23c633/attachment.html>


More information about the calendarserver-changes mailing list