Bug #1399
closedSession handling seems to be broken when dealing with special headers and ajp13
Description
I am currently trying to get the Open-Xchange Collaboration Suite (Community Edition) working with lighttpd. It does all fine with apache2/mod_jk, but as there is a ajp13 implementation now for lighty, i'd like to give it a try. It seems that some problem with the response header parsing is currently blocking the server to set cookies, or generally all kinds of headers set by the application server. Please see the attached comparison of the server response on a simple login request. You'll notice that apache2 sends back a session-id as well as a proper content type, lighty does reply none of both.
Darix had the kindness to do some debugging and he stated that something wired is going on when parsing the header provided by the application server:
304 static int ajp13_decode_response_headers(http_resp *resp, ajp13_state_data *data) {[BR]
p *data
Cannot access memory at address 0x0
If you need more information, please feel free to contact me, i'll provide you access to a system already configured with the application server and lighty. If you'd like to take a look to the source of the ajp13 implementation on server side, you may check the open-xchange cvs (http://www.open-xchange.com/wiki/ for more information).
'''apache 2.2.3/mod_jk 1.2.18:'''[BR]
curl -v http://myhost:80/ajax/login?action=login > /dev/null * About to connect() to myhost port 80 * Trying myhost... connected * Connected to myhost (myhost) port 80 > GET /ajax/login?action=login HTTP/1.1 > User-Agent: curl/7.15.5 (i486-pc-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8c zlib/1.2.3 libidn/0.6.5 > Host: myhost > Accept: */* > < HTTP/1.1 400 Error < Date: Tue, 02 Oct 2007 21:05:27 GMT < Server: Apache/2.2.3 (Debian) mod_jk/1.2.18 PHP/5.2.0-8+etch7 mod_ssl/2.2.3 OpenSSL/0.9.8c < Content-Length: 637 < Set-Cookie: JSESSIONID=4e0b7516318ff10dfe7963a9e1a253b1856c9c8a.OX1; path=/ < Cache-Control: max-age=82800 < Expires: Wed, 03 Oct 2007 20:05:27 GMT < Vary: Accept-Encoding < Connection: close < Content-Type: text/html; charset=UTF-8 ngrep: T myclient:58336 -> myhost:80 [AP] GET /ajax/login?action=login HTTP/1.1..User-Agent: curl/7.15.5 (i486-pc-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8c zlib/1.2.3 libidn/0.6.5..Host: tdialin.net..Accept: */*.... ## T myhost:80 -> myclient:58336 [AP] HTTP/1.1 400 Error..Date: Tue, 02 Oct 2007 21:33:54 GMT..Server: Apache/2.2.3 (Debian) mod_jk/1.2.18 PHP/5.2.0-8+etch7 mod_ssl/2.2.3 OpenSSL/0.9.8c..Content-Length: 637..Set-Cookie: JSESSIONID=5688797489 cfd2aebe442946f575cc20698e51cc.OX1; path=/..Cache-Control: max-age=82800..Expires: Wed, 03 Oct 2007 20:33:54 GMT..Vary: Accept-Encoding..Connection: close..Content-Type: text/html; charset=UTF-8....<!DOC TYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">.<html xmlns="http://www.w3.org/1999/xhtml" language="en" xml:lang="en">.<head>..<title>Error</title>..<link rev="made" href="mailto:%5bno%20address%20given%5d"/>.<style type="text/css"><!--/*--><![CDATA[/*><!--*/ ...body { color: #000000; background-color: #FFFFFF; }...a:link { color: #0000CC; }...p, address {margin-lef t: 3em;}..span {font-size: smaller;}./*]]>*/--></style>.</head>..<body>.<h1>Error</h1>.<p>..</p>..<h2>Error 400</h2>.<address>.<a href="/">213.239.220.146</a><br />..<span><br />..Open-Xchange</span>.</a ddress>.</body>.</html>
'''lighttpd 1.5.0 r1992:'''[BR]
curl -v http://myhost:81/ajax/login?action=login > /dev/null * About to connect() to myhost port 81 * Trying myhost... connected * Connected to myhost (myhost) port 81 > GET /ajax/login?action=login HTTP/1.1 > User-Agent: curl/7.15.5 (i486-pc-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8c zlib/1.2.3 libidn/0.6.5 > Host: myhost:81 > Accept: */* > < HTTP/1.1 400 Bad Request < Transfer-Encoding: chunked < Date: Tue, 02 Oct 2007 21:05:30 GMT < Server: lighttpd/1.5.0 ngrep: T myclient:56665 -> myhost:81 [AP] GET /ajax/login?action=login HTTP/1.1..User-Agent: curl/7.15.5 (i486-pc-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8c zlib/1.2.3 libidn/0.6.5..Host: tdialin.net:81..Accept: */*.... ## T myhost:81 -> myclient:56665 [AP] HTTP/1.1 400 Bad Request..Transfer-Encoding: chunked..Date: Tue, 02 Oct 2007 21:33:30 GMT..Server: lighttpd/1.5.0....27d..<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/stri ct.dtd">.<html xmlns="http://www.w3.org/1999/xhtml" language="en" xml:lang="en">.<head>..<title>Error</title>..<link rev="made" href="mailto:%5bno%20address%20given%5d"/>.<style type="text/css"><!--/*--> <![CDATA[/*><!--*/ ...body { color: #000000; background-color: #FFFFFF; }...a:link { color: #0000CC; }...p, address {margin-left: 3em;}..span {font-size: smaller;}./*]]>*/--></style>.</head>..<body>.<h1> Error</h1>.<p>..</p>..<h2>Error 400</h2>.<address>.<a href="/">213.239.220.146</a><br />..<span><br />..Open-Xchange</span>.</address>.</body>.</html>..
Updated by jan about 17 years ago
Can you help me to set it up locally and run the same configuration as you do to reproduce it ? Please ping me on IRC (weigon) or mail (jan@kneschke.de)
Updated by jan about 17 years ago
- Status changed from New to Fixed
- Resolution set to fixed
fixed in r2001
Also available in: Atom