[CalendarServer-changes] [4472] CalendarServer/branches/users/cdaboo/partition-4464

source_changes at macosforge.org source_changes at macosforge.org
Thu Jul 23 12:59:15 PDT 2009


Revision: 4472
          http://trac.macosforge.org/projects/calendarserver/changeset/4472
Author:   cdaboo at apple.com
Date:     2009-07-23 12:59:15 -0700 (Thu, 23 Jul 2009)
Log Message:
-----------
Get rid of directory based restrictToGroup.

Modified Paths:
--------------
    CalendarServer/branches/users/cdaboo/partition-4464/contrib/migration/59_calendarmigrator.py
    CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/directory/appleopendirectory.py
    CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/stdconfig.py
    CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/test/test_config.py

Modified: CalendarServer/branches/users/cdaboo/partition-4464/contrib/migration/59_calendarmigrator.py
===================================================================
--- CalendarServer/branches/users/cdaboo/partition-4464/contrib/migration/59_calendarmigrator.py	2009-07-23 16:18:48 UTC (rev 4471)
+++ CalendarServer/branches/users/cdaboo/partition-4464/contrib/migration/59_calendarmigrator.py	2009-07-23 19:59:15 UTC (rev 4472)
@@ -187,7 +187,7 @@
         newPlist["DirectoryService"] = oldPlist["DirectoryService"]
         for key in newPlist["DirectoryService"]["params"].keys():
             if key not in (
-                "node", "restrictEnabledRecords", "restrictToGroup",
+                "node",
                 "cacheTimeout", "xmlFile"
             ):
                 del newPlist["DirectoryService"]["params"][key]

Modified: CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/directory/appleopendirectory.py	2009-07-23 16:18:48 UTC (rev 4471)
+++ CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/directory/appleopendirectory.py	2009-07-23 19:59:15 UTC (rev 4472)
@@ -24,7 +24,6 @@
 ]
 
 import sys
-import time
 from uuid import UUID
 
 from twext.python.plistlib import readPlistFromString
@@ -38,7 +37,6 @@
 from twisted.internet.threads import deferToThread
 from twisted.cred.credentials import UsernamePassword
 from twisted.web2.auth.digest import DigestedCredentials
-from twistedcaldav.config import config
 
 from twistedcaldav.directory.cachingdirectory import CachingDirectoryService,\
     CachingDirectoryRecord
@@ -60,11 +58,6 @@
         """
         @param params: a dictionary containing the following keys:
             node: an OpenDirectory node name to bind to.
-            restrictEnabledRecords: C{True} if a group in the
-              directory is to be used to determine which calendar
-              users are enabled.
-            restrictToGroup: C{str} guid or name of group used to
-              restrict enabled users.
             cacheTimeout: C{int} number of minutes before cache is invalidated.
         @param dosetup: if C{True} then the directory records are initialized,
                         if C{False} they are not.
@@ -73,8 +66,6 @@
 
         defaults = {
             'node' : '/Search',
-            'restrictEnabledRecords' : False,
-            'restrictToGroup' : '',
             'cacheTimeout' : 30,
         }
         ignored = ('requireComputerRecord',)
@@ -91,16 +82,6 @@
         self.realmName = params['node']
         self.directory = directory
         self.node = params['node']
-        self.restrictEnabledRecords = params['restrictEnabledRecords']
-        self.restrictToGroup = params['restrictToGroup']
-        try:
-            UUID(self.restrictToGroup)
-        except:
-            self.restrictToGUID = False
-        else:
-            self.restrictToGUID = True
-        self.restrictedGUIDs = None
-        self.restrictedTimestamp = 0
         self._records = {}
         self._delayedCalls = set()
 
@@ -586,47 +567,8 @@
             if recordType == self.recordType_groups:
                 enabledForCalendaring = False
             else:
-                if (
-                    self.restrictEnabledRecords and
-                    config.Scheduling.iMIP.Username != recordShortName
-                ):
-                    if time.time() - self.restrictedTimestamp > self.cacheTimeout:
-                        attributeToMatch = dsattributes.kDS1AttrGeneratedUID if self.restrictToGUID else dsattributes.kDSNAttrRecordName
-                        valueToMatch = self.restrictToGroup
-                        self.log_debug("Doing restricted group membership check")
-                        self.log_debug("opendirectory.queryRecordsWithAttribute_list(%r,%r,%r,%r,%r,%r,%r)" % (
-                            self.directory,
-                            attributeToMatch,
-                            valueToMatch,
-                            dsattributes.eDSExact,
-                            False,
-                            dsattributes.kDSStdRecordTypeGroups,
-                            [dsattributes.kDSNAttrGroupMembers, dsattributes.kDSNAttrNestedGroups,],
-                        ))
-                        results = lookupMethod(
-                            self.directory,
-                            attributeToMatch,
-                            valueToMatch,
-                            dsattributes.eDSExact,
-                            False,
-                            dsattributes.kDSStdRecordTypeGroups,
-                            [dsattributes.kDSNAttrGroupMembers, dsattributes.kDSNAttrNestedGroups,],
-                        )
+                enabledForCalendaring = True
 
-                        if len(results) == 1:
-                            members = results[0][1].get(dsattributes.kDSNAttrGroupMembers, [])
-                            nestedGroups = results[0][1].get(dsattributes.kDSNAttrNestedGroups, [])
-                        else:
-                            members = []
-                            nestedGroups = []
-                        self.restrictedGUIDs = set(self._expandGroupMembership(members, nestedGroups, returnGroups=True))
-                        self.log_debug("Got %d restricted group members" % (len(self.restrictedGUIDs),))
-                        self.restrictedTimestamp = time.time()
-
-                    enabledForCalendaring = recordGUID in self.restrictedGUIDs
-                else:
-                    enabledForCalendaring = True
-
             if enabledForCalendaring:
                 calendarUserAddresses = self._calendarUserAddresses(recordType, value)
             else:

Modified: CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/stdconfig.py
===================================================================
--- CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/stdconfig.py	2009-07-23 16:18:48 UTC (rev 4471)
+++ CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/stdconfig.py	2009-07-23 19:59:15 UTC (rev 4472)
@@ -40,8 +40,6 @@
     },
     "twistedcaldav.directory.appleopendirectory.OpenDirectoryService": {
         "node": "/Search",
-        "restrictEnabledRecords": False,
-        "restrictToGroup": "",
         "cacheTimeout": 30,
     },
 }

Modified: CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/test/test_config.py
===================================================================
--- CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/test/test_config.py	2009-07-23 16:18:48 UTC (rev 4471)
+++ CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/test/test_config.py	2009-07-23 19:59:15 UTC (rev 4472)
@@ -158,22 +158,15 @@
         self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.appleopendirectory.OpenDirectoryService")
         self.assertNotIn("xmlFile", config.DirectoryService.params)
         self.assertEquals(config.DirectoryService.params.node, "/Search")
-        self.assertEquals(config.DirectoryService.params.restrictEnabledRecords, False)
 
     def testDirectoryService_newParam(self):
         self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.xmlfile.XMLDirectoryService")
         self.assertEquals(config.DirectoryService.params.xmlFile, "/etc/caldavd/accounts.xml")
 
         config.update({"DirectoryService": {"type": "twistedcaldav.directory.appleopendirectory.OpenDirectoryService"}})
-        config.update({"DirectoryService": {"params": {
-            "restrictEnabledRecords": True,
-            "restrictToGroup": "12345",
-        }}})
 
         self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.appleopendirectory.OpenDirectoryService")
         self.assertEquals(config.DirectoryService.params.node, "/Search")
-        self.assertEquals(config.DirectoryService.params.restrictEnabledRecords, True)
-        self.assertEquals(config.DirectoryService.params.restrictToGroup, "12345")
 
     def testDirectoryService_unknownType(self):
         self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.xmlfile.XMLDirectoryService")
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090723/6b8f1e3a/attachment-0001.html>


More information about the calendarserver-changes mailing list