[CalendarServer-changes] [485]
CalendarServer/branches/users/wsanchez/provisioning
source_changes at macosforge.org
source_changes at macosforge.org
Wed Nov 15 18:54:18 PST 2006
Revision: 485
http://trac.macosforge.org/projects/calendarserver/changeset/485
Author: wsanchez at apple.com
Date: 2006-11-15 18:54:17 -0800 (Wed, 15 Nov 2006)
Log Message:
-----------
Implement verifyCredentials().
Make sure recordWithShortName() returns None for non-existant records.
Modified Paths:
--------------
CalendarServer/branches/users/wsanchez/provisioning/support/CalendarServer.tmproj
CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py
CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py
Modified: CalendarServer/branches/users/wsanchez/provisioning/support/CalendarServer.tmproj
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/support/CalendarServer.tmproj 2006-11-16 02:53:09 UTC (rev 484)
+++ CalendarServer/branches/users/wsanchez/provisioning/support/CalendarServer.tmproj 2006-11-16 02:54:17 UTC (rev 485)
@@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
+ <key>currentDocument</key>
+ <string>../twistedcaldav/directory/cred.py</string>
<key>documents</key>
<array>
<dict>
@@ -15,6 +17,8 @@
<string>../twistedcaldav</string>
</dict>
<dict>
+ <key>expanded</key>
+ <true/>
<key>name</key>
<string>web2</string>
<key>regexFolderFilter</key>
@@ -31,8 +35,6 @@
<string>../../Twisted/twisted</string>
</dict>
<dict>
- <key>expanded</key>
- <true/>
<key>name</key>
<string>PyOpenDirectory</string>
<key>regexFolderFilter</key>
@@ -61,9 +63,131 @@
</array>
<key>fileHierarchyDrawerWidth</key>
<integer>200</integer>
+ <key>metaData</key>
+ <dict>
+ <key>../../Twisted/twisted/web2/dav/element/base.py</key>
+ <dict>
+ <key>caret</key>
+ <dict>
+ <key>column</key>
+ <integer>0</integer>
+ <key>line</key>
+ <integer>106</integer>
+ </dict>
+ <key>firstVisibleColumn</key>
+ <integer>0</integer>
+ <key>firstVisibleLine</key>
+ <integer>193</integer>
+ </dict>
+ <key>../../Twisted/twisted/web2/dav/resource.py</key>
+ <dict>
+ <key>caret</key>
+ <dict>
+ <key>column</key>
+ <integer>21</integer>
+ <key>line</key>
+ <integer>1046</integer>
+ </dict>
+ <key>firstVisibleColumn</key>
+ <integer>0</integer>
+ <key>firstVisibleLine</key>
+ <integer>1024</integer>
+ </dict>
+ <key>../../Twisted/twisted/web2/dav/static.py</key>
+ <dict>
+ <key>caret</key>
+ <dict>
+ <key>column</key>
+ <integer>11</integer>
+ <key>line</key>
+ <integer>115</integer>
+ </dict>
+ <key>firstVisibleColumn</key>
+ <integer>0</integer>
+ <key>firstVisibleLine</key>
+ <integer>44</integer>
+ </dict>
+ <key>../../Twisted/twisted/web2/http.py</key>
+ <dict>
+ <key>caret</key>
+ <dict>
+ <key>column</key>
+ <integer>15</integer>
+ <key>line</key>
+ <integer>160</integer>
+ </dict>
+ <key>columnSelection</key>
+ <false/>
+ <key>firstVisibleColumn</key>
+ <integer>0</integer>
+ <key>firstVisibleLine</key>
+ <integer>118</integer>
+ <key>selectFrom</key>
+ <dict>
+ <key>column</key>
+ <integer>0</integer>
+ <key>line</key>
+ <integer>120</integer>
+ </dict>
+ <key>selectTo</key>
+ <dict>
+ <key>column</key>
+ <integer>0</integer>
+ <key>line</key>
+ <integer>161</integer>
+ </dict>
+ </dict>
+ <key>../../Twisted/twisted/web2/static.py</key>
+ <dict>
+ <key>caret</key>
+ <dict>
+ <key>column</key>
+ <integer>40</integer>
+ <key>line</key>
+ <integer>387</integer>
+ </dict>
+ <key>firstVisibleColumn</key>
+ <integer>0</integer>
+ <key>firstVisibleLine</key>
+ <integer>357</integer>
+ </dict>
+ <key>../twistedcaldav/directory/cred.py</key>
+ <dict>
+ <key>caret</key>
+ <dict>
+ <key>column</key>
+ <integer>39</integer>
+ <key>line</key>
+ <integer>60</integer>
+ </dict>
+ <key>firstVisibleColumn</key>
+ <integer>0</integer>
+ <key>firstVisibleLine</key>
+ <integer>4</integer>
+ </dict>
+ <key>../twistedcaldav/directory/test/test_apache.py</key>
+ <dict>
+ <key>caret</key>
+ <dict>
+ <key>column</key>
+ <integer>0</integer>
+ <key>line</key>
+ <integer>48</integer>
+ </dict>
+ <key>firstVisibleColumn</key>
+ <integer>0</integer>
+ <key>firstVisibleLine</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <key>openDocuments</key>
+ <array>
+ <string>../twistedcaldav/directory/test/test_apache.py</string>
+ <string>../twistedcaldav/directory/cred.py</string>
+ </array>
<key>showFileHierarchyDrawer</key>
<true/>
<key>windowFrame</key>
- <string>{{411, 104}, {1019, 1074}}</string>
+ <string>{{501, 128}, {1019, 1050}}</string>
</dict>
</plist>
Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py 2006-11-16 02:53:09 UTC (rev 484)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py 2006-11-16 02:54:17 UTC (rev 485)
@@ -25,7 +25,10 @@
"FileDirectoryRecord",
]
+from crypt import crypt
+
from twisted.python.filepath import FilePath
+from twisted.cred.credentials import UsernamePassword
from twistedcaldav.directory.directory import DirectoryService, DirectoryRecord
from twistedcaldav.directory.directory import UnknownRecordTypeError
@@ -76,7 +79,7 @@
else:
raise AssertionError("We shouldn't be here.")
- raise NotImplementedError()
+ return None
def recordWithGUID(self, guid):
raise NotImplementedError()
@@ -94,7 +97,7 @@
for entry in recordFile.open():
if entry and entry[0] != "#":
- shortName, rest = entry.split(":", 1)
+ shortName, rest = entry.rstrip("\n").split(":", 1)
yield shortName, rest
class FileDirectoryRecord(DirectoryRecord):
@@ -128,4 +131,10 @@
continue
def verifyCredentials(self, credentials):
- raise NotImplementedError()
+ if self._cryptPassword in ("", "*", "x"):
+ return False
+
+ if isinstance(credentials, UsernamePassword):
+ return crypt(credentials.password, self._cryptPassword) == self._cryptPassword
+
+ return super(FileDirectoryRecord, self).verifyCredentials(credentials)
Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py 2006-11-16 02:53:09 UTC (rev 484)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py 2006-11-16 02:54:17 UTC (rev 485)
@@ -85,6 +85,7 @@
for user in users:
record = service.recordWithShortName("user", user)
self.assertEquals(record.shortName, user)
+ self.assertEquals(service.recordWithShortName("user", "IDunnoWhoThisIsIReallyDont"), None)
def test_recordWithShortName_group(self):
"""
@@ -94,6 +95,7 @@
for group in groups:
groupRecord = service.recordWithShortName("group", group)
self.assertEquals(groupRecord.shortName, group)
+ self.assertEquals(service.recordWithShortName("group", "IDunnoWhoThisIsIReallyDont"), None)
def test_groupMembers(self):
"""
@@ -120,6 +122,4 @@
service = FileDirectoryService(basicUserFile)
for user in users:
userRecord = service.recordWithShortName("user", user)
- self.assertUnless(userRecord.verifyCredentials(UsernamePassword(user, users[user])))
-
- test_verifyCredentials.todo = "unimplemented"
+ self.failUnless(userRecord.verifyCredentials(UsernamePassword(user, users[user])))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061115/902925aa/attachment.html
More information about the calendarserver-changes
mailing list