1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-22 06:22:06 +03:00
Commit Graph

756 Commits

Author SHA1 Message Date
Brian Pane
2cd262da3c Optimization: replaced apr_pstrcat+apr_strlen with apr_pstrcatv in
basic_http_header()


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95042 13f79535-47bb-0310-9956-ffa450edef68
2002-05-12 01:18:28 +00:00
Cliff Woolley
68055b343f Fix if-modified-since on win32, I think. It should fix it in theory.
Verification would be nice.  At least I know it still works on Unix.  ;)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95007 13f79535-47bb-0310-9956-ffa450edef68
2002-05-08 02:17:04 +00:00
Cliff Woolley
19dcad16a0 Simplify a bit
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94945 13f79535-47bb-0310-9956-ffa450edef68
2002-05-06 08:14:52 +00:00
Justin Erenkrantz
105cb01305 Rewrite ap_byterange_filter so that it can work with data that does not
have a predetermined C-L - such as data that passes through mod_include.
Previously, these requests would generate 416 since when the byterange
filter ran, r->clength would be 0.  r->clength is only guaranteed to
be valid after C-L filter is run, but we need C-L to run after us so
that our data can have a proper C-L returned.  So, we need to rearrange
the code so that we can deal with this case.

Highlights:
- Remove r->boundary since it is possible to have this self-contained in
  boundary's ctx.  (May require MMN bump?)
- Remove call to parse_byteranges in ap_set_byterange since this would
  wrongly return -1 for dynamic responses.  We have to wait until we
  see EOS to call parse_byteranges.
- Move bound_head computation inside the num_parts == 2 check.
- Change a NULL brigade check to APR_BRIGADE_EMPTY
- Move the 416 error return to after we've run through all ranges and
  found none of them to be valid.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94942 13f79535-47bb-0310-9956-ffa450edef68
2002-05-06 07:43:40 +00:00
Brian Pane
8d637c1f13 Performance fixes:
* eliminate some copying of sub-parts of the content type in analyze_ct()
* take advantage of the fact that we know the lengths of those sub-parts
  in find_ct() to avoid having to recompute their length for concatenation

The charset handling code needs the same type of optimization eventually.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94900 13f79535-47bb-0310-9956-ffa450edef68
2002-05-02 03:19:44 +00:00
Brian Pane
4c04f98079 Replaced a sprintf("%d") with itoa
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94856 13f79535-47bb-0310-9956-ffa450edef68
2002-04-29 08:05:37 +00:00
Justin Erenkrantz
d8b443e424 If a subreq added a filter (say INCLUDES) and the subreq was promoted via
fast_redirect, the filter would still point at the subreq - rather than
the original r.  So, we must update any filters pointing at rr to be r.

This would cause lots of problems with mod_include with mod_dir requests
such as seen in PR 7966.  mod_include would be unsetting the headers_out
of rr instead of r.  But, we disassociate rr->headers_out and r->headers_out.
Therefore, the C-L header in r->headers_out would remain - even though it
bears no relation to what we will be outputting - causing problems.

This also now permits chunked-encoding of mod_dir/mod_include requests
which could never happen before and fixes the content-length problem
seen in PR 7966.

As hinted at in PR 7966, there is a race condition - if for some reason
the server stalls reading an included file (or even better, placing a
sleep in the cgi-bin script!), the invalid C-L may get propogated to the
client.

(Note that internal_internal_redirect has this same code fragment.)

PR: 7966


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94832 13f79535-47bb-0310-9956-ffa450edef68
2002-04-28 06:41:35 +00:00
Justin Erenkrantz
8e1a89e148 We must always use case-insensitive comparisons in mod_mime even if
our platform is not "case-blind."  This matches 1.3 behavior and our
docs say that the extension argument is case-insensitive anyway.

This is case where the code fix is easier than the doc fix.  =)

PR: 8223


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94789 13f79535-47bb-0310-9956-ffa450edef68
2002-04-25 05:40:15 +00:00
Justin Erenkrantz
33e0746661 The force-response-1.0 and downgrade-1.0 checks were swapped. This
would mean that downgraded requests were ineligible for force-response
checks.

Previously, 1.3 would do the downgrade in process_request_internal and
then the force-response later on in basic_http_header.

PR: 8357


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94771 13f79535-47bb-0310-9956-ffa450edef68
2002-04-23 22:15:09 +00:00
Brian Pane
a040b262c5 Optimization: short-circuit out of ap_set_byterange() more quickly if the
client isn't requesting a range


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94746 13f79535-47bb-0310-9956-ffa450edef68
2002-04-22 05:05:50 +00:00
Brian Pane
166b62f9c5 Added ap_recent_rfc822_date(), which uses the recent timestamp cache
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94735 13f79535-47bb-0310-9956-ffa450edef68
2002-04-21 07:55:50 +00:00
Justin Erenkrantz
1826f624eb Switch ap_http_filter to use ap_get_brigade and apr_brigade_flatten
instead of ap_getline - this prevents some odd looping issues that
can cause problems.

Also, when we call get_mime_headers to read the trailers, we need
to reset our ctx->state to BODY_NONE - there should only be MIME-header
information (followed by a blank CRLF line) - and we don't know
how much data there will be - so it is by definition BODY_NONE.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94704 13f79535-47bb-0310-9956-ffa450edef68
2002-04-18 22:50:54 +00:00
Justin Erenkrantz
4d16513418 Fix subreqs with non-defined Content-Types being served improperly.
If we do not know a C-T for a subreq, we *must* propogate that
non-knowledge upwards to the main request.

Previously, if you used a DirectoryIndex with a file without a C-T (say
.shtml without AddType), the r->content_type will be kept as
httpd/unix-directory when we promoted the subreq in mod_dir.  Since there
would be no handler on this file, ap_invoke_handler (config.c:355) would
set the handler to be httpd/unix-directory (which was the old C-T of the
dir).  This would then trigger the handler to become httpd/unix-directory.
mod_autoindex would then try to serve the request.  But, the filename
was propogated upwards by mod_dir's DirectoryIndex via
internal_fast_redirect - it would then return a 403 trying to generate a
mod_autoindex page for a file.

Now, we will use ap_default_type() which is correct.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94676 13f79535-47bb-0310-9956-ffa450edef68
2002-04-17 04:09:07 +00:00
Justin Erenkrantz
b92d0b62b3 Move 100 - Continue support to the HTTP_IN filter so that filters
are guaranteed to support 100 - Continue logic without any
intervention.

This requires some reshuffling of the code in http_protocol.c so
that some static declarations are available early enough in the
code so that ap_http_filter can access them.

Note that we can not read the chunk until after (possibly) sending the
100.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94668 13f79535-47bb-0310-9956-ffa450edef68
2002-04-16 05:50:37 +00:00
Justin Erenkrantz
6f208d31a7 Adds support for reading trailers on input by exporting get_mime_headers
to ap_get_mime_headers and calling it in the appropriate place in
ap_http_filter.

showstoppers--;


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94667 13f79535-47bb-0310-9956-ffa450edef68
2002-04-16 05:43:09 +00:00
Greg Ames
d4a51d0f74 ap_send_error_response: reset r->output filters to the protocol filters.
The equivalent logic was deleted when request filters were renamed to
RESOURCE filters.  This fixes the seg faults that sometimes happen on
daedalus after a bogus 416 HTTP response is generated.

In this case, includes_filter had found an <!--#include virtual > tag, and
sent a brigade representing the data before it down the filter chain.  The
byterange filter generated the bogus 416.  ap_send_error_response essentially
starts over with a new response, but it didn't do anything to clean up the
filter chain.  So the same instance of the includes_filter got driven from the
top with the canned error text and and EOS bucket, which confused the heck
out of it.  It inserted a sentinel from the original brigade into the
error page brigade, causing problems further down the filter chain.

Submitted by:	Greg Ames, Jeff Trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94662 13f79535-47bb-0310-9956-ffa450edef68
2002-04-15 20:42:45 +00:00
Ryan Bloom
c3d4e4787a Fix a segfault. Only try to set this if the sub_Request has a c-t.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94471 13f79535-47bb-0310-9956-ffa450edef68
2002-04-05 21:24:13 +00:00
Ryan Bloom
b18ca18f8d If we are doing a fast_redirect, and we don't have a main request, then
make sure that we don't have the sub_req_output_filter.  This was
causing problems when there were multiple sub_Requests, and some should
have had the filter, but the last one shouldn't.

This fixes the final known bug in 2.0.35


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94470 13f79535-47bb-0310-9956-ffa450edef68
2002-04-05 21:16:11 +00:00
William A. Rowe Jr
e5200732d3 Correct partitioning of filter handles between core and http, and
export the handle pointers on Win32.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94468 13f79535-47bb-0310-9956-ffa450edef68
2002-04-05 20:55:00 +00:00
William A. Rowe Jr
41354689f4 Clean up breakage introduced recently that sent the wrong headers through
the http_headers output filter.  Now we will always point every filter at
  the 'redirected' request, e.g. the actual error message response rather
  than the request that failed.

Reviewed by: JimJag, Rbb, DougM


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94467 13f79535-47bb-0310-9956-ffa450edef68
2002-04-05 20:06:52 +00:00
Ryan Bloom
f25b712539 This fixes the mod_autoindex problem of not getting the list of files.
The problem was that the internal_fast_redirect removed the SUB_REQ
filter, but we are still in a sub_request.  The solution is to have the
fast_internal_Redirect function check if we are in a sub_Request and
re-add the filter if we are.
Submitted by:	Ryan Bloom, Greg Ames, Jeff Trawick, and Will Rowe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94456 13f79535-47bb-0310-9956-ffa450edef68
2002-04-05 17:43:03 +00:00
Justin Erenkrantz
a9960ebdbb Prevent ap_add_output_filters_by_type from being called in
ap_set_content_type if the content-type hasn't changed.

Reviewed by:	Ryan Bloom


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94368 13f79535-47bb-0310-9956-ffa450edef68
2002-04-01 22:26:09 +00:00
Cliff Woolley
3e2ce19baf BUCKET FREELISTS
Add an allocator-passing mechanism throughout the bucket brigades API.

From Apache's standpoint, the apr_bucket_alloc_t* used throughout a given
connection is stored in the conn_rec by the create_connection hook.  That
means it's the MPM's job to optimize recycling of apr_bucket_alloc_t's --
the MPM must ensure that no two threads can ever use the same one at the
same time, for instance.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94304 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 08:17:26 +00:00
Bill Stoddard
7da34b011d Add a new parameter to the quick_handler hook to instruct
quick handlers to optionally do a lookup rather than actually
serve content. This is the first of several changes required fix
several problems with how quick handlers work with subrequests.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94240 13f79535-47bb-0310-9956-ffa450edef68
2002-03-27 22:42:16 +00:00
Jeff Trawick
743eeb21e9 style improvement for checking whether the result of an
assignment was NULL

Submitted by:	Sander Striker


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94220 13f79535-47bb-0310-9956-ffa450edef68
2002-03-27 13:05:14 +00:00
Cliff Woolley
7a5af0ba71 Anal-retentive factor -- be consistent in our whitespace.
Reviewed by: Greg Stein


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94192 13f79535-47bb-0310-9956-ffa450edef68
2002-03-27 00:28:07 +00:00
Cliff Woolley
a31e5cc460 nit
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94157 13f79535-47bb-0310-9956-ffa450edef68
2002-03-25 07:37:34 +00:00
Cliff Woolley
388bb6d20f Fix a segfault because ap_method_registry_init() was never called unless
ap_method_register() was called [ie, unless mod_dav was installed]

Reported by: Brian Pane


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94156 13f79535-47bb-0310-9956-ffa450edef68
2002-03-25 07:20:45 +00:00
Cliff Woolley
0cdeea46f3 What, we don't support HEAD requests now? ;)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94154 13f79535-47bb-0310-9956-ffa450edef68
2002-03-25 01:10:06 +00:00
Jeff Trawick
ee4a64c90a add an extra level of parentheses to say "yes I know what I'm
doing with that single '='" and more importantly to quiet a
gcc -Wall warning


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94141 13f79535-47bb-0310-9956-ffa450edef68
2002-03-22 20:37:04 +00:00
Graham Leggett
9cb9ca8e3a When a proxied site was being served, Apache was replacing
the original site Server header with it's own, which is not
allowed by RFC2616. Fixed.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94133 13f79535-47bb-0310-9956-ffa450edef68
2002-03-22 18:34:46 +00:00
Bill Stoddard
d5c24720dc Commit 1 of 2 to:
1. rename ap_rset_content_type to ap_set_content_type
2. reverse the arguments on the call to aligh with ap_set_content_length


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94056 13f79535-47bb-0310-9956-ffa450edef68
2002-03-20 17:41:55 +00:00
Jeff Trawick
f3c3ebe7f5 ap_rset_content_type() should take const char * instead of char *
this is friendlier to callers and r->content_type is const char *
too so it isn't harmful

this fixes a fatal compile error with AIX+xlc


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94051 13f79535-47bb-0310-9956-ffa450edef68
2002-03-20 12:03:49 +00:00
Bill Stoddard
470edb9dd8 First commit to introduce accessor function to set r->content_type..
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94027 13f79535-47bb-0310-9956-ffa450edef68
2002-03-20 01:58:47 +00:00
Greg Stein
b9514876c3 The underlying change here was to add the new WebDAV/DeltaV methods
now that it has an RFC. At the same time, I revamped a good chunk of
the name <-> number mapping code in http_protocol.c

* add M_FOO constants for the new RFC 3253 (DeltaV) methods. label
  where each of the builtin methods comes from.

* moved METHOD_NUMBER_FIRST/LAST from http_protocol.h into
  http_protocol.c since they weren't used anywhere else and they
  weren't namespace-protected.

* create register_one_method() and use it to insert all builtin
  methods (at _init() time) and extended methods into the registry.

* add a lookup_builtin_method() to quickly map a method name to a
  builtin method number.

* rebuild ap_method_number_of() to use the new lookup function.

* revamp ap_method_name_of() to use the registry to locate the name
  for any method number. add a pool argument (no callers in the core
  code needed to be updated)

* revamp make_allow() to deal with the new method numbers and all
  extended methods.

* in mod_dav, use the new method numbers rather than registering the
  DeltaV methods.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94015 13f79535-47bb-0310-9956-ffa450edef68
2002-03-19 10:11:33 +00:00
Jeff Trawick
0bd9790c41 fix the type of a string argument to ap_log_error()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93973 13f79535-47bb-0310-9956-ffa450edef68
2002-03-16 20:29:38 +00:00
William A. Rowe Jr
65a37752ec Eliminate potential ap_server_root_relative segfaults, with the input
of Jeff Trawick's style changes to the first patches.  Doesn't include
  the fixes to ssl [more complex], and we won't trap errors that involve
  ap_serverroot, since we presume that was normalized on the way in.
  Therefore, testing ap_server_root_relative(DEFAULT_FOO) cases
  should never become necessary.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93965 13f79535-47bb-0310-9956-ffa450edef68
2002-03-16 18:26:58 +00:00
Roy T. Fielding
845cbfd508 Update our copyright for this year.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93918 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 20:48:07 +00:00
Bill Stoddard
6752a95e45 Move the quick_handler comment to the new quick handler location. Do not
call quick handler on a dirent subrequest. This fixes a nasty problem in
mod_cache where it was serving up content on a dirent subrequest.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93915 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 19:41:56 +00:00
Justin Erenkrantz
3058b601ff As hinted on dev@httpd, change filter naming schemes to match our
expectations of their usage.

The reason that we should make this change now is that we have changed
the implied meaning of AP_FTYPE_HTTP_HEADER - some users of this should
be PROTOCOL while others should be CONTENT_SET.  In order to clarify it,
toss all of the bogus names and force the filter writers to make sure
they understand what they are doing.

CONTENT_SET is new (horrible name - change if you have better idea), but
it indicates that it should run between RESOURCE and PROTOCOL.
mod_deflate is the ideal CONTENT_SET filter.

The changed type names are:
CONTENT is now RESOURCE.
HTTP_HEADER is now PROTOCOL.  However, most filters that used HTTP_HEADER
may want CONTENT_SET.  (Only things like POP and HTTP belong as PROTOCOL.)

MMN bump since all filters need to be recompiled due to filter reordering.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93756 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 09:27:17 +00:00
Justin Erenkrantz
15584be90b Fix prototype and return value of http_create_request to match new hook
declaration.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93754 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 08:23:56 +00:00
Ryan Bloom
41a7e56b09 There is no reason to insert the protocol filters in the insert_filters
phase.  This moves us to inserting the filters in the create_request
phase.  This makes more sense, because now the protocol filters are attached
to the request as soon as possible.  Previously, some requests never
called the insert_filters phase, so they don't get the filters.  Think
redirects for reqeusts that never call insert_filters.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93750 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 05:02:53 +00:00
Ryan Bloom
17085db8d6 Remove a comment that no longer applies.
Submitted by:  Greg Stein


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93725 13f79535-47bb-0310-9956-ffa450edef68
2002-03-06 14:43:45 +00:00
Ryan Bloom
da5dd9c2b2 Remove another hack from the server. The add_required_filters function
was required to make sure that the sub request had the correct filters
when we went send the error page.  With the new filter insertion logic,
this is no longer necessary.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93710 13f79535-47bb-0310-9956-ffa450edef68
2002-03-05 05:41:28 +00:00
William A. Rowe Jr
e86a858a20 Just formatting cleanup, nothing interesting here, move along :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93700 13f79535-47bb-0310-9956-ffa450edef68
2002-03-04 19:11:05 +00:00
Ryan Bloom
c8965c1e94 Adding the same filters over and over again used to be okay, because
we would lose the extra filters.  Now, if a filter is added, it is run.
Unfortunately, this can cause an infinite loop, or it can cause request
headers to appear twice.  This commit removes two instances in the core
where we were inserting filters for a second and third time.  The bug
was that error responses were causing infinite loops.

This also removes the reset_filters function, which did the exact
same thing as add_required_filters.  The two functions were both called
in error conditions, which was part of what caused this bug.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93693 13f79535-47bb-0310-9956-ffa450edef68
2002-03-04 05:54:44 +00:00
Ryan Bloom
633f3112fe Classify some of the input filters as the correct types. Previous to
this patch, the type wasn't too important, because all filters were
put on the same list.  After this patch, the filter type is very important,
because there are three different types of filters, and they are all treated
differently, namely:

CONNECTION:	Filters of this type are valid for the lifetime of this
		connection.
PROTOCOL:	Filters of this type are valid for the lifetime of this
		request from the point of view of the client, this means
		that the request is valid from the time that the request
		is sent until the time that the response is received.
CONTENT:	Filters of this type are valid for the time that this
		content is used to satisfy a request.  For simple requests,
		this is identical to PROTOCOL, but internal redirects
		and sub-requests can change the content without ending
		the request.

It is important to realize that the three major types above are actually
broken down into smaller groups in the code, to ensure that the ordering
of filters is always correct.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93688 13f79535-47bb-0310-9956-ffa450edef68
2002-03-03 22:34:55 +00:00
Ryan Bloom
9ac46ee310 Fix the mod_dir/mod_negotiation bug, where redirects and sub requests
were not getting the correct filters.  This is done by creating a location
in the request rec that holds protocol level filters.  Protocol level
filters survive for one request, from the time the request is received
from the user to the time the response is sent.  r->output_filters now
stores the request level filters, which are only valid for the lifetime
of one request_rec.

This patch works, but it is not complete.  The second half of the problem
is that add_any_filter doesn't check where it puts the filters that it
adds, so it is possible for filters to be put on this wrong list, and
for filters to be lost completely during request processing.  That half
of the fix will be coming in the next day or so.

Submitted by:	Will Rowe, Justin Erenkrantz, Ryan Bloom


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93682 13f79535-47bb-0310-9956-ffa450edef68
2002-03-03 02:15:52 +00:00
Justin Erenkrantz
04533b8d27 Don't set bytes_sent to be 0 when r->assbackwards since this screws up
logging.

The content length filter seems to track bytes_sent properly regardless
of HTTP version.  The HTTP header filter knows not to send C-L (or any
headers) to this client.

showstoppers--;

(Also fix typo of my last name in CHANGES...)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93588 13f79535-47bb-0310-9956-ffa450edef68
2002-02-27 03:55:31 +00:00
Justin Erenkrantz
1ed7a6d590 Oh, no. It's legal to have 0 bytes read. Just not -1. If *that* happens,
I want to see a core.  0 bytes reads are fine.  Grr.

(I'm so tempted to throw this assert out, but if we get -1 length
brigades back, we're gonna be screwed.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93202 13f79535-47bb-0310-9956-ffa450edef68
2002-02-03 17:43:35 +00:00