httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Hartill <r...@imdb.com>
Subject bad interaction w/ netscape's publish function (fwd)
Date Thu, 09 Jan 1997 22:13:47 GMT

I'm too tired to parse this..

---------- Forwarded message ----------
Date: Thu, 09 Jan 1997 14:07:12 -0700
From: Lou D. Langholtz <ldl@cs.utah.edu>
To: new-httpd@hyperreal.com
Subject: bad interaction w/ netscape's publish function

I submitted a bug report on this and have some more info to add. I
haven't gotten a reply yet but I'm sure the person(s) behind the
bug-reports list are swamped. Anyways, here's the problem...

I've setup a test CGI within a Directory directive in access.conf for
handling the PUT method when sent to a Apache 1.1.1 server running on a
SunOS 5.5.1 box. I've also setup a limit on the PUT to require
valid-user. Unfortunately after using Netscape 3.01 gold's publish
feature and filling out a User-name + a bad Password, Apache places the
correct entry into the access_log file with error code 401 but only
rarely logs a error to the error log file. When it does it's a
reasonable error message ussually the server's handling of the request
seems to end before it logs the error. Netscape also notices this and
says Connection reset by peer. Note that the test CGI gets executed
properly when the password is correct on the first publish attempt and
also when it's supposed to be executed so this has nothing to do with
the CGI nor the configuration (I figure).

I've tried some tests to examine further and checked code up till 1.2b2
with results as follows:

1. If I insert a call to sleep() within child_main()'s while (1) loop,
things get back to working as expected: the error's logged and netscape
just tells you the password or user was invalid. Interestingly, this
works wether I put the sleep before the final  bflush() call, right
after it, or even right after the read_request() call. I haven't tried
any other places yet.

2. I inserted code to check the return values from bflush() and bclose()
but no errors are returned. Speaking of which however, nowhere in any of
the source is the return value from bflush or bclose even checked,
except for bflush in mod_proxy.c. This from 1.1.1 dist src specifically
but I've noticed missing checks in 1.2b2 also. I think checks need to be
added before 1.2 is released. The only hard part would be deciding what
to say in any error messages ;-)

3. I noticed buff.c's bflush() function adds a local var j at the top
but doesn't actually use it for anything untill near the end of the
source for the function where it's redefined anyway. This was also in
1.2b2. Just more nit picking I suppose ;-)

Has anyone else noticed this problem? Can anyone duplicate it on another
platform (other than Solaris)?


Mime
View raw message