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.
Chuck Murcko [Sun, 11 Mar 2001 11:08:22 +0000 (11:08 +0000)]
remove ProxyNoCache and ProxyCacheForceCompletion config directives,
since we no longer directly cache from this module
PR:
Obtained from:
Submitted by:
Reviewed by:
Ken Coar [Fri, 9 Mar 2001 20:20:31 +0000 (20:20 +0000)]
Bring forward the -V option for suexec from 1.3.20-dev. It looks
like the umask() option needs to be brought forward, as well.
Is this still 2.0.14-dev?
Bill Stoddard [Fri, 9 Mar 2001 18:28:55 +0000 (18:28 +0000)]
Fix a Windows seg fault on startup when multiple listen directives are being used.
The pool pointer in the local address field in apr_sock_t is not initialized until a
request is received. in general, we should not rely on the addressed in apr_sock_t
when doing work on the listen_recs.
Ryan Bloom [Thu, 8 Mar 2001 20:03:37 +0000 (20:03 +0000)]
Always clear the C-L if we are going to try to parse the file. It is
impossible for us to determine if there is going to be an SSI tag in the
file until we have actually scanned it all. By that time, it is likely
that the first chunk of data, and the headers have been sent to the client,
and it is too late to clear the C-L. If we are parsing the file, we have
to just assume we are going to change the content.
Ryan Bloom [Wed, 7 Mar 2001 17:01:28 +0000 (17:01 +0000)]
Fix content-length computation. We ONLY compute a content-length if
We are not in a 1.1 request and we cannot chunk, and this is a keepalive
or we already have all the data.
Jeff Trawick [Tue, 6 Mar 2001 21:46:12 +0000 (21:46 +0000)]
Report unbounded containers in the config file. Previously, a typo
in the </container> directive could result in the rest of the config
file being silently ignored, with undesired defaults used.
Jeff Trawick [Mon, 5 Mar 2001 20:15:15 +0000 (20:15 +0000)]
Rely on APR to determine whether or not we have netinet/tcp.h. This test
requires a special work-around for IRIX 6.5, which will be in APR soon.
There is no need for it in Apache.
The include of netinet/tcp.h was removed from perchild.c and threaded.c.
They no longer seem to be needed there.
Ryan Bloom [Mon, 5 Mar 2001 06:16:28 +0000 (06:16 +0000)]
Make the old_write filter use the ap_f* functions for buffering the data.
This has been tested with a couple of directory listings, but it could
probably use a bit more testing before being declared stable.
Ryan Bloom [Mon, 5 Mar 2001 04:43:56 +0000 (04:43 +0000)]
Another chunk of code from http to core. This should continue to build
on all platforms. The next job is to shuffle functions back and forth
so that the server builds without mod_http.
Ryan Bloom [Sun, 4 Mar 2001 17:44:07 +0000 (17:44 +0000)]
The ap_r* vote is now over. The decision was decidedly for the OLD_WRITE
filter. This adds a note in the STATUS file to ensure that it gets
modified to use the correct functions before we release.
For completeness, the vote was:
macros: rbb wrowe
old_write: gstein stoddard coar ben jwoolley
Ryan Bloom [Sun, 4 Mar 2001 06:27:27 +0000 (06:27 +0000)]
Move more code from the http module into the core server. This
is core code, basically the default handler, the default input
and output filters, and all of the core configuration directives.
All of this code is required in order for the server to work, with or
without HTTP. The server is closer to working without the HTTP
module, although there is still more to do.
I tried to fix Windows, but somebody should probably make sure I did
it correctly.