As in the case of 1.3, there are expected cases where this should not
return a port (i.e. a uri beginning with /). Thus, we keep the
default case fast, and let module authors check back on the port being
set on their own.
Backing my earlier change out; There exists the possibility for
ap_parse_uri_components to not fill in the port field in certain cases,
i.e. wherein the uri begins with /
Paul J. Reder [Fri, 6 Apr 2001 20:12:09 +0000 (20:12 +0000)]
Changes required to make prefork clean up idle children properly. There was a window during which a starting worker deadlocks when an idle cleanup arrives before it completes init. Apache then keeps trying to cleanup the same deadlocked worker forever (until higher pids come along, but it still will never reduce below the deadlocked pid). Thus the number of children would not reduce to the correct idle level.
Graham Leggett [Fri, 6 Apr 2001 14:25:54 +0000 (14:25 +0000)]
Bugfixes to proxy_ftp.c -> in some places uri_addr was used instead
of connect_addr - all hail cut and paste!
PR:
Obtained from:
Submitted by:
Reviewed by:
More pool allocation errors. The apr_sockaddr_t structures connect_addr and
uri_addr were getting allocated out of the wrong pool (one of the request pools)
when they were expected to stick around for the life of the socket.
Further, the default pool to be used should have been the connection pool in the
request_rec.
Graham Leggett [Thu, 5 Apr 2001 21:27:50 +0000 (21:27 +0000)]
Major rework of ap_proxy_ftp_handler() to use filters (begone foul
BUFF!!!). It compiles, but is untested, and the build environment needs
to be fixed to include proxy_ftp.c.
PR:
Obtained from:
Reviewed by:
Graham Leggett [Thu, 5 Apr 2001 18:25:04 +0000 (18:25 +0000)]
Reworked the storage of the client socket between keepalive connections
to fix some nasty problems with the socket lasting longer than the
memory pool it was allocated from.
PR:
Obtained from:
Reviewed by:
Graham Leggett [Wed, 4 Apr 2001 18:47:42 +0000 (18:47 +0000)]
Some code rewriting in ap_proxy_connect_handler():
*) Fixed bug where a hostname without a "." in it (such as "localhost")
would not trigger an IP address check with ProxyBlock.
*) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
ap_proxy_connect_handler().
*) Updated ap_proxy_connect_handler() to support APR, while
moving some common code between http_handler and connect_handler
to proxy_util.c.
PR:
Obtained from:
Reviewed by:
Ryan Bloom [Wed, 4 Apr 2001 03:31:31 +0000 (03:31 +0000)]
Update for 2.0.17. The only change was in APR-util, but APR and APR-util
aren't at a point that they have their own release strategy, so this means
a new tag for Apache. :-(
Marc Slemko [Tue, 3 Apr 2001 23:47:39 +0000 (23:47 +0000)]
Temporary (hopefully) reversion to the previously used hack to
allow --prefix to work for now. This means that part of the Apache
layout is duplicated in configure.in again.
There are a _LOT_ of inconsistencies in different places about what
items in config.layout are actually used and how they can be set.
Also, change the couple of other things that are necessary to make
/usr/local/apache2 the default prefix when using this way of doing
things.
Ryan Bloom [Tue, 3 Apr 2001 18:37:18 +0000 (18:37 +0000)]
Make Apache check APR's configuration when determining the default MPM.
This way, if APR is built without threads, then Apache defaults to the
prefork MPM.
Marc Slemko [Tue, 3 Apr 2001 17:03:35 +0000 (17:03 +0000)]
- change inconsistent use of logdir and logfiledir all to logfiledir, to
make the config.layout file work properly.
- change default layout to be "Apache", as defined in config.layout,
instead of duplicating (some of) that layout in configure itself.
- change default installation path to /usr/local/apache2
We haven't seen this problem on daedalus since the ap_getline() assert was
fixed a week and a half ago. It is hereby declared fixed.
Here's a theory: the garbage in c->remaining caused header lines to be
sucked in on persistant/pipelined connections when only the http request
line was desired, causing mime headers to get logged, including the \n
delimiters.
Graham Leggett [Mon, 2 Apr 2001 20:55:23 +0000 (20:55 +0000)]
Fixed problem where responses without entity bodies would cause
the directly following proxy keepalive request to fail.
PR:
Obtained from:
Reviewed by:
Jeff Trawick [Mon, 2 Apr 2001 18:49:44 +0000 (18:49 +0000)]
"void *res = signal(blah)" isn't cool 'cause void * is not compatible with
a function pointer; but we don't need to save the old signal pointer anyway
so drop the variable
Graham Leggett [Mon, 2 Apr 2001 17:04:19 +0000 (17:04 +0000)]
*) Added support for downstream keepalives in mod_proxy.
*) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
PR:
Obtained from:
Reviewed by:
Ryan Bloom [Mon, 2 Apr 2001 16:15:31 +0000 (16:15 +0000)]
Fix --enable-layout processing on NetBSD. This makes us use a consistant
location for the config.layout file, and it makes us a bit more portable.
PR: 7482
Submitted by: jun-ichiro hagino <itojun@iijlab.net>
Brian Havard [Mon, 2 Apr 2001 15:28:09 +0000 (15:28 +0000)]
Reformat declaration so make_export.awk will recognize them. Yes, I know this
makes lines longer than is normally acceptable but I'd like to see anyone come
up with an awk script that handles these things broken over multiple lines...
Brian Havard [Mon, 2 Apr 2001 15:20:45 +0000 (15:20 +0000)]
Switch to using aplibtool for building under OS/2 & add support for building
loadable modules as OS/2 DLLs.
PR:
Obtained from:
Submitted by:
Reviewed by:
Commit early and often. This should merge all changes into
ab from 1.3 into 2.0. SSL work not completed; I need to move
some of the autoconf detection of mod_wtls to a more central
place first. Any suggestions appreciated :-)
Either MacOS-X is much more sensitive for border conditions - or I am just being
unlucky. This allows for apr_send() to do consequitive partial write's; by keeping
a buffer and TO within ab itself. Ab was already doing that for read anyway.
Prevent cobbering of lenght for subsequent sends. Still not quite
right; we ough to call apr_send again if len != requested_len - but
then our timeout could be len * timeout if we happen to only stuff
one byte down the pipe each time.
Jeff Trawick [Sat, 31 Mar 2001 11:31:45 +0000 (11:31 +0000)]
if the perl interpreter is not found in PATH, use
"/replace/with/path/to/perl/interpreter" for the path when
substituting in split-logfiles et al so that an unlucky user
will have a better clue about why these programs won't work
Changes to the httpd.exp file, to get DSOs working. This is most of the
way there, but there may yet be some symbols missing. Working on a script
to keep this in line.
Jeff Trawick [Thu, 29 Mar 2001 00:17:50 +0000 (00:17 +0000)]
Fix a storage leak in mod_cgid... the temporary pool created for
each request was not cleaned up.
This removes the nastiest symptom of some excess pipes being created
(i.e., we don't run out of file descriptors), though something
additional is needed to keep from creating the pipes to begin with.
Jeff Trawick [Wed, 28 Mar 2001 16:34:05 +0000 (16:34 +0000)]
clean up some warnings dealing with
1) mismatches between printf format strings and arguments
2) wrong type for last parm to ap[r]_xml_to_text
3) missing time.h decls
Jeff Trawick [Wed, 28 Mar 2001 16:03:49 +0000 (16:03 +0000)]
Abort apache buildconf if apr buildconf or apr-util buildconf fails.
Otherwise, the error message from apr or apr-util (e.g., invalid libtool
version) is lost in the stream of output.
Greg Stein [Wed, 28 Mar 2001 10:40:44 +0000 (10:40 +0000)]
Fix the OPTIONS response. It was attempting to send an HTTP response
(header) through the filter stack, which just wrapped that response in
another set of headers.
Instead, just set the Allow header and return. The EOS will then flush that
header with the rest of the data through the header filter, and generate the
proper response.
Also, cleaned out the unused header_filter_ctx and the "len" variable from
the header filter, and added some comments here and there.