On Sun, Feb 10, 2002 at 10:54:38AM +0100, Thomas Jarosch wrote:
> To me it seems like a problem in the request body parser of Apache,
> but I'm not an Apache guru, so I could be wrong...
I tried to reproduce your problem, but to no avail.
Some questions (in oder to nail down the problem):
a) does your Apache-1.3.23 run on a unix platform, or on some
CRLF-platform (e.g., windoze)?
On unix, I had no problem whatsoever to do a
"netcat localhost 80 <test.in"
Also, I tried varying the "Content-Length" between 9 and 11
(no change, everything worked) and also to append a second
request to the request pipeline (no change, everything worked
fine once I told the php script to supply a Content-Length
response header):
HTTP/1.1 200 OK
Date: Mon, 11 Feb 2002 08:24:50 GMT
Server: Apache/1.3.23 (Unix) PHP/4.1.1 DAV/1.0.3
X-Virtual-Host: deejai.mch.fsc.net
X-Powered-By: PHP/4.1.1
Content-Length: 10
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html
test=test
HTTP/1.1 200 OK
Date: Mon, 11 Feb 2002 08:24:50 GMT
Server: Apache/1.3.23 (Unix) PHP/4.1.1 DAV/1.0.3
Content-Location: Welcome.shtml.en
Vary: negotiate,accept-language
....
b) what caused your original problem? Is it the Netscape-4.6 default
handling of POST requests?
c) you say that the reply is completely empty, not even a
status line? No Content-Type?
d) if actually *nothing* is returned, there *MUST* be a line in the
error_log. What does it say? If none is there, try to increase
the LogLevel.
e) Is a proxy involved in the request? Which one? What happens if you
bypass it?
Attached you can find the php script used in the test, and the
input file.
Martin
--
<[EMAIL PROTECTED]> | Fujitsu Siemens
Fon: +49-89-636-46021, FAX: +49-89-636-47655 | 81730 Munich, Germany
POST /~martin/php/test.php HTTP/1.0
Referer: http://intradev.local/arnie?form=hauptseite
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [en-gb] (WinNT; I)
Host: deejai.mch.fsc.net
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Encoding: gzip
Accept-Language: en-GB,en,en-*
Accept-Charset: iso-8859-1,*,utf-8
Content-type: application/x-www-form-urlencoded
Content-length: 9
test=test
GET / HTTP/1.0
<?
$reply= "test=".$test."\n";
Header("Content-Length: ".strlen($reply));
print $reply;