Ryan Bloom [Sun, 11 Feb 2001 20:19:41 +0000 (20:19 +0000)]
Clean up the mod_tls configure process. This should remove most, if not
all, of the hand-editing required to make mod_tls compile. I have also
updated the README to reflect the current process. I have also noted that
we require OpenSSL 0.9.6 to compile. I am getting all sorts of warnings
from the OpenSSL header files, and I get a single error from the OpenSSL
libraries, but I am assuming that is a problem with my configuration,
not the mod_tls code.
Ryan Bloom [Sun, 11 Feb 2001 00:51:38 +0000 (00:51 +0000)]
Fix a potential segfault on all platforms. David Reid fixed this for
BEOS, but this could actually happen on any platform, so we should
be safe and protect ourselves.
Submitted by: Cliff Woolley <cliffwoolley@yahoo.com>
Reviewed by: Ryan Bloom
Ryan Bloom [Sat, 10 Feb 2001 23:53:07 +0000 (23:53 +0000)]
Allow us to use INCLUDES on files with multiple extensions, and use
FilesMatch instead of Files ~.
Submitted by: Joshua Slive <slive@finance.commerce.ubc.ca>
Ryan Bloom [Sat, 10 Feb 2001 18:09:26 +0000 (18:09 +0000)]
Fix the configure scripts, so that we don't try to substitute into
test/Makefile unless we actually have a test directory. The problem
is that we don't distribute test directories with our tarballs, so our
configure script outputs error messages. This fixes that problem.
Greg Stein [Sat, 10 Feb 2001 13:05:29 +0000 (13:05 +0000)]
Clean up some of the includes:
- explicitly include apr_lib.h since ap_config.h doesn't
- use apr_want.h where possible
- use APR_HAVE_ where possible
- remove some unneeded includes
Greg Stein [Sat, 10 Feb 2001 11:59:58 +0000 (11:59 +0000)]
*) clean out some old crap from ap_config.h; other simplifications; don't
include stuff randomly (let users include them explicitly)
*) toss ap_config_path.h -- we can put those values into ap_config_auto.h
Ryan Bloom [Sat, 10 Feb 2001 05:30:51 +0000 (05:30 +0000)]
Remove the SetFilter directive from the code. This directive wasn't
nearly as useful as the SetOutputFilter and SetInputFilter, and it never
really worked properly.
Ryan Bloom [Sat, 10 Feb 2001 00:33:38 +0000 (00:33 +0000)]
Change AddInputFilter and AddOutputFilter to SetInputFilter and
SetOutputFilter. This corresponds nicely with the other Set
directives, which operate on containers while the Add* directives
tend to work directly on extensions. [Ryan Bloom]
Jeff Trawick [Fri, 9 Feb 2001 18:34:24 +0000 (18:34 +0000)]
use apr_size_t for file lengths; this avoids a warning (and perhaps
a run-time SNAFU depending on the byte ordering) on systems where
apr_size_t is long
Greg Stein [Fri, 9 Feb 2001 12:19:47 +0000 (12:19 +0000)]
*) minor changes, simplifications
*) fix terminate_header: don't assume anything about the brigade (especially
that its last bucket is a shared/heap bucket)
Ryan Bloom [Fri, 9 Feb 2001 07:17:53 +0000 (07:17 +0000)]
Make the header filter use the brigade buffering functions for creating
the header string. This allows us to clean up the header handling a bit,
because we don't need to compute the correct length before we can create
the headers.
Ryan Bloom [Fri, 9 Feb 2001 07:04:52 +0000 (07:04 +0000)]
Allow filters to buffer data in a brigade using the ap_f* functions.
These have become simple macros that just wrap the apr_brigade functions,
allowing filter writers to ignore the flush function and the ctx pointer.
Ryan Bloom [Wed, 7 Feb 2001 21:41:43 +0000 (21:41 +0000)]
Fix graceful shutdown with the scoreboard changes. Basically, we want
to set the sb_type only after we zero out the scoreboard. Before this,
we were segfaulting when we tried to free() a shared memory scoreboard.
Ryan Bloom [Wed, 7 Feb 2001 20:49:25 +0000 (20:49 +0000)]
Get the Unix MPMs restarting again. If we are going to register a cleanup
for ap_cleanup_scoreboard, then we have to kill that cleanup with the same
function. This also makes ap_cleanup_scoreboard a non-static function, and
makes ap_cleanup_shared_mem a static function.
Greg Stein [Wed, 7 Feb 2001 12:33:17 +0000 (12:33 +0000)]
Revamp the CHECKOUT method handling and various support functions for it.
Basically, the original CHECKOUT was based on a really old draft of the
DeltaV specification. This brings it up to date.
*) get_resource hook now takes an optional label name and/or a flag on
whether to use the DAV:checked-in property; if either one is provided,
then a version resource is looked up and returned.
WARNING: the parameter types are now the same, but have very different
semantics. this means you won't get a compile error to figure
out that something needs to be changed here.
*) mod_dav.c::dav_get_resource no longer cahces the fetched resource in the
request userdata. Some requests will call this function multiple times,
for different resources -- we don't want to keep returning the same
resource (no idea how this ended up working).
*) dav_get_resource()'s parameters have been updated. target_allowed is old
terminology; it is now label_allowed. The target paramter is obsoleted by
the simple use_checked_in flag.
*) dav_get_target_selector() is obsolete. XML element processing is done
within the CHECKOUT method (i.e. only where it occurs). The other half of
the old function was to simply fetch the Label: header.
*) DAV_TARGET_SELECTOR_HDR is now DAV_LABEL_HDR
*) dav_method_checkout() now processes all the various options for a
CHECKOUT method and either modifies the initial resource lookup, or
passes the data to the checkout hook function.
*) the checkout hook grew a bunch of new parameters
*) new utility function: dav_xml_get_cdata() to gather up all the CDATA from
an XML element. this is used to extract DAV:href values.
(probably move to util_xml.c at some point)
Brian Havard [Tue, 6 Feb 2001 23:33:31 +0000 (23:33 +0000)]
Don't include mpm.h from scoreboard.h as scoreboard.h is included from mpm.h.
Instead, make the MPM type defined before including scoreboard.h.
PR:
Obtained from:
Submitted by:
Reviewed by:
Ryan Bloom [Tue, 6 Feb 2001 22:49:46 +0000 (22:49 +0000)]
We have a poor abstraction in the protocol. This is a temporary
hack to fix the bug, but it will need to be fixed for real. If
we find an error while sending out a custom error response, we back
up to the first non-OK request and send the data. Then, when we send
the EOS from finalize_request_protocol, we go to the last request,
to ensure that we aren't sending an EOS to a request that has already
received one. Because the data is sent on a different request than
the EOS, the error text never gets sent down the filter stack. This
fixes the problem by finding the last request, and sending the data
with that request.
PR: 7165
Jeff Trawick [Tue, 6 Feb 2001 22:34:56 +0000 (22:34 +0000)]
get perchild just a little closer to building; maybe somebody
with a soft spot in their heart for perchild can spend the
remaining ten minutes to fix it;
Martin Kraemer [Tue, 6 Feb 2001 21:47:50 +0000 (21:47 +0000)]
Jean Frederic says (and I verified his claim):
After fighting with shlibtool I discovered that the problem was that
libtool was called instead shlibtools.
Of course it is easy to fix and it fixes mod_dav and mod_dav_fs [...]
Ryan Bloom [Tue, 6 Feb 2001 20:41:07 +0000 (20:41 +0000)]
Setup the server start time correctly. This also gets the server uptime
to be reported correctly. I have also moved this code into a common
location, so that individual MPMs do not need to worry about setting up
the start time.
Chris Pepper [Tue, 6 Feb 2001 16:31:17 +0000 (16:31 +0000)]
Added note about later sections overriding earlier.
Removed note about order reversal in 1.2-1.3a versions.
Fixed a couple typos.
Matched up <p> & </p>.
Ryan Bloom [Tue, 6 Feb 2001 16:21:14 +0000 (16:21 +0000)]
Make sure that mod_include's post_config hook always runs before
mod_cgi(d)'s post_config hook. Mod_include creates a hash table in the
post_config stage that mod_cgi(d) uses during it's post_config stage, so
it must be done in this order.
Submitted by: Brian Havard <brianh@kheldar.apana.org.au>
Bill Stoddard [Mon, 5 Feb 2001 18:28:47 +0000 (18:28 +0000)]
Tweak the AP_MIN_SENDFILE_BYTES. Not using sendfile on Windows
in the general (non byterange) case is a HUGE performance hit (> 50% in many cases).
I also suspect most byterange requests will be for substantially more bytes (a pageful
out of a larger document for example). In the uncommon (I believe) cases where
fewer bytes are requested, 250 bytes per packet is not too abusive of the network.
Jeff Trawick [Mon, 5 Feb 2001 15:04:32 +0000 (15:04 +0000)]
ap_new_connection() returns NULL if an error occurred (prefork MPM
and ap_new_connection() were changed last week)
I have skipped putting the change into WinNT MPM and mod_proxy. I
left a note in the mod_proxy code; for the NT MPM I think I can talk
somebody into doing the right thing for me.
Greg Stein [Mon, 5 Feb 2001 12:34:39 +0000 (12:34 +0000)]
*) add activity handling: OPTIONS and MKACTIVITY
*) fix HTTP status code in MKWORKSPACE handling
*) add can_be_activity and make_activity hooks to dav_hooks_vsn