← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~wgrant/launchpad/fix-long-openid-posts into lp:launchpad

 

William Grant has proposed merging lp:~wgrant/launchpad/fix-long-openid-posts into lp:launchpad.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)
Related bugs:
  #676372 "Server denied check_authentication" from bazaar.launchpad.net private branch since 11926 deployed
  https://bugs.launchpad.net/bugs/676372

For more details, see:
https://code.launchpad.net/~wgrant/launchpad/fix-long-openid-posts/+merge/48276

r12290 changed loggerhead to always use OpenID stateless auth, requiring a final POST from loggerhead to the login.launchpad.net. This worked fine on launchpad.dev, but explodes on qastaging and will do the same on lpnet.

As detailed in bug #676372, qastaging's longer URLs cause the POST data to exceed 1KiB, triggering curl to send Expect: 100-continue. The 100 Continue returned by Apache confuses python-openid's header parsing.

Upstream python-openid has a fix (http://bazaar.launchpad.net/~keturn/python-openid/master/revision/1969) which doesn't work for us, since the 100 Continue is followed by a Via header due to the proxy. So I've fixed our python-openid to suppress curl's Expect: 100-continue header and corresponding wait. Sending an "Expect:" header appears to be a recognised way to do this, and the code is very clear that this is intended behaviour. This has been cowboyed on qastaging, and it even fixes the problem.

This branch adjusts versions.cfg to use that fixed egg, built from lp:~wgrant/python-openid/python-openid-2.2.1-fix676372.
-- 
https://code.launchpad.net/~wgrant/launchpad/fix-long-openid-posts/+merge/48276
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~wgrant/launchpad/fix-long-openid-posts into lp:launchpad.
=== modified file 'versions.cfg'
--- versions.cfg	2011-01-27 12:17:17 +0000
+++ versions.cfg	2011-02-02 09:28:00 +0000
@@ -56,7 +56,9 @@
 pydkim = 0.3-mbp-r7
 pyOpenSSL = 0.10
 python-memcached = 1.45
-python-openid = 2.2.1
+# 2.2.1 with the one-liner Expect: 100-continue fix from
+# lp:~wgrant/python-openid/python-openid-2.2.1-fix676372.
+python-openid = 2.2.1-fix676372
 pytz = 2010o
 RestrictedPython = 3.5.1
 roman = 1.4.0