Revision
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

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
         #