You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Dean Gaudet <dg...@arctic.org> on 1997/09/27 05:23:51 UTC

[YABB] PR#1142: spurious POST or PUT without Content-length errors

Ok we all love these things.  I think I've tracked down the netscape bug
which causes the above error.  But I need more data. 

When netscape (3.02 on WinNT) is sending a POST it sends it in two
packets.  The first contains almost all the headers, the second has the
Content-Type, the Content-Length, CRLF, and the post data.  If it has a
keep-alive connection to the server which the server has already timed
out, it won't notice the timeout until after it has written the first
packet.  It will then open a new connection, and re-issue the first
packet.  It never sends the second packet in this case, hence the error
generated by Apache.

You should be able to reproduce this at will by visiting a form on a page
which is static (so that it sets up a keep-alive session), then wait for
the keep-alive timeout (15 seconds by default) and try submitting.  It may
be possible that the bug only occurs when there are multiple keep-alive
sessions -- so perhaps sticking four distinct graphics on the page is
required. 

If my assessment is right I predict there will be no workaround for this
except to disable keep-alive. 

But what I want to know is what versions of netscape on what platforms
have this problem.  So I have set up a test form at
<http://www.arctic.org/~dgaudet/apache/yabb.html> with four graphics on
it.  Hit that, wait 20 seconds, then submit something.  If it pops back a
diagnostic script immediately it worked, otherwise it'll take some time
and timeout.  Maybe try .../yabb.shtml too if you can't get yabb.html to
do it. 

I can't reproduce it from here, I'm on a linux box with netscape 3.01, but
it's going through a socks proxy.  If some win95 and winnt folks could try
it without a firewall or proxy between them and the server that'd be
great. 

Dean