[CalendarServer-changes] [4000] CalendarServer/branches/exarkun/update-twisted-3816/lib-patches/ Twisted/twisted.web2.auth.digest.patch

source_changes at macosforge.org source_changes at macosforge.org
Mon Apr 13 08:50:15 PDT 2009


Revision: 4000
          http://trac.macosforge.org/projects/calendarserver/changeset/4000
Author:   exarkun at twistedmatrix.com
Date:     2009-04-13 08:50:14 -0700 (Mon, 13 Apr 2009)
Log Message:
-----------
applied to Twisted dav-take-two branch

Removed Paths:
-------------
    CalendarServer/branches/exarkun/update-twisted-3816/lib-patches/Twisted/twisted.web2.auth.digest.patch

Deleted: CalendarServer/branches/exarkun/update-twisted-3816/lib-patches/Twisted/twisted.web2.auth.digest.patch
===================================================================
--- CalendarServer/branches/exarkun/update-twisted-3816/lib-patches/Twisted/twisted.web2.auth.digest.patch	2009-04-13 15:44:40 UTC (rev 3999)
+++ CalendarServer/branches/exarkun/update-twisted-3816/lib-patches/Twisted/twisted.web2.auth.digest.patch	2009-04-13 15:50:14 UTC (rev 4000)
@@ -1,45 +0,0 @@
-Index: twisted/web2/auth/digest.py
-===================================================================
---- twisted/web2/auth/digest.py	(revision 26342)
-+++ twisted/web2/auth/digest.py	(working copy)
-@@ -11,6 +11,10 @@
- from twisted.internet.defer import succeed
- 
- from twisted.web2.auth.interfaces import ICredentialFactory
-+from twisted.web2.http_headers import tokenize
-+from twisted.web2.http_headers import Token
-+from twisted.web2.http_headers import split
-+from twisted.web2.http_headers import parseKeyValue
- from twisted.python.hashlib import md5, sha1
- 
- # The digest math
-@@ -317,18 +323,18 @@
-         @raise: L{error.LoginFailed} if the response does not contain a
-             username, a nonce, an opaque, or if the opaque is invalid.
-         """
--        def unq(s):
--            if s[0] == s[-1] == '"':
--                return s[1:-1]
--            return s
-         response = ' '.join(response.splitlines())
--        parts = response.split(',')
--
--        auth = {}
--
--        for (k, v) in [p.split('=', 1) for p in parts]:
--            auth[k.strip()] = unq(v.strip())
--
-+        
-+        try:
-+            parts = split(tokenize((response,), foldCase=False), Token(","))
-+    
-+            auth = {}
-+    
-+            for (k, v) in [parseKeyValue(p) for p in parts]:
-+                auth[k.strip()] = v.strip()
-+        except ValueError:
-+            raise error.LoginFailed('Invalid response.')
-+            
-         username = auth.get('username')
-         if not username:
-             raise error.LoginFailed('Invalid response, no username given.')
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090413/4ad6a771/attachment.html>


More information about the calendarserver-changes mailing list