[CalendarServer-changes] [1215] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Feb 20 07:44:30 PST 2007


Revision: 1215
          http://trac.macosforge.org/projects/calendarserver/changeset/1215
Author:   cdaboo at apple.com
Date:     2007-02-20 07:44:30 -0800 (Tue, 20 Feb 2007)

Log Message:
-----------
Add directory parameter to allow all users to be considered as valid calendar user principals as opposed to only those
with the calendar service schema property enabled. This is useful for testing purposes only and off by default.

Modified Paths:
--------------
    CalendarServer/trunk/conf/caldavd-test-logged.plist
    CalendarServer/trunk/conf/caldavd-test.plist
    CalendarServer/trunk/conf/caldavd.plist
    CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py

Modified: CalendarServer/trunk/conf/caldavd-test-logged.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd-test-logged.plist	2007-02-20 02:52:11 UTC (rev 1214)
+++ CalendarServer/trunk/conf/caldavd-test-logged.plist	2007-02-20 15:44:30 UTC (rev 1215)
@@ -91,6 +91,8 @@
     <dict>
       <key>node</key>
       <string>/Search</string>
+      <key>allUsers</key>
+      <false/>
     </dict>
   </dict>
   -->

Modified: CalendarServer/trunk/conf/caldavd-test.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd-test.plist	2007-02-20 02:52:11 UTC (rev 1214)
+++ CalendarServer/trunk/conf/caldavd-test.plist	2007-02-20 15:44:30 UTC (rev 1215)
@@ -97,6 +97,8 @@
     <dict>
       <key>node</key>
       <string>/Search</string>
+      <key>allUsers</key>
+      <false/>
     </dict>
   </dict>
   -->

Modified: CalendarServer/trunk/conf/caldavd.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd.plist	2007-02-20 02:52:11 UTC (rev 1214)
+++ CalendarServer/trunk/conf/caldavd.plist	2007-02-20 15:44:30 UTC (rev 1215)
@@ -97,6 +97,8 @@
     <dict>
       <key>node</key>
       <string>/Search</string>
+      <key>allUsers</key>
+      <false/>
     </dict>
   </dict>
   

Modified: CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2007-02-20 02:52:11 UTC (rev 1214)
+++ CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2007-02-20 15:44:30 UTC (rev 1215)
@@ -52,7 +52,7 @@
     def __repr__(self):
         return "<%s %r: %r>" % (self.__class__.__name__, self.realmName, self.node)
 
-    def __init__(self, node="/Search", dosetup=True):
+    def __init__(self, node="/Search", allUsers=False, dosetup=True):
         """
         @param node: an OpenDirectory node name to bind to.
         @param dosetup: if C{True} then the directory records are initialized,
@@ -68,6 +68,7 @@
         self.realmName = node
         self.directory = directory
         self.node = node
+        self.allUsers = allUsers
         self.computerRecordName = ""
         self._records = {}
         self._delayedCalls = set()
@@ -373,31 +374,38 @@
             records = {}
 
             try:
-                results = opendirectory.queryRecordsWithAttributes(
-                    self.directory,
-                    query,
-                    dsattributes.eDSStartsWith,
-                    False,
-                    False,
-                    listRecordType,
-                    attrs)
+                if self.allUsers:
+                    results = opendirectory.listAllRecordsWithAttributes(
+                        self.directory,
+                        listRecordType,
+                        attrs)
+                else:
+                    results = opendirectory.queryRecordsWithAttributes(
+                        self.directory,
+                        query,
+                        dsattributes.eDSStartsWith,
+                        False,
+                        False,
+                        listRecordType,
+                        attrs)
             except opendirectory.ODError, ex:
                 log.msg("Open Directory (node=%s) error: %s" % (self.realmName, str(ex)))
                 raise
 
             for (key, value) in results.iteritems():
-                # Make sure this user has service enabled.
-                enabled = True
-                service = value.get(dsattributes.kDSNAttrServicesLocator)
-                if isinstance(service, str):
-                    service = [service]
-                for item in service:
-                    if item.startswith(self.servicetag):
-                        if item.endswith(":disabled"):
-                            enabled = False
-                        break
-                if not enabled:
-                    continue
+                if not self.allUsers:
+	                # Make sure this user has service enabled.
+                    enabled = True
+                    service = value.get(dsattributes.kDSNAttrServicesLocator)
+                    if isinstance(service, str):
+                        service = [service]
+                    for item in service:
+                        if item.startswith(self.servicetag):
+                            if item.endswith(":disabled"):
+                                enabled = False
+                            break
+                    if not enabled:
+                        continue
 
                 # Now get useful record info.
                 shortName = key

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070220/a9aa2861/attachment.html


More information about the calendarserver-changes mailing list