Diff
Modified: CalendarServer/branches/users/dreid/sudoers/conf/caldavd-test.plist (897 => 898)
--- CalendarServer/branches/users/dreid/sudoers/conf/caldavd-test.plist 2006-12-22 19:06:59 UTC (rev 897)
+++ CalendarServer/branches/users/dreid/sudoers/conf/caldavd-test.plist 2006-12-22 19:26:19 UTC (rev 898)
@@ -184,7 +184,6 @@
<string>/principals/user/admin</string>
</array>
-
<key>SudoersFile</key>
<string>conf/sudoers.plist</string>
</dict>
Modified: CalendarServer/branches/users/dreid/sudoers/twistedcaldav/directory/sudo.py (897 => 898)
--- CalendarServer/branches/users/dreid/sudoers/twistedcaldav/directory/sudo.py 2006-12-22 19:06:59 UTC (rev 897)
+++ CalendarServer/branches/users/dreid/sudoers/twistedcaldav/directory/sudo.py 2006-12-22 19:26:19 UTC (rev 898)
@@ -59,9 +59,9 @@
self.plistFile = plistFile
self._fileInfo = None
- self._readPlist()
+ self._accounts()
- def _readPlist(self):
+ def _accounts(self):
fileInfo = (self.plistFile.getmtime(), self.plistFile.getsize())
if fileInfo != self._fileInfo:
self._plist = readPlist(self.plistFile.path)
@@ -83,14 +83,14 @@
if recordType != self.recordType:
raise UnknownRecordTypeError(recordType)
- for entry in self._plist['users']:
+ for entry in self._accounts()['users']:
yield self._recordForEntry(entry)
def recordWithShortName(self, recordType, shortName):
if recordType != self.recordType:
raise UnknownRecordTypeError(recordType)
- for entry in self._plist['users']:
+ for entry in self._accounts()['users']:
if entry['username'] == shortName:
return self._recordForEntry(entry)
Modified: CalendarServer/branches/users/dreid/sudoers/twistedcaldav/tap.py (897 => 898)
--- CalendarServer/branches/users/dreid/sudoers/twistedcaldav/tap.py 2006-12-22 19:06:59 UTC (rev 897)
+++ CalendarServer/branches/users/dreid/sudoers/twistedcaldav/tap.py 2006-12-22 19:26:19 UTC (rev 898)
@@ -46,6 +46,9 @@
from twistedcaldav.logging import RotatingFileAccessLoggingObserver
from twistedcaldav.root import RootResource
from twistedcaldav.directory.principal import DirectoryPrincipalProvisioningResource
+from twistedcaldav.directory.aggregate import AggregateDirectoryService
+from twistedcaldav.directory.sudo import SudoDirectoryService
+
from twistedcaldav.static import CalendarHomeProvisioningFile
from twistedcaldav.authkerb import NegotiateCredentialFactory
@@ -127,8 +130,15 @@
# Setup the Directory
#
directoryClass = namedClass(config.DirectoryService['type'])
- directory = directoryClass(**config.DirectoryService['params'])
+ baseDirectory = directoryClass(**config.DirectoryService['params'])
+ if config.SudoersFile:
+ sudoDirectory = SudoDirectoryService(config.SudoersFile)
+ sudoDirectory.realmName = baseDirectory.realmName
+
+ directory = AggregateDirectoryService((baseDirectory,
+ sudoDirectory))
+
#
# Setup Resource hierarchy
#