Revision: 898 http://trac.macosforge.org/projects/calendarserver/changeset/898 Author: dreid@apple.com Date: 2006-12-22 11:26:19 -0800 (Fri, 22 Dec 2006) Log Message: ----------- set up the aggregate directory service and the sudoDirectory Modified Paths: -------------- CalendarServer/branches/users/dreid/sudoers/conf/caldavd-test.plist CalendarServer/branches/users/dreid/sudoers/twistedcaldav/directory/sudo.py CalendarServer/branches/users/dreid/sudoers/twistedcaldav/tap.py Modified: CalendarServer/branches/users/dreid/sudoers/conf/caldavd-test.plist =================================================================== --- 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 =================================================================== --- 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 =================================================================== --- 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 #
participants (1)
-
source_changes@macosforge.org