 -        yield principalCollections
 -
 -    principalCollections = deferredGenerator(principalCollections)
--
++        d = request.locateResource(parentForURL(myURL))
++        d.addCallback(gotParent)
++        return d
+ 
      def defaultAccessControlList(self):
          """
-         @return: the L{davxml.ACL} element containing the default access control
-@@ -1146,49 +1205,95 @@
+@@ -1146,11 +1205,14 @@
  
          This implementation returns an empty set.
          """

         else:
             return unauthenticatedPrincipal
 
@@ -666,32 +731,26 @@
         present on this resource, it tries to get it from the parent, unless it
         is the root or has no parent.
         """

 
                 def login(pcreds):
                     d = request.portal.login(pcreds, None, *request.loginInterfaces)
@@ -635,7 +699,7 @@
 
                     return d
 
-                d = self.findPrincipalForAuthID(request, creds.username)
+                d = self.principalsForAuthID(request, creds.username)
                 d.addCallback(gotDetails).addCallback(login)
 
                 return d
@@ -640,8 +704,9 @@
 
                 return d
         else:
