Project

General

Profile

Actions

Bug #1399

closed

Session handling seems to be broken when dealing with special headers and ajp13

Added by mbraun over 16 years ago. Updated over 16 years ago.

Status:
Fixed
Priority:
Normal
Category:
mod_proxy_backend_ajp13
Target version:
ASK QUESTIONS IN Forums:

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>..


Related issues 1 (0 open1 closed)

Has duplicate Bug #1067: Content-Type header appears to be dropped [solved]FixedActions
Actions #1

Updated by jan over 16 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 ()

Actions #2

Updated by jan over 16 years ago

  • Status changed from New to Fixed
  • Resolution set to fixed

fixed in r2001

Actions

Also available in: Atom