Ruediger Pluem [Tue, 25 Oct 2005 20:12:48 +0000 (20:12 +0000)]
Merge r327185 from trunk:
* Fix PR37100 (SEGV in mod_proxy_ajp), by sending the data up the filter
chain immediately instead of spooling it completely before passing it
to the filter chain. It contains a bandaid to handle intentional
flushes from Tomcat side. Further explanation in code and report.
ajp.h: Add ajp_msg_reuse prototype
mod_proxy_ajp.c: Adjust logic of ap_proxy_ajp_request
Ruediger Pluem [Tue, 25 Oct 2005 20:10:43 +0000 (20:10 +0000)]
Merge r325960 from trunk:
* Create new filters CACHE_OUT_SUBREQ / CACHE_SAVE_SUBREQ which only differ
by the type (AP_FTYPE_CONTENT_SET-1) from CACHE_OUT / CACHE_SAVE
(AP_FTYPE_CONTENT_SET+1). This ensures that subrequests to non local
resources do not get stuck in the middle of the road with the contents
only written to the temp file, because CACHE_OUT_SUBREQ / CACHE_SAVE_SUBREQ
are inserted *before* the SUBREQ_CORE filter in the filter chain.
Ruediger Pluem [Tue, 25 Oct 2005 19:56:39 +0000 (19:56 +0000)]
Merge r328463 from trunk:
* Fix PR36906 by not lower caseing the whole worker name. Only lower case the
schema when storing the worker url. Thus preventing case sensitive URI's in
BalancerMembers to get broken.
Talking to end-users has highlighted the new simpler default configuration
layout as a major selling point "feature" of 2.2. Add it to the list of
new features.
fe80::/16 is for link-scope link-local addresses in IPv6, they are not
for goign in Listen directives, VirtualHost blocks, or anything like
that, and won't work.
Perform a mass search and replace: 2001:db8 for fe80. 2001:db8 is the
IPv6 documentation prefix. See RFC3849 for more details.
This allows the use of SetHandler for an entire directory, and since we already check via the stat structure if this is a directory, there is no reason for this extra check, which causes a regression since 1.3.
These days in most cases, "all bound IP addresses" means :: and 0.0.0.0
or even just ::. Rather than confuse users by trying to explain this in
the configuration, simply remove the now-erroneous reference to 0.0.0.0.
Ruediger Pluem [Sun, 23 Oct 2005 14:14:45 +0000 (14:14 +0000)]
Merge r327179 from trunk:
* Fix PR31226 (AddOutputFilterByType deflate not active with mod_proxy), by
allowing ap_add_output_filters_by_type to handle proxied requests.
Basic tests by jorton and me show that this works, nobody can actually
remember why this limitation was introduced at all (r94028) and the mailing
list archives also gave no hint.
Ruediger Pluem [Fri, 21 Oct 2005 21:54:27 +0000 (21:54 +0000)]
Merge r327590 from trunk:
* Fix PR37145 (data loss with httpd-2.0.55 reverse proxy method=post) by
exchanging APR_BRIGADE_CONCAT with ap_save_brigade to ensure that
transient buckets get setaside correctly between various iterations of
ap_get_brigade calls.
Reviewed by: Joe Orton, William Rowe, Jim Jagielski, Jeff Trawick
Roy T. Fielding [Tue, 18 Oct 2005 21:45:00 +0000 (21:45 +0000)]
Remove CGI block on OPTIONS method so that scripts can
respond to OPTIONS directly rather than via server default.
PR: 15242 Reviewed-by: Paul Querna, Andre Malo, William A. Rowe, Jr.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@326260 13f79535-47bb-0310-9956-ffa450edef68
Joshua Slive [Tue, 18 Oct 2005 16:23:16 +0000 (16:23 +0000)]
Merge r326143 from trunk:
Document Roy's recent discovery that plain Alias/Redirect only
match complete path segments. I haven't tested the examples,
but they seem to be right according to the code.
Joe Orton [Thu, 13 Oct 2005 16:56:29 +0000 (16:56 +0000)]
Merge r314844, r320796 from trunk:
* support/ab.c (test): Increment count of started requests when a
non-blocking connect completes; avoids case where more requests are
made than intended.
* modules/ssl/ssl_engine_init.c (ssl_init_CheckServers): Fix IP/port
key generation which passed a bogus pointer for a %pA conversion,
hence could give false warnings for name-based-vhost use.
Ruediger Pluem [Sun, 9 Oct 2005 11:02:20 +0000 (11:02 +0000)]
Merge r307389 from trunk:
* Fix a declaration problem introduced in r195013 that is C99 but not ANSI C
compatible. Thus move declaration of *worker to the top of find_session_route
to make it ANSI C compatible again.
NET_TIME, as a standalone feature, was a horrid idea, so eliminate it.
The core filter will NOT operate correctly across platforms
(even between Linux/Solaris) without setting up the conn->timeout,
so always apply the timeout when establishing the core filter.
The keep-alive-timeout is entirely an HTTP-ism, and needs to
move to the http protocol handler. This isn't triggered in the
event mpm, but the event mpm introspects s->keep_alive_timeout
directly adding it to the pollset, so this is a non-sequitor.
Finally, once the headers are read, the named virtual host may
have a different (more/less permissive) timeout for the remainder
of the request body. This http-centric patch picks up that subtle
detail and can switch to a named-vhost timeout.
Pay close attention to core_create_req() ... and note
that not one other member of the r->vars is initialized
herein. Move this initialization elsewhere.
(If this is the 'default' - it really aught to be the
zero value, for that matter).
Merge r265518-9 from trunk; explicit assignment of some global variables
to zero. These should not be neccessary, but help us get around a gcc
(on ia64 at least) optimisation bug. They are harmless anyway.
Jeff Trawick [Sat, 1 Oct 2005 11:02:10 +0000 (11:02 +0000)]
merge from trunk:
*) SECURITY: CAN-2005-2970 (cve.mitre.org)
worker MPM: Fix a memory leak which can occur after an aborted
connection in some limited circumstances. [Greg Ames, Jeff Trawick]
Merge r239406 with the 2.2.x branch. Again, no functional changes; this rev
moves some structures and define's shared by mod_disk_cache and htcacheclean
into a single mod_disk_cache.h.
Backport the Doxygen changes to the 2.2.x branch. No functional changes,
however backporting these doxygen fixes makes it significantly easier to diff
trunk and the 2.2.x branch, to sort out what's what. And we might as well
release with nicer doxygen markup.
Submitted by: Neale Ranns <neale ranns.org>
Reviewed by: Ian Holsman
Paul Querna [Sun, 25 Sep 2005 23:07:27 +0000 (23:07 +0000)]
Merge r291480 from trunk:
* Makefile.in
(docs): If the "docs-build" project is available, trigger its build system
to turn the XML sources into HTML. Otherwise, display a URL to the
instructions on how to use the docs build.
* build/rules.mk.in:
(.PHONEY): docs is a fake target.
Submitted By: Daniel Rall <dlr apache.org>
Reviewed by: pquerna
Joe Orton [Sun, 25 Sep 2005 20:16:00 +0000 (20:16 +0000)]
Merge r291452, r291454 from trunk:
* server/connection.c (ap_lingering_close): Fix lingering close to
really match the 1.3 behaviour: read from the client for up to ~30
seconds in total. Current behaviour will attempt only 15 read() calls
then give up.
* server/connection.c (ap_lingering_close): Cleanup; no functional change.
* modules/ssl/ssl_engine_io.c (ssl_io_buffer_fill,
ssl_io_filter_buffer): New functions.
* modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): If a
renegotiation is needed, and the request has a non-zero
content-length, or a t-e header (and 100-continue was not requested),
call ssl_io_buffer_fill to set aside the request body data if
possible, then proceed with the negotiation.
Any failure in apr_stat on a symlink currently gives
"Symbolic link not allowed", which results in much head-scratching
if the actual problem is a broken link of some sort. The real
fix would be to propogate the correct apr_stat error into the
error log, but that would require more refactoring than I'm
prepared to do. This change simply expands the error message
to include both possibilities. It improves the situation for
PR28515 but does not solve it.
The arrow indicator for a glossary link was cute, but I found it way too
disturbing to the flow of text. Here I replace it with a dashed-unline.
Also, allow the omission of the ref attribute where the glossary term is
exactly equal to the link contents.
Omit reference to pre-2.0.48 versions.
Add some <glossary> markup for regular expression and regex.