Hi, I think I found the problem, try this patch, let me know if it solves your problem :
*** proxy_http.c Fri Jun 14 19:14:57 2002 --- proxy_http_new.c Mon Aug 19 13:52:28 2002 *************** *** 734,744 **** "server: ", buffer, NULL)); } backasswards = 0; buffer[12] = '\0'; r->status = atoi(&buffer[9]); ! buffer[12] = ' '; r->status_line = apr_pstrdup(p, &buffer[9]); /* read the headers. */ --- 734,749 ---- "server: ", buffer, NULL)); } backasswards = 0; + //Store byte 12 in buffer[0] for safekeeping + buffer[0] = buffer[12]; buffer[12] = '\0'; r->status = atoi(&buffer[9]); ! //Put back position 12 and reset buffer[0] to 'H' ! buffer[12] = buffer[0]; ! buffer[0] = 'H'; ! r->status_line = apr_pstrdup(p, &buffer[9]); /* read the headers. */ What does it do ? When a HTTP header is received without a description, byte 12 will be \0. In this case, the old code would overwrite the \0 with a space, adding garbage at the end. This will probably be interpreted by the outputwriter as a newline, thus the creation of the problem. Is this correct ? Can anybody check this ? Thanks ! Peter. Peter Van Biesen wrote: > > Hi, > > I've investigated further and I see strange things happening : > > Direct conntection : > > # wget -S --proxy=off http://www.argenta.be > --11:29:28-- http://www.argenta.be/ > => `index.html.2' > Resolving www.argenta.be... done. > Connecting to www.argenta.be[62.233.1.156]:80... connected. > HTTP request sent, awaiting response... > 1 HTTP/1.1 200 > 2 Date: Mon, 19 Aug 2002 09:27:03 GMT > 3 Server: web server > 4 Set-Cookie: ASPSESSIONIDQQGGGQLW=GIHBKICAKHGMILKNGEHDOBLI; path=/ > 5 cache-control: private > 6 Connection: close > 7 Content-Type: text/html > > Through the proxy : > > wget -S http://www.argenta.be > --11:28:22-- http://www.argenta.be/ > => `index.html.1' > Resolving vlafo3... done. > Connecting to vlafo3[193.190.145.66]:80... connected. > Proxy request sent, awaiting response... > 1 HTTP/1.1 200 > 2 > 3 Date: Mon, 19 Aug 2002 09:28:22 GMT > 4 Server: web server > 5 Set-Cookie: ASPSESSIONIDQQGGGQLW=PHHBKICAHBJJACKGMCPAJPAC; path=/ > 6 cache-control: private > 7 Content-Type: text/html; charset=ISO-8859-1 > 8 Via: 1.0 www.argenta.be > 9 Content-Length: 758 > 10 Connection: close > > Notice the extra empty line when going through the proxy. Something I > also notice that is different is the HTTP line : on other sites, the > line includes " OK", but here it is not present. I know some regexp's > will fail on this line ... > > I'll check the code if I have the time ! > > Anyway, I haven't tested the 302 response, what http headerline must I > send to the server to get a 302 response ? > > Cheers, > > Peter. > Brett Hutley wrote: > > > > J.D. Silvester wrote: > > *snip* > > > > >I just looked at the source for that web page and this is what I got: > > > > > >Date: Fri, 16 Aug 2002 14:03:26 GMT > > >Server: RealPage 2700 > > >Location: http://server1.someserver.com/webpage.html > > >Content-Type: text/html > > >X-Cache: MISS from xxx.xxx.xxx.xxx > > >Transfer-Encoding: chunked > > > > > >9d > > ><HTML><HEAD><TITLE></TITLE></HEAD><BODY> > > ><H2></H2> > > > <A HREF="http://server1.someserver.com/webpage.html"> </A> > > ><P></BODY></HTML> > > > > > >0 > > > > > > > > >That is exactly how it appears in the Netscape source viewer. I > > >especially like the "space link". So, I'm guessing that the extra junk at > > >the bottom after the headers is what is causing the problem? > > > > > > > > > > > What you need to do is have a look at the HTTP headers that the server > > that is doing the redirect sends BEFORE they hit your proxy server. An > > easy way to do this is to use 'wget -S' (I wish I'd known this the other > > day - I was using tcpdump to sniff the packets...). For example, when I > > fire it at my host: > > > > wget -S host.example.com > > > > I get back: > > > > HTTP request sent, awaiting response... > > 1 HTTP/1.0 200 OK > > 2 Server: Zope/(Zope 2.5.1b1 (OpenBSD package zope-2.5.1b1) > > 3 , python 2.1.2, openbsd3) ZServer/1.1b1 > > 4 Date: Fri, 16 Aug 2002 22:52:44 GMT > > 5 Connection: Keep-Alive > > 6 Content-Type: text/html > > 7 Etag: > > 8 Content-Length: 289 > > > > ... and you can immediately see the bad line number 3, without the > > all-important colon. > > > > Cheers, Brett