[CalendarServer-changes] [1859] CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Sep 10 13:51:55 PDT 2007


Revision: 1859
          http://trac.macosforge.org/projects/calendarserver/changeset/1859
Author:   dreid at apple.com
Date:     2007-09-10 13:51:55 -0700 (Mon, 10 Sep 2007)

Log Message:
-----------
Don't expand full SACL group if we want a specific shortName, let us find the record and we'll throw it out if they don't have a ServicesLocator.

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py

Modified: CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2007-09-10 20:49:24 UTC (rev 1858)
+++ CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2007-09-10 20:51:55 UTC (rev 1859)
@@ -478,31 +478,34 @@
 
         if self.requireComputerRecord:
             if self.isWorkgroupServer and recordType == DirectoryService.recordType_users:
-                results = opendirectory.queryRecordsWithAttribute(
-                    self.directory,
-                    dsattributes.kDSNAttrRecordName,
-                    _saclGroup,
-                    dsattributes.eDSExact,
-                    False,
-                    dsattributes.kDSStdRecordTypeGroups,
-                    [dsattributes.kDSNAttrGroupMembers,
-                     dsattributes.kDSNAttrNestedGroups])
+                if shortName is None:
+                    results = opendirectory.queryRecordsWithAttribute(
+                        self.directory,
+                        dsattributes.kDSNAttrRecordName,
+                        _saclGroup,
+                        dsattributes.eDSExact,
+                        False,
+                        dsattributes.kDSStdRecordTypeGroups,
+                        [dsattributes.kDSNAttrGroupMembers,
+                         dsattributes.kDSNAttrNestedGroups])
 
-                members = results.get(_saclGroup, {}).get(
-                    dsattributes.kDSNAttrGroupMembers, [])
+                    members = results.get(_saclGroup, {}).get(
+                        dsattributes.kDSNAttrGroupMembers, [])
 
-                nestedGroups = results.get(_saclGroup, {}).get(
-                    dsattributes.kDSNAttrNestedGroups, [])
+                    nestedGroups = results.get(_saclGroup, {}).get(
+                        dsattributes.kDSNAttrNestedGroups, [])
 
-                guidQueries = []
+                    guidQueries = []
 
-                for GUID in self._expandGroupMembership(members, nestedGroups):
-                    guidQueries.append(
-                        dsquery.match(dsattributes.kDS1AttrGeneratedUID,
-                                      GUID, dsattributes.eDSExact))
+                    for GUID in self._expandGroupMembership(members,
+                                                            nestedGroups):
+                        guidQueries.append(
+                            dsquery.match(dsattributes.kDS1AttrGeneratedUID,
+                                          GUID, dsattributes.eDSExact))
 
 
-                query = dsquery.expression(dsquery.expression.OR, guidQueries)
+                    query = dsquery.expression(dsquery.expression.OR,
+                                               guidQueries)
 
             else:
                 subquery = dsquery.match(dsattributes.kDSNAttrServicesLocator, self.servicetag, dsattributes.eDSExact)

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


More information about the calendarserver-changes mailing list