[CalendarServer-changes] [4279] CalendarServer/trunk/calendarserver/tools
source_changes at macosforge.org
source_changes at macosforge.org
Fri May 15 15:54:53 PDT 2009
Revision: 4279
http://trac.macosforge.org/projects/calendarserver/changeset/4279
Author: sagen at apple.com
Date: 2009-05-15 15:54:52 -0700 (Fri, 15 May 2009)
Log Message:
-----------
calendarserver_manage_principals now sheds privileges
Modified Paths:
--------------
CalendarServer/trunk/calendarserver/tools/export.py
CalendarServer/trunk/calendarserver/tools/migrate.py
CalendarServer/trunk/calendarserver/tools/principals.py
CalendarServer/trunk/calendarserver/tools/util.py
CalendarServer/trunk/calendarserver/tools/warmup.py
Modified: CalendarServer/trunk/calendarserver/tools/export.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/export.py 2009-05-15 21:26:56 UTC (rev 4278)
+++ CalendarServer/trunk/calendarserver/tools/export.py 2009-05-15 22:54:52 UTC (rev 4279)
@@ -44,7 +44,7 @@
from twistedcaldav.directory.directory import DirectoryService
from calendarserver.tools.util import UsageError
-from calendarserver.tools.util import loadConfig, getDirectory, dummyDirectoryRecord
+from calendarserver.tools.util import loadConfig, getDirectory, dummyDirectoryRecord, autoDisableMemcached
def usage(e=None):
if e:
@@ -147,6 +147,8 @@
if records:
try:
config = loadConfig(configFileName)
+ config.directory = getDirectory()
+ autoDisableMemcached(config)
except ConfigurationError, e:
sys.stdout.write("%s\n" % (e,))
sys.exit(1)
Modified: CalendarServer/trunk/calendarserver/tools/migrate.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/migrate.py 2009-05-15 21:26:56 UTC (rev 4278)
+++ CalendarServer/trunk/calendarserver/tools/migrate.py 2009-05-15 22:54:52 UTC (rev 4279)
@@ -32,7 +32,7 @@
from twistedcaldav.config import ConfigurationError
from twistedcaldav.upgrade import upgradeData
-from calendarserver.tools.util import loadConfig
+from calendarserver.tools.util import loadConfig, getDirectory
def usage(e=None):
if e:
@@ -79,6 +79,7 @@
try:
config = loadConfig(configFileName)
+ config.directory = getDirectory()
except ConfigurationError, e:
sys.stdout.write("%s\n" % (e,))
sys.exit(1)
Modified: CalendarServer/trunk/calendarserver/tools/principals.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/principals.py 2009-05-15 21:26:56 UTC (rev 4278)
+++ CalendarServer/trunk/calendarserver/tools/principals.py 2009-05-15 22:54:52 UTC (rev 4279)
@@ -22,9 +22,13 @@
import operator
from getopt import getopt, GetoptError
from uuid import UUID
+from pwd import getpwnam
+from grp import getgrnam
+
from twisted.python import log
from twisted.python.reflect import namedClass
+from twisted.python.util import switchUID
from twisted.internet import reactor
from twisted.internet.defer import Deferred
from twisted.internet.address import IPv4Address
@@ -84,6 +88,16 @@
sys.exit(0)
def main():
+
+ #
+ # Send logging output to stdout
+ #
+ logFileName = "/dev/stdout"
+ observer = log.FileLogObserver(open(logFileName, "a"))
+ log.addObserver(observer.emit)
+
+
+
try:
(optargs, args) = getopt(
sys.argv[1:], "hf:P:", [
@@ -178,6 +192,15 @@
#
try:
loadConfig(configFileName)
+ setLogLevelForNamespace(None, "warn")
+
+ # Shed privileges
+ if config.UserName and config.GroupName:
+ uid = getpwnam(config.UserName).pw_uid
+ gid = getgrnam(config.GroupName).gr_gid
+ switchUID(uid, uid, gid)
+
+ config.directory = getDirectory()
autoDisableMemcached(config)
except ConfigurationError, e:
abort(e)
@@ -193,14 +216,6 @@
abort(e)
#
- # Send logging output to stdout
- #
- setLogLevelForNamespace(None, "warn")
- logFileName = "/dev/stdout"
- observer = log.FileLogObserver(open(logFileName, "a"))
- log.addObserver(observer.emit)
-
- #
# Start the reactor
#
reactor.callLater(0, run, args, actions)
Modified: CalendarServer/trunk/calendarserver/tools/util.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/util.py 2009-05-15 21:26:56 UTC (rev 4278)
+++ CalendarServer/trunk/calendarserver/tools/util.py 2009-05-15 22:54:52 UTC (rev 4279)
@@ -39,7 +39,6 @@
raise ConfigurationError("No config file: %s" % (configFileName,))
config.loadConfig(configFileName)
- config.directory = getDirectory()
return config
Modified: CalendarServer/trunk/calendarserver/tools/warmup.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/warmup.py 2009-05-15 21:26:56 UTC (rev 4278)
+++ CalendarServer/trunk/calendarserver/tools/warmup.py 2009-05-15 22:54:52 UTC (rev 4279)
@@ -129,6 +129,7 @@
if records or allRecords:
try:
config = loadConfig(configFileName)
+ config.directory = getDirectory()
except ConfigurationError, e:
sys.stdout.write("%s\n" % (e,))
sys.exit(1)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090515/4688f2b4/attachment.html>
More information about the calendarserver-changes
mailing list