[CalendarServer-changes] [4342] CalendarServer/trunk/twistedcaldav/directory
source_changes at macosforge.org
source_changes at macosforge.org
Mon Jun 15 18:14:55 PDT 2009
Revision: 4342
http://trac.macosforge.org/projects/calendarserver/changeset/4342
Author: cdaboo at apple.com
Date: 2009-06-15 18:14:54 -0700 (Mon, 15 Jun 2009)
Log Message:
-----------
Algorithm attribute is optional.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
CalendarServer/trunk/twistedcaldav/directory/oldappleopendirectory.py
CalendarServer/trunk/twistedcaldav/directory/test/test_opendirectory.py
Modified: CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py 2009-06-15 20:13:36 UTC (rev 4341)
+++ CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py 2009-06-16 01:14:54 UTC (rev 4342)
@@ -885,6 +885,8 @@
# picky about exactly what it receives.
#
try:
+ if "algorithm" not in credentials.fields:
+ credentials.fields["algorithm"] = "md5"
challenge = 'Digest realm="%(realm)s", nonce="%(nonce)s", algorithm=%(algorithm)s' % credentials.fields
response = (
'Digest username="%(username)s", '
Modified: CalendarServer/trunk/twistedcaldav/directory/oldappleopendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/oldappleopendirectory.py 2009-06-15 20:13:36 UTC (rev 4341)
+++ CalendarServer/trunk/twistedcaldav/directory/oldappleopendirectory.py 2009-06-16 01:14:54 UTC (rev 4342)
@@ -1106,6 +1106,8 @@
# picky about exactly what it receives.
#
try:
+ if "algorithm" not in credentials.fields:
+ credentials.fields["algorithm"] = "md5"
challenge = 'Digest realm="%(realm)s", nonce="%(nonce)s", algorithm=%(algorithm)s' % credentials.fields
response = (
'Digest username="%(username)s", '
Modified: CalendarServer/trunk/twistedcaldav/directory/test/test_opendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/test_opendirectory.py 2009-06-15 20:13:36 UTC (rev 4341)
+++ CalendarServer/trunk/twistedcaldav/directory/test/test_opendirectory.py 2009-06-16 01:14:54 UTC (rev 4342)
@@ -82,7 +82,52 @@
self.assertFalse(record.verifyCredentials(digested))
+ def test_validODDigest(self):
+ record = OpenDirectoryRecord(
+ service = self.service(),
+ recordType = DirectoryService.recordType_users,
+ guid = "B1F93EB1-DA93-4772-9141-81C250DA35B3",
+ nodeName = "/LDAPv2/127.0.0.1",
+ shortNames = ("user",),
+ authIDs = set(),
+ fullName = "Some user",
+ firstName = "Some",
+ lastName = "User",
+ emailAddresses = set(("someuser at example.com",)),
+ calendarUserAddresses = set(("mailtoguid at example.com",)),
+ enabledForCalendaring = True,
+ memberGUIDs = [],
+ )
+ digestFields = {
+ "username":"user",
+ "realm":"/Search",
+ "nonce":"ABC",
+ "uri":"/",
+ "response":"123",
+ "algorithm":"md5",
+ }
+
+ response = (
+ 'Digest username="%(username)s", '
+ 'realm="%(realm)s", '
+ 'nonce="%(nonce)s", '
+ 'uri="%(uri)s", '
+ 'response="%(response)s",'
+ 'algorithm=%(algorithm)s'
+ ) % digestFields
+
+ record.digestcache = {}
+ record.digestcache["/"] = response
+ digested = twisted.web2.auth.digest.DigestedCredentials("user", "GET", "example.com", digestFields, None)
+
+ self.assertTrue(record.verifyCredentials(digested))
+
+ # This should be defaulted
+ del digestFields["algorithm"]
+
+ self.assertTrue(record.verifyCredentials(digested))
+
def test_queryDirectorySingleGUID(self):
""" Test for lookup on existing and non-existing GUIDs """
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090615/f5e7a243/attachment-0001.html>
More information about the calendarserver-changes
mailing list