[CalendarServer-changes] [1592]
CalendarServer/trunk/twistedcaldav/directory
source_changes at macosforge.org
source_changes at macosforge.org
Wed Jun 6 15:17:51 PDT 2007
Revision: 1592
http://trac.macosforge.org/projects/calendarserver/changeset/1592
Author: cdaboo at apple.com
Date: 2007-06-06 15:17:51 -0700 (Wed, 06 Jun 2007)
Log Message:
-----------
Handle digest response with a missing value without generating a 500 error.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/directory/digest.py
CalendarServer/trunk/twistedcaldav/directory/test/test_digest.py
Modified: CalendarServer/trunk/twistedcaldav/directory/digest.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/digest.py 2007-06-06 21:38:12 UTC (rev 1591)
+++ CalendarServer/trunk/twistedcaldav/directory/digest.py 2007-06-06 22:17:51 UTC (rev 1592)
@@ -337,7 +337,7 @@
username, a nonce, an opaque, or if the opaque is invalid.
"""
def unq(s):
- if s[0] == s[-1] == '"':
+ if len(s) != 0 and s[0] == s[-1] == '"':
return s[1:-1]
return s
response = ' '.join(response.splitlines())
Modified: CalendarServer/trunk/twistedcaldav/directory/test/test_digest.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/test_digest.py 2007-06-06 21:38:12 UTC (rev 1591)
+++ CalendarServer/trunk/twistedcaldav/directory/test/test_digest.py 2007-06-06 22:17:51 UTC (rev 1592)
@@ -60,7 +60,9 @@
namelessAuthRequest = 'realm="test realm",nonce="doesn\'t matter"'
+emtpyAttributeAuthRequest = 'realm=,nonce="doesn\'t matter"'
+
class DigestAuthTestCase(unittest.TestCase):
"""
Test the behavior of DigestCredentialFactory
@@ -233,6 +235,20 @@
_trivial_GET)
self.assertEquals(str(e), "Invalid response, no nonce given.")
+ def test_emptyAttribute(self):
+ """
+ Test that login fails when our response contains an attribute
+ with no value,
+ """
+
+ # Check for no username
+ for factory in self.credentialFactories:
+ e = self.assertRaises(error.LoginFailed,
+ factory.decode,
+ emtpyAttributeAuthRequest,
+ _trivial_GET)
+ self.assertEquals(str(e), "Invalid response, no username given.")
+
def test_checkHash(self):
"""
Check that given a hash of the form 'username:realm:password'
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070606/f81cc670/attachment.html
More information about the calendarserver-changes
mailing list