[CalendarServer-changes] [2510] CalendarServer/trunk/lib-patches/Twisted/twisted.web2.auth.digest. patch
source_changes at macosforge.org
source_changes at macosforge.org
Wed May 28 07:48:18 PDT 2008
Revision: 2510
http://trac.macosforge.org/projects/calendarserver/changeset/2510
Author: cdaboo at apple.com
Date: 2008-05-28 07:48:12 -0700 (Wed, 28 May 2008)
Log Message:
-----------
Properly parse the digest response line.
Added Paths:
-----------
CalendarServer/trunk/lib-patches/Twisted/twisted.web2.auth.digest.patch
Added: CalendarServer/trunk/lib-patches/Twisted/twisted.web2.auth.digest.patch
===================================================================
--- CalendarServer/trunk/lib-patches/Twisted/twisted.web2.auth.digest.patch (rev 0)
+++ CalendarServer/trunk/lib-patches/Twisted/twisted.web2.auth.digest.patch 2008-05-28 14:48:12 UTC (rev 2510)
@@ -0,0 +1,40 @@
+Index: twisted/web2/auth/digest.py
+===================================================================
+--- twisted/web2/auth/digest.py (revision 19773)
++++ twisted/web2/auth/digest.py (working copy)
+@@ -11,6 +11,10 @@
+ from zope.interface import implements, Interface
+
+ 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
+
+ import md5, sha
+ import random, sys
+@@ -320,13 +324,17 @@
+ 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()] = unq(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/20080528/eb1bfa72/attachment.htm
More information about the calendarserver-changes
mailing list