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

2792 Commits

Author SHA1 Message Date
Graham Leggett
de8942eb9f Scrap CacheMaxExpireMin and CacheDefaultExpireMin. Change
CacheMaxExpire and CacheDefaultExpire to use seconds rather than
hours.
PR:
Obtained from:
Submitted by:
Reviewed by:	Bill Stoddard


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93810 13f79535-47bb-0310-9956-ffa450edef68
2002-03-09 06:59:28 +00:00
Bill Stoddard
e0530c48a6 No this is not a pretty site... close the cached file descriptor. There is no clean
way to get this back into an apr_file_t since we are in the request pool cleanup.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93806 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 21:59:25 +00:00
Doug MacEachern
cf13aec945 support reuse of encrypted DSA keys on restart
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93799 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 18:16:41 +00:00
Jeff Trawick
b787e06078 add a bit of error checking to the mod_cgid daemon's logic to read
the request over the unix socket

it isn't perfect (EINTR, partial reads) but it is good enough to
avoid segfaulting if some code tries to verify that cgid is active
by connecting to its unix socket


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93790 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 13:46:36 +00:00
Bill Stoddard
aca5bdee8e Add file handle caching to mod_mem_cache. This is still experimental and
is enabled by the #define CACHE_FD, which is off by default.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93789 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 04:25:30 +00:00
Ian Holsman
0536b99534 new directive SSIUndefinedEcho.
this allows webadmins to change the default '(none)' to something
a bit more presentable (eg <!-- undef -->)
PR:
Obtained from: Rex (the hack he had to fix this was so ugly I was forced to do this)
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93788 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 04:14:26 +00:00
Jeff Trawick
1151bac94b implement a common function for getting a socket and trying to connect
to the target host; use that common function for proxy HTTP and proxy
CONNECT

In that new function, fix this problem:

     Proxy HTTP and CONNECT: Keep trying other addresses from the DNS
     when we can't get a socket in the specified address family.  We may
     have gotten back an IPv6 address first and yet our system is not
     configured to allow IPv6 sockets.

An example host is www.ipv6.org.  The first address I get back is
an IPv6 address, but my machine may not be configured to allow an
AF_INET6 socket.

Before the fix: The apr_socket() failure was fatal.
After the fix:  When apr_socket() fails, we go to the next address from
                the resolver, successfully create a socket in the
                specified family (AF_INET), and all is well.

(an unrelated fix in this commit was to pass a server_rec in a broken
ap_log_error() call)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93787 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 02:03:47 +00:00
Greg Stein
987b098777 * mod_dav.c (dav_handle_err): look through the error stack for some
kind of errortag.  any buried errortag is better than a generic
    response.

Submitted by: Ben Collins-Sussman <sussman@collab.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93786 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 01:22:20 +00:00
Doug MacEachern
e359ecfc06 remove unused ap_server_ctx member from SSLSrvConfigRec
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93785 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 00:03:50 +00:00
Doug MacEachern
d27bcd07fd fix typo in ap_proxy_http_canon: s/https:/https/
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93784 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 23:40:03 +00:00
Bill Stoddard
33d246241a Deconstify...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93782 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 22:48:37 +00:00
Bill Stoddard
11cd8210d8 Deconstify these fields...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93781 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 22:47:15 +00:00
Bradley Nicholes
44fc00ac6a Need to check if the userdir is absolute before it gets split apart by ap_getword()
Also fixed up the !HAVE_DRIVE_LETTERS case (such as NetWare) where
the volume delimiter ( colon ) is not in an absolute position.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93780 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 22:36:07 +00:00
Bill Stoddard
228d7cd938 Alignment tweaks. No function change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93779 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 22:26:33 +00:00
Bill Stoddard
495a3a7c77 Bail out gracefully if any part od cache load fails. Still need to handle bailing
out of serving out of the cache fails.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93778 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 22:24:56 +00:00
Bill Stoddard
5e0e6c4336 Change the return type on read_headers, write_headers, read_body and write_body.
Sanitize some of the return codes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93777 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 22:13:15 +00:00
Bill Stoddard
ec5ec9665f Do a better job of cleaning up (plug memory leaks) and handling aborted
cache updates. We really need a better way to allocate cache_objects.
Making WAY too many malloc/calloc calls...


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93775 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 21:44:49 +00:00
Sander Striker
fc9cd645c6 Big style patch.
Mostly detab, but also changed some comments from:
/*
**
*/

to:

/*
 *
 */

The latter is the dominant style in apache.  The only
other places they can be found (AFAIK) are mod_ssl and
mod_rewrite.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93773 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 19:53:31 +00:00
Bill Stoddard
77bf9d14e0 Track cache size as items are added to and removed from the cache
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93772 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 19:27:58 +00:00
Bill Stoddard
c9ca452fa4 Place some limits on the size of the cache and the number of objects that can be
placed in the cache.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93771 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 19:21:56 +00:00
Bradley Nicholes
47551c2c45 NetWare .def files for the DAV modules
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93770 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 18:14:03 +00:00
Bill Stoddard
793eb2217c Add a comment...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93768 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 15:16:25 +00:00
Bill Stoddard
7abb83cc31 Add CacheMinObjectSize and CacheMaxObjectSize directives to mod_mem_cache
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93763 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 14:55:10 +00:00
Sander Striker
a5ac6bf672 Cleanup some left behind style nits I missed and clean
one up I just introduced :(.
Add the standard comments to the module struct.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93761 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 14:13:23 +00:00
Sander Striker
7a7a919394 Always fun when you mess up your first commit...
Get the logic right this time.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93760 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 13:12:59 +00:00
Sander Striker
2ec1ba9812 Check to see if r->content_type != NULL before comparing it to something.
Remove a check that was in here twice.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93759 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 13:08:34 +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
94c63c92a8 We need to setup protocol filters for the fake request. If we don't,
then when any request filters are added, the connection filters will be
lost.  This fixes the proxy.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93752 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 06:07:25 +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
Ian Holsman
da35725071 apr-utils rename apr_ansi_time_to_apr_time and
apr_exploded_time_t.

PR:
Obtained from:
Submitted by:	Thom May <thom@planetarytramp.net>
Reviewed by:	Ian Holsman


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93733 13f79535-47bb-0310-9956-ffa450edef68
2002-03-06 17:55:38 +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
Aaron Bannert
b658e54138 Fix up the wording on the --with-module output printed during --help.
This has been a FAQ with some new 2.0 module developers.

Submitted by:	Thom May <thom@planetarytramp.net>
Reviewed by:	Aaron Bannert


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93705 13f79535-47bb-0310-9956-ffa450edef68
2002-03-04 21:20:12 +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
Bill Stoddard
564612dcb8 Bail on computing the amount of bytes in a brigade if any of the buckets
have indeterminate length (e.g., a pipe bucket). Passing an invalid length
into mod_mem_cache can cause it to overflow its cache buffer.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93698 13f79535-47bb-0310-9956-ffa450edef68
2002-03-04 17:13:08 +00:00
Justin Erenkrantz
31eaa061ce The style police at work.
(Justin took a minor pass at this on top of Sander's patch.)

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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93695 13f79535-47bb-0310-9956-ffa450edef68
2002-03-04 10:46:22 +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
Doug MacEachern
b89f15f2f8 reuse existing private key if possible for all SSLPassPhraseDialog
types, not just builtin.  on win32 for example, a pipe dialog might
allocate a wintty for prompting, which results in 4 prompts at
startup, 2 for each child and 2 within each when httpd "restarts
itself".
update comments on this and wrap them a bit.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93679 13f79535-47bb-0310-9956-ffa450edef68
2002-03-03 00:46:07 +00:00
Cliff Woolley
26767a1313 Paren-protect macro arguments when used. (This will be needed later when
the bucket api gets changed.)

Submitted by: Brian Pane


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93678 13f79535-47bb-0310-9956-ffa450edef68
2002-03-03 00:36:07 +00:00
Bradley Nicholes
e6d10bff2d Switching from a project build file to GNU make files
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93665 13f79535-47bb-0310-9956-ffa450edef68
2002-03-01 22:21:25 +00:00
William A. Rowe Jr
b494547e8a next_filter of NULL to any ap_sub_req_lookup*() fn implies the subreq
will never be run - or we expect to pass the subreq to fast_redirect.
  The comming fix will break invalid ap_sub_req_lookups* expecting to
  run subrequests with the next_filter NULL semantic.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93663 13f79535-47bb-0310-9956-ffa450edef68
2002-03-01 20:44:20 +00:00
Cliff Woolley
7aebccf01b We don't need transfer_brigade() because we already have macros to do that
for us, and faster.  :)

Warning, though:  transfer_brigade() was equivalent to APR_BRIGADE_CONCAT(),
and I don't think that was the right behavior for one of the two callers!
I changed that one to use APR_BRIGADE_PREPEND() since by my inspection that
looks like what it should be, but please check me on this.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93654 13f79535-47bb-0310-9956-ffa450edef68
2002-03-01 05:43:57 +00:00
Doug MacEachern
f702218cea s/const void/const char/g in ssl_asn1_table api
pointed out by gstein


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93653 13f79535-47bb-0310-9956-ffa450edef68
2002-03-01 05:24:06 +00:00
Cliff Woolley
8097066e90 Consensus is that we should not use the scoreboard as a source of entropy.
Reviewed by: OtherBill, Justin, Madhu


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93652 13f79535-47bb-0310-9956-ffa450edef68
2002-03-01 04:35:17 +00:00
Greg Stein
317cd14108 Give mod_dav the ability to output both standard and customized
<D:error> responses.  It's crucial for marshalling svn error messages
back over to the client; and someday it will be needed to return
specific <DAV:> errors as dictated by the DeltaV spec.

* mod_dav.h (dav_error): add two new fields -- an optional error
    namespace, and an error-tag-name.  Remove the 'delayed computation'
    function and cxt ptrs in this struct;  they were never used.

  (dav_new_error_tag):  new alternative constructor that takes new
    fields.

* util.c (dav_new_error_tag):  implement constructor.

* mod_dav.c (dav_error_response_tag):  new function to output
    'standard' xml error response based on error struct.

  (dav_handle_err): if no multistatus response is passed in, and if an
    error-tag is defined, then call our new xml-output routine.

Submitted by: Ben Collins-Sussman <sussman@collab.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93651 13f79535-47bb-0310-9956-ffa450edef68
2002-03-01 03:25:49 +00:00
Cliff Woolley
e96865b046 Use the new APR_BRIGADE_PREPEND() macro
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93650 13f79535-47bb-0310-9956-ffa450edef68
2002-02-28 23:24:08 +00:00
Doug MacEachern
750c48848b plug leak in newish ssl_asn1_table_set() function
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93648 13f79535-47bb-0310-9956-ffa450edef68
2002-02-28 19:11:31 +00:00