1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-25 10:59:28 +03:00
Commit Graph

898 Commits

Author SHA1 Message Date
Ken Coar
0d1a46028e Bring forward the FileETag directive enhancement from 1.3.23-dev.
(Passes all 61 of the apache/etags.t test.)  Bump MMN due to
	change to core_dir_config structure (new fields at end).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92830 13f79535-47bb-0310-9956-ffa450edef68
2002-01-11 18:55:27 +00:00
William A. Rowe Jr
30d1548be6 Fix a handful of AP_MODULE_DECLARE_DATA exports for .so modules.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92805 13f79535-47bb-0310-9956-ffa450edef68
2002-01-10 09:11:33 +00:00
William A. Rowe Jr
aff1454d34 *) Split all Win32 modules [excluding the core components mod_core,
mod_so, mod_win32 and the winnt mpm] into individual loadable
     modules, so the administrator may individually disable the former
     compiled-in modules by simply commenting out their LoadModule
     directives.  [William Rowe]

  *) Saved Win32 module authors and porters many future headaches, by
     duplicating the appropriate .h files such as os.h into the include
     directory, including in the build tree.  [William Rowe]

  Also noticed that version stamp resources weren't generated for proxy
  modules, this too is now fixed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92804 13f79535-47bb-0310-9956-ffa450edef68
2002-01-10 08:47:23 +00:00
Greg Stein
e312a3c306 Fix how mod_dav examines methods in the request -- use the method number
from the request. To do this, we also need to register all of the new/custom
methods that mod_dav recognizes.

Note: this fixes a bug where a method (e.g. REPORT) would appear in a
Limit(Except) directive and Apache would register the method. The method
number in the request would then be something *other* than M_INVALID, which
threw off mod_dav's tests.

Submitted by: Sander Striker <striker@apache.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92764 13f79535-47bb-0310-9956-ffa450edef68
2002-01-07 22:36:15 +00:00
Bill Stoddard
59550522ce Fix seg fault in HTTP_IN when trying to handle the LimitRequestBody
directive when reading a proxy response. We should bypass LimitRequestBody
activities when handling a response from the proxied server.

I don't think this will circumvent requestbody checking on a large request
coming into the server that is destined to be proxied. (not tested though).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92722 13f79535-47bb-0310-9956-ffa450edef68
2002-01-03 19:20:54 +00:00
Justin Erenkrantz
8c16aeeeb8 Fix LimitRequestBody directive by moving the relevant code from
ap_*_client_block to ap_http_filter (aka HTTP_IN).  This is the
only appropriate place for limit checking to occur (otherwise,
chunked input is not correctly limited).

Also changed the type of limit_req_body to apr_off_t to match the
other types inside of HTTP_IN.  Also made the strtol call for
limit_req_body a bit more robust.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92700 13f79535-47bb-0310-9956-ffa450edef68
2002-01-02 07:56:25 +00:00
Jeff Trawick
187e9ae3b9 Change core code to allow an MPM to set hard thread/server
limits at startup.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92512 13f79535-47bb-0310-9956-ffa450edef68
2001-12-18 13:48:54 +00:00
Bill Stoddard
6c942d45f4 Detabify the chunk filter. No function change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92487 13f79535-47bb-0310-9956-ffa450edef68
2001-12-14 21:30:16 +00:00
William A. Rowe Jr
33eaba0f1e A style change for ken :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92470 13f79535-47bb-0310-9956-ffa450edef68
2001-12-14 03:29:13 +00:00
Brian Pane
3e75e8b52e [indentation fixes only]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92389 13f79535-47bb-0310-9956-ffa450edef68
2001-12-08 02:04:51 +00:00
Brian Pane
dc85b1450c Reduced the number of times that we scan through each string
looking for invalid characters in analyze_ct()


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92388 13f79535-47bb-0310-9956-ffa450edef68
2001-12-08 02:00:42 +00:00
Jeff Trawick
226d166f3e fix a const-ness problem caused by calling the wrong strchr()
--enable-maintainer-mode and a decent compiler is *so* important!


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92365 13f79535-47bb-0310-9956-ffa450edef68
2001-12-07 12:29:04 +00:00
Brian Pane
47a51848bc Removed one more strdup in the content-type processing
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92364 13f79535-47bb-0310-9956-ffa450edef68
2001-12-07 08:48:17 +00:00
Brian Pane
ad405f14c2 Optimized away some string scans and copies in analyze_ct()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92363 13f79535-47bb-0310-9956-ffa450edef68
2001-12-07 08:19:44 +00:00
Brian Pane
a262e40728 optimization: replaced an apr_pstrndup call with apr_pstrmemdup
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92359 13f79535-47bb-0310-9956-ffa450edef68
2001-12-07 03:44:29 +00:00
Brian Pane
c98d16f329 Small performance fix: delay variable initialization in
ap_meets_conditions() until after the point where we
short-circuit out of the function on subrequests


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92354 13f79535-47bb-0310-9956-ffa450edef68
2001-12-06 02:57:19 +00:00
William A. Rowe Jr
cc843273b8 Ensure we include path_info in ap_internal_fast_redirect() for multiview
mapping.  This isn't the end of these bugs, only one puzzle piece.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92259 13f79535-47bb-0310-9956-ffa450edef68
2001-11-30 05:29:40 +00:00
Brian Pane
2f38fa60c8 optimized away the sprintf calls in ap_make_etag()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92161 13f79535-47bb-0310-9956-ffa450edef68
2001-11-24 07:38:52 +00:00
Ian Holsman
86b792b21c Modify post_config hook so that it can return a error,
causing the server not to start.
previous method was to call exit(1) which would not fail
gracefully

PR:
Obtained from:
Submitted by:
Reviewed by:	(Idea only Jeff Trawick)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92144 13f79535-47bb-0310-9956-ffa450edef68
2001-11-23 16:35:22 +00:00
Brian Pane
db91d6cf85 added inlined string concatenation to form_header_field() for speed
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92137 13f79535-47bb-0310-9956-ffa450edef68
2001-11-22 21:04:28 +00:00
Ryan Bloom
d70af2b3eb Fix the timeout logic that I broke last week. This adds a request
level filter that sets the timeout on the socket that is connected
to the client.

Thanks Greg Stein for seeing this bug.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92073 13f79535-47bb-0310-9956-ffa450edef68
2001-11-21 03:46:22 +00:00
Cliff Woolley
0caf1ce9db Fix a bug which would cause the response headers to be omitted
when sending a negotiated ErrorDocument because the required
filters were attached to the wrong request_rec.

Submitted by:	John Sterling <sterling@covalent.net>
Reviewed by:	Justin Erenkrantz, Cliff Woolley


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91900 13f79535-47bb-0310-9956-ffa450edef68
2001-11-13 07:37:13 +00:00
Justin Erenkrantz
24a8625ef6 This section of tabs in the middle of space-only bugs me.
Reformat this section.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91897 13f79535-47bb-0310-9956-ffa450edef68
2001-11-13 06:12:41 +00:00
Ryan Bloom
0c05b625ac Begin to abstract out the underlying transport layer.
The first step is to remove the socket from the conn_rec,
the server now lives in a context that is passed to the
core's input and output filters. This forces us to be very
careful when adding calls that use the socket directly,
because the socket isn't available in most locations.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91887 13f79535-47bb-0310-9956-ffa450edef68
2001-11-12 23:49:08 +00:00
Ian Holsman
eea38d7c2e This patch changes the apr_table_elts macro so that it provides
access to the internals of an apr_table_t via a const pointer
instead of the current non-const pointer.


Submitted by:	Brian Pane <BPane@pacbell.net>
Reviewed by:	Ian Holsman


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91860 13f79535-47bb-0310-9956-ffa450edef68
2001-11-11 22:31:04 +00:00
Ian Holsman
ab5d92e1bf use the new 'apr_hash_merge' function to do the overlays.
In our testing this resulting in a large performance win (>5%)

Submitted by:	 Brian Pane <bpane@pacbell.net>
Reviewed by:	Ian Holsman


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91825 13f79535-47bb-0310-9956-ffa450edef68
2001-11-09 23:15:43 +00:00
Justin Erenkrantz
0506ac2b0a Clean up the declarations and comments of some of the variables in
ap_get_client_block.
There were two len_read vars (each of different types), so the outer one
was shadowed - move it to the correct scope.
Move apr_bucket* old declaration inside of the loop so it is obvious
what its scope is.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91806 13f79535-47bb-0310-9956-ffa450edef68
2001-11-08 19:35:32 +00:00
Justin Erenkrantz
7f3dac3d26 Style guide conformance fixes (remove tabs, enforce {}s, no long lines, etc).
This file has bugged me for ages.  Much better to do this now than later.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91805 13f79535-47bb-0310-9956-ffa450edef68
2001-11-08 19:27:48 +00:00
Ken Coar
b12bfcff03 No functional changes, just style-guide ones..
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91802 13f79535-47bb-0310-9956-ffa450edef68
2001-11-08 15:13:49 +00:00
Greg Ames
272e6e0c4b Insure that ap_get_client_block _always_ sets the length parm positive when
calling ap_get_brigade.  This takes care of the loop with short request bodies
seen on 2.0.27.

This eliminates the use of r->remaining within ap_get_client_block.
http_filter has the equivalent in its context.  r->remaining is
still used in ap_setup_client_block for a "body too long" check.  But that
check can't cover chunked bodies, so it probably should happen elsewhere.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91785 13f79535-47bb-0310-9956-ffa450edef68
2001-11-07 15:41:43 +00:00
Greg Ames
474e1926bb prevent loops & seg faults when GETs have chunked bodies.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91734 13f79535-47bb-0310-9956-ffa450edef68
2001-11-02 20:21:44 +00:00
Greg Ames
da57dc70de make sure that the HTTP_IN filter is in place across internal redirects.
Without this, we see an extra socket read + timeout on POSTs.  If the client
sends in another request, we loop consuming memory.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91695 13f79535-47bb-0310-9956-ffa450edef68
2001-10-30 19:21:41 +00:00
Aaron Bannert
bb447fc0c5 Cautiously avoiding the scoping issue that was discussed on the list,
I thought these other changes needed to go in; Namely that we don't
need to check if the brigade is empty twice in the loop, just once.
Added a comment for good measure.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91478 13f79535-47bb-0310-9956-ffa450edef68
2001-10-16 01:04:08 +00:00
William A. Rowe Jr
71c53ab7da Forgot the directive's note change for "Any"
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91466 13f79535-47bb-0310-9956-ffa450edef68
2001-10-15 02:39:37 +00:00
Justin Erenkrantz
d55c3c855b Ensure that ap_http_filter can not be coersced into reading more than we
think is currently available.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91462 13f79535-47bb-0310-9956-ffa450edef68
2001-10-14 20:38:04 +00:00
Justin Erenkrantz
11b85e17ba Remove deprecated ap_dechunk_filter from header.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91434 13f79535-47bb-0310-9956-ffa450edef68
2001-10-11 19:44:51 +00:00
William A. Rowe Jr
0f93ac6408 Close the mod_mime file extension matching issue by (as Ken Coar suggests)
allowing users to continue to rely on the old 1.3 behavior of matching Any
  extensions, the strict behavior of matching NegotiatedOnly arguments, or
  including Handlers and Filters with the MultiviewsMatch directive for
  mod_negotiation control.  Unfortunately, the component matching occurs
  in mod_mime, so that's where this option must reside.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91419 13f79535-47bb-0310-9956-ffa450edef68
2001-10-11 13:27:05 +00:00
Ryan Bloom
0385ad938a Remove some warnings from the code. The buckets take a different
type for the length than the brigade functions do.  This moves the
len_read variable into the correct scope for the two times that it
is used, and defines it correctly for each scope.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91417 13f79535-47bb-0310-9956-ffa450edef68
2001-10-11 04:40:14 +00:00
Justin Erenkrantz
5c26e8775c We can't pass in &r->remaining because we change that value on output to
be how many bytes we read.  This trounces on the r->remaining value, so
we must use a local variable and subtract that from r->remaining after we
read.
Reviewed by:	Aaron Bannert


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91413 13f79535-47bb-0310-9956-ffa450edef68
2001-10-11 01:40:32 +00:00
William A. Rowe Jr
91cd7755cd Negotiation once allowed any file, of any filename extension, to be
served.  The original patch to mod_negotation eliminated all extensions
  that did not reflect filename extensions associated with negotiation
  variables, unless the user expressly specified the file name with those
  filename extensions.

  This patch [attributed to me] was vetoed at its inception, it was provided
  as an alternative for those who had to have the current behavior.

  There is now another alternative patch that would introduce the
  MultiviewsMatch directive to mod_mime, for consideration and discussion.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91405 13f79535-47bb-0310-9956-ffa450edef68
2001-10-10 19:43:37 +00:00
Greg Ames
29c24582cf allow file extentions specified by AddHandler, AddInputFilter, and
AddOutputFilter to be ignored when matching the URI.

Submitted by:	Bill Rowe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91376 13f79535-47bb-0310-9956-ffa450edef68
2001-10-09 01:45:20 +00:00
Greg Stein
173d083ed0 HTTP_IN was attempting to process the PEEK mode. This threw off
check_pipeline_flush(), making it think another request was available (when
it wasn't). Apache would avoid flushing the prior request and block on
reading the next request. (of course, the client wasn't sending the next
one, cuz it was still waiting for the results of the first one)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91366 13f79535-47bb-0310-9956-ffa450edef68
2001-10-08 20:12:50 +00:00
Ryan Bloom
e4322fb2e1 Fix --enable-mods-shared processing. If most is specified,
then all modules that can be compiled as shared modules are.  This
was done by adding a module config specifier, static, which denotes
that a module can not be compiled as a DSO.

Submitted by:   Aaron Bannert <aaron@clove.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91262 13f79535-47bb-0310-9956-ffa450edef68
2001-10-03 17:47:51 +00:00
William A. Rowe Jr
73fcb0b7af Goodbye r->content_lanaguage (per vote from apache-1.3/STATUS).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91244 13f79535-47bb-0310-9956-ffa450edef68
2001-10-02 21:13:42 +00:00
William A. Rowe Jr
8b54a808a9 Remain consistent to the connection_rec, and use apr_off_t for remaining.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91216 13f79535-47bb-0310-9956-ffa450edef68
2001-10-01 15:48:15 +00:00
Justin Erenkrantz
40304cb1ee Remove unnecessary initialization and add a comment about chunk_hdr's
scope.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91209 13f79535-47bb-0310-9956-ffa450edef68
2001-09-30 04:17:16 +00:00
Justin Erenkrantz
9846f649bf Switch to the corresponding apr_table_* macro rather than doing this
ourselves.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91207 13f79535-47bb-0310-9956-ffa450edef68
2001-09-30 01:37:20 +00:00
Justin Erenkrantz
0706716dbb Cleanup some needless initialization of the date variable and consolidate
the scope to only where necessary.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91206 13f79535-47bb-0310-9956-ffa450edef68
2001-09-30 01:17:13 +00:00
Justin Erenkrantz
66ee5533d3 Remove the lameo create_req hack and delay the addition of the HTTP_IN
filter until after we have read the headers.  This eliminates the status
hack that was in http_protocol.c and makes it all around better.

server/protocol.c now directly adds HTTP_IN filter - should we create a
specific hook for this?  (Could we do this as a post_read_request hook?)
I'm not terribly sure, but let's move it down to the lowest possible
place in ap_read_request.  We can change this detail later as we see fit.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91192 13f79535-47bb-0310-9956-ffa450edef68
2001-09-29 08:48:59 +00:00
Justin Erenkrantz
fa9432b44a Remove bogus comment.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91190 13f79535-47bb-0310-9956-ffa450edef68
2001-09-29 08:29:18 +00:00