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.
Greg Stein [Wed, 28 Mar 2001 07:37:25 +0000 (07:37 +0000)]
Patch to sync with some changes to mod_dav 1.1:
*) revamp the set_target stuff -- latest draft calls this UPDATE
*) update the CHECKIN method handling
*) liveprop providers can catch/define "core" properties before the core
gets a chance.
Submitted by: John Vasta <jvasta@rational.com>
Reviewed by: Greg Stein
Bill Stoddard [Tue, 27 Mar 2001 19:19:08 +0000 (19:19 +0000)]
Performance: Add quick_handler hook. This hook is called at the
very beginning of the request processing before location_walk,
translate_name, etc. This hook is useful for URI keyed content
caches like Mike Abbott's Quick Shortcut Cache.
Ryan Bloom [Sun, 25 Mar 2001 20:42:47 +0000 (20:42 +0000)]
Move ap_set_last_modified to the core. This is a potentially
controversial change, because this is kind of HTTP specific. However
many protocols should be able to take advantage of this kind of
information. I expect that headers will need one more layer of
indirection for multi-protocol work, but this is a small step in
the right direction.
Ryan Bloom [Sun, 25 Mar 2001 16:54:48 +0000 (16:54 +0000)]
Add a ScriptSock default to the defualt config file. This is only enabled
when the mod_cgid module is used.
PR: 7408
Submitted by: Taketo Kabe <kabe@sra-tohoku.co.jp>
Roy T. Fielding [Sat, 24 Mar 2001 09:43:06 +0000 (09:43 +0000)]
Untangled the buildconf script and eliminated the need for build's
aclocal.m4, generated_lists, build.mk, build2.mk, and a host of other
libtool muck that is now under srclib/apr/build. More to follow.
Bill Stoddard [Thu, 22 Mar 2001 19:29:09 +0000 (19:29 +0000)]
Exit the child main thread in make_child on child exit. This fixes a problem
where the child main thread was looping in make_child() forking errant processes.
Jeff Trawick [Thu, 22 Mar 2001 10:03:29 +0000 (10:03 +0000)]
Fix a major security problem with double-reverse lookup checking.
Previously, a client connecting over IPv4 would not be matched
properly when the server had an IPv6 listening socket.
Address a build problem for VC7.0/PSDK headers identified by
Jerker B�ck <info.jelmar@telia.com>. This isn't the only
workaround possible, but IWFM. VC6/7 users please confirm.
David Reid [Wed, 21 Mar 2001 06:42:38 +0000 (06:42 +0000)]
This change actually gets beos shutting down and restarting!
It's not perfect, but it's a long way towards it. The problem turned out
to be simple, we weren't resetting the poll selections before we went into
poll for the second time. Not sure if this means our poll impl. using
select is broken or not?
It also changes us to use the new UDP in APR. With these changes and some
restructuring in the worker_thread and I'm done for tonight!
Jeff Trawick [Tue, 20 Mar 2001 21:40:50 +0000 (21:40 +0000)]
Empty out the brigade shared by ap_getline()/ap_get_client_block()
on error exit from ap_getline(). Some other code got upset because
the wrong data was in the brigade.
Jeff Trawick [Mon, 19 Mar 2001 16:07:59 +0000 (16:07 +0000)]
Fix a problem in mod_mime_magic where file descriptor 2 would be
inadvertently closed. This logic was in the uncompress child in 1.3
but was in the parent in 2.0.
uncompress_child() was renamed to create_uncompress_child() to reflect
a change in use since 1.3.
A note was added about missing 1.3 logic for doing something with the
stderr of the uncompress process.
Brian Havard [Mon, 19 Mar 2001 13:07:28 +0000 (13:07 +0000)]
Declaration of ap_reclaim_child_processes() in exports.c needs to be
conditional in the same way that the function's definition is so give it a
suitable macro that will be recogized by the scripts that make exports.c.
Ryan Bloom [Sun, 18 Mar 2001 02:33:23 +0000 (02:33 +0000)]
Add a hook, create_request. This hook allows modules to modify
a request while it is being created. This hook is called for all
request_rec's, main request, sub request, and internal redirect.
When this hook is called, the the r->main, r->prev, r->next
pointers have been set, so modules can determine what kind of
request this is.
Currently, this is only used by the core module, but protocol modules
are going to need to have the ability to affect the request while it is
being read.
Ryan Bloom [Fri, 16 Mar 2001 23:04:56 +0000 (23:04 +0000)]
Cleanup the build process a bit more. The Apache configure
script no longer creates its own helper scripts, it just
uses APR's.
Submitted by: jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>
Chuck Murcko [Fri, 16 Mar 2001 07:28:08 +0000 (07:28 +0000)]
This is a fix that went into v1.3 quite a while back, but not into v2.0.
It sorts out the problem when a password protected reverse proxy URL
sends a Proxy-Authenticate to a browser instead of a WWW-Authenticate.
This patch covers the changes to the httpd-2.0 tree.
Submitted by: Graham Leggett
Reviewed by: Chuck Murcko
Bill Stoddard [Fri, 16 Mar 2001 04:17:38 +0000 (04:17 +0000)]
Avoid using sscanf to determine the HTTP protocol number in
the common case because sscanf is a performance hog. From
Mike Abbot's Accelerating Apache patch number 6.
Submitted by: Mike Abbot <mja@trudge.engr.sgi.com>
Reviewed by: Bill Stoddard
Jeff Trawick [Thu, 15 Mar 2001 22:09:27 +0000 (22:09 +0000)]
Fix a security exposure in mod_access. Previously when IPv6
listening sockets were used, allow/deny-from-IPv4-address rules
were not evaluated properly (PR #7407). Also, add the ability to
specify IPv6 address strings with optional prefix length on Allow
and Deny.
Note: A bit more of PR #7407 remains dealing with a problem with
double-reverse lookups when an IPv6 listening socket is used.
Graham Leggett [Wed, 14 Mar 2001 21:16:41 +0000 (21:16 +0000)]
Pull in the Connection handling part of the v1.3 patch for HTTP/1.1.
Some preliminary HTTP/1.1 work
Some comments and fixes
PR:
Obtained from:
Reviewed by:
Greg Stein [Tue, 13 Mar 2001 02:13:55 +0000 (02:13 +0000)]
*) mod_dav.c: allow PUT to a WORKING resource (this actually the only valid
place to do a PUT(!))
*) util.c: add a comment. allow validation to proceed without a lock
database (the rest of the code supported it; one erroneous check disabled
that work)
*) util_lock.c: allow dav_unlock() to be a no-op when a lock provide isn't
present; this allows DELETE to work.
Bill Stoddard [Mon, 12 Mar 2001 17:29:02 +0000 (17:29 +0000)]
*) Reimplement the Windows MPM (mpm_winnt.c) to eliminate calling
DuplicateHandle on an IOCompletionPort (a practice which
MS "discourages"). The new model does not rely on associating
the completion port with the listening sockets, thus the
completion port can be completely managed within the child
process. A dedicated thread accepts connections off the network,
then calls PostQueuedCompletionStatus() to wake up worker
threads blocked on the completion port.
[Bill Stoddard]
Ken Coar [Sun, 11 Mar 2001 23:22:32 +0000 (23:22 +0000)]
Bring forward the suexec umask setting option from 1.3, and
also fix some configure.in bits that would define macros
that needed to be numbers as strings instead.