I dumped the conversation between scgitest.py and mod_scgi when webpy 0.20 was installed. I think I've found the cause of the bug:
--- scgi-dump-bug 2007-06-16 18:39:20.000000000 +0100 +++ scgi-dump-ok 2007-06-16 18:39:31.000000000 +0100 -T 127.0.0.1:40232 -> 127.0.0.1:44979 [AP] +T 127.0.0.1:40232 -> 127.0.0.1:54787 [AP] 53 74 61 74 75 73 3a 20 33 30 32 20 46 6f 75 6e Status: 302 Foun 64 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a d..Content-Type: 20 74 65 78 74 2f 68 74 6d 6c 0d 0a 4c 6f 63 61 text/html..Loca - 74 69 6f 6e 3a 20 2f 6f 6b 0d 0a 43 6f 6e 74 65 tion: /ok..Conte - 6e 74 2d 4c 65 6e 67 74 68 3a 20 30 0d 0a 0d 0a nt-Length: 0.... -###### -T 127.0.0.1:44980 -> 127.0.0.1:40232 [AP] - 39 38 39 3a 43 4f 4e 54 45 4e 54 5f 4c 45 4e 47 989:CONTENT_LENG + 74 69 6f 6e 3a 20 68 74 74 70 3a 2f 2f XXXXXXXX tion: http://XXX + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 2f 6f 6b 0d 0a 43 XXXXXXXXXX/ok..C + 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 30 ontent-Length: 0 + 0d 0a 0d 0a .... +######## +T 127.0.0.1:54788 -> 127.0.0.1:40232 [AP] + 38 35 30 3a 43 4f 4e 54 45 4e 54 5f 4c 45 4e 47 850:CONTENT_LENG 54 48 00 30 00 53 43 47 49 00 31 00 53 45 52 56 TH.0.SCGI.1.SERV 45 52 5f 53 4f 46 54 57 41 52 45 00 41 70 61 63 ER_SOFTWARE.Apac 68 65 2f 32 2e 32 00 53 45 52 56 45 52 5f 50 52 he/2.2.SERVER_PR Webpy 0.20 gives an absolute URL as the value of the Location header whereas 0.21 only gives a relative URL, which is not allowed by the http spec <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30>. -- Sam Morris http://robots.org.uk/ PGP key id 1024D/5EA01078 3412 EA18 1277 354B 991B C869 B219 7FDB 5EA0 1078
signature.asc
Description: This is a digitally signed message part