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
Ryan Bloom
3cba58c98f When I initially pulled the BYTERANGE filter into the core, Greg Stein
told me I was wrong.  I was wrong, and Greg was right.  This commit
just moves the byterange filter and its related functions out of the core,
and puts them back in the HTTP specific module.
Submitted by:	Greg Stein


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88815 13f79535-47bb-0310-9956-ffa450edef68
2001-04-11 23:37:16 +00:00
Greg Stein
11d8cc5a58 Fix the OPTIONS response. It was attempting to send an HTTP response
(header) through the filter stack, which just wrapped that response in
another set of headers.

Instead, just set the Allow header and return. The EOS will then flush that
header with the rest of the data through the header filter, and generate the
proper response.

Also, cleaned out the unused header_filter_ctx and the "len" variable from
the header filter, and added some comments here and there.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88600 13f79535-47bb-0310-9956-ffa450edef68
2001-03-28 10:40:44 +00:00
Bill Stoddard
4732553655 Performance: Add quick_handler hook. This hook is called at the
very beginning of the request processing before location_walk,
translate_name, etc.  This hook is useful for URI keyed content
caches like Mike Abbott's Quick Shortcut Cache.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88596 13f79535-47bb-0310-9956-ffa450edef68
2001-03-27 19:19:08 +00:00
Jeff Trawick
1545559270 make sure we have the prototype for strcasecmp()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88593 13f79535-47bb-0310-9956-ffa450edef68
2001-03-27 11:47:23 +00:00
Ryan Bloom
e845552895 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88580 13f79535-47bb-0310-9956-ffa450edef68
2001-03-25 20:42:47 +00:00
Jeff Trawick
9b13772f87 Handle ap_discard_request_body() being called more than once.
Add a debug assertion to verify that c->remain is zero when a new
request starts.  ap_http_filter() does the wrong thing otherwise.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88540 13f79535-47bb-0310-9956-ffa450edef68
2001-03-19 21:54:57 +00:00
Ryan Bloom
895b7b26ac 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88532 13f79535-47bb-0310-9956-ffa450edef68
2001-03-18 02:33:23 +00:00
Chuck Murcko
15e12b0c7f Stops the forced downgrade of the connection to HTTP/1.0 for proxy requests.
Submitted by:	Graham Leggett
Reviewed by:	Chuck Murcko


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88528 13f79535-47bb-0310-9956-ffa450edef68
2001-03-16 07:37:12 +00:00
Chuck Murcko
93463cfc17 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88527 13f79535-47bb-0310-9956-ffa450edef68
2001-03-16 07:28:08 +00:00
Ryan Bloom
54ed3070d5 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88453 13f79535-47bb-0310-9956-ffa450edef68
2001-03-05 04:43:56 +00:00
Ryan Bloom
3eeeb76fb4 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88449 13f79535-47bb-0310-9956-ffa450edef68
2001-03-04 06:27:27 +00:00
Jeff Trawick
072df7960c In ap_method_in_list(), fix a typo which inadvertently cleared
l->method_list.

PR:		6980


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88433 13f79535-47bb-0310-9956-ffa450edef68
2001-03-02 22:05:39 +00:00
William A. Rowe Jr
16231360f1 Goodbye ap_send_http_header
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88390 13f79535-47bb-0310-9956-ffa450edef68
2001-02-28 15:24:09 +00:00
Greg Stein
4be8260f87 core_pre_config isn't needed
Submitted by: Cliff Woolley


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88384 13f79535-47bb-0310-9956-ffa450edef68
2001-02-28 07:43:12 +00:00
Cliff Woolley
759657fd4c Remove references to apr_bucket_init_types() and
apr_bucket_insert_type().  I imagine that core_pre_config() could
go away completely, but I'll leave that to someone who knows
more about hooks than I do.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88381 13f79535-47bb-0310-9956-ffa450edef68
2001-02-28 04:48:44 +00:00
Cliff Woolley
fa49b7942b Update to reflect the absence of the apr_bucket_shared
struct and the newly-added start field of the apr_bucket struct


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88372 13f79535-47bb-0310-9956-ffa450edef68
2001-02-27 21:02:15 +00:00
Greg Ames
e7bc0e338f finally figured out why that word looked funny - can't spell
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88362 13f79535-47bb-0310-9956-ffa450edef68
2001-02-26 22:43:15 +00:00
Greg Ames
baf1e03541 insure that canned error msgs are translated to ascii before leaving
an ebcdic server in worst case scenarios.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88361 13f79535-47bb-0310-9956-ffa450edef68
2001-02-26 22:07:00 +00:00
Ryan Bloom
4296146043 Begin to move functions from the http module to the core. The goal is to
have only functions that are HTTP specific in the http directory.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88341 13f79535-47bb-0310-9956-ffa450edef68
2001-02-26 04:38:22 +00:00
Cliff Woolley
93fe62dd77 Simplify by using apr_bucket_delete(e) where possible.
(Oh, plus one tiny little loop simplification.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88337 13f79535-47bb-0310-9956-ffa450edef68
2001-02-25 23:08:52 +00:00
Ryan Bloom
c03d4e0715 Don't assume that the byterange filter will always be called more than
once.  It is perfectly legal to call the byterange filter one time,
with all the data.  Without this patch, that case will seg fault.
Submitted by:	Ryan Morgan <rmogran@covalent.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88320 13f79535-47bb-0310-9956-ffa450edef68
2001-02-25 16:57:08 +00:00
Ryan Bloom
ed157ba547 Move the error_bucket definition from the HTTP module to the core server.
Every protocol will need this definition, so it belongs in the core.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88318 13f79535-47bb-0310-9956-ffa450edef68
2001-02-25 04:24:17 +00:00
William A. Rowe Jr
5cccb4a478 Clean up namespace badness with s/configfile_t/ap_configfile_t/
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88312 13f79535-47bb-0310-9956-ffa450edef68
2001-02-25 00:51:32 +00:00
Greg Stein
ee3fe477e3 *) fix inline handling. we had: apr_inline, APR_INLINE, USE_GNU_INLINE, and
INLINE. Now, we just have APR_INLINE and APR_HAS_INLINE.
   - convert all usage
   - note that apr_general messed up the defn (compared to apr.h)
   - simplify the inline decision logic in os/*/os.h
   - simplify the code in os/*/os-inline.c

*) toss ap_checkconv() [no longer used]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88298 13f79535-47bb-0310-9956-ffa450edef68
2001-02-24 11:23:31 +00:00
Bill Stoddard
298da30c6f BUFF is gone!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88266 13f79535-47bb-0310-9956-ffa450edef68
2001-02-21 21:14:33 +00:00
Bill Stoddard
a59f097f36 Fix windows compile break
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88249 13f79535-47bb-0310-9956-ffa450edef68
2001-02-20 18:49:32 +00:00
Greg Stein
e78825ca70 - more ap_conf_vector_t fixup.
- break out the cmd_parms to ap_set_config_vectors to clarify/doc what is
  happening in there and because the function operates independent of cmds.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88227 13f79535-47bb-0310-9956-ffa450edef68
2001-02-18 04:26:13 +00:00
Greg Stein
b66380e941 shift some declarations over to mod_core.h where they're totally private.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88226 13f79535-47bb-0310-9956-ffa450edef68
2001-02-18 03:18:35 +00:00
Greg Stein
dd9b08e321 *) Introduce "ap_conf_vector_t" type to assist with legibility and provide
some type safety. (unfortunately, our old "void*" is type-safe with the
   new one, but over time we should be better)

*) Propagate the new type to all appropriate functions.

*) Random cleaning, whitespace, stylistic nits.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88225 13f79535-47bb-0310-9956-ffa450edef68
2001-02-18 02:58:53 +00:00
Roy T. Fielding
381f88d56a Update copyright to 2001
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88184 13f79535-47bb-0310-9956-ffa450edef68
2001-02-16 04:26:53 +00:00
Ryan Bloom
78821bbf21 Remove the coalesce filter. With the addition of the ap_f* functions,
this filter is no longer necessary.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88178 13f79535-47bb-0310-9956-ffa450edef68
2001-02-15 23:07:42 +00:00
Doug MacEachern
a79ca72564 backout name change:
apr_bucket_notimpl_setaside -> apr_bucket_setaside_notimpl
apr_bucket_notimpl_split    -> apr_bucket_split_notimpl
apr_bucket_notimpl_copy     -> apr_bucket_copy_notimpl
apr_bucket_notimpl_destroy  -> apr_bucket_destroy_notimpl
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88143 13f79535-47bb-0310-9956-ffa450edef68
2001-02-13 20:29:50 +00:00
Doug MacEachern
c0311e3bf2 rename:
ap_bucket_create_error -> ap_bucket_error_create
ap_bucket_make_error   -> ap_bucket_error_make
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88142 13f79535-47bb-0310-9956-ffa450edef68
2001-02-13 20:24:38 +00:00
Greg Stein
32dcfd70c4 sneaky for loop... make it more obvious what it is doing
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88105 13f79535-47bb-0310-9956-ffa450edef68
2001-02-12 03:02:05 +00:00
Greg Stein
dc44adee51 include "apr_signal.h" when needed
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88082 13f79535-47bb-0310-9956-ffa450edef68
2001-02-11 01:09:02 +00:00
Ryan Bloom
69f1ea01a9 Fix a warning when compiling with GPROF
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88076 13f79535-47bb-0310-9956-ffa450edef68
2001-02-11 00:10:30 +00:00
Greg Stein
5dc34feb12 *) continued header revamping
*) torch some headers (and some libs) from the autoconf stuff


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88061 13f79535-47bb-0310-9956-ffa450edef68
2001-02-10 14:04:21 +00:00
Greg Stein
bb282b75f7 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88060 13f79535-47bb-0310-9956-ffa450edef68
2001-02-10 13:05:29 +00:00
Ryan Bloom
6fc8754f2b 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88053 13f79535-47bb-0310-9956-ffa450edef68
2001-02-10 05:30:51 +00:00
Ryan Bloom
0ed6a0d15c 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]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88042 13f79535-47bb-0310-9956-ffa450edef68
2001-02-10 00:33:38 +00:00
Greg Stein
f08e822471 *) minor changes, simplifications
*) fix terminate_header: don't assume anything about the brigade (especially
   that its last bucket is a shared/heap bucket)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88032 13f79535-47bb-0310-9956-ffa450edef68
2001-02-09 12:19:47 +00:00
Ryan Bloom
b3ea914127 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88029 13f79535-47bb-0310-9956-ffa450edef68
2001-02-09 07:17:53 +00:00
Doug MacEachern
88d3406f9a renaming various functions for consistency sake
see: http://apr.apache.org/~dougm/apr_rename.pl
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88019 13f79535-47bb-0310-9956-ffa450edef68
2001-02-08 07:45:33 +00:00
Ryan Bloom
6e034c9078 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88000 13f79535-47bb-0310-9956-ffa450edef68
2001-02-06 22:49:46 +00:00
Ryan Bloom
f11cd9f019 If we are in the middle of a brigade loop, we don't want to always check
the first bucket in the brigade.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87986 13f79535-47bb-0310-9956-ffa450edef68
2001-02-06 04:13:45 +00:00
Bill Stoddard
1a3c98e63b 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87983 13f79535-47bb-0310-9956-ffa450edef68
2001-02-05 18:28:47 +00:00
Jeff Trawick
2407c615d0 avoid warning in non-AP_DEBUG build
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87957 13f79535-47bb-0310-9956-ffa450edef68
2001-02-02 18:15:42 +00:00
Ryan Bloom
deab760727 Bring mod_status for 2.0 back in line with mod_status for 1.3. This is
basically a straight port of the 1.3 module to 2.0.  The MPMs need to be
modified a bit to work with mod_status, but prefork, mpmt_pthread, and
dexter have already been changed.  I will fix perchild tonight.  There
is a lot of common code that can be abstracted, and there seems to be a
small bug with regard to what mpmt_pthread and dexter report as current
connections.  ExtendedStatus does work again, although until the bug
mentioned above is fixed, it isn't as useful on mpmt_pthread and dexter.

Next week, I will look at allowing other modules to add data to the
STATUS page and possibly to the scoreboard itself.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87949 13f79535-47bb-0310-9956-ffa450edef68
2001-02-01 21:55:16 +00:00
William A. Rowe Jr
d038b40a6f Fix the remaining APR_FINFO_NORM occurances. Again, followup is needed
to actually test any field outside the scope of APR_FINFO_MIN.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87935 13f79535-47bb-0310-9956-ffa450edef68
2001-01-31 23:11:05 +00:00
Bill Stoddard
2b16dac8e1 This fixes a performance problem with directory indexing on Windows.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87934 13f79535-47bb-0310-9956-ffa450edef68
2001-01-31 22:58:53 +00:00