1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-05 05:30:39 +03:00
Commit Graph

285 Commits

Author SHA1 Message Date
Greg Ames
dd68355433 whoops! can't use the return code to pass the length up the filter chain.
with this and a request line that goes on forever, I now get:

[Wed Oct 31 17:45:45 2001] [error] [client 127.0.0.1] request failed:
URI too long

...in the error log, and a 414 in the access log.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91715 13f79535-47bb-0310-9956-ffa450edef68
2001-10-31 22:55:43 +00:00
Greg Ames
d376d32843 return the actual number of bytes read when we're in "read a line" mode and it
looks like the line may never end.

This lets ap_getline determine whether there's excessive bytes or not,
depending on the size of its caller's buffers.  If the buffer can accomodate
more bytes, ap_getline will continue to read.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91713 13f79535-47bb-0310-9956-ffa450edef68
2001-10-31 20:18:56 +00:00
Aaron Bannert
6ce6a5d328 Fix a big memory leak bug related to arbitrarily large header lines.
The core input filter would happily consume all the data you gave it
in a header line, looking for that one LF. This patch limits that
"getline" functionality to HUGE_STRING_LEN (8192 bytes).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91711 13f79535-47bb-0310-9956-ffa450edef68
2001-10-31 18:21:53 +00:00
Jeff Trawick
620934e3bf set the c->aborted flag when we get EPIPE
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91650 13f79535-47bb-0310-9956-ffa450edef68
2001-10-23 20:46:02 +00:00
Cliff Woolley
79403ed8e0 Fix a segfault seen on daedalus earlier this evening. All that was happening
was that we forgot to check whether ctx->bb was empty, so when we pulled the
first bucket, it would be the sentinel, and we'd segfault trying to apr_bucket_read
the sentinel.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91641 13f79535-47bb-0310-9956-ffa450edef68
2001-10-23 09:41:54 +00:00
William A. Rowe Jr
429f7ef0d5 Fix two typos in the last patch... compiles/tests clean... Greg, please
run this against Apache.org until the first core and post the results.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91625 13f79535-47bb-0310-9956-ffa450edef68
2001-10-22 04:36:46 +00:00
William A. Rowe Jr
3e15d70ea7 Perhaps fix the segfault... my earlier patch didn't since we already
memcpy'ed the base into the merged per-dir config.

  This certainly cleans up that function though, and I hope increases
  it's legibility.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91624 13f79535-47bb-0310-9956-ffa450edef68
2001-10-22 04:25:27 +00:00
William A. Rowe Jr
90cb9e9953 Canonicalize all absolute <Directory > sections, not simply those that
fail to end in a '/'.  Slash test is afterwords, once we've canonicalized
  any '\' and other aliases to '/'.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91608 13f79535-47bb-0310-9956-ffa450edef68
2001-10-20 18:29:09 +00:00
William A. Rowe Jr
f31545e763 Listen to my own advise. Fortunately, the new apr_pool_readonly code
catches these in no time ;)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91558 13f79535-47bb-0310-9956-ffa450edef68
2001-10-19 02:08:44 +00:00
William A. Rowe Jr
7055a5ed84 Guys... please be _careful_ when you pcalloc -> palloc!!!
Resolves GAmes' segfault observations


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91556 13f79535-47bb-0310-9956-ffa450edef68
2001-10-19 02:05:48 +00:00
Jeff Trawick
4c8e862ca7 don't lose the retcode in core_create_proxy_req()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91488 13f79535-47bb-0310-9956-ffa450edef68
2001-10-16 11:54:06 +00:00
Ryan Bloom
e31a688ce5 Cleanup the proxy code that creates a request to the origin
server.  This change adds an optional hook, which allows modules
to gain control while the request is created if the proxy module
is loaded.  The purpose of this hook is to allow modules to add
input and/or output filters to the request to the origin.  While
I was at it, I made the core use this hook, so that proxy request
creation uses some of the code from the core.  This can still be
greatly improved, but this is a good start.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91486 13f79535-47bb-0310-9956-ffa450edef68
2001-10-16 05:18:39 +00:00
Justin Erenkrantz
5902e1f3e3 The problem here is that we are getting some zero-length buckets at the head
of our brigade - which are in isolation okay.  In this situation, they
must be removed by the call to APR_BRIGADE_NORMALIZE.

The way we partition the buckets means that we will never remove the
zero-length bucket from the head - causing an infinite loop.  We read only
a single bucket now - previously partition with the blocking reads would
read multiple buckets - but it forced having a defined length which we
agreed was bogus.

Therefore, if we have a zero-length bucket at the head, we would then try
to partition and split at the zero-point of the brigade.  That combination
doesn't actually remove the zero-length bucket - it is still there - causing
an infinite loop because we'll never go past the zero-length bucket.

This call was originally present in core_input_filter.  I think it might
be better to fix partition/split/etc to eliminate a zero-length bucket
and skip it.  But, I'm not 100% sure that needs to happen.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91412 13f79535-47bb-0310-9956-ffa450edef68
2001-10-11 01:38:28 +00:00
Justin Erenkrantz
e109fb066b We also need to increment *readbytes when we find a match in the middle of
a bucket.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91411 13f79535-47bb-0310-9956-ffa450edef68
2001-10-10 22:14:10 +00:00
Justin Erenkrantz
4efc873183 Yeah, let's just return this segment to how it was a few hours ago.
If the status code is anything other than SUCCESS for PEEK, it isn't
good.  Just return the value.

(I thought it should be this, but I wasn't 100% sure.  Peer review == good.)

Submitted by:	Will Rowe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91404 13f79535-47bb-0310-9956-ffa450edef68
2001-10-10 19:19:16 +00:00
Justin Erenkrantz
55a8076e5d For some reason, I was thinking PEEK should read infinitely. Not.
Return with APR_EOF if we get EAGAIN.

(Whomever is calling this with PEEK should really be able to handle EOS
 bucket rather than relying on error codes.)

Thanks to Greg Ames for pointing out this fubar.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91403 13f79535-47bb-0310-9956-ffa450edef68
2001-10-10 18:45:22 +00:00
Justin Erenkrantz
008689be41 Allow the bucket reading code in the core to handle EAGAIN properly.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91400 13f79535-47bb-0310-9956-ffa450edef68
2001-10-10 15:34:35 +00:00
Justin Erenkrantz
7541cc3073 We should only be doing one socket read under any circumstances
(blocking or not).

apr_brigade_partition would do reading multiple times and that's
not really what we want (so I think).

This may speed up POST requests that were waiting for all of the
data to arrive before returning anything in blocking mode.

Reviewed by:	Greg Stein, Ryan Bloom


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91322 13f79535-47bb-0310-9956-ffa450edef68
2001-10-06 00:47:06 +00:00
Justin Erenkrantz
0813cc35a8 Allow the core input filter to handle AP_NONBLOCK_READ request for a
finite number of bytes (i.e. *readbytes > 0).

ap_brigade_partition does a blocking read.  So, what we should do is
apr_bucket_read on the socket for non-blocking.  If we get less than
what they asked for, that's okay and we should just return that amount.
If they were non-blocking, we should always be non-blocking.

Ryan, Greg, and others can figure out if ap_brigade_partition should
be tweaked to handle AP_NONBLOCK_READ natively.  I'm of a mixed mind,
but this addresses the short term need.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91312 13f79535-47bb-0310-9956-ffa450edef68
2001-10-05 08:54:19 +00:00
Jeff Trawick
2d0bcc2a70 get rid of an unused variable
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91301 13f79535-47bb-0310-9956-ffa450edef68
2001-10-05 02:27:48 +00:00
Ryan Bloom
b7bc1a03e7 Remove the Port directive. In it's place, the Listen directive
is now a required directive, which tells Apache what port to
listen on.  The ServerName directive has also been extended
to accept an optional port.  If the port is specified to the
ServerName, the server will report that port whenever it
reports the port that it is listening on.  This change was
made to ease configuration errors that stem from having a Port
directive, and a Listen directive.  In that situation, the server
would only listen to the port specified by the Listen command,
which caused a lot of confusion to users.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91293 13f79535-47bb-0310-9956-ffa450edef68
2001-10-04 20:00:53 +00:00
Justin Erenkrantz
6c7a7c36b2 Implement suggested input filter improvements from Greg and Ryan.
- Clean up scopes and namings of certain variables
- Add comments about potentially bogus modes
- Consolidate a FOREACH loop into a single brigade_length call


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91191 13f79535-47bb-0310-9956-ffa450edef68
2001-09-29 08:33:02 +00:00
Justin Erenkrantz
08eb7609da Input filtering rewrite. Consolidate how we handle HTTP input parsing by
rearranging and rethinking some things.  The net result is that the HTTP
filter is now a request filter and is now only responsible for HTTP things.
The core input filter is now responsible for handling all of the dirty work.

Highlights:
- Removes the dechunk filter and merges it with ap_http_filter (aka HTTP_IN).
  The dechunk filter was incorrectly handling certain cases (trailers).
- Moves ap_http_filter from a connection filter to a request filter
  to support the consolidation above (it needs header info).
- Change support code to allow the http_filter to be a
  request filter (how the request is setup initially).
- Move most of the logic from HTTP_IN to CORE_IN (core_input_filter).
  HTTP_IN is now only concerned about HTTP things.  The core filter
  is now responsible for returning data.  It is impossible to
  consolidate dechunk and http without this because HTTP_IN previously
  buffered data.  As Greg has suggested, it may make sense to write
  some brigade functions that handle input (getline).  It should be
  fairly trivial to add these.  Some of the calls in ap_http_filter
  could be switched as well.

This is the original patch as submitted to dev@httpd on Monday, Sep.
24th.  Additional comments and some minor tweaks done after that
submission are coming up next.  This should allow people who reviewed
the original patch to see what has changed and review them piecemeal.

This test passes all current tests in httpd-test.  Please perform
chicken sacrifices to verify that this hasn't blown up your favorite
input.

Reviewed by:	Greg Stein, Ryan Bloom, and Cliff Woolley (buckets)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91189 13f79535-47bb-0310-9956-ffa450edef68
2001-09-29 08:17:11 +00:00
William A. Rowe Jr
1fdecc1352 Remove the translate_name hack that caused Greg Ames some grief with
mod_rewrite.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91168 13f79535-47bb-0310-9956-ffa450edef68
2001-09-28 04:35:59 +00:00
Justin Erenkrantz
cb8569e4f8 This patch eliminates the wasteful run-time conversion of method names from
strings to numbers in places where the methods are known at compile
time.

(Justin fixed the va_end() call to be correct.)

Submitted by:	Brian Pane <bpane@pacbell.net>
Reviewed by:	Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91078 13f79535-47bb-0310-9956-ffa450edef68
2001-09-19 05:52:42 +00:00
William A. Rowe Jr
f495937085 Remove the Win32 script-processing exception from mod_cgi, and
roll build_command_line/build_argv_list into a unified, overrideable
   ap_cgi_build_command optional function.

   Eliminates a ton of Win32 cruft from core.c for registry parsing.
   Win32 (through the default handler, and newest changes to the
   apr_proc_create fn) continues to serve .bat/.exe files.  This is in
   preparation for adding modules/arch/win32/mod_win32 for scripts.

   Please review the mod_cgi.c behavior very carefully.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91058 13f79535-47bb-0310-9956-ffa450edef68
2001-09-17 21:07:36 +00:00
Ryan Bloom
cac07fa8d9 A very small optimization to the OLD_WRITE logic. This just makes us store
a pointer to the OLD_WRITE frec, and instead of using strcmp or strcasecmp,
we can just do a simple pointer comparison.  This optimization is also
available to other modules.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91006 13f79535-47bb-0310-9956-ffa450edef68
2001-09-11 18:38:21 +00:00
William A. Rowe Jr
05a55c7cc9 Can it be this simple? No, probably not, but this fast-hack will get
us going again for a while.

  We are currently rejecting some internal file_sub_req()'s in the
  translate phase.  I don't like this hack because of risks it potentially
  exposes, but for today, if we have a filename - and we are a subrequest,
  then let it fly without further mapping.  This allows us to serve up
  the default "/" request (run through mod_dir->mod_negotiation->mod_mime)
  without a 400 error.  The right solution is to set up some traps and
  escapes for the subreq mechanism, possibly with a subreq translate hook,
  and drop the URI entirely for these cases.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90847 13f79535-47bb-0310-9956-ffa450edef68
2001-08-31 13:45:16 +00:00
William A. Rowe Jr
a4b4e1a534 Same as Jeff Trawick's patch [thank you!] only a tad faster, and error
out on the old Set{Input|Output}Filter onefilter twofilter syntax
  (prior to this patch, only the last filter in a space seperated list
  would be configured.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90813 13f79535-47bb-0310-9956-ffa450edef68
2001-08-30 14:54:50 +00:00
Jeff Trawick
e5daa97d46 fix an endless loop (well, until you run out of storage from
tiny apr_pstrdup() calls and your machine crashes) when you
have a filter chain

  ap_getword() returns an empty string, not a NULL string,
  when there are no more words

fix a segfault when you don't have a filter chain

  ap_getword() does not check for a NULL string to search


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90810 13f79535-47bb-0310-9956-ffa450edef68
2001-08-30 11:42:59 +00:00
William A. Rowe Jr
3731e4e4f7 Thank you again for the proxy autobuild reports ;)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90809 13f79535-47bb-0310-9956-ffa450edef68
2001-08-30 08:26:08 +00:00
William A. Rowe Jr
3641520e9f Changed syntax of Set{Input|Output}Filter. The list of filters
must be semicolon delimited (if more than one filter is given.)
     The Set{Input|Output}Filter directive now overrides a parent
     container's directive (e.g. SetInputFilter in <Directory /web/foo>
     will override any SetInputFilter directive in <Directory /web>.)
     This new syntax is more consistent with Add{Input|Output}Filter
     directives defined in mod_mime.  Also cures a bug in prior releases
     where the Set{Input|Output}Filter directive would corrupt the
     global configuration if the multiple directives were nested.
     [William Rowe]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90799 13f79535-47bb-0310-9956-ffa450edef68
2001-08-30 05:10:54 +00:00
William A. Rowe Jr
1a9639e088 Since the mod_mime patch was applied, here is the rest of the patch to
introduce the ForceType and SetHandler [absolute references] directly
  into the very top of the fixups phase.  This means these will always
  override _any_ mime module, not just mod_mime.  Ergo, other mime modules
  can continue to set charset, encodings, etc.  Since these are globals,
  they belong in the core.

  This highlights a very serious drawback to the type_checker hook.  By
  using run first, a module that identifies _partial_ information (maybe
  just the content type) won't pass the query on to other modules, like
  mod_mime, that might further define the encoding or charset.  The
  type_checker hook should clearly become a run-all, and the modules should
  decline if they see someone ahead of them answered a question they were
  going to try to figure.

  Which means - if type_checker becomes RUN_ALL - this new override hook
  fn should become a type_checker again - and RUN_REALLY_FIRST, and let
  other modules _choose_ not to override this election.  (We can run it
  again at the end, for a recount ;)  Votes?


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90797 13f79535-47bb-0310-9956-ffa450edef68
2001-08-30 04:24:09 +00:00
William A. Rowe Jr
12912e8dbb This is the same granularity of control as mod_mime gave to set handlers
(and now AddInputFilter and AddOutputFilter by extension) so this seems
  entirely appropriate in the core as well.  Options FileInfo is required
  to change the processing behavior of files.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90760 13f79535-47bb-0310-9956-ffa450edef68
2001-08-28 15:45:01 +00:00
Jeff Trawick
9855487db6 Fix a growing connection pool in core_output_filter() for
keepalive requests.  We were allocating a brigade out of the
connection pool; the number of these brigades allocated
per connection was theoretically unlimited.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90736 13f79535-47bb-0310-9956-ffa450edef68
2001-08-27 20:48:00 +00:00
William A. Rowe Jr
15cdc86233 Solve a bug I introduced this weekend, we want to compare core_*->r
as a boolean, not by value.

  Reported by: Barrie Slaymaker <barries@slaysys.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90729 13f79535-47bb-0310-9956-ffa450edef68
2001-08-27 16:35:43 +00:00
Doug MacEachern
68e7797264 apr_pstrcat args were not NULL terminated
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90698 13f79535-47bb-0310-9956-ffa450edef68
2001-08-26 17:38:14 +00:00
William A. Rowe Jr
7552c9cb16 Eliminate proxy: (and all other 'special') processing from the
ap_directory_walk() phase.  Modules that want to use special
  walk logic should refer to the mod_proxy map_to_location example,
  with it's proxy_walk and proxysection implementation.  This makes
  either directory_walk flavor much more legible, since that phase
  only runs against real <Directory > blocks.

  On a technical note, this patch also forces the Directory to be
  canonical (unless it is "/" or a regex.)  It also allows us to
  be more explicit when declaring <Directory > block errors.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90684 13f79535-47bb-0310-9956-ffa450edef68
2001-08-26 05:10:17 +00:00
William A. Rowe Jr
307ab55886 Introduce the map_to_storage hook, which allows modules to bypass
the directory_walk and file_walk for non-file requests.  TRACE
  shortcut moved to http_protocol.c as APR_HOOK_MIDDLE, and the
  directory_walk/file_walk happen as APR_HOOK_VERY_LAST in core.c.

  A seperate patch to mod_proxy is required to short circuit both the
  TRACE and directory_walk/file_walk stuff.  That patch is next.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90665 13f79535-47bb-0310-9956-ffa450edef68
2001-08-25 23:43:19 +00:00
William A. Rowe Jr
bb757df043 sec, sec, who's got a sec? This gave me a headache, but I had to clear
out the last patch before I rearranged this to be _readable_.

  Next step for everyone's sanity, provide <Proxy > directives ;)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90646 13f79535-47bb-0310-9956-ffa450edef68
2001-08-24 18:12:02 +00:00
William A. Rowe Jr
6be8943643 Commit this code before another patch becomes to difficult to follow.
This patch does one thing, it changes the root path "/" to reflect an
  element count of Zero (0).  directory_walk will always accept the zero
  element (which sorts first, thankfully) on it's first go around.

  So, Unix will accept "/" when it's parsing it's first element "/".

  Dos/Win32 will accept "/" and "C:/" when they parse their first element,
  "C:/".  The root sorted first, so it behaves as users expect.

  The syntax "//" or "//machine" will be depreciated for now, the user
  needs to set up the extact "//machine/share/" that they want served
  on Win32.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90644 13f79535-47bb-0310-9956-ffa450edef68
2001-08-24 18:01:25 +00:00
William A. Rowe Jr
791e5eef89 Will I ever get my str*cmp semantics right? Not at this hour...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90611 13f79535-47bb-0310-9956-ffa450edef68
2001-08-24 03:45:21 +00:00
William A. Rowe Jr
744ab1e4a7 My initial changes failed to accomodate this faux entry.
If you didn't see any <Directory > blocks working right, try
  this cvs update.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90610 13f79535-47bb-0310-9956-ffa450edef68
2001-08-24 03:40:18 +00:00
Jeff Trawick
0171b0a5b9 fix fubar with recent commit to ap_core_translate()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90598 13f79535-47bb-0310-9956-ffa450edef68
2001-08-23 23:49:41 +00:00
William A. Rowe Jr
017d3624ed Fix my typo (I invented the silly constant, you would expect me to recall it.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90594 13f79535-47bb-0310-9956-ffa450edef68
2001-08-23 22:19:49 +00:00
William A. Rowe Jr
304f5cb2c8 Increase security in core.c by testing (as we merge the path) that the
URI does not go above the DocumentRoot (as defined by the OS, not by
  the URI specification), and give us the true name.

  When we are done, note the name is canonical for directory_walk.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90593 13f79535-47bb-0310-9956-ffa450edef68
2001-08-23 22:17:19 +00:00
William A. Rowe Jr
1a1e251ca8 Start with the presumption that canonical_filename is not likely to be set.
Therefore we will canonicalize it when it doesn't match filename.

  The next optimization should take the path common to canonical_filename
  and filename, and start merging filename from there for canonicalization.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90591 13f79535-47bb-0310-9956-ffa450edef68
2001-08-23 21:56:36 +00:00
William A. Rowe Jr
503b17b20b Eliminated ap_os_[systemcase|[case_]canonical]_filename() and
changes for ap_os_is_path_absolute (moved to util.c).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90572 13f79535-47bb-0310-9956-ffa450edef68
2001-08-23 19:15:13 +00:00
Ryan Bloom
6fdd45dc48 Update the Apache code to account for the XtOffset change in APR.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90356 13f79535-47bb-0310-9956-ffa450edef68
2001-08-19 05:48:19 +00:00
Ryan Bloom
8006145310 Begin to sanitize the MPM configuration directives. Now, all
MPMs use the same functions for all common MPM directives.  This
should make it easier to catch all bugs in these directives once.

Everybody should check their favorite MPM to ensure that it still
compiles, and that these directives work.  This is a big patch, and
although it looks good, and things compiled for me, that is no
garauntee that it will work on all platforms.  :-)

Submitted by:	Cody Sherr <csherr@covalent.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90132 13f79535-47bb-0310-9956-ffa450edef68
2001-08-13 04:57:35 +00:00