1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-15 11:36:47 +03:00
Commit Graph

1761 Commits

Author SHA1 Message Date
Rainer Jung
9f3e0671fd mod_proxy_ajp: Fix get_content_length().
clength in request_rec is for response sizes,
not request body size. It is initialized to 0,
so the "if" branch was never taken.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1649043 13f79535-47bb-0310-9956-ffa450edef68
2015-01-02 14:28:39 +00:00
Mike Rumph
98efe0ccb1 Fix some spelling errors in mod_proxy_fcgi comments.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1648557 13f79535-47bb-0310-9956-ffa450edef68
2014-12-30 17:43:59 +00:00
Eric Covener
c54599cf61 PR 56603: Inappropiate ProxyPassReverse match when interpolated URL
is empty string 

Submitted By: <ajprout hotmail.com>
Committed By: covener



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1648433 13f79535-47bb-0310-9956-ffa450edef68
2014-12-29 21:05:56 +00:00
Eric Covener
23c292e6cd Change the return value to const, so the const non-matching input can just be
returned.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1647334 13f79535-47bb-0310-9956-ffa450edef68
2014-12-22 15:39:54 +00:00
Eric Covener
d77e7a6885 provide alternative PATH_INFO calculation options for proxy_fcgi.
PR 55329



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1647035 13f79535-47bb-0310-9956-ffa450edef68
2014-12-20 18:45:23 +00:00
Eric Covener
85d1a0ba01 Allow SetHandler+UDS+fcgi to take advantage of dedicated workers including
opting in to connection reuse and other proxy options (max=, etc).

adds 'enablereuse' proxyoption and a minor MMN bump to share
proxy_desocketfy outside of mod_proxy.c, which is required to
match workers to URLs.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1647009 13f79535-47bb-0310-9956-ffa450edef68
2014-12-20 15:56:16 +00:00
Eric Covener
2af6b8f57f Allow (a hokey) opt-in to connection reuse for mod_proxy_fcgi + TCP.
Connection reuse has been disabled since r1032345 at the end of
2011. 

Attempt to reverse the polarity of the connection reuse doc which
has been wrong for a long time.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1647005 13f79535-47bb-0310-9956-ffa450edef68
2014-12-20 15:38:27 +00:00
Eric Covener
727a07d553 tweak SCRIPT_FILENAME passed to fastcgi backends when a balancer is used.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1646724 13f79535-47bb-0310-9956-ffa450edef68
2014-12-19 14:03:52 +00:00
Yann Ylavic
0c5d74a177 mod_proxy: don't add the default port to the name of proxy workers. PR 57259.
ap_proxy_port_of_scheme() knows more default ports than apr_unparse_uri().


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1644503 13f79535-47bb-0310-9956-ffa450edef68
2014-12-10 18:45:24 +00:00
Jan Kaluža
ae9b5862f6 * mod_proxy_fcgi: Follow up to r1640495. Ignore body data from backend
for 304 responses also when read with the header.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1644031 13f79535-47bb-0310-9956-ffa450edef68
2014-12-09 11:39:57 +00:00
Eric Covener
3ec0da5912 dump fcgi headers with trace8 instead of debug+compile-time flag.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1643672 13f79535-47bb-0310-9956-ffa450edef68
2014-12-07 12:54:52 +00:00
Yann Ylavic
04e5d83e7b mod_proxy_ajp: follow up to r1643537.
Log aborted client connections with level DEBUG only (no more noise than other proxy modules).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1643543 13f79535-47bb-0310-9956-ffa450edef68
2014-12-06 15:36:19 +00:00
Yann Ylavic
c4bea1a2b6 * mod_proxy_ajp: Fix client connection errors handling and logged status
when it occurs.  PR 56823.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1643537 13f79535-47bb-0310-9956-ffa450edef68
2014-12-06 14:33:52 +00:00
Christophe Jaillet
a3f6c09230 Synch trunk with 2.4.x.
In r1588495, additionnal logging has been added to 2.4.x as part of the merge.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1643434 13f79535-47bb-0310-9956-ffa450edef68
2014-12-05 21:06:31 +00:00
Christophe Jaillet
6b6f5649ab Fix curly braces style
Remove useless empty lines

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1642803 13f79535-47bb-0310-9956-ffa450edef68
2014-12-02 07:17:12 +00:00
Eric Covener
e2fafef499 elaborate on a TRACE2 message about using the default reverse
proxy worker. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1641636 13f79535-47bb-0310-9956-ffa450edef68
2014-11-25 15:38:10 +00:00
Eric Covener
668c7200db Return a match whenever we get to the end of the worker name, regardless
of whether there is URL left.

ProxyPassMatch had been using the default worker in trunk.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1641381 13f79535-47bb-0310-9956-ffa450edef68
2014-11-24 12:36:32 +00:00
Jan Kaluža
a9831ff12f * mod_proxy_fcgi: Ignore body data from backend for 304 responses. PR 57198.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1640495 13f79535-47bb-0310-9956-ffa450edef68
2014-11-19 07:19:13 +00:00
Yann Ylavic
f9520fec08 mod_proxy_fcgi, mod_authnz_fcgi: stop reading the response and issue an error
when parsing or forwarding the response fails.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1640040 13f79535-47bb-0310-9956-ffa450edef68
2014-11-16 22:25:32 +00:00
Yann Ylavic
54f0797498 mod_proxy_fcgi: SECURITY: CVE-2014-3583 (cve.mitre.org)
Fix a potential crash with response headers' size above 8K.

The code changes to mod_authnz_fcgi keep the handle_headers()
function in sync between the two modules.  mod_authnz_fcgi
does not have this issue because it allocated a separate byte
for terminating '\0'.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1640036 13f79535-47bb-0310-9956-ffa450edef68
2014-11-16 22:04:39 +00:00
Yann Ylavic
31e1a51f0f Revert r1638818, r1639812, r1639717 and r1639814 for new staging.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1640034 13f79535-47bb-0310-9956-ffa450edef68
2014-11-16 21:52:40 +00:00
Yann Ylavic
e472402601 mod_proxy_fcgi: follow up to r1638818.
Let ap_scan_script_header*() validate the headers.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1639812 13f79535-47bb-0310-9956-ffa450edef68
2014-11-15 00:35:37 +00:00
Yann Ylavic
02e736ae5a mod_proxy_fcgi: CVE-2014-3583: Fix a potential crash with response headers'
size above 8K.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1638818 13f79535-47bb-0310-9956-ffa450edef68
2014-11-12 15:41:07 +00:00
Yann Ylavic
a7becdbf75 mod_proxy_connect: Don't issue AH02447 on sockets hangups, let the read
determine whether it is a normal close or a real error. PR 57168.

Abort the client or backend connection on polling errors, but don't forcibly
abort the client side at the end (the core filters will do that otherwise
when necessary), so that lingering close and SSL shutdown can occur on normal
close.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1635645 13f79535-47bb-0310-9956-ffa450edef68
2014-10-31 00:07:06 +00:00
Yann Ylavic
6d40a34636 mod_proxy_wstunnel: abort backend connection on polling error to avoid
further processing (lingering close, SSL shutdown).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1635644 13f79535-47bb-0310-9956-ffa450edef68
2014-10-30 23:56:27 +00:00
Eric Covener
3eddd534ce When using EBCDIC encoding, HTTPS through ProxyPass and ProxyRemote doesn't
work correctly. PR 57092

Submitted By: Edward Lu 
Committed By: covener



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1634425 13f79535-47bb-0310-9956-ffa450edef68
2014-10-27 00:55:20 +00:00
Ruediger Pluem
26848f7a23 * Use the correct server name for SNI in case the backend SSL connection itself
is established via a proxy server.

PR: 57139
Submitted by: Szabolcs Gyurko <szabolcs gyurko.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1634120 13f79535-47bb-0310-9956-ffa450edef68
2014-10-24 19:00:10 +00:00
Christophe Jaillet
46b8fcedc9 Fix indent.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1633522 13f79535-47bb-0310-9956-ffa450edef68
2014-10-22 04:54:52 +00:00
Christophe Jaillet
a9c4c3a37d Concat string at compile time when possible.
Doing so, sometimes also give the opportunity to turn a 'ap_fputstrs' into a 'ap_fputs'.
PR 53741

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1626050 13f79535-47bb-0310-9956-ffa450edef68
2014-09-18 19:06:52 +00:00
Jim Jagielski
e5cf7761a4 oops... prepend 0
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1625952 13f79535-47bb-0310-9956-ffa450edef68
2014-09-18 12:10:54 +00:00
Christophe Jaillet
2785b009e9 Silent some cppcheck warnings.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621806 13f79535-47bb-0310-9956-ffa450edef68
2014-09-01 14:40:01 +00:00
Christophe Jaillet
f1176161be Fix sscanf format spotted by cppcheck.
Improve alignment.
Untested.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621419 13f79535-47bb-0310-9956-ffa450edef68
2014-08-30 06:51:11 +00:00
Jim Jagielski
074c9cce56 Might as well make it 256 and be done w/ it. The extra bytes are
moot nowaways.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621382 13f79535-47bb-0310-9956-ffa450edef68
2014-08-29 20:39:22 +00:00
Jim Jagielski
527acb80ce Correct loglevel.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621372 13f79535-47bb-0310-9956-ffa450edef68
2014-08-29 19:42:34 +00:00
Jim Jagielski
6be32ac353 PR53218
Allow for longer worker names and make truncation a non-fatal
error... 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621367 13f79535-47bb-0310-9956-ffa450edef68
2014-08-29 19:17:45 +00:00
Rainer Jung
5002fd13e7 Switch preference for headers, Transfer-Encoding
first, Content-Length second.

Addition to r1615289.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1620324 13f79535-47bb-0310-9956-ffa450edef68
2014-08-25 13:44:03 +00:00
Yann Ylavic
6d3f422f8c mod_proxy: add missing APLOGNOs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1619455 13f79535-47bb-0310-9956-ffa450edef68
2014-08-21 15:49:54 +00:00
Jeff Trawick
7e9b8a0b06 mod_proxy_fcgi: Fix faulty logging of large amounts of stderr from the
application.

PR: 56858
Submitted by: Manuel Mausz <manuel-asf mausz.at>
Reviewed by: trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1618401 13f79535-47bb-0310-9956-ffa450edef68
2014-08-16 19:15:02 +00:00
Rainer Jung
3535416fc0 PR53420: Proxy responses with error status and
"ProxyErrorOverride On" hang until proxy timeout.

Regression from 2.2. It was introduced by r912063
in order to fix PR41646.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1615289 13f79535-47bb-0310-9956-ffa450edef68
2014-08-02 08:24:35 +00:00
Christophe Jaillet
fb0ad3fd89 Turn some APR_BUCKET_REMOVE(e)+apr_bucket_destroy(e) into the equivalent apr_bucket_delete(e) to reduce code verbosity
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1615026 13f79535-47bb-0310-9956-ffa450edef68
2014-08-01 04:23:50 +00:00
Christophe Jaillet
56d0c25725 Add missing APLOGNO.
Refactor some lines to keep APLOGNO on the same line as ap_log_error, when applicable.
Split lines longer than 80.
Improve alignment.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1612068 13f79535-47bb-0310-9956-ffa450edef68
2014-07-20 09:32:58 +00:00
Guenter Knauf
53e360cf37 Added missing export for proxy module.
Submitted by normw at gknw net.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1610997 13f79535-47bb-0310-9956-ffa450edef68
2014-07-16 13:21:30 +00:00
Eric Covener
8cc5e00f9e *) SECURITY: CVE-2013-5704 (cve.mitre.org)
core: HTTP trailers could be used to replace HTTP headers
     late during request processing, potentially undoing or
     otherwise confusing modules that examined or modified
     request headers earlier.  Adds "MergeTrailers" directive to restore
     legacy behavior.  

Submitted By: Edward Lu, Yann Ylavic, Joe Orton, Eric Covener
Committed By: covener



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1610814 13f79535-47bb-0310-9956-ffa450edef68
2014-07-15 19:11:02 +00:00
Joe Orton
bb2749fd6e SECURITY (CVE-2014-0117): Fix a crash in mod_proxy. In a reverse
proxy configuration, a remote attacker could send a carefully crafted
request which could crash a server process, resulting in denial of
service.

Thanks to Marek Kroemeke working with HP's Zero Day Initiative for
reporting this issue.

* server/util.c (ap_parse_token_list_strict): New function.

* modules/proxy/proxy_util.c (find_conn_headers): Use it here.

* modules/proxy/mod_proxy_http.c (ap_proxy_http_process_response):
  Send a 400 for a malformed Connection header.

Submitted by: Edward Lu, breser, covener


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1610674 13f79535-47bb-0310-9956-ffa450edef68
2014-07-15 12:27:00 +00:00
Christophe Jaillet
b854d7e818 Remove some 'register' in variable declaration.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1610366 13f79535-47bb-0310-9956-ffa450edef68
2014-07-14 09:05:27 +00:00
Rainer Jung
3e3b46844f Forward local IP address as a custom request attribute
like we already do for the remote port.

Both were forgotten in the original AJP 13 spec
but are needed by the Servlet spec. Until now,
Tomcat simply returns for getLocalAddr() the same as
for getLocalName().

The next round of Tomcat releases will look for the
optional new request attribute.

See also Tomcat BZ 56661.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1610207 13f79535-47bb-0310-9956-ffa450edef68
2014-07-13 14:20:04 +00:00
Jan Kaluža
058348d405 mod_proxy: better check for worker->s->is_name_matchable
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1609688 13f79535-47bb-0310-9956-ffa450edef68
2014-07-11 11:09:34 +00:00
Jan Kaluža
c0a52f109d mod_proxy: add ap_proxy_define_match_worker() and use it for ProxyPassMatch
and ProxyMatch section to distinguish between normal workers and workers
with regex substitutions in the name. Implement handling of such workers
in ap_proxy_get_worker(). PR 43513


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1609680 13f79535-47bb-0310-9956-ffa450edef68
2014-07-11 10:36:15 +00:00
Yann Ylavic
4f08f4008a Fix C99 (or later only) comment.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1609101 13f79535-47bb-0310-9956-ffa450edef68
2014-07-09 11:11:23 +00:00
Christophe Jaillet
55c2568e4e s/apr_pstrndup/apr_pstrmemdup/ to save a few cycles
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1608999 13f79535-47bb-0310-9956-ffa450edef68
2014-07-09 03:47:31 +00:00