[Python-checkins] r77606 - tracker/instances/python-dev/lib/openid.py

martin.v.loewis python-checkins at python.org
Tue Jan 19 04:01:18 CET 2010


Author: martin.v.loewis
Date: Tue Jan 19 04:01:18 2010
New Revision: 77606

Log:
Report errors in associate.
Clear session_type for 1.1 only if it was no-encryption.
Clear openid.ns for 1.1.


Modified:
   tracker/instances/python-dev/lib/openid.py

Modified: tracker/instances/python-dev/lib/openid.py
==============================================================================
--- tracker/instances/python-dev/lib/openid.py	(original)
+++ tracker/instances/python-dev/lib/openid.py	Tue Jan 19 04:01:18 2010
@@ -316,9 +316,13 @@
         data['openid.dh_consumer_public'] = dh_public_base64
     if is_compat_1x(services):
         # 14.2.1: clear session_type in 1.1 compatibility mode
-        data['openid.session_type'] = ''
+        if data['openid.session_type'] == "no-encryption":
+            data['openid.session_type'] = ''
+        del data['openid.ns']
     res = urllib.urlopen(url, urllib.urlencode(data))
     data = parse_response(res.read())
+    if 'error' in data:
+        raise ValueError, "associate failed: "+data['error']
     if url.startswith('http:'):
         enc_mac_key = base64.b64decode(data['enc_mac_key'])
         dh_server_public = base64.b64decode(data['dh_server_public'])


More information about the Python-checkins mailing list