/[Apache-SVN]/httpd/httpd/trunk/modules/proxy/mod_proxy_http.c
ViewVC logotype

Log of /httpd/httpd/trunk/modules/proxy/mod_proxy_http.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 1837056 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 30 13:08:23 2018 UTC (2 months, 2 weeks ago) by ylavic
File length: 91492 byte(s)
Diff to previous 1837040 (colored)
http: Enforce consistently no response body with both 204 and 304 statuses.

Provide AP_STATUS_IS_HEADER_ONLY() helper/macro to check for 204 or 304 and
use it where some special treatment is needed when no body is expected.

Some of those places handled 204 only.


Revision 1837040 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 30 10:14:42 2018 UTC (2 months, 2 weeks ago) by ylavic
File length: 91629 byte(s)
Diff to previous 1836750 (colored)
mod_proxy_http: follow up to r1836588: nonblocking read for 100-continue body.

Set nonblocking read (req->flushall) when handling 100-continue since no body
is expected to be there already.


Revision 1836750 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 26 17:51:09 2018 UTC (2 months, 2 weeks ago) by ylavic
File length: 91609 byte(s)
Diff to previous 1836716 (colored)
mod_proxy_http: follow up to r1836588: fix drop of spurious 100 responses.

r1836588 broke t/security/CVE-2008-2364.t by forwarding more than one
"100 continue" response, fix it.


Revision 1836716 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 26 11:29:51 2018 UTC (2 months, 3 weeks ago) by ylavic
File length: 91552 byte(s)
Diff to previous 1836648 (colored)
mod_proxy_http: follow up to r1836588/r1836648: handle unread 100-continue.

When the backend responds with a non-interim response to a 100-continue,
mod_proxy_http won't read the client's body, so make sure "Connection: close"
ends up being added to the response if nobody reads that body later.

The right thing to do at mod_proxy level, rather then forcing AP_CONN_CLOSE,
is to restore r->expecting_100 so that further processing (like error_override
or trying on the next balancer member) can still work.


Revision 1836648 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 25 16:33:44 2018 UTC (2 months, 3 weeks ago) by ylavic
File length: 90630 byte(s)
Diff to previous 1836588 (colored)
mod_proxy_http: follow up to r1836588: avoid 100-continue responses from core.

When mod_proxy_http handles end-to-end "100 continue", it can't let
ap_http_filter() send its own interim response whenever the body is read.

So save/restore r->expecting_100 before/after handling the request, and use
req->expecting_100 internally (including to restore r->expecting appropriately).

While at it, add comments and debug logs about 100 continue handling, and
fill in missing APLOGNO()s from r1836588.


Revision 1836588 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 24 21:55:29 2018 UTC (2 months, 3 weeks ago) by ylavic
File length: 89111 byte(s)
Diff to previous 1836383 (colored)
mod_proxy_http: forward 100-continue.

Handle end-to-end 100-continue, according to RFC 7231, such that the client
request body is not read/forwarded (according to its "Expect:" header) until
the backend wants to receive it (with interim 100 continue response), or never
forwarded if the backend provides a (non-interim) response and doesn't need
the client body at all.

This is achieved by filling the header_brigade in ap_proxy_http_prefetch()
and letting ap_proxy_http_request() determine whether it should forward that
brigade only (with the "Expect: 100-continue" specified by the client or added
according to "ping=" configuration), or forward the whole body for the usual
case (as before).

When 100-continue expectation is in place, the body is actually forwarded by
ap_proxy_http_process_response() when/if a "100 continue" response is sent by
the backend, otherwise the body is discarded; a future enhancement could make
so that in a balancer configuration, the body could be forwarded to another
balancer member depending on the status/error from the backend.

So stream_reqbody_cl() and stream_reqbody_chunked() functions are adapted to be
called by either ap_proxy_http_request() or ap_proxy_http_process_response(),
while spool_reqbody_cl() still spools the body in ap_proxy_http_prefetch() thus
before the backend is connected/reused to avoid inactivity on the connection
for the prefetch time (the prefetched body is also forwarded according to the
100-continue expectation, though).

Also, since the brigades and other runtime objects now need to be shared by the
ap_proxy_http_*() functions chain, a proxy_http_req_t struct/context is created
from the start and passed to them as (the single) argument. This is also a good
candidate for a future async baton, if we wanted to let the MPM event wait for
connection data for us at any stage and be called back ;)

Finally, ap_send_interim_response() is modified to correcly handle 100 continue
responses once, and take care of clearing r->expecting_100 only for them.

PR 60330.



Revision 1836383 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 20 19:36:01 2018 UTC (2 months, 3 weeks ago) by rpluem
File length: 87287 byte(s)
Diff to previous 1829790 (colored)
* Always retrieve conditional function. static variable might contain garbage if module was reloaded in a static build.

Revision 1829790 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 22 15:58:18 2018 UTC (5 months, 3 weeks ago) by ylavic
File length: 87362 byte(s)
Diff to previous 1829657 (colored)
Axe ap_rgetline_core(), not used anymore.



Revision 1829657 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 20 13:55:43 2018 UTC (5 months, 3 weeks ago) by ylavic
File length: 87367 byte(s)
Diff to previous 1829573 (colored)
mod_proxy_http: follow up to r1829573: remain EBCDIC friendly.

Keep using ap_rgetline() as before r1829573, since ap_rgetline_core() is
EBCDIC agnostic.



Revision 1829573 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 19 16:06:57 2018 UTC (5 months, 3 weeks ago) by ylavic
File length: 87372 byte(s)
Diff to previous 1828927 (colored)
mod_proxy_http: make use of AP_GETLINE_NOSPC_EOL in ap_proxygetline().

Fixes response header thrown away after the previous one was considered too
large and truncated.

PR 62196.



Revision 1828927 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 11 19:18:03 2018 UTC (6 months ago) by covener
File length: 88001 byte(s)
Diff to previous 1828926 (colored)
add log id for r1828926


Revision 1828926 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 11 19:11:52 2018 UTC (6 months ago) by covener
File length: 87996 byte(s)
Diff to previous 1824176 (colored)
PR62199: add worker parameter ResponseFieldSize to mod_proxy

Submitted By: Hank Ibell
Committed By: covener




Revision 1824176 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 13 21:22:05 2018 UTC (8 months ago) by minfrin
File length: 86287 byte(s)
Diff to previous 1818726 (colored)
mod_proxy: Provide an RFC1035 compliant version of the hostname in the
proxy_worker_shared structure. PR62085


Revision 1818726 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 19 22:46:27 2017 UTC (9 months, 3 weeks ago) by ylavic
File length: 86284 byte(s)
Diff to previous 1807318 (colored)
mod_proxy: allow SSLProxyCheckPeer* usage for all proxy modules.

PR 61857.

Proposed by: Markus Gausling <markusgausling googlemail.com>
Reviewed by: ylavic



Revision 1807318 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 5 07:27:33 2017 UTC (13 months, 1 week ago) by jfclere
File length: 86714 byte(s)
Diff to previous 1777611 (colored)
Fix for JBCS-390.
Note it is related to PR  59007



Revision 1777611 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 6 13:58:03 2017 UTC (21 months, 1 week ago) by jailletc36
File length: 86604 byte(s)
Diff to previous 1756186 (colored)
Move definition of ASCII_ZERO to httpd.h and rename it ZERO_ASCII for consistancy reason.
Remove definition of ASCII_CRLF which is the same as CRLF_ASCII.

Use ZERO_ASCII and CRLF_ASCII in mod_proxy_http

Revision 1756186 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 12 13:58:10 2016 UTC (2 years, 2 months ago) by ylavic
File length: 86663 byte(s)
Diff to previous 1756065 (colored)
[mod_proxy_]http: follow up to r1750392.

Export [ap_]check_pipeline() and use it also for ap_proxy_check_connection(),
so that all the necessary checks on the connection are done before reusing it.



Revision 1756065 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 11 23:37:45 2016 UTC (2 years, 2 months ago) by ylavic
File length: 86595 byte(s)
Diff to previous 1756060 (colored)
Revert r1756064 and r1756060 until fixed (tests framework passes).

Revision 1756060 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 11 22:32:42 2016 UTC (2 years, 2 months ago) by ylavic
File length: 86663 byte(s)
Diff to previous 1754979 (colored)
[mod_proxy_]http: follow up to r1750392.
Export [ap_]check_pipeline() and use it also for ap_proxy_check_connection().

[Reverted by r1756065]


Revision 1754979 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 2 16:42:39 2016 UTC (2 years, 2 months ago) by ylavic
File length: 86595 byte(s)
Diff to previous 1754975 (colored)
mod_proxy_http: 204 or 304 cannot happen here since ap_is_HTTP_ERROR() above
is true.



Revision 1754975 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 2 16:34:56 2016 UTC (2 years, 2 months ago) by ylavic
File length: 86736 byte(s)
Diff to previous 1754974 (colored)
mod_proxy_http: handle 401 error override in the same block as other errors
to simplify logic, no functional change.



Revision 1754974 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 2 16:27:26 2016 UTC (2 years, 2 months ago) by ylavic
File length: 86704 byte(s)
Diff to previous 1754159 (colored)
mod_proxy_http: don't pretend we are sending a body before ProxyErrorOverride
takes place, the response it to be handled by ErrorDocument is this case.
Also it useless to take care of pre-read data since the body is discarded in
this case.



Revision 1754159 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 26 17:16:18 2016 UTC (2 years, 2 months ago) by ylavic
File length: 86687 byte(s)
Diff to previous 1750474 (colored)
mod_proxy_http: ping retry only if full 100-continue conditions are met.

Revision 1750474 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 28 11:19:36 2016 UTC (2 years, 3 months ago) by ylavic
File length: 86682 byte(s)
Diff to previous 1750416 (colored)
mod_proxy: follow up to r1750392.
Avoid double checking the connection in ap_proxy_connect_backend() when
ap_proxy_check_backend() says it is up and good to go.

This can be done by moving the PROXY_WORKER_IS_USABLE() check in
ap_proxy_check_backend(), since it is called by ap_proxy_connect_backend(),
and not calling the latter if the former succeeded (for the modules using it).


Revision 1750416 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 27 21:49:15 2016 UTC (2 years, 3 months ago) by ylavic
File length: 86631 byte(s)
Diff to previous 1750412 (colored)
mod_proxy: we don't need ap_proxy_ssl_connection_cleanup() anymore with
ap_proxy_check_backend() used at connection reuse time, so remove its last call and deprecate it.

Revision 1750412 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 27 21:39:53 2016 UTC (2 years, 3 months ago) by ylavic
File length: 86710 byte(s)
Diff to previous 1750392 (colored)
mod_proxy: use proxy_conn_rec->tmp_bb where appopriate to avoid temporary
brigade create/destroy.

Revision 1750392 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 27 17:26:12 2016 UTC (2 years, 3 months ago) by ylavic
File length: 86692 byte(s)
Diff to previous 1747469 (colored)
mod_proxy_{http,ajp,fcgi}}: don't reuse backend connections with data available
before the request is sent.  PR 57832.

ap_proxy_check_backend() can be used before ap_proxy_connect_backend() to try
to read available data (including from the filters), and is called by
ap_proxy_connect_backend() to check the socket state only (as before, still
relevant after ap_proxy_check_backend() due to filter data which may not have
triggered a real socket operation).


Revision 1747469 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 9 00:06:42 2016 UTC (2 years, 4 months ago) by wrowe
File length: 86621 byte(s)
Diff to previous 1744460 (colored)
Rename ap_casecmpstr[n]() to ap_cstr_casecmp[n](), update with APR doxygen

Revision 1744460 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 18 21:54:09 2016 UTC (2 years, 4 months ago) by jailletc36
File length: 86611 byte(s)
Diff to previous 1740928 (colored)
Avoid memory allocation before making sure that this handler can handle the URL

Revision 1740928 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 00:04:57 2016 UTC (2 years, 5 months ago) by ylavic
File length: 86601 byte(s)
Diff to previous 1735649 (colored)
mod_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections,
allowing per backend TLS configuration.



Revision 1735649 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 18 17:33:40 2016 UTC (2 years, 6 months ago) by trawick
File length: 86606 byte(s)
Diff to previous 1729507 (colored)
Add missing proxy_run_detach_backend() on error path


Revision 1729507 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 9 23:38:59 2016 UTC (2 years, 8 months ago) by ylavic
File length: 86548 byte(s)
Diff to previous 1726782 (colored)
mod_proxy: axe negative "ping" parameter setting and handling.
This used to check for the backend connection readability only (instead of
the full ping/100-continue round-trip), but the case is already handled by
ap_proxy_connect_backend() which is always called.


Revision 1726782 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 26 12:20:33 2016 UTC (2 years, 8 months ago) by rpluem
File length: 87384 byte(s)
Diff to previous 1726776 (colored)
* Use new ap_proxy_buckets_lifetime_transform

Revision 1726776 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 26 11:59:07 2016 UTC (2 years, 8 months ago) by rpluem
File length: 89115 byte(s)
Diff to previous 1721759 (colored)
* For creating new buckets always use the bucket allocator of the brigade in
  which we want to put the bucket.

  Currently this does not change behaviour as r->connection->bucket_alloc and
  to->bucket_alloc are the same. It is a cleanup and preparation for abstracting
  this in a proxy API.


Revision 1721759 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 26 21:29:21 2015 UTC (2 years, 9 months ago) by jim
File length: 89103 byte(s)
Diff to previous 1716151 (colored)
Abstract out as macro

Revision 1716151 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 24 14:38:54 2015 UTC (2 years, 10 months ago) by ylavic
File length: 89355 byte(s)
Diff to previous 1715880 (colored)
Follow up to r1715880: revert abusive ap_casecmpstr[n]() usages.


Revision 1715880 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 23 16:48:35 2015 UTC (2 years, 10 months ago) by ylavic
File length: 89385 byte(s)
Diff to previous 1715876 (colored)
More ap_casecmpstr[n]() usages (follow up to r1715876).


Revision 1715876 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 23 16:46:01 2015 UTC (2 years, 10 months ago) by ylavic
File length: 89355 byte(s)
Diff to previous 1715869 (colored)
Use new ap_casecmpstr[n]() functions where appropriate (not exhaustive).


Revision 1715869 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 23 16:28:36 2015 UTC (2 years, 10 months ago) by ylavic
File length: 89340 byte(s)
Diff to previous 1715789 (colored)
Revert r1715789: will re-commit without spurious functional changes.


Revision 1715789 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 23 12:33:09 2015 UTC (2 years, 10 months ago) by ylavic
File length: 89355 byte(s)
Diff to previous 1715576 (colored)
Use new ap_casecmpstr[n]() functions where appropriate (not exhaustive).

[Reverted by r1715869]


Revision 1715576 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 21 21:14:19 2015 UTC (2 years, 10 months ago) by jailletc36
File length: 89340 byte(s)
Diff to previous 1690137 (colored)
Remove some useless 'return' statements.
Fix style and alignment.

Revision 1690137 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 9 18:07:50 2015 UTC (3 years, 3 months ago) by ylavic
File length: 89335 byte(s)
Diff to previous 1682907 (colored)
s/\<\(\w\+\)\>\s\+\<\1\>/\1/g

Revision 1682907 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 1 14:06:39 2015 UTC (3 years, 4 months ago) by ylavic
File length: 89340 byte(s)
Diff to previous 1681694 (colored)
mod_proxy: follow up to r1681694.

Handle the proxy-error-override note also in mod_proxy_ajp.

The note is not needed in mod_proxy_fcgi (which also handles
ProxyErrorOverride) since it calls ap_die() by itself, and always
returns OK to proxy_handler().

Add a comment about the note where used.


Revision 1681694 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 26 07:25:08 2015 UTC (3 years, 4 months ago) by ylavic
File length: 89214 byte(s)
Diff to previous 1678771 (colored)
mod_proxy: Don't put the worker in error state for 500 or 503 errors
returned by the backend unless failonstatus is configured to.  PR 56925.


Revision 1678771 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 11 15:48:58 2015 UTC (3 years, 5 months ago) by ylavic
File length: 89147 byte(s)
Diff to previous 1673368 (colored)
mod_proxy_http: follow up to r1656259.
The proxy connection may be NULL during prefetch, don't try to dereference it!
Still origin->keepalive will be set according to p_conn->close by the caller
(proxy_http_handler).


Revision 1673368 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 14 06:03:13 2015 UTC (3 years, 6 months ago) by jailletc36
File length: 89233 byte(s)
Diff to previous 1658765 (colored)
Remove some spaces between some return statements  and ';' + fix a strange formating in a 'for' loop

Revision 1658765 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 10 17:25:54 2015 UTC (3 years, 8 months ago) by ylavic
File length: 89239 byte(s)
Diff to previous 1658760 (colored)
mod_proxy_http: Use the "Connection: close" header for requests to
backends not recycling connections (disablereuse), including the default
reverse and forward proxies.


Revision 1658760 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 10 17:03:05 2015 UTC (3 years, 8 months ago) by ylavic
File length: 89215 byte(s)
Diff to previous 1657897 (colored)
mod_proxy_http: Don't expect the backend to ack the "Connection: close" to
finally close those not meant to be kept alive by SetEnv proxy-nokeepalive
or force-proxy-request-1.0, and respond with 502 instead of 400 if its
Connection header is invalid.


Revision 1657897 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 6 16:54:16 2015 UTC (3 years, 8 months ago) by ylavic
File length: 89154 byte(s)
Diff to previous 1656259 (colored)
mod_proxy(es): Avoid error response/document handling by the core if some
input filter already did it while reading client's payload.

When an input filter returns AP_FILTER_ERROR, it has already called ap_die()
or at least already responded to the client.

Here we don't want to lose AP_FILTER_ERROR when returning from proxy handlers,
so we use ap_map_http_request_error() to forward any AP_FILTER_ERROR to
ap_die() which knows whether a response needs to be completed or not.

Before this commit, returning an HTTP error code in this case caused a double
response to be generated.

Depends on r1657881 to preserve r->status (for logging) when nothing is to be
done by ap_die() when handling AP_FILTER_ERROR.


Revision 1656259 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 1 00:05:59 2015 UTC (3 years, 8 months ago) by ylavic
File length: 89014 byte(s)
Diff to previous 1620324 (colored)
mod_proxy_http: don't connect or reuse backend before prefetching request body.

The goal is to minimize the delay between this connection is considered alive
and the first bytes sent (should the client's link be slow or some input filter
retain the data).
This is a best effort to prevent the backend from closing (from under us) what
it thinks is an idle connection, hence to reduce to the minimum the unavoidable
local ap_proxy_is_socket_connected() vs remote keepalive race condition.
PR 56541.

Also, allow the new subprocess_env variable "proxy-flushall" to prevent any
buffering of the request body before it is forwarded to the backend.
When set, the prefetch is still done (although non-blocking), so we can still
determine Content-Length vs chunked vs spooled (depending on data available
with the header or while reading it), and then all brigades are flushed when
passed to the backend.
PR 37920.



Revision 1620324 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 25 13:44:03 2014 UTC (4 years, 1 month ago) by rjung
File length: 83585 byte(s)
Diff to previous 1615289 (colored)
Switch preference for headers, Transfer-Encoding
first, Content-Length second.

Addition to r1615289.


Revision 1615289 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 2 08:24:35 2014 UTC (4 years, 2 months ago) by rjung
File length: 83585 byte(s)
Diff to previous 1610814 (colored)
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.


Revision 1610814 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 15 19:11:02 2014 UTC (4 years, 3 months ago) by covener
File length: 82905 byte(s)
Diff to previous 1610674 (colored)
  *) 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



Revision 1610674 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 15 12:27:00 2014 UTC (4 years, 3 months ago) by jorton
File length: 82296 byte(s)
Diff to previous 1599486 (colored)
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


Revision 1599486 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 3 11:47:11 2014 UTC (4 years, 4 months ago) by ylavic
File length: 82074 byte(s)
Diff to previous 1588527 (colored)
mod_proxy_http: avoid (unlikely) access to freed memory.

Revision 1588527 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 18 17:38:15 2014 UTC (4 years, 5 months ago) by ylavic
File length: 82108 byte(s)
Diff to previous 1586719 (colored)
mod_proxy: Preserve original request headers even if they differ
           from the ones to be forwarded to the backend. PR 45387.


Revision 1586719 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 11 17:07:18 2014 UTC (4 years, 6 months ago) by trawick
File length: 82373 byte(s)
Diff to previous 1578760 (colored)
mod_proxy_http: Add detach_backend hook.

The immediate use is for a SSL-related module which works
on the backend proxy connection to be able to "leak" information
into the client r for logging.

This could be useful with other proxy scheme handlers.


Revision 1578760 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 18 06:52:08 2014 UTC (4 years, 7 months ago) by jailletc36
File length: 81814 byte(s)
Diff to previous 1575958 (colored)
Use 'apr_table_setn' instead of 'apr_table_set' when possible in order to save memory.

Revision 1575958 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 10 14:57:14 2014 UTC (4 years, 7 months ago) by trawick
File length: 81813 byte(s)
Diff to previous 1572630 (colored)
fix spelling


Revision 1572630 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 27 15:40:01 2014 UTC (4 years, 7 months ago) by ylavic
File length: 81812 byte(s)
Diff to previous 1572627 (colored)
Redo what was reverted in r1572627.
Don't reuse a SSL backend connection whose SNI differs. PR 55782.
This may happen when ProxyPreserveHost is on and the proxy-worker
handles connections to different Hosts.


Revision 1572627 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 27 15:31:58 2014 UTC (4 years, 7 months ago) by ylavic
File length: 82378 byte(s)
Diff to previous 1572606 (colored)
Revert r1572606 for the time being since backport would conflict with 2.4.x's proxy_conn_rec.
The uds_path field is at the end of the struct in 2.4.x but not in trunk.
Fix that first, then recommit.


Revision 1572606 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 27 14:52:12 2014 UTC (4 years, 7 months ago) by ylavic
File length: 81812 byte(s)
Diff to previous 1572561 (colored)
Don't reuse a SSL backend connection whose SNI differs. PR 55782.
This may happen when ProxyPreserveHost is on and the proxy-worker
handles connections to different Hosts.


Revision 1572561 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 27 13:39:25 2014 UTC (4 years, 7 months ago) by ylavic
File length: 82378 byte(s)
Diff to previous 1570598 (colored)
Avoid useless functions calls.


Revision 1570598 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 21 15:08:32 2014 UTC (4 years, 7 months ago) by ylavic
File length: 82427 byte(s)
Diff to previous 1568404 (colored)
Log an error in mod_proxy_http when reading the request body fails.
Follow-up to r1538776 where incomplete bodies are detected and an error returned through the input filters.



Revision 1568404 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 14 17:55:19 2014 UTC (4 years, 8 months ago) by ylavic
File length: 81278 byte(s)
Diff to previous 1550061 (colored)
mod_proxy_http: don't recycle backend connections known to be closed (eg. EOS by close).
This saves a useless ap_is_socket_connected() call when reused.


Revision 1550061 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 11 07:27:12 2013 UTC (4 years, 10 months ago) by jkaluza
File length: 81234 byte(s)
Diff to previous 1542562 (colored)
Cleanup the bb brigade, because buckets inserted to it can be created from
scpool and this pool can be freed before this brigade.
POSSIBLE (but as yet unconfirmed) fix for crashes seen with threaded servers,
e.g. PR 50335.


Revision 1542562 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 16 20:13:48 2013 UTC (4 years, 10 months ago) by jim
File length: 81048 byte(s)
Diff to previous 1534321 (colored)
We were not being consistent between http and others
if we added the default port or not during the canonizing
phase... Baseline the http method (don't add unless the
port provided isn't the default).

Revision 1534321 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 21 18:58:26 2013 UTC (4 years, 11 months ago) by jorton
File length: 81061 byte(s)
Diff to previous 1530603 (colored)
* modules/proxy/mod_proxy_http.c (ap_proxy_http_request): Use the same
  brigade lifetime for the header brigade as the other brigades.
  POSSIBLE (but as yet unconfirmed) fix for crashes seen with threaded
  servers, e.g. PR 50335; appears correct or at least not harmful.

PR: 50335


Revision 1530603 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 9 13:38:45 2013 UTC (5 years ago) by jim
File length: 81069 byte(s)
Diff to previous 1524018 (colored)
ping tuning via Yann Ylavic <ylavic.dev@gmail.com>


Revision 1524018 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 17 12:51:08 2013 UTC (5 years ago) by trawick
File length: 80714 byte(s)
Diff to previous 1517045 (colored)
fill in missing message numbers in APLOGNO() invocations

Revision 1517045 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 23 21:19:21 2013 UTC (5 years, 1 month ago) by jailletc36
File length: 80709 byte(s)
Diff to previous 1516930 (colored)
Save a few cycles

Revision 1516930 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 23 16:48:42 2013 UTC (5 years, 1 month ago) by jim
File length: 80707 byte(s)
Diff to previous 1483027 (colored)
Allow for a simple socket check in addition to the
higher level protocol-level checks for backends...

Not sure if it makes sense to do both or not... Comments?

Revision 1483027 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 15 19:27:10 2013 UTC (5 years, 5 months ago) by minfrin
File length: 80154 byte(s)
Diff to previous 1482522 (colored)
mod_proxy_http: Make the proxy-interim-response environment variable
effective by formally overriding origin server behaviour.


Revision 1482522 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 14 18:58:06 2013 UTC (5 years, 5 months ago) by minfrin
File length: 79975 byte(s)
Diff to previous 1482075 (colored)
core: Stop the HTTP_IN filter from attempting to write error buckets
to the output filters, which is bogus in the proxy case. Create a
clean mapping from APR codes to HTTP status codes, and use it where
needed.


Revision 1482075 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 13 20:11:36 2013 UTC (5 years, 5 months ago) by minfrin
File length: 80104 byte(s)
Diff to previous 1480058 (colored)
mod_proxy, mod_proxy_http: Connection headers must be stripped on the way
in and out, support an optional function to handle this.


Revision 1480058 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 7 20:27:37 2013 UTC (5 years, 5 months ago) by minfrin
File length: 80142 byte(s)
Diff to previous 1465839 (colored)
mod_proxy: Ensure network errors detected by the proxy are returned as
504 Gateway Timout as opposed to 502 Bad Gateway, in order to be
compliant with RFC2616 14.9.4 Cache Revalidation and Reload Controls.


Revision 1465839 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 9 00:18:42 2013 UTC (5 years, 6 months ago) by druggeri
File length: 80137 byte(s)
Diff to previous 1456124 (colored)
Add failontimeout to allow server admin to mark balancer member in err if IO timeout occurs.

Revision 1456124 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 13 20:39:34 2013 UTC (5 years, 7 months ago) by trawick
File length: 80073 byte(s)
Diff to previous 1453875 (colored)
axe unused variable dconf (since r1453875)


Revision 1453875 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 7 14:06:51 2013 UTC (5 years, 7 months ago) by jim
File length: 80169 byte(s)
Diff to previous 1433988 (colored)
Pull out duplicated code to proxy_util...

Revision 1433988 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 16 15:37:16 2013 UTC (5 years, 9 months ago) by rpluem
File length: 91202 byte(s)
Diff to previous 1373955 (colored)
* A limit of zero means unlimited for LimitRequestBody.

PR: 54435
Submitted by: Pavel Mateja <pavel netsafe.cz>
Reviewed by: rpluem


Revision 1373955 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 16 17:54:50 2012 UTC (6 years, 2 months ago) by rjung
File length: 91191 byte(s)
Diff to previous 1333969 (colored)
Fix closing the back end connection in case of error.
The field "closed" was changed from an int to a bit
field of size one in 2.4.x.
For historical reasons a close instruction was coded
as an increment on the field, which in 2.4.x flips
the field each time. There were mutliple code paths
that would flip it several times for a single error,
so effectively the connection was no longer closed
in these cases.

Especially in the case of an aborted client connection
this lead to a non consumed back end buffer and thus to
response mixup between users.

PR 53727

CVE-2012-3052


Revision 1333969 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 4 14:02:58 2012 UTC (6 years, 5 months ago) by rpluem
File length: 91155 byte(s)
Diff to previous 1242798 (colored)
* Use the the same hostname for SNI as for the HTTP request when forwarding
  to SSL backends.

PR: 53134
Based on a patch from: Michael Weiser <michael weiser.dinsnail.net>
Reviewed by: rpluem


Revision 1242798 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 10 14:52:25 2012 UTC (6 years, 8 months ago) by jorton
File length: 90533 byte(s)
Diff to previous 1214015 (colored)
* modules/proxy/mod_proxy_http.c (ap_proxy_http_process_response):
  Treat EAGAIN as an error for a blocking read from the input filter
  stack.


Revision 1214015 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 14 01:10:52 2011 UTC (6 years, 10 months ago) by minfrin
File length: 90474 byte(s)
Diff to previous 1214003 (colored)
Further clarify the naming of the entity that directly connects to us by
calling that entity a client instead of a peer.


Revision 1214003 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 14 00:31:51 2011 UTC (6 years, 10 months ago) by minfrin
File length: 90460 byte(s)
Diff to previous 1209916 (colored)
Further clarify the naming of the entity that originates the request by
calling that entity a useragent instead of a client.


Revision 1209916 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 3 14:39:51 2011 UTC (6 years, 10 months ago) by minfrin
File length: 90451 byte(s)
Diff to previous 1209812 (colored)
mod_proxy: Remove ap_proxy_make_fake_req() from the public API.


Revision 1209812 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 3 01:03:08 2011 UTC (6 years, 10 months ago) by minfrin
File length: 89425 byte(s)
Diff to previous 1209811 (colored)
mod_proxy: Remove ap_proxy_date_canon() from the public API.


Revision 1209811 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 3 00:57:19 2011 UTC (6 years, 10 months ago) by minfrin
File length: 88958 byte(s)
Diff to previous 1209797 (colored)
mod_proxy: Remove ap_proxy_buckets_lifetime_transform() from the public API.


Revision 1209797 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 3 00:30:06 2011 UTC (6 years, 10 months ago) by minfrin
File length: 87205 byte(s)
Diff to previous 1209766 (colored)
mod_proxy: Remove ap_proxy_liststr(), it duplicates ap_find_token().


Revision 1209766 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 2 23:02:04 2011 UTC (6 years, 10 months ago) by sf
File length: 87292 byte(s)
Diff to previous 1206291 (colored)
Add lots of unique tags to error log messages


Revision 1206291 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 25 19:42:04 2011 UTC (6 years, 10 months ago) by minfrin
File length: 86797 byte(s)
Diff to previous 1204968 (colored)
Introduce a per connection "peer_ip" and a per request "client_ip" to
distinguish between the raw IP address of the connection and the effective
IP address of the request.


Revision 1204968 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 22 13:10:39 2011 UTC (6 years, 10 months ago) by minfrin
File length: 86807 byte(s)
Diff to previous 1203859 (colored)
Introduce a per request version of the remote IP address, which can be
optionally modified by a module when the effective IP of the client
is not the same as the real IP of the client (such as a load balancer).


Revision 1203859 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 18 21:41:09 2011 UTC (6 years, 10 months ago) by sf
File length: 86807 byte(s)
Diff to previous 1174751 (colored)
great proxy logging cleanup:
    
  * remove "proxy:", "FCGI", etc. prefixes and pid which are now
    included in the error log format

  * propagate frontend request's logconfig to backend request
    
  * use ap_log_rerror where possible
    
  * remove obsolete APLOG_NOERRNO


Revision 1174751 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 23 13:39:32 2011 UTC (7 years ago) by jim
File length: 87508 byte(s)
Diff to previous 1154342 (colored)
Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change



Revision 1154342 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 5 18:35:29 2011 UTC (7 years, 2 months ago) by sf
File length: 87538 byte(s)
Diff to previous 1102124 (colored)
mod_proxy_http, mod_proxy_connect: Add 'proxy-status' and 'proxy-source-port'
request notes for logging

PR: 30195


Revision 1102124 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 11 22:51:46 2011 UTC (7 years, 5 months ago) by sf
File length: 87297 byte(s)
Diff to previous 1069785 (colored)
Use APR_STATUS_IS_... in some more cases.

While this is not strictly necessary everywhere, it makes it much easier
to find the problematic cases.


Revision 1069785 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 11 12:50:31 2011 UTC (7 years, 8 months ago) by rpluem
File length: 87289 byte(s)
Diff to previous 1060795 (colored)
* Play safe if the notes table does not contain an SSL_connect_rv key.

Revision 1060795 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 19 12:48:17 2011 UTC (7 years, 8 months ago) by igalic
File length: 87238 byte(s)
Diff to previous 1058623 (colored)
Add a patch from Vincent Deffontaines to make the adding of X-forwarded-*
headers configurable: ProxyAddHeaders, defaulting to 'On'.
http://www.mail-archive.com/dev@httpd.apache.org/msg49971.html


Revision 1058623 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 13 15:58:57 2011 UTC (7 years, 9 months ago) by jim
File length: 87133 byte(s)
Diff to previous 1055605 (colored)
More movement to shared stuff...

Revision 1055605 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 5 19:47:45 2011 UTC (7 years, 9 months ago) by trawick
File length: 87106 byte(s)
Diff to previous 1055570 (colored)
fix comment

Revision 1055570 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 5 18:33:45 2011 UTC (7 years, 9 months ago) by jim
File length: 87106 byte(s)
Diff to previous 1055386 (colored)
update comment


Revision 1055386 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 5 09:53:55 2011 UTC (7 years, 9 months ago) by minfrin
File length: 87105 byte(s)
Diff to previous 1055250 (colored)
Make sure we clone the table rather than copy it, to ensure that no keys
or values allocated from r->pool end up referenced in the backend request.


Revision 1055250 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 5 00:23:43 2011 UTC (7 years, 9 months ago) by minfrin
File length: 87104 byte(s)
Diff to previous 1055246 (colored)
mod_proxy_http: Allocate the fake backend request from a child pool
of the backend connection, instead of misusing the pool of the frontend
request. Fixes a thread safety issue where buckets set aside in the
backend connection leak into other threads, and then disappear when
the frontend request is cleaned up, in turn causing corrupted buckets
to make other threads spin.


Revision 1055246 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 4 23:55:50 2011 UTC (7 years, 9 months ago) by minfrin
File length: 87028 byte(s)
Diff to previous 1053967 (colored)
mod_proxy_http: Ensure that when the backend is closed, the final call to
ap_proxy_http_cleanup() is suppressed, so that the backend is not cleaned
twice. Fixes a further thread safety issue.


Revision 1053967 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 30 18:32:15 2010 UTC (7 years, 9 months ago) by minfrin
File length: 87025 byte(s)
Diff to previous 1053584 (colored)
Change another variable that could be confused for conn_rec.


Revision 1053584 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 29 09:43:56 2010 UTC (7 years, 9 months ago) by rpluem
File length: 87017 byte(s)
Diff to previous 1052314 (colored)
* Fix r1039304 and make the patch similar to the one proposed for
  2.2.x: If the SSL handshake to the backend fails we cannot even
  sent an HTTP request. So the check needs to happen already when
  we sent data not when we receive data.


Revision 1052314 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 23 16:43:43 2010 UTC (7 years, 9 months ago) by rpluem
File length: 87058 byte(s)
Diff to previous 1052224 (colored)
* The concept of the cleaned flag is flawed: Once we returned the connection
  to the pool we cannot longer rely on it as another thread could have leased
  the connection in the meantime and might have modified it.
  BUT: We only use this flag once we returned the connection to the pool.
  So signal that we returned the connection to the pool by something that is
  local to the thread, in this case set backend to NULL if we already have
  returende the connection.


Revision 1052224 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 23 11:10:56 2010 UTC (7 years, 9 months ago) by rpluem
File length: 86565 byte(s)
Diff to previous 1039304 (colored)
* Do not fiddle around with the close field if we might have returned the
  connection to the pool already. It might be already in use again by another
  thread.


Revision 1039304 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 26 10:33:19 2010 UTC (7 years, 10 months ago) by rpluem
File length: 86653 byte(s)
Diff to previous 1035605 (colored)
* Put a note in the connection notes that the SSL handshake to the backend
  failed such that mod_proxy can put the worker in error state.

PR: 50332
Submitted by: Daniel Ruggeri <DRuggeri primary.net>
Reviewed by: rpluem


Revision 1035605 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 16 12:08:38 2010 UTC (7 years, 11 months ago) by minfrin
File length: 86282 byte(s)
Diff to previous 1035576 (colored)
When the proxy closes the backend connection early, force a setaside on
any buckets still outstanding to ensure they've been copied out of the
backend connection's pool and it is safe to release the backend connection.


Revision 1035576 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 16 10:27:26 2010 UTC (7 years, 11 months ago) by minfrin
File length: 85389 byte(s)
Diff to previous 1035504 (colored)
Revert r1035504, this was the wrong way to do it.


Revision 1035504 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 16 00:23:37 2010 UTC (7 years, 11 months ago) by minfrin
File length: 85703 byte(s)
Diff to previous 1030855 (colored)
Fix pool lifetime issues when the proxy backend connection is terminated
early by forcing a setaside on transient buckets placed in the brigade
by mod_ssl. This has the effect of extending the lifetime of buckets until
the end of the request. This is a variation on the original fix for this
problem, which added transient buckets to be setaside later in the process.


Revision 1030855 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 4 08:37:13 2010 UTC (7 years, 11 months ago) by minfrin
File length: 85389 byte(s)
Diff to previous 1026665 (colored)
Fix a pool lifetime issue: Make sure we clean up our brigade before we
hand the backend connection back to the connection pool.


Revision 1026665 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 23 19:26:44 2010 UTC (7 years, 11 months ago) by minfrin
File length: 85384 byte(s)
Diff to previous 1026636 (colored)
mod_proxy: Release the backend connection as soon as EOS is detected,
so the backend isn't forced to wait for the client to eventually
acknowledge the data.


Revision 1026636 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 23 16:20:10 2010 UTC (7 years, 11 months ago) by sf
File length: 84594 byte(s)
Diff to previous 1026187 (colored)
Remove needless pool cleanup. ap_pregcomp already registers a cleanup for the
regex.


Revision 1026187 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 22 00:46:39 2010 UTC (7 years, 11 months ago) by minfrin
File length: 84780 byte(s)
Diff to previous 1025666 (colored)
Fix an inline variable declaration.


Revision 1025666 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 20 18:33:55 2010 UTC (7 years, 11 months ago) by minfrin
File length: 84785 byte(s)
Diff to previous 999694 (colored)
mod_proxy: Move the ProxyErrorOverride directive to have per directory scope.


Revision 999694 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 22 00:07:52 2010 UTC (8 years ago) by trawick
File length: 84685 byte(s)
Diff to previous 999288 (colored)
axe an unnecessary call to sscanf() when parsing the response line
from the origin server

apr_date_checkmask() already verified the expected text and digit
positions; all that is needed is to cheaply find which digits


Revision 999288 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 21 09:23:39 2010 UTC (8 years ago) by rpluem
File length: 84758 byte(s)
Diff to previous 986699 (colored)
* LimitRequestBody does not affect Proxy requests (Should it?).
  Let it take effect if we decide to store the body in a
  temporary file on disk.


Revision 986699 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 18 14:30:50 2010 UTC (8 years, 1 month ago) by jim
File length: 84118 byte(s)
Diff to previous 986468 (colored)
Pull out "does request have a body" logic to a central
canon function and use that for the 100-Continue OK
check.

Should likely also start using this in the various
other places we do this "have body" check thruout
the codebase...


Revision 986468 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 17 19:59:39 2010 UTC (8 years, 2 months ago) by jim
File length: 84492 byte(s)
Diff to previous 986333 (colored)
Fix comment and code to be what it should have been/

thx to r and r for spotting this foobar.


Revision 986333 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 17 14:43:45 2010 UTC (8 years, 2 months ago) by jim
File length: 84493 byte(s)
Diff to previous 986318 (colored)
Further checks for non-body requests...


Revision 986318 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 17 14:15:07 2010 UTC (8 years, 2 months ago) by jim
File length: 83952 byte(s)
Diff to previous 986090 (colored)
detab


Revision 986090 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 16 18:36:19 2010 UTC (8 years, 2 months ago) by jim
File length: 83791 byte(s)
Diff to previous 953418 (colored)
For backends which are HTTP/1.1, do a quick test (ping)
of the "connection" via 100-Continue for reverse
proxies...

ACO and Filip Hanik also helped out with the idea...


Revision 953418 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 10 18:52:27 2010 UTC (8 years, 4 months ago) by rjung
File length: 81242 byte(s)
Diff to previous 951900 (colored)
Use APR_STATUS_IS_TIMEUP instead of direct compare to APR_TIMEUP to
be more safe on different platforms.

Note: This commit has an additional, platform-independent change to
mark the back-end connection for closing ("backend->close = 1;").
That code is not required to resolve CVE-2010-2068 on any platform.

PR: 49417
Addresses CVE-2010-2068


Revision 951900 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 6 17:07:12 2010 UTC (8 years, 4 months ago) by sf
File length: 81127 byte(s)
Diff to previous 951895 (colored)
- Be less verbose at levels INFO and DEBUG in mod_proxy* and mod_ssl
- Add some trace logging to core and http


Revision 951895 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 6 16:59:50 2010 UTC (8 years, 4 months ago) by sf
File length: 80814 byte(s)
Diff to previous 921347 (colored)
Use the new APLOG_USE_MODULE/AP_DECLARE_MODULE macros everywhere to take
advantage of per-module loglevels


Revision 921347 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 10 13:37:00 2010 UTC (8 years, 7 months ago) by sf
File length: 80832 byte(s)
Diff to previous 912063 (colored)
log remote server port in various places


Revision 912063 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 20 01:54:15 2010 UTC (8 years, 7 months ago) by niq
File length: 80696 byte(s)
Diff to previous 909899 (colored)
mod_proxy_http: get the headers right in a HEAD request with ProxyErrorOverride.PR 41646
Analysis by Stuart Children; patch by niq


Revision 909899 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 13 20:24:24 2010 UTC (8 years, 8 months ago) by minfrin
File length: 80801 byte(s)
Diff to previous 882269 (colored)
mod_proxy_http: Make sure that when an ErrorDocument is served
from a reverse proxied URL, that the subrequest respects the status
of the original request. This brings the behaviour of proxy_handler
in line with default_handler. PR 47106.


Revision 882269 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 19 20:00:12 2009 UTC (8 years, 10 months ago) by trawick
File length: 79804 byte(s)
Diff to previous 824072 (colored)
fix or complain about some invalid errno references


Revision 824072 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 11 13:38:51 2009 UTC (9 years ago) by sf
File length: 79801 byte(s)
Diff to previous 806920 (colored)
Allow ProxyPreserveHost to work in <Proxy> sections

PR: 34901


Revision 806920 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 23 02:00:43 2009 UTC (9 years, 1 month ago) by niq
File length: 79705 byte(s)
Diff to previous 790587 (colored)
Return consistent error status for proxy unable to connect
PR 46971


Revision 790587 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 2 13:41:18 2009 UTC (9 years, 3 months ago) by jorton
File length: 79802 byte(s)
Diff to previous 785661 (colored)
Security fix for CVE-2009-1890:

* modules/proxy/mod_proxy_http.c (stream_reqbody_cl): Specify the base
  passed to apr_strtoff, and validate the Content-Length in the same
  way the HTTP_IN filter does.  If the number of bytes streamed
  exceeds the expected body length, bail out of the loop.

Thanks to: Toadie <toadie643 gmail.com> for reporting and diagnosis of
	this issue.
Submitted by: niq, jorton


Revision 785661 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 17 15:21:21 2009 UTC (9 years, 4 months ago) by niq
File length: 79291 byte(s)
Diff to previous 778531 (colored)
mod_proxy_http: fix case sensitivity checking transfer encoding
PR 47383 [Ryuzo Yamamoto]



Revision 778531 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 25 23:19:16 2009 UTC (9 years, 4 months ago) by niq
File length: 79287 byte(s)
Diff to previous 760866 (colored)
Fix IPv6 literal addresses passed to a proxied backend.
PR 47177
Patch by Carlos Garcia Braschi


Revision 760866 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 1 12:07:47 2009 UTC (9 years, 6 months ago) by rpluem
File length: 78843 byte(s)
Diff to previous 733219 (colored)
* Add SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN directives to enable
  stricter checking of remote server certificates.

  (docs/manual/mod/mod_ssl.xml)
    Documentation of SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN.

  (modules/proxy/mod_proxy_http.c)
    Set the hostname of the request URL as note on the connection.

  (modules/ssl/ssl_private.h)
    Add proxy_ssl_check_peer_expire and proxy_ssl_check_peer_cn fields to
    the SSLSrvConfigRec.

  (modules/ssl/ssl_engine_config.c)
    Directives stuff for SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN.

  (modules/ssl/ssl_engine_io.c)
    Check whether the remote servers certificate is expired / if there is a
    mismatch between the requested hostanme and the remote server certificates
    CN field.
    Be able to parse ASN1 times.

  (modules/ssl/mod_ssl.c)
    Directives stuff for SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN.


Revision 733219 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 10 01:35:50 2009 UTC (9 years, 9 months ago) by covener
File length: 78506 byte(s)
Diff to previous 733127 (colored)
use ap_log_rerror instead of r->server per niq's comments


Revision 733127 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 9 19:31:48 2009 UTC (9 years, 9 months ago) by covener
File length: 78520 byte(s)
Diff to previous 712375 (colored)
pass a server_rec to ap_log_error on two interim response messages
 


Revision 712375 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 8 11:09:38 2008 UTC (9 years, 11 months ago) by rpluem
File length: 78510 byte(s)
Diff to previous 707163 (colored)
* Rip out the old flushing approach for solving lifetime issues between the
  backend connection bucket allocator and front end connection bucket allocator.
  Instead copy the buckets from the backend over to ones that have been created
  using the front end bucket allocator. For metabucket this is done by recreating
  them, for data buckets this is done by reading them and putting the read data
  in a transient bucket.

PR: 45792


Revision 707163 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 22 19:13:57 2008 UTC (9 years, 11 months ago) by jim
File length: 78223 byte(s)
Diff to previous 697362 (colored)
Remove potential for memory leak... allocate on this
request which is now viable due to connection pooling.


Revision 697362 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 20 13:44:26 2008 UTC (10 years ago) by jim
File length: 78921 byte(s)
Diff to previous 685191 (colored)
For timeouts, behave as before and not drop.
From Adam Woodworth <mirkperl gmail.com>


Revision 685191 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 12 15:40:48 2008 UTC (10 years, 2 months ago) by trawick
File length: 78578 byte(s)
Diff to previous 684351 (colored)
comment tweak


Revision 684351 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 9 21:33:09 2008 UTC (10 years, 2 months ago) by rpluem
File length: 78579 byte(s)
Diff to previous 666180 (colored)
* Introduce environment variable proxy-initial-not-pooled to avoid reusing
  pooled connections if the client connection is an initial connection.
  This avoids the "proxy: error reading status line from remote server"
  error caused by the race condition that the backend server closed the
  connection after the connection check on our side and before our data
  reached the backend. Yes, this downgrades performance, especially with
  HTTP/1.0 clients. Hence it is configurable and off by default.

PR: 37770


Revision 666180 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 10 16:14:47 2008 UTC (10 years, 4 months ago) by jim
File length: 77989 byte(s)
Diff to previous 666154 (colored)
move back to inner loop... fails otherwise


Revision 666154 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 10 15:30:00 2008 UTC (10 years, 4 months ago) by jim
File length: 77916 byte(s)
Diff to previous 661508 (colored)
Patch for CVE-2008-2364...


Revision 661508 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 29 22:23:19 2008 UTC (10 years, 4 months ago) by rpluem
File length: 77068 byte(s)
Diff to previous 661506 (colored)
* Do this later as we might leave the function anyway without the need for this.


Revision 661506 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 29 22:19:17 2008 UTC (10 years, 4 months ago) by rpluem
File length: 77068 byte(s)
Diff to previous 660726 (colored)
* According to RFC 2616 8.2.3 we are not allowed to forward an
  Expect: 100-continue to an HTTP/1.0 server. Instead we MUST return
  a HTTP_EXPECTATION_FAILED.


Revision 660726 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 27 21:40:48 2008 UTC (10 years, 4 months ago) by rpluem
File length: 76772 byte(s)
Diff to previous 654978 (colored)
*  mod_proxy_http.c
   Ensure that the EOC bucket is inserted BEFORE an EOS bucket in bb as
   some resource filters like mod_deflate pass everything up to the EOS
   down the chain immediately and sent the remainder of the brigade later
   (or even never). But in this case the ap_http_header_filter does not
   get out of our way soon enough.

   http_filters.c
   Remove all data buckets that are in a brigade after an EOC bucket
   was seen, as an EOC bucket tells us that no (further) resource
   and protocol data should go out to the client. OTOH meta buckets
   are still welcome as they might trigger needed actions down in
   the chain (e.g. in network filters like SSL).
   Remark 1: It is needed to dump ALL data buckets in the brigade
             since an filter in between might have inserted data
             buckets BEFORE the EOC bucket sent by the original
             sender and we do NOT want this data to be sent.
   Remark 2: Dumping all data buckets here does not necessarily mean
             that no further data is send to the client as:
             1. Network filters like SSL can still be triggered via
                meta buckets to talk with the client e.g. for a
                clean shutdown.
             2. There could be still data that was buffered before
                down in the chain that gets flushed by a FLUSH or an
                EOS bucket.

PR: 37770


Revision 654978 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 9 23:41:10 2008 UTC (10 years, 5 months ago) by minfrin
File length: 75917 byte(s)
Diff to previous 654968 (colored)
Remove extra cruft that ended up in a commit.


Revision 654968 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 9 22:40:01 2008 UTC (10 years, 5 months ago) by minfrin
File length: 76019 byte(s)
Diff to previous 650026 (colored)
core, mod_proxy: If a kept_body is present, it becomes safe for
subrequests to support message bodies. Make sure that safety
checks within the core and within the proxy are not triggered
when kept_body is present. This makes it possible to embed
proxied POST requests within mod_include.


Revision 650026 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 21 06:50:36 2008 UTC (10 years, 5 months ago) by jfclere
File length: 75763 byte(s)
Diff to previous 649922 (colored)
Typo.


Revision 649922 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 20 14:23:25 2008 UTC (10 years, 5 months ago) by jim
File length: 75772 byte(s)
Diff to previous 649840 (colored)
Set at init time, and combine comments


Revision 649840 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 19 18:48:05 2008 UTC (10 years, 5 months ago) by rpluem
File length: 75753 byte(s)
Diff to previous 649239 (colored)
* Do not add the query string again in the case that we are using the
  unparsed uri.

PR: 44803


Revision 649239 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 17 19:20:16 2008 UTC (10 years, 6 months ago) by jim
File length: 76192 byte(s)
Diff to previous 645813 (colored)
handle ? in cases where nocanon is in effect


Revision 645813 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 8 09:49:13 2008 UTC (10 years, 6 months ago) by rpluem
File length: 76080 byte(s)
Diff to previous 617653 (colored)
* In the case that we fail to read the response line from the backend and if
  we are a reverse proxy request shutdown the connection WITHOUT ANY response
  to trigger a retry by the client if allowed (as for idempotent requests).
  BUT currently we should not do this if the request is the first request on
  a keepalive connection as browsers like seamonkey only display an empty page
  in this case and do not do a retry.

Related to PR 37770



Revision 617653 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 1 21:21:01 2008 UTC (10 years, 8 months ago) by rpluem
File length: 74371 byte(s)
Diff to previous 616517 (colored)
* Fix comment. No functional change.


Revision 616517 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 29 20:55:38 2008 UTC (10 years, 8 months ago) by rpluem
File length: 74371 byte(s)
Diff to previous 611292 (colored)
* Fix processing of chunked responses if Connection: Transfer-Encoding is
  set in the response of the proxied system.

PR: 44311


Revision 611292 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 11 20:30:23 2008 UTC (10 years, 9 months ago) by covener
File length: 73733 byte(s)
Diff to previous 602542 (colored)
  *) mod_proxy_http: Return HTTP status codes instead of apr_status_t
     values for errors encountered while forwarding the request body
     PR 44165 [Eric Covener]

See also PR 31759 / r448711



Revision 602542 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 8 20:10:29 2007 UTC (10 years, 10 months ago) by rpluem
File length: 73401 byte(s)
Diff to previous 588806 (colored)
* Enable the proxy to keep connections persistent in the HTTPS case.

  Basicly the persistence is created by keeping the conn_rec structure
  created for our backend connection (whether http or https) in the connection
  pool. This required to adjust scoreboard.c in a way that its functions can
  properly deal with a NULL scoreboard handle by ignoring the call or returning
  an error code.


Revision 588806 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 26 23:56:06 2007 UTC (10 years, 11 months ago) by niq
File length: 73619 byte(s)
Diff to previous 588791 (colored)
Add option not to send&clear response headers in ap_send_interim_response.
We'll need this option to fix PR#43711, and ap_send_interim_response
is fortunately too new an API to have made it into anything stable.


Revision 588791 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 26 23:07:22 2007 UTC (10 years, 11 months ago) by niq
File length: 73616 byte(s)
Diff to previous 583813 (colored)
mod_proxy: add "nocanon" keyword to ProxyPass, to suppress
URI-canonicalisation in a reverse proxy.
PR 41798


Revision 583813 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 11 13:02:35 2007 UTC (11 years ago) by jorton
File length: 73426 byte(s)
Diff to previous 583803 (colored)
* modules/proxy/mod_proxy_http.c (ap_proxy_http_register_hook): Fix
  apr_pool_cleanup_register() invocation added in r583202, which was
  causing every apr_proc_create() call to segfault.


Revision 583803 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 11 12:38:14 2007 UTC (11 years ago) by jim
File length: 73409 byte(s)
Diff to previous 583466 (colored)
(forward) proxy should not be verifying/checking for
valid chars in a URI... pass through.


Revision 583466 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 10 13:16:56 2007 UTC (11 years ago) by jim
File length: 73517 byte(s)
Diff to previous 583205 (colored)
Abstract out "verification of valid encoding" via
ap_proxy_isvalidenc(). Now we can use it in other
proxy protocols.


Revision 583205 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 9 15:59:32 2007 UTC (11 years ago) by niq
File length: 73950 byte(s)
Diff to previous 583002 (colored)
missing include!


Revision 583002 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 8 23:47:35 2007 UTC (11 years ago) by niq
File length: 73928 byte(s)
Diff to previous 582655 (colored)
mod_proxy_http: Don't unescape/escape forward proxied URLs.  Just check them.
PR 42592

also add fix to PR42572 to CHANGES (from r563487/r563489)


Revision 582655 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 7 17:29:40 2007 UTC (11 years ago) by niq
File length: 73011 byte(s)
Diff to previous 582631 (colored)
Purge tabs in r582631


Revision 582631 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 7 13:43:26 2007 UTC (11 years ago) by niq
File length: 72857 byte(s)
Diff to previous 581030 (colored)
mod_proxy_http: Correctly forward unexpected interim (HTTP 1xx) responses.
PR 16518


Revision 581030 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 1 18:08:13 2007 UTC (11 years ago) by niq
File length: 71842 byte(s)
Diff to previous 580782 (colored)
No change, but they won't let me have foo
(and ... this is the module with a function addit_dammit !!!)


Revision 580782 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 30 20:44:06 2007 UTC (11 years ago) by niq
File length: 71762 byte(s)
Diff to previous 580465 (colored)
Proxy: remove Warning headers with wrong date
PR 16138


Revision 580465 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 28 19:23:27 2007 UTC (11 years ago) by niq
File length: 69244 byte(s)
Diff to previous 580457 (colored)
Fix typo in header name "Trailer"


Revision 580457 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 28 18:50:57 2007 UTC (11 years ago) by niq
File length: 69245 byte(s)
Diff to previous 580060 (colored)
Fix processing of Connection headers in proxy
PR 43509


Revision 580060 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 27 15:21:12 2007 UTC (11 years ago) by niq
File length: 68947 byte(s)
Diff to previous 580044 (colored)
Fix adding out Via header in proxy response
PR 19439


Revision 580044 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 27 14:53:40 2007 UTC (11 years ago) by niq
File length: 68951 byte(s)
Diff to previous 580019 (colored)
Strip hop-by-hop headers in proxy response


Revision 580019 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 27 14:20:21 2007 UTC (11 years ago) by niq
File length: 68640 byte(s)
Diff to previous 577349 (colored)
Formatting.  No functional change.


Revision 577349 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 19 16:40:26 2007 UTC (11 years ago) by jfclere
File length: 68635 byte(s)
Diff to previous 574021 (colored)
Remove tabs.


Revision 574021 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 9 15:38:08 2007 UTC (11 years, 1 month ago) by niq
File length: 68586 byte(s)
Diff to previous 572000 (colored)
Propagate Proxy-Authorization header correctly
PR 25947
RFC2616 tells us:
  (1) If we haven't authenticated, we must pass the header on.
  (2) If we have authenticated, we MAY pass it on.
I've made the latter case configurable by ENV(Proxy-Chain-Auth).

Also, Proxy-Authenticate is a response header, and doesn't belong
in a check of request headers.


Revision 572000 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 2 15:10:29 2007 UTC (11 years, 1 month ago) by niq
File length: 68755 byte(s)
Diff to previous 571002 (colored)
Fix proxy-sendchunk(s|ed) problem
PR 43183


Revision 571002 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 30 00:44:24 2007 UTC (11 years, 1 month ago) by niq
File length: 68598 byte(s)
Diff to previous 561778 (colored)
proxy_http: don't wait for response body in a HEAD
PR 41644 [Stuart Children]


Revision 561778 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 1 12:20:34 2007 UTC (11 years, 2 months ago) by jfclere
File length: 68540 byte(s)
Diff to previous 549420 (colored)
create the brigate outside ap_proxygetline and reuse it.
correct the overflow handling. (returning APR_ENOSPC was
changing the behaviour).


Revision 549420 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 21 08:01:30 2007 UTC (11 years, 3 months ago) by jfclere
File length: 68493 byte(s)
Diff to previous 527969 (colored)
Improve traces in ap_proxy_http_process_response().
That will help to investigate PR 37770. (errors from backend :-)).


Revision 527969 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 12 15:07:11 2007 UTC (11 years, 6 months ago) by trawick
File length: 67950 byte(s)
Diff to previous 495808 (colored)
HTTP proxy ProxyErrorOverride: Leave 1xx and 3xx responses alone.  Only
processing of error responses (4xx, 5xx) will be altered.

PR: 39245

This is based on a patch submitted by Bart van der Schans <schans hippo.nl>
and tweaked slightly by me based on discussions on dev@ since April 2006.
I think rpleum was the first to mention the 1xx issue.



Revision 495808 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 13 01:02:46 2007 UTC (11 years, 9 months ago) by jerenkrantz
File length: 67952 byte(s)
Diff to previous 486320 (colored)
Re-add "proxy-sendextracrlf" first introduced in r157478 and silently removed
in r219224.


Revision 486320 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 12 21:22:36 2006 UTC (11 years, 10 months ago) by rpluem
File length: 67349 byte(s)
Diff to previous 437768 (colored)
* Handle request bodies larger than 2 GB by converting the Content-Length
  header string of the request correctly to apr_off_t.

PR: 40883


Revision 437768 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 28 17:57:24 2006 UTC (12 years, 1 month ago) by jim
File length: 67215 byte(s)
Diff to previous 427959 (colored)
Minor nit: why make the logic more complex than it needs to
be ? :)


Revision 427959 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 2 12:03:42 2006 UTC (12 years, 2 months ago) by mturk
File length: 67224 byte(s)
Diff to previous 420983 (colored)
Cleanup: Remove close_on_recycle from proxy_conn_rec.
It behaves the same as close.

Revision 420983 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 11 20:33:53 2006 UTC (12 years, 3 months ago) by fielding
File length: 67263 byte(s)
Diff to previous 414238 (colored)
update license header text

Revision 414238 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 14 13:16:29 2006 UTC (12 years, 4 months ago) by jorton
File length: 67116 byte(s)
Diff to previous 395228 (colored)
* server/core.c (default_handler): Use apr_brigade_insert_file() to
append the file to the brigade.

* server/protocol.c (ap_send_fd),
modules/proxy/mod_proxy_http.c (spool_reqbody_cl), 
modules/cache/mod_mem_cache.c (recall_body),
modules/cache/mod_disk_cache.c (recall_body),
modules/mappers/mod_negotiation.c (handle_map_file),
modules/generators/mod_asis.c (asis_handler),
modules/dav/fs/repos.c [DEBUG_GET_HANDLER] (dav_fs_deliver),
modules/arch/win32/mod_isapi.c (ServerSupportFunction): Likewise.


Revision 395228 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 19 12:11:27 2006 UTC (12 years, 6 months ago) by colm
File length: 68060 byte(s)
Diff to previous 394088 (colored)
Update the copyright year in all .c, .h and .xml files


Revision 394088 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 14 13:20:28 2006 UTC (12 years, 6 months ago) by rpluem
File length: 68060 byte(s)
Diff to previous 379237 (colored)
* Avoid calling ap_proxy_http_cleanup twice as this releases a connection
  from the connection pool twice. This causes this connection to be present
  in the connection pool twice. Thus it may be used by different threads
  at the same time which causes many troubles (segfaults in this case).
  Furthermore implement a logic to prevent double releases to the connection
  pool if they are triggered by buggy code and log an error message in this
  case.

  - mod_proxy_http.c: remove double calls to ap_proxy_http_cleanup
  - proxy_util.c: Add logic to prevent double releases of a
    connection to the connection pool.

PR: 38793


Revision 379237 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 20 20:56:50 2006 UTC (12 years, 7 months ago) by rpluem
File length: 68170 byte(s)
Diff to previous 378032 (colored)
* Disable persistent connections for SSL backends again as we do not
  handle them correctly, because we recreate backend->connection for each
  request and thus try to initialize an already existing SSL connection.

Noticed by: Joe Orton


Revision 378032 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 15 16:44:42 2006 UTC (12 years, 8 months ago) by jim
File length: 67835 byte(s)
Diff to previous 377525 (colored)
  *) mod_proxy: Fix KeepAlives not being allowed and set to
     backend servers. PR38602. [Ruediger Pluem, Jim Jagielski]

Also, document previous patch:
  *) Correctly initialize mod_proxy workers, which use a
     combination of local and shared datasets. Adjust logging
     to better trace usage. PR38403. [Jim Jagielski]



Revision 377525 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 13 22:58:03 2006 UTC (12 years, 8 months ago) by rpluem
File length: 68896 byte(s)
Diff to previous 377057 (colored)
* Use the correct pool for apr_table_copy. Otherwise we trigger the bad pool
  ancestry abort in apr_table_copy if apr is compiled with APR_POOL_DEBUG.

Noticed by: Joe Orton


Revision 377057 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 11 21:15:12 2006 UTC (12 years, 8 months ago) by rpluem
File length: 68564 byte(s)
Diff to previous 377053 (colored)
* Do not close the backend connection, because the client sent a
  Connection: close header.

PR: 38524


Revision 377053 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 11 20:57:12 2006 UTC (12 years, 8 months ago) by rpluem
File length: 69047 byte(s)
Diff to previous 366279 (colored)
* Do not remove the connection headers from r->headers_in. They are needed
  by the http output filter to create the correct connection response headers.
  Instead work on a copy of r->headers_in.

PR: 38524


Revision 366279 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 5 21:02:36 2006 UTC (12 years, 9 months ago) by rpluem
File length: 68944 byte(s)
Diff to previous 365374 (colored)
* Call ap_proxy_http_cleanup after ap_log_rerror because it resets
  backend->hostname to NULL.


Revision 365374 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 2 16:39:22 2006 UTC (12 years, 9 months ago) by rpluem
File length: 68944 byte(s)
Diff to previous 358022 (colored)
* Correctly signal broken backend connections up the chain also for the ajp
  backend (see also r357461). Furthermore move common code in mod_proxy_http.c
  and mod_proxy_ajp.c into a new function (ap_proxy_backend_broke) in
  proxy_util.c.

  modules/proxy/mod_proxy_ajp.c : Signal broken backend connection for ajp backend
  modules/proxy/proxy_util.c    : Add ap_proxy_backend_broke
  modules/proxy/mod_proxy_http.c: - Use ap_proxy_backend_broke
                                  - Return DONE also if backend broke
  modules/proxy/mod_proxy.h     : Add declaration of ap_proxy_backend_broke


Revision 358022 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 20 15:50:37 2005 UTC (12 years, 9 months ago) by jim
File length: 69177 byte(s)
Diff to previous 357461 (colored)
Morph the ap_http_broken_backend_filter() proxy "specific"
filter to a generic http error handling output filter.


Revision 357461 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 18 12:07:39 2005 UTC (12 years, 10 months ago) by rpluem
File length: 69114 byte(s)
Diff to previous 355853 (colored)
* If the mod_proxy backend connection broke in the middle of the response,
  then
  - Do not cache it.
  - Signal the client that something went wrong by closing the connection
    and not sending the last-chunk marker if the response was T-E chunked.

server/core_filters.c         : Close the connection to the client by setting
                                c->keepalive to AP_CONN_CLOSE.
modules/http/chunk_filter.c   : Do not send last-chunk marker in the case
                                the backend broke.
modules/proxy/mod_proxy_http.c: Signal that the backend connection broke.
modules/cache/mod_disk_cache.c: Respect r->no_cache for discarding the response


Submitted by: Roy T. Fielding, Jim Jagielski, Ruediger Pluem
Reviewed by: Roy T. Fielding, Jim Jagielski, Ruediger Pluem


Revision 355853 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 11 01:28:13 2005 UTC (12 years, 10 months ago) by rpluem
File length: 68739 byte(s)
Diff to previous 355823 (colored)
* revert r355823 and r355837


Revision 355823 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 11 00:15:27 2005 UTC (12 years, 10 months ago) by rpluem
File length: 68788 byte(s)
Diff to previous 354636 (colored)
* Move handling of backends that broke after the headers have been sent
  into the proxy handler of mod_proxy.

  This patch still sets r->connection->aborted to 1 which is currently
  vetoed by Roy. Moving it from the scheme handler to the proxy handler
  should ease the reimplementation of this, as the scheme handlers only
  needs to return PROXY_BACKEND_BROKEN to signal the above situation to
  the proxy handler.

  mod_proxy.h: Add define for PROXY_BACKEND_BROKEN
  mod_proxy.c: Handle PROXY_BACKEND_BROKEN in proxy handler
  mod_proxy_http.c: Sent back PROXY_BACKEND_BROKEN if backend broke
  after we sent the headers.


Revision 354636 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 7 00:44:13 2005 UTC (12 years, 10 months ago) by jerenkrantz
File length: 68739 byte(s)
Diff to previous 354628 (colored)
Add a comment and use proper grammar for another comment.
(No functional changes.)


Revision 354628 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 7 00:18:58 2005 UTC (12 years, 10 months ago) by jerenkrantz
File length: 68521 byte(s)
Diff to previous 332306 (colored)
If we get an error reading the upstream response, we should bail.

Reported by: Brian Akins


Revision 332306 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 10 15:11:44 2005 UTC (12 years, 11 months ago) by jim
File length: 68353 byte(s)
Diff to previous 327590 (colored)
No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines


Revision 327590 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 21 21:50:46 2005 UTC (12 years, 11 months ago) by rpluem
File length: 68523 byte(s)
Diff to previous 231355 (colored)
* 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


Revision 231355 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 10 23:36:39 2005 UTC (13 years, 2 months ago) by niq
File length: 65686 byte(s)
Diff to previous 231114 (colored)
Fix ProxyPassReverse & family to work correctly in <Location>


Revision 231114 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 9 21:15:40 2005 UTC (13 years, 2 months ago) by jorton
File length: 65592 byte(s)
Diff to previous 231046 (colored)
* modules/proxy/mod_proxy_http.c (stream_reqbody_cl): Fix gcc warning.


Revision 231046 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 9 14:54:46 2005 UTC (13 years, 2 months ago) by wrowe
File length: 65578 byte(s)
Diff to previous 230745 (colored)
  Hopefully, address the last edge case where status may 
  be uninitialized.  Asserts in non-debug builds are bad things,
  anyways, so this is probably more correct.  This should fix
  -Werror compile warning observed by Joe Orton.


Revision 230745 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 8 03:34:57 2005 UTC (13 years, 2 months ago) by wrowe
File length: 65540 byte(s)
Diff to previous 230739 (colored)
  Two blank lines for clarity; whitespace only change.


Revision 230739 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 8 03:12:24 2005 UTC (13 years, 2 months ago) by wrowe
File length: 65538 byte(s)
Diff to previous 230735 (colored)
  We already accept 80 bytes less than the client body's anticipated 
  size, so we don't need to also prefetch an extra 1024 bytes; this
  was redundant.



Revision 230735 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 8 02:57:55 2005 UTC (13 years, 2 months ago) by wrowe
File length: 65545 byte(s)
Diff to previous 230733 (colored)
  Drop an impossible case; the while() loop already protected us
  from this situation.


Revision 230733 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 8 02:51:32 2005 UTC (13 years, 2 months ago) by wrowe
File length: 65799 byte(s)
Diff to previous 230718 (colored)
  Fix a double-termination case in svn trunk/; we terminated the
  headers up-front knowing the resulting headers were already
  correctly composed.

  

Revision 230718 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 8 00:57:52 2005 UTC (13 years, 2 months ago) by wrowe
File length: 65856 byte(s)
Diff to previous 224721 (colored)
  An impossible-to-hit edge case today; we described the request
  as chunked - and if chunked always send the body termination "0"
  chunk header.

  Roy's requested change that we always send a body we could read
  in full as a C-L request ensures this code wasn't triggered; some
  change in the future could again reveal this edge case.


Revision 224721 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 25 12:44:40 2005 UTC (13 years, 2 months ago) by jorton
File length: 65735 byte(s)
Diff to previous 219533 (colored)
* modules/proxy/mod_proxy_http.c (stream_reqbody_cl): Fix format
string error.
(ap_proxy_http_request): Restore default case in rb_method switch to
fix gcc warnings.


Revision 219533 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 18 16:48:25 2005 UTC (13 years, 3 months ago) by wrowe
File length: 65681 byte(s)
Diff to previous 219430 (colored)
  Yet another snafu in body handling.  We need to clearly avoid any
  ap_get_brigade or request body processing in every *subrequest* 
  proxy action.  The new code introduced more chaos because we read
  the request body irrespective of any bogus header handling bugs.

  This requires a goto, and yes, that sucks :)  But this is one of those
  oddball cases where jumping away makes more sense than tons of indented
  code, IMHO.  And if you count the number of goto's I've committed to
  httpd, you know I avoid them like the plague.

  I woulda' suggestd to jorton to take a flying carnal act, except that 
  each time he points me back to the 2.0 patch, I catch another entirely 
  bogus choice within the old/new httpd-2.x request body code :)

  I've bumped the 2.0 patch to correspond; see
  http://people.apache.org/~wrowe/httpd-2.0-proxy-request-4.patch

Revision 219430 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 18 00:16:52 2005 UTC (13 years, 3 months ago) by wrowe
File length: 64745 byte(s)
Diff to previous 219224 (colored)
  Fix broken while () {} loops (lingering code from the old logic),
  closes an infinite loop in the most recent version.  Init the cl_val
  to prevent failure of zero length bodies in the most recent version.

  Use 'request body' instead of 'data' to describe any errors.

  Finally, loop around ap_get_brigade to grab multiple chunks that still
  fall below our MAX_MEM_SPOOL threshold, since the chunk decoding from
  the client will pass up just one small chunk per ap_get_brigade call.


Revision 219224 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 15 17:39:27 2005 UTC (13 years, 3 months ago) by wrowe
File length: 64113 byte(s)
Diff to previous 219223 (colored)
  On Roy's suggestion; why wait to try to clear out the input
  stream if it is smaller than MAX_MEM_SPOOL?  Do this upfront
  before dispatching to a body handler.

  This means changing each of the three body pumps to presume
  a preexisting input_brigade was already loaded, so turn around
  their loop conditions.


Revision 219223 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 15 17:37:56 2005 UTC (13 years, 3 months ago) by wrowe
File length: 62728 byte(s)
Diff to previous 219221 (colored)
  Fix a style problem; b is ambigous (is it a brigade or bucket?)
  bb is far less ambigous.

Revision 219221 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 15 17:32:14 2005 UTC (13 years, 3 months ago) by wrowe
File length: 62723 byte(s)
Diff to previous 219057 (colored)
  leaving force-proxy-request-1.0 for broken clients, revert my
  patch for forcing an HTTP/1.0 proxy request, if the client 
  request is HTTP/1.0, per Roy.


Revision 219057 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 14 16:17:56 2005 UTC (13 years, 3 months ago) by wrowe
File length: 62850 byte(s)
Diff to previous 218978 (colored)
  Missed an edge case; once we know the C-L didn't match, it's
  time to shut down the body already.  Finish reading from the
  client but do nothing else, returning an error.


Revision 218978 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 14 03:42:22 2005 UTC (13 years, 3 months ago) by wrowe
File length: 62423 byte(s)
Diff to previous 216159 (colored)
  How can I fix thee?  let me count the ways...

  * pass a chunked body always (no-body requests don't go chunked).

  * validate that the C-L counted body length doesn't change.

  * follow RFC 2616 for C-L / T-E in the request body C-L / T-E
    election logic.

  * do not forward HTTP/1.0 requests as HTTP/1.1, unless the admin
    configures force-proxy-request-1.1

  * conn was illegible, use 2.0's p_conn.


Revision 216159 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 13 14:06:24 2005 UTC (13 years, 3 months ago) by wrowe
File length: 60904 byte(s)
Diff to previous 216156 (colored)
  Fix two fat-fingered typos from commit 216156.  Code matches previous
  behavior now; time to start fixing.

Revision 216156 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 13 13:59:32 2005 UTC (13 years, 3 months ago) by wrowe
File length: 60884 byte(s)
Diff to previous 216111 (colored)
  send_request_body and indentation made it very difficult to follow
  all the mistakes in this code.  Fold send_request_body into reindent
  to make the pattern clear and skip some extra string handling.
  Little functional change, that comes next.


Revision 216111 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 13 04:43:59 2005 UTC (13 years, 3 months ago) by wrowe
File length: 61266 byte(s)
Diff to previous 209836 (colored)
  End abuse of apr_strnat[case]cmp - it isn't str[case]cmp.

  Unsure if apr_strnatcasecmp(conf_ip, uri_ip) was intentional, on the
  off chance that the left or right hand ip string happens to contain
  leading zeros.

Revision 209836 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 8 16:25:54 2005 UTC (13 years, 3 months ago) by wrowe
File length: 61378 byte(s)
Diff to previous 193205 (colored)
  Fix a ton of wrong/silly indention, and clarify the fix-notes


Revision 193205 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 23 19:20:29 2005 UTC (13 years, 3 months ago) by trawick
File length: 61358 byte(s)
Diff to previous 159671 (colored)
proxy HTTP: If a response contains both Transfer-Encoding and a
Content-Length, remove the Content-Length and don't reuse the
connection, stopping some HTTP Request smuggling attacks.


Revision 159671 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 1 09:30:01 2005 UTC (13 years, 6 months ago) by jorton
File length: 60506 byte(s)
Diff to previous 159534 (colored)
* modules/proxy/mod_proxy_http.c (ap_proxy_http_process_response):
Don't send an EOS after an interim response.


Revision 159534 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 30 23:09:32 2005 UTC (13 years, 6 months ago) by striker
File length: 60483 byte(s)
Diff to previous 159533 (colored)
* modules/proxy/mod_proxy_http.c

  (ap_proxy_http_process_response): Fix a comment.

Revision 159533 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 30 22:58:08 2005 UTC (13 years, 6 months ago) by striker
File length: 60495 byte(s)
Diff to previous 157478 (colored)
* modules/proxy/mod_proxy_http.c

  (ap_proxy_http_process_response): When there are only headers and no body,
   give the remainder of the output filters a chance by pushing an EOS bucket
   through the filter stack.


Revision 157478 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 14 22:22:58 2005 UTC (13 years, 7 months ago) by jerenkrantz
File length: 60035 byte(s)
Diff to previous 155209 (colored)
mod_proxy: Add proxy-sendextracrlf option to send an extra CRLF at the
end of the request body to work with really old HTTP servers.

* modules/proxy/mod_proxy_http.c
  (stream_reqbody_cl, spool_reqbody_cl): If proxy-sendextracrlf option is
  present, append a CRLF to the body stream that isn't counted against CL.


Revision 155209 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 24 16:52:34 2005 UTC (13 years, 7 months ago) by jorton
File length: 59539 byte(s)
Diff to previous 152676 (colored)
* modules/proxy/mod_proxy_http.c (ap_proxy_http_process_response): Fix
spurious error at EOF.

PR: 33615


Revision 152676 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 8 16:08:53 2005 UTC (13 years, 8 months ago) by jim
File length: 59440 byte(s)
Diff to previous 151722 (colored)
If we rec' a bad response header line, ignore what we've
rec'd so far and force BAD_GATEWAY.


Revision 151722 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 7 15:41:28 2005 UTC (13 years, 8 months ago) by jim
File length: 59397 byte(s)
Diff to previous 151408 (colored)
Better handle the case where ProxyBadHeader StartBody is
in effect and we think we've started reading in the
response body. Take advantage of the fact that the
line read is still in buffer (and document that)
to allow us to add to the bb.


Revision 151408 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 4 20:28:49 2005 UTC (13 years, 8 months ago) by jerenkrantz
File length: 58628 byte(s)
Diff to previous 151246 (colored)
Update copyright year to 2005 and standardize on current copyright owner line.


Revision 151246 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 3 23:04:04 2005 UTC (13 years, 8 months ago) by striker
File length: 58592 byte(s)
Diff to previous 151238 (colored)
Also translate Destination headers when ProxyPassReverse'd

* modules\proxy\mod_proxy_http.c

  (process_proxy_header): reverse map Destination header.

  NOTE: This is some darn nasty looking code...


* modules\proxy\ajp_header.c

  (ajp_unmarshal_response): reverse map Destination header.

Revision 151238 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 3 21:56:30 2005 UTC (13 years, 8 months ago) by striker
File length: 58533 byte(s)
Copied from: httpd/httpd/trunk/modules/proxy/proxy_http.c revision 151229
Diff to previous 151168 (colored)
Rename proxy modules.

* modules\proxy\mod_proxy_ajp.c
* modules\proxy\mod_proxy_balancer.c
* modules\proxy\mod_proxy_connect.c
* modules\proxy\mod_proxy_ftp.c
* modules\proxy\mod_proxy_http.c

  Renamed from proxy_{ajp,balancer,connect,ftp,http}.c


* modules\proxy\mod_proxy_ajp.dsp
* modules\proxy\mod_proxy_balancer.dsp
* modules\proxy\mod_proxy_connect.dsp
* modules\proxy\mod_proxy_ftp.dsp
* modules\proxy\mod_proxy_http.dsp

  Update references to renamed files.


* modules\proxy\NWGNUproxyajp
* modules\proxy\NWGNUproxybalancer
* modules\proxy\NWGNUproxycon
* modules\proxy\NWGNUproxyftp
* modules\proxy\NWGNUproxyhtp

  Update references to renamed files.

Revision 151168 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 3 16:03:42 2005 UTC (13 years, 8 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 58533 byte(s)
Diff to previous 151153 (colored)
proxy HTTP: Rework the handling of request bodies to handle
chunked input and input filters which modify content length, and
avoid spooling arbitrary-sized request bodies in memory.

This is a merge of the proxy-reqbody branch into the trunk.

Justin had the protocol issues resolved in 2.1-dev, but not the 
memory issue.  The new implementation makes an effort to
stream the request body whenever possible.

Thanks to Allan Edwards for a critical bug fix, Greg Ames
for some style corrections, Justin for a needed commentary
addition, Jan Kratochvil for testing the analogous 2.0.x patch 
with the SonyEricsson P900 phone, and reviews by all these 
folks + JimJag.

PR: 15859


Revision 151153 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 3 13:38:24 2005 UTC (13 years, 8 months ago) by jim
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 47426 byte(s)
Diff to previous 125612 (colored)
Close PR 32459, 15207. API change for PROXY_DECLARE ap_proxy_canonenc()


Revision 125612 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 19 11:05:57 2005 UTC (13 years, 8 months ago) by jorton
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 47423 byte(s)
Diff to previous 124901 (colored)
* modules/proxy/proxy_http.c (ap_proxy_http_process_response): Handle
aborted connections correctly: abort if c->aborted is set.

* modules/proxy/proxy_ftp.c (proxy_ftp_handler): Likewise.

PR: 32443
Submitted by: Janne Hietamäki, Joe Orton


Revision 124901 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 11 08:35:46 2005 UTC (13 years, 9 months ago) by striker
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 47342 byte(s)
Diff to previous 123727 (colored)
Rewrite Cookies and other headers in mod_proxy_ajp as configured with
ProxyPassReverse and ProxyPassReverseCookiePath.

* modules/proxy/proxy_ajp.c

  (ap_proxy_ajp_request): Update call to ajp_parse_header().


* modules/proxy/ajp.h

  (ajp_msg_get_string): constify argument.

  (ajp_parse_header): Add conf argument.


* modules/proxy/proxy_util.c

  (ap_proxy_location_reverse_map): Promoted from mod_proxy_http.

  (ap_proxy_cookie_reverse_map): Promoted from mod_proxy_http;
    renamed from proxy_cookie_reverse_map.


* modules/proxy/ajp_msg.c

  (ajp_msg_get_string): constify argument.


* modules/proxy/proxy_http.c

  (ap_proxy_location_reverse_map, proxy_cookie_reverse_map: Removed.

  (process_proxy_header): Update header mapping table to reference the now
    public functions.


* modules/proxy/ajp_header.c

  (ajp_unmarshal_response): And conf argument.  Reverse map cookies and
    other headers.

  (ajp_parse_header): Update call to ajp_unmarshal_response().


* modules/proxy/mod_proxy.h

  (ap_proxy_location_reverse_map, ap_proxy_cookie_reverse_map): Declare
    functions that have been promoted to be public.

  (ap_proxy_header_reverse_map_fn): Typedef for the signature of the above
    two functions (currently used in mod_proxy_http).


Revision 123727 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 30 16:31:13 2004 UTC (13 years, 9 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 51543 byte(s)
Diff to previous 111858 (colored)
mod_proxy: Fix a request corruption problem and a buffering problem
which sometimes prevented proxy-sendchunks from working.

strlen() couldn't be used since no space had been allocated
for trailing NUL, so occasionally the T-E header field contained
garbage and a 400 error would be returned by the origin server.

The lack of a flush bucket after the final "0\r\n\r\n" was a
showstopper for my simple tests (reverse proxy to Apache 1.3 +
custom module which read the body).


Revision 111858 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 14 18:58:25 2004 UTC (13 years, 10 months ago) by jwoolley
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 51434 byte(s)
Diff to previous 111830 (colored)
"transfered" is not a word.

s/transfered/transferred/g;



Revision 111830 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 14 16:08:55 2004 UTC (13 years, 10 months ago) by jim
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 51425 byte(s)
Diff to previous 111827 (colored)
grammatical parameter change... "readed" -> "read"


Revision 111827 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 14 15:45:19 2004 UTC (13 years, 10 months ago) by mturk
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 51429 byte(s)
Diff to previous 106103 (colored)
Make proxy address cache thread safe and available only
to pooled workers.

Revision 106103 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 21 18:50:36 2004 UTC (13 years, 10 months ago) by nd
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 51477 byte(s)
Diff to previous 105752 (colored)
general property cleanup


Revision 105752 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 11 20:06:20 2004 UTC (13 years, 11 months ago) by jorton
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 51477 byte(s)
Diff to previous 105751 (colored)
* modules/proxy/proxy_http.c (ap_proxy_http_process_response): Don't treat
the 205 status-code like 204 or 304, per recent http-wg discussion:
http://lists.w3.org/Archives/Public/ietf-http-wg/2004JulSep/0083.html


Revision 105751 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 11 19:49:56 2004 UTC (13 years, 11 months ago) by jorton
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 51606 byte(s)
Diff to previous 105645 (colored)
* modules/proxy/proxy_http.c (ap_proxy_http_process_response): Use the
standard non-blocking-read/flush/blocking-read logic to ensure that
buffered content is flushed to the client if the next read will block.

PR: 19954


Revision 105645 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 31 16:21:19 2004 UTC (13 years, 11 months ago) by mturk
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 50536 byte(s)
Diff to previous 105294 (colored)
Remove double calculation of tranfered bytes to backend.


Revision 105294 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 26 06:56:24 2004 UTC (14 years ago) by mturk
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 50583 byte(s)
Diff to previous 105120 (colored)
Count the bytes trasfered and readed so we can display the actual
data traffic, and add additional balancer mechanism that will use the
data traffic into account.


Revision 105120 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 14 18:54:32 2004 UTC (14 years, 1 month ago) by jorton
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 50070 byte(s)
Diff to previous 105108 (colored)
* modules/proxy/proxy_http.c (proxy_http_handler, proxy_http_canon):
Drop ap_ prefix, declarations and make static.


Revision 105108 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 13 11:13:28 2004 UTC (14 years, 1 month ago) by mturk
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 50334 byte(s)
Diff to previous 105051 (colored)
Always use prive connection pool for allocation, and call
apr_pool_clear when the connection is closed on recycle, so
that we don't leak on persistent connections.


Revision 105051 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 9 16:22:23 2004 UTC (14 years, 1 month ago) by mturk
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 50343 byte(s)
Diff to previous 104926 (colored)
If any of steps return status != OK close the connection
and call the proxy_http_cleanup.


Revision 104926 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 1 17:21:53 2004 UTC (14 years, 1 month ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 50338 byte(s)
Diff to previous 104783 (colored)
Fix a trio of bugs in how mod_proxy relays requests:

- Fix type error in proxy-sendchunks case that caused an invalid T-E header.
- Fix data corruption (seen with mod_ssl/mod_proxy combination) due to not
  properly setting aside the body_buckets.
- Pass along a C-L: 0 if we still have a C-L of 0 after filtering and the
  original request to us had that as well.


Revision 104783 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 24 08:24:18 2004 UTC (14 years, 1 month ago) by mturk
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49261 byte(s)
Diff to previous 104645 (colored)
Use ap_str_tolower for lowercasing the scheme.
That was the original intention (not apr_tolower).


Revision 104645 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 13 12:15:46 2004 UTC (14 years, 2 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49328 byte(s)
Diff to previous 104623 (colored)
apr_tolower() doesn't process the entire string


Revision 104623 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 11 23:09:17 2004 UTC (14 years, 2 months ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49252 byte(s)
Diff to previous 104603 (colored)
Make sure that the things get logged using the same look-and-feal.
Also fix the return code from DECLINED to service unavailable if the connection breaks.

Submitted by: mturk


Revision 104603 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 11 22:45:08 2004 UTC (14 years, 2 months ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49018 byte(s)
Diff to previous 104602 (colored)
Always use the cleanup. Do not close the socket directly.

Submitted by: mturk


Revision 104602 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 11 22:44:38 2004 UTC (14 years, 2 months ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49162 byte(s)
Diff to previous 104601 (colored)
Fix the assertion bug for reslist caused by returning the
same connection back to the pool twice.

Submitted by: mturk


Revision 104601 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 11 22:43:44 2004 UTC (14 years, 2 months ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49273 byte(s)
Diff to previous 104153 (colored)
We have a proxy-http using connection pool ;)
Need some thorough testing.

Submitted by: mturk


Revision 104153 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 3 16:23:09 2004 UTC (14 years, 3 months ago) by nd
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 57604 byte(s)
Diff to previous 104081 (colored)
fix a bunch of compiler warnings


Revision 104081 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 29 14:00:07 2004 UTC (14 years, 3 months ago) by martin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 57574 byte(s)
Diff to previous 104070 (colored)
*** Patch for EBCDIC-host and HTTP/0.9 responses only ***
In dealing with a HTTP/0.9 response to a proxy request, we have pre-read
data that is not an HTTP header. At this point of processing, we don't
know yet whether the data is going to be interpreted an binary or not.
(In fact, we may never find out because HTTP/0.9 lacks the Content-Type
headers; only by configuring mod_charset_lite can we control the conversion).
But mod_charset_lite will get control only later, so it cannot decide on
the conversion of the current buffer full of data.
=> This is an extreme and rare situation normally.
So, for catching the most obvious problem (talking not to a HTTP server
but to some other protocol), the best guess here is to treat the buffer
as "text/*" (to make error messages readable).


Revision 104070 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 29 06:37:21 2004 UTC (14 years, 3 months ago) by niq
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 56983 byte(s)
Diff to previous 103698 (colored)
Fix for multiple proxy bugs - review please:

#10722  Reverse proxying cookies
#15207  Proxy passing canonicalised URIs to backend
#16812  Case-insensitivity of proxypassreverse
#19317  Canonicalised URI causing infinite loop
#20372  AllowEncodedSlashes
May also fix 13577 (untested)

This is really two fixes: 10722 and 15207; the others are trivial consequences.
To make review easier, the simpler fix (#15207) is entirely contained in
#ifdef FIX_15207 (new code) and
#ifndef FIX_15207 (removed code)


Revision 103698 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 19 13:30:14 2004 UTC (14 years, 5 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49753 byte(s)
Diff to previous 103639 (colored)
Fix handling of IPv6 numeric strings in mod_proxy.

(Some such operations would work if port was specified
in url due to way parsing was performed, finding last ':'
and considering everything after as the port.)


Revision 103639 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 10 13:58:56 2004 UTC (14 years, 5 months ago) by jim
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49482 byte(s)
Diff to previous 102935 (colored)
*** empty log message ***


Revision 102935 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 11 17:21:47 2004 UTC (14 years, 7 months ago) by jorton
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 48407 byte(s)
Diff to previous 102618 (colored)
* modules/proxy/proxy_http.c (ap_proxy_http_process_response):
Consistently check whether r->status is "successful" or not; fix
screwy handling of 2xx-but-not-200 responses when ProxyErrorOverride
is used.

PR: 20183
Submitted by: Marcus Janson <marcus.janson@tre.se>, Joe Orton


Revision 102618 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 9 20:31:03 2004 UTC (14 years, 8 months ago) by nd
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 48392 byte(s)
Diff to previous 102572 (colored)
fix name of The Apache Software Foundation


Revision 102572 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 8 12:27:14 2004 UTC (14 years, 8 months ago) by nd
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 48388 byte(s)
Diff to previous 102525 (colored)
fix copyright dates according to the first check in


Revision 102525 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 6 22:58:42 2004 UTC (14 years, 8 months ago) by nd
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 48388 byte(s)
Diff to previous 102320 (colored)
apply Apache License, Version 2.0


Revision 102320 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 13 16:11:55 2004 UTC (14 years, 9 months ago) by martin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 50607 byte(s)
Diff to previous 102283 (colored)
If the proxy was enabled, and UseCanonicalHostname was off,
then the Via: header would report not the proxy
hosts's ServerName (or any of its configured VHosts's names) as it
should, but the *origin hosts*'s name.
Now it reports its ServerName.


Revision 102283 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 12 14:08:08 2004 UTC (14 years, 9 months ago) by jorton
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49685 byte(s)
Diff to previous 102282 (colored)
* modules/proxy/proxy_http.c (ap_proxy_http_process_response): Handle
all 1xx interim responses the same, one of the two 2616 compliance
issues in PR 19442.


Revision 102282 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 12 13:06:39 2004 UTC (14 years, 9 months ago) by martin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49881 byte(s)
Diff to previous 102239 (colored)
Cosmetic change (I dislike 'known-constant-minus-one' literal numbers):
The ap_is_HTTP_INFO() macro checks for values in the 100...199 range,
and is a better readable replacement for the value 199.


Revision 102239 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 9 03:04:41 2004 UTC (14 years, 9 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49881 byte(s)
Diff to previous 102135 (colored)
mod_proxy hangs when both KeepAlive and ProxyErrorOverride are enabled,
and a non-200 response without a body is generated by the backend
server.

Submitted by: Graham Wiseman, Richard Reiner
Reviewed by: Richard Reiner, Bill Stoddard


Revision 102135 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 1 13:26:26 2004 UTC (14 years, 9 months ago) by nd
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49565 byte(s)
Diff to previous 102069 (colored)
update license to 2004.


Revision 102069 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 15 23:04:40 2003 UTC (14 years, 10 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49565 byte(s)
Diff to previous 102037 (colored)
mod_proxy with ProxyErrorOverride On in a reverse-proxy configuration attaches
a body to the 302 response and a wrong Content-Length header.


PR: 22951
Submitted by:	Ermanno Scaglione <scaglione ..at.. starnetone.de>
Reviewed by:	Blaise Tarr <blaise.tarr .. at .. cnet.com>


Revision 102037 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 12 12:36:50 2003 UTC (14 years, 10 months ago) by jorton
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49565 byte(s)
Diff to previous 102017 (colored)
Fix format string warnings from gcc on amd64:

* modules/ssl/ssl_scache_dbm.c (ssl_scache_dbm_store):
Print apr_size_t using APR_SIZE_T_FMT.

* modules/ssl/ssl_engine_io.c (ssl_filter_write): Print difference
between sizes using APR_SSIZE_T_FMT, apr_size_t using APR_SIZE_T_FMT.

* modules/proxy/proxy_http.c (ap_proxy_http_request): Print
apr_uint64_t using APR_UINT64_T_HEX_FMT.


Revision 102017 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 10 19:26:15 2003 UTC (14 years, 10 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49510 byte(s)
Diff to previous 101516 (colored)
Fix memory leak in handling of request bodies during reverse
proxy operations.

PR:      24991
Submitted by: Larry Toppi <larry.toppi citrix.com>
Reviewed by:  Jeff Trawick


Revision 101516 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 22 16:09:58 2003 UTC (14 years, 11 months ago) by jorton
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49491 byte(s)
Diff to previous 101154 (colored)
* proxy_http.c (ap_proxy_http_process_response): Send a valid
status-line even if the parsed status-line had no trailing spaces.
Remove the warning for this case as triggers for valid status-lines
too.

PR: 23998


Revision 101154 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 3 19:27:12 2003 UTC (15 years, 1 month ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49468 byte(s)
Diff to previous 99385 (colored)
switch to APR 1.0 API (which is still in flux)

because of the changes to the argument lists of apr_mmap_dup and apr_socket_create,
2.1-dev won't build with apr and apr-util's 0.9 branch anymore


Revision 99385 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 16 06:30:15 2003 UTC (15 years, 6 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49461 byte(s)
Diff to previous 99369 (colored)
Silence a compiler warning.


Revision 99369 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 15 16:39:12 2003 UTC (15 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49454 byte(s)
Diff to previous 99367 (colored)
Clarify an error message
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 99367 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 15 16:33:56 2003 UTC (15 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49441 byte(s)
Diff to previous 98573 (colored)
Correct some indenting
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 98573 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 3 17:53:28 2003 UTC (15 years, 8 months ago) by nd
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49419 byte(s)
Diff to previous 97812 (colored)
finished that boring job:
update license to 2003.

Happy New Year! ;-))


Revision 97812 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 9 05:37:26 2002 UTC (15 years, 10 months ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 49419 byte(s)
Diff to previous 97777 (colored)
Rewrite how proxy sends its request to allow input bodies to morph the request
bodies.  Previously, if an input filter changed the request body, the
original C-L would be sent which would be incorrect.

Due to HTTP compliance, we must either send the body T-E: chunked or include
a C-L for the request body.  Connection: Close is not an option.


Revision 97777 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 5 03:49:45 2002 UTC (15 years, 10 months ago) by brianp
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 46495 byte(s)
Diff to previous 97455 (colored)
mod_proxy: Don't remove the Content-Length from responses


Revision 97455 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 8 09:24:00 2002 UTC (15 years, 11 months ago) by brianp
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 46728 byte(s)
Diff to previous 97305 (colored)
When doing a GET of a proxied URL as a subrequest within
a POSTed request, don't send the original POST's Content-Length
as part of the header for the GET.


Revision 97305 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 25 20:58:55 2002 UTC (15 years, 11 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 45711 byte(s)
Diff to previous 96983 (colored)
Fix a segfault when the client closes the connection prematurely.

Reported by: Fabio Wakim Trentini
Reviewed by: Bill Stoddard


Revision 96983 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 26 11:35:47 2002 UTC (16 years ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 45710 byte(s)
Diff to previous 96982 (colored)
add some parens to quiet a gcc warning:

proxy_http.c:866: warning: suggest parentheses around assignment used as truth value


Revision 96982 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 26 08:55:28 2002 UTC (16 years ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 45708 byte(s)
Diff to previous 96484 (colored)
Make sure the contents of the WWW-Authenticate header is
passed on a 4xx error by proxy. Previously all headers
were dropped, resulting in the browser being unable to
authenticate.
PR:
Obtained from:
Submitted by:	Dr Richard Reiner <rreiner@fscinternet.com>, Richard Danielli <rdanielli@fscinternet.com>, Graham Wiseman <gwiseman@fscinternet.com>, David Henderson <dhenderson@fscinternet.com>
Reviewed by:	Graham Leggett


Revision 96484 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 22 15:02:49 2002 UTC (16 years, 1 month ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 45231 byte(s)
Diff to previous 96469 (colored)
Add A warning when servers don't set their status line
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 96469 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 21 16:01:15 2002 UTC (16 years, 1 month ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44917 byte(s)
Diff to previous 96320 (colored)
fix the case when a server doesn't send a response string

Submitted by:	Brett Hutley <brett@hutley.net> J.D. Silvester <jsilves@uwo.ca>


Revision 96320 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 8 17:59:18 2002 UTC (16 years, 2 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44858 byte(s)
Diff to previous 96055 (colored)
Fix proxy so that it is possible to access ftp: URLs via a proxy
chain.
PR:
Obtained from:
Submitted by:	Peter Van Biesen <peter.vanbiesen@vlafo.be>
Reviewed by:	Graham Leggett <minfrin@apache.org>


Revision 96055 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 15 07:46:19 2002 UTC (16 years, 3 months ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44785 byte(s)
Diff to previous 95966 (colored)
  Timeout/time fixes


Revision 95966 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 6 20:04:38 2002 UTC (16 years, 3 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44821 byte(s)
Diff to previous 95891 (colored)
Renames Pending:
 This clears the list of renames pending in apr-util.
 Parts of this list was alreadu done, but the pending list hadn't been updated.

 apr_hook_debug_current     from apr_current_hooking_module
 apr_hook_debug_show        from apr_show_hook

 apr_hook_global_pool       from apr_global_hook_pool
 apr_hook_sort_all          from apr_sort_hooks

 apr_uri_port_of_scheme     from apr_uri_default_port_for_scheme
 apr_uri_unparse            from apr_uri_unparse_components
 apr_uri_parse              from apr_uri_parse_components
 apr_uri_parse_hostinfo     from apr_uri_parse_hostinfo_components

 apr_uri_t                  from apr_uri_components

 All APR_URI_*              from all APU_URI_* symbols
 All APR_UNP_*              from all UNP_* symbols

PR:
Obtained from:
Submitted by:	 Thom May
Reviewed by:


Revision 95891 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 26 19:45:07 2002 UTC (16 years, 3 months ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44848 byte(s)
Diff to previous 95854 (colored)
Change conn_rec->keepalive to an enumerated value of

AP_CONN_UNKNOWN
AP_CONN_CLOSE
AP_CONN_KEEPALIVE

This also fixes a problem where ap_discard_request_body would not discard
the body when keepalive was 0.  This actually meant the keepalive status
was unknown *not* closed, but no one ever remembered that.

This problem was seen with mod_dav sending error responses (as reported by
Karl Fogel).

Suggested by:	Greg "this isn't the '80s" Stein
Reviewed by:	Greg Ames


Revision 95854 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 23 06:06:25 2002 UTC (16 years, 3 months ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44812 byte(s)
Diff to previous 95674 (colored)
  No crutches, people!


Revision 95674 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 14 17:14:57 2002 UTC (16 years, 4 months ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44835 byte(s)
Diff to previous 95456 (colored)
  Cleanup proxy timeouts a bit to remove emits and make consistent to
  vhost timeout.


Revision 95456 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 31 21:21:10 2002 UTC (16 years, 4 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44821 byte(s)
Diff to previous 95394 (colored)
add 2 new enviornment variables to deal with misbehaving backends
"proxy-nokeepalive" which removes the Connection: line completely
"force-proxy-request-1.0" which forces the request to be HTTP/1.0
this allows apache to reverse proxy misbehaving appservers


Revision 95394 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 30 07:33:59 2002 UTC (16 years, 4 months ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44496 byte(s)
Diff to previous 95390 (colored)
Switch mod_proxy to using the brigade/filter calls directly rather than
the *_client_block calls.


Revision 95390 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 30 07:04:45 2002 UTC (16 years, 4 months ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44025 byte(s)
Diff to previous 95150 (colored)
Add a PROXYREQ_RESPONSE value for request_rec->proxyreq because it is
possible that there can be different behavior at the protocol level if
request_rec isn't really a request but a response.

This stems from the fact that request bodies must be indicated by
Content-Length or Transfer-Encoding, but response bodies do not.  The
recent change to ap_http_filter to return EOS if there isn't a body broke
proxy.  Therefore, there must be some way for the proxy to indicate that
this is a response.  Accordingly, ap_http_filter can allow the BODY_NONE
iff this is a response.

Since r->proxyreq is set to PROXYREQ_PROXY even for the original request
from the client, that value isn't sufficient.  Hence, the introduction of
PROXYREQ_RESPONSE.


Revision 95150 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 17 11:24:17 2002 UTC (16 years, 5 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43885 byte(s)
Diff to previous 94811 (colored)
stop using APLOG_NOERRNO in calls to ap_log_[pr]error()


Revision 94811 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 26 12:29:38 2002 UTC (16 years, 5 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 44165 byte(s)
Diff to previous 94574 (colored)
get basic HTTP proxy working on EBCDIC machines

(I would bet that there is more work to do throughout proxy, but at least
it can serve some pages now)


Revision 94574 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 9 09:39:04 2002 UTC (16 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43916 byte(s)
Diff to previous 94544 (colored)
Proxy was bombing out every second keepalive request, caused by a
stray CRLF before the second response's status line. Proxy now
tries to read one more line if it encounters a CRLF where it
expected a status.
PR: 10010
Obtained from:
Submitted by:
Reviewed by:


Revision 94544 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 8 18:38:56 2002 UTC (16 years, 6 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43771 byte(s)
Diff to previous 94515 (colored)
PR:
Obtained from:
Submitted by:	Daniel Lopez <daniel@covalent.net>
Reviewed by:	dougm, rbb
add optional fixup hook to proxy


Revision 94515 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 7 03:37:35 2002 UTC (16 years, 6 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43746 byte(s)
Diff to previous 94459 (colored)
fix ProxyPass when frontend is https and backend is http


Revision 94459 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 5 18:08:07 2002 UTC (16 years, 6 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43620 byte(s)
Diff to previous 94383 (colored)
PR:
Obtained from:
Submitted by:
Reviewed by:    Ryan Bloom
remove flush bucket from ap_proxy_http_process_response.
this allows for the response content-length header to be properly
calculated/inserted.


Revision 94383 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 2 04:30:49 2002 UTC (16 years, 6 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43903 byte(s)
Diff to previous 94333 (colored)
PR:
Obtained from:
Submitted by:
Reviewed by:	Ryan Bloom
remove call to ap_proxy_reset_output_filters() and the function itself.
this call breaks ssl proxy when the client is using keepalives.
this function is also no longer needed with recent-ish filter changes.


Revision 94333 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 30 06:19:14 2002 UTC (16 years, 6 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43995 byte(s)
Diff to previous 94313 (colored)
ap_proxy_http_request needs to check the return status of ap_pass_brigade


Revision 94313 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 29 17:48:28 2002 UTC (16 years, 6 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43417 byte(s)
Diff to previous 94304 (colored)
check the return value of ap_proxy_ssl_enable


Revision 94304 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 29 08:17:26 2002 UTC (16 years, 6 months ago) by jwoolley
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43169 byte(s)
Diff to previous 94300 (colored)
BUCKET FREELISTS

Add an allocator-passing mechanism throughout the bucket brigades API.

From Apache's standpoint, the apr_bucket_alloc_t* used throughout a given
connection is stored in the conn_rec by the create_connection hook.  That
means it's the MPM's job to optimize recycling of apr_bucket_alloc_t's --
the MPM must ensure that no two threads can ever use the same one at the
same time, for instance.


Revision 94300 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 29 07:29:11 2002 UTC (16 years, 6 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42876 byte(s)
Diff to previous 94083 (colored)
hook into mod_ssl for https support


Revision 94083 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 21 12:05:45 2002 UTC (16 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42374 byte(s)
Diff to previous 94056 (colored)
Change the header merging behaviour in proxy, as some headers
(like Set-Cookie) cannot be unmerged due to stray commas in
dates.
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 94056 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 20 17:41:55 2002 UTC (16 years, 7 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42595 byte(s)
Diff to previous 94027 (colored)
Commit 1 of 2 to:
1. rename ap_rset_content_type to ap_set_content_type
2. reverse the arguments on the call to aligh with ap_set_content_length


Revision 94027 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 20 01:58:47 2002 UTC (16 years, 7 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42596 byte(s)
Diff to previous 93918 (colored)
First commit to introduce accessor function to set r->content_type..


Revision 93918 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 13 20:48:07 2002 UTC (16 years, 7 months ago) by fielding
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42589 byte(s)
Diff to previous 93811 (colored)
Update our copyright for this year.


Revision 93811 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 9 07:15:33 2002 UTC (16 years, 7 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42589 byte(s)
Diff to previous 93787 (colored)
New directive ProxyIOBufferSize. Sets the size of the buffer used
when reading from a remote HTTP server in proxy.

Modify receive/send loop in proxy_http and proxy_ftp so that
should it be necessary, the remote server socket is closed before
transmitting the last buffer (set by ProxyIOBufferSize) to the
client. This prevents the backend server from being forced to hang
around while the last few bytes are transmitted to a slow client.
Fix the case where no error checking was performed on the final
brigade in the loop.
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 93787 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 8 02:03:47 2002 UTC (16 years, 7 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41354 byte(s)
Diff to previous 93784 (colored)
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)


Revision 93784 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 7 23:40:03 2002 UTC (16 years, 7 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43703 byte(s)
Diff to previous 93527 (colored)
fix typo in ap_proxy_http_canon: s/https:/https/


Revision 93527 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 21 06:06:31 2002 UTC (16 years, 7 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43704 byte(s)
Diff to previous 93519 (colored)
Some browsers ignore cookies that have been merged into a
single Set-Cookie header. Set-Cookie and Set-Cookie2 headers
are now unmerged in the http proxy before being sent to the
client.
Fix a problem with proxy where each entry of a duplicated
header such as Set-Cookie would overwrite and obliterate the
previous value of the header, resulting in multiple header
values (like cookies) going missing.
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 93519 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 20 20:25:15 2002 UTC (16 years, 7 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43477 byte(s)
Diff to previous 93259 (colored)
send a 'bad-gateway'
when a invaild response flys in


Revision 93259 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 5 22:18:49 2002 UTC (16 years, 8 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43028 byte(s)
Diff to previous 93171 (colored)
Remove the install_transport_filters hook.  The same function can be
acheived with the pre_connection hook.  I have added the socket to the
pre_connection phase to make this possible.
Reviewed by:	Bill Stoddard


Revision 93171 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 1 22:16:31 2002 UTC (16 years, 8 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43039 byte(s)
Diff to previous 93117 (colored)
Reintroduce the create_connection hook. This hook is required to enable
modules to completely take over all network i/o from the core.


Revision 93117 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 30 18:46:56 2002 UTC (16 years, 8 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 43018 byte(s)
Diff to previous 93103 (colored)
add a ProxyTimeout directive


Revision 93103 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 30 12:40:39 2002 UTC (16 years, 8 months ago) by martin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42790 byte(s)
Diff to previous 93093 (colored)
In the debug log, say 'decline' instead of 'reject' when DECLINEing


Revision 93093 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 30 04:34:11 2002 UTC (16 years, 8 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42790 byte(s)
Diff to previous 93089 (colored)
Cleanup some fallout from the recent install_transport_filters commit.
Deprecate ap_proxy_pre_http_connection.


Revision 93089 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 29 21:08:37 2002 UTC (16 years, 8 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42772 byte(s)
Diff to previous 93050 (colored)
new directive 'ProxyPreserveHost'  which allows the incoming host line to
be sent to the proxied server.

Submitted by:	g.russell@ieee.org (1.3 version)
Reviewed by:	Ian Holsman/Graham Legget/Chuck Murcko


Revision 93050 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 27 12:52:08 2002 UTC (16 years, 8 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42083 byte(s)
Diff to previous 93014 (colored)
Remove the create_connection hook and put the client_socket back into the
conn_rec. The create_connection_hook has a design flaw that prevents it
from making decisions based on vhost information.


Revision 93014 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 25 01:11:47 2002 UTC (16 years, 8 months ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42089 byte(s)
Diff to previous 92928 (colored)
Change ap_get_brigade prototype to remove *readbytes in favor of readbytes.
If you need the length, you should be using apr_brigade_length.  This is
much more consistent.  Of all the places that call ap_get_brigade, only
one (ap_http_filter) needs the length.  This makes it now possible to
pass constants down without assigning them to a temporary variable first.

Also:
- Change proxy_ftp to use EXHAUSTIVE mode (didn't catch its -1 before)
- Fix buglet in mod_ssl that would cause it to return too much data in
  some circumstances


Revision 92928 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 19 07:45:18 2002 UTC (16 years, 9 months ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42068 byte(s)
Diff to previous 92727 (colored)
Input filtering prototype change: Socket blocking type should be
separate from the input filter mode type.

We also no longer look at readbytes to determine the method of
filter operation.  This makes the use of filters more obvious and
allows a wider range of options for input filters modes.

To start with, the new input filter modes are:

AP_MODE_READBYTES (no more than *readbytes returned)
AP_MODE_GETLINE (old *readbytes == 0 case)
AP_MODE_EATCRLF (old AP_MODE_PEEK)
AP_MODE_SPECULATIVE (will be used in a future ap_getline rewrite)
AP_MODE_EXHAUSTIVE (old *readbytes == -1 case)
AP_MODE_INIT (special case for NNTP over SSL)

The block parameter is an apr_read_type_e: APR_BLOCK_READ, APR_NONBLOCK_READ

This also allows cleanup of mod_ssl's handling in the getline case.

Reviewed by:	Ryan Bloom (concept), Greg Stein (concept)


Revision 92727 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 4 01:47:55 2002 UTC (16 years, 9 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 42013 byte(s)
Diff to previous 92725 (colored)
Fix a couple of mod_proxy problems forwarding HTTP connections:

(1) PR #9190  It failed to connect to IPv6 hosts.
(2) It failed to connect when the first IP address returned by
    the resolver was unreachable but a secondary IP address was.

PR:    9190 (partly)


Revision 92725 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 3 20:47:30 2002 UTC (16 years, 9 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41482 byte(s)
Diff to previous 92723 (colored)
Keep my comments to myself.


Revision 92723 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 3 20:38:04 2002 UTC (16 years, 9 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41524 byte(s)
Diff to previous 92693 (colored)
Use ap_getline() in favor of ap_proxy_string_read() in ap_proxy_http_process_response().


Revision 92693 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 31 21:03:12 2001 UTC (16 years, 9 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41586 byte(s)
Diff to previous 92692 (colored)
Fix mod_proxy seg fault when the proxied server returns
an HTTP/0.9 response or a bogus status line.

Submitted by: Adam Sussman
Reviewed by:	Bill Stoddard


Revision 92692 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 31 20:53:28 2001 UTC (16 years, 9 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41586 byte(s)
Diff to previous 92691 (colored)
Prevent mod_proxy from truncating one character off the
end of the status line returned from the proxied server.
Note that buffer is NULL terminated by the call to
ap_proxy_string_read() so there is no need to terminate it
again.

Submitted by:	Adam Sussman
Reviewed by:	Bill Stoddard


Revision 92691 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 31 20:46:22 2001 UTC (16 years, 9 months ago) by stoddard
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41578 byte(s)
Diff to previous 92534 (colored)
Change the call to be blocking to eliminate a loop caused when the upstream
host does not send any bytes back our way.


Revision 92534 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 19 16:32:01 2001 UTC (16 years, 10 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41581 byte(s)
Diff to previous 92520 (colored)
Remove an extra semi-colon.
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 92520 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 18 20:29:27 2001 UTC (16 years, 10 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41582 byte(s)
Diff to previous 92030 (colored)
get proxy in sync with the update to ap_run_create_connection


Revision 92030 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 18 16:59:38 2001 UTC (16 years, 11 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41562 byte(s)
Diff to previous 92022 (colored)
Add extra If-XXX request headers to be ignored in subrequests
Allow cache-control header to get passed to subrequests
tabs -> spaces

Submitted by:	Ian Holsman


Revision 92022 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 17 22:04:48 2001 UTC (16 years, 11 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 41063 byte(s)
Diff to previous 91953 (colored)
Only do keepalives (and keep state on the connection record) if this request
is the top-level page.

Do not pass If-XXX-Since headers to the r-proxied server on a subrequest,
and we can't handle a 30X response


Revision 91953 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 14 21:55:58 2001 UTC (16 years, 11 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 40290 byte(s)
Diff to previous 91952 (colored)
Quiet a compiler warning.


Revision 91952 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 14 21:18:47 2001 UTC (16 years, 11 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 40283 byte(s)
Diff to previous 91866 (colored)
Get the proxy module compiling again.  This is a hack to get past the
current compiler errors.  Basically, the core now puts the socket
in the conn_rec->conn_config vector.  The proxy grabs that socket and
uses it where it used to use the client_socket field from the conn_rec.
Long-term, all of the direct socket communication needs to be removed,
and this should go through a filter stack.  Short-term, this gets the
proxy working again.

I have tested http and connect, but I haven't looked at the FTP proxy,
although it does compile now.


Revision 91866 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 12 03:23:12 2001 UTC (16 years, 11 months ago) by jwoolley
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 40180 byte(s)
Diff to previous 91860 (colored)
Remove the returned-length "w" parameter from apr_bucket_heap_create()
and apr_bucket_heap_make().  It was useless, since the length is invariant
from the length passed in and from the resulting bucket's b->length.  This
takes care of a long-standing issue first brought up in February and
discussed on the dev@apr list.  (Issue #2 from the "Bucket API Cleanup
Issues" thread.)

See http://marc.theaimsgroup.com/?l=apr-dev&m=98324983126666&w=2

Reviewed by:    Ryan Bloom (concept)


Revision 91860 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 11 22:31:04 2001 UTC (16 years, 11 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 40186 byte(s)
Diff to previous 91757 (colored)
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


Revision 91757 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 5 23:06:55 2001 UTC (16 years, 11 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 40168 byte(s)
Diff to previous 91682 (colored)
Fix so that errordocument works when a error gets returned from the
proxy.
Problem was ErrorHandler thought it was in some kind of recursion and
couldn't find the custom error document
Obtained from: Jin Hong <jinh@cnet.com>
Submitted by:
Reviewed by:   Ian Holsman


Revision 91682 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 29 15:44:03 2001 UTC (16 years, 11 months ago) by aaron
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39891 byte(s)
Diff to previous 91463 (colored)
Fix a truncation bug in how we print the port on the Via: header.
The routine that prints the Via: header now takes a length for
the port string.

Submitted by:	Zvi Har'El <rl@math.technion.ac.il>


Revision 91463 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 14 20:41:00 2001 UTC (17 years ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39749 byte(s)
Diff to previous 91440 (colored)
Fix the first bucket not getting chunked properly.  The reason was that
we left the TE header in the output headers, so ap_set_keepalive didn't
set r->chunked to 1.  So, ap_http_header_filter wouldn't insert CHUNK
filter appropriately.  I have no clue how it chunked anything at all
before this patch, but hey, it looks right now.

Tested with Yahoo, Apple, apache.org, and /.
/. is interesting in that it sends both Conn: Close and TE: chunked.


Revision 91440 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 12 02:00:41 2001 UTC (17 years ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39542 byte(s)
Diff to previous 91436 (colored)
Lose the magic number and use the central #define AP_IOBUFSIZE.

Hey, I've never seen it in actual use anywhere, so I didn't know.

Thanks to Roy for pointing it out.


Revision 91436 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 11 20:03:26 2001 UTC (17 years ago) by jerenkrantz
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39526 byte(s)
Diff to previous 91370 (colored)
Teach mod_proxy to live with the new filtering scheme.

Tested with www.yahoo.com (Conn: Close), www.apache.org (CL), and
www.apple.com (TE: Chunked).


Revision 91370 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 8 21:49:17 2001 UTC (17 years ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39290 byte(s)
Diff to previous 91363 (colored)
dechunking filter removed.
add HTTP_IN filter after the headers have been parsed.
so that the HTTP_IN can check them ;-)
Still not 100% if this works properly, but I don't get
the chunking numbers displayed on my browser,
so it's better than what was there.
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 91363 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 8 19:25:35 2001 UTC (17 years ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39837 byte(s)
Diff to previous 91171 (colored)
initial port of new Request-mode HTTP_IN filter to proxy.
Status: It serves a reverse-proxy page.. but SLOWLY.
VERY SLOWLY.
still looking at why, but now it serves pages instead of dumping core.
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 91171 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 28 10:23:32 2001 UTC (17 years ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39843 byte(s)
Diff to previous 91160 (colored)
Some style cleanups related to the ProxyErrorOverride function.
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 91160 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 27 04:01:10 2001 UTC (17 years ago) by jwoolley
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39851 byte(s)
Diff to previous 91155 (colored)
Immortal data should go in an immortal bucket, not a pool bucket.  It would
still work in a pool bucket, but only by coincidence.  At the very least, a
pool bucket is way more overhead than this poor unsuspecting little CRLF
needs to get by.


Revision 91155 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 26 19:58:10 2001 UTC (17 years ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39848 byte(s)
Diff to previous 91094 (colored)
change command name so that it starts with 'Proxy'
fix the command so that it returns 'OK' instead of 'HTTP_OK'

PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 91094 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 20 14:23:06 2001 UTC (17 years ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39686 byte(s)
Diff to previous 91092 (colored)
Clean up a compile warning on AIX.


Revision 91092 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 20 05:34:50 2001 UTC (17 years ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39679 byte(s)
Diff to previous 90820 (colored)
Added New Option 'HTTPProxyOverrideReturnedErrors' which lets the server override
the error pages returned from the proxied server and replace them with the standard
server error handling on the main server.

Reviewed by:	Graham, Chuck


Revision 90820 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 30 19:48:02 2001 UTC (17 years, 1 month ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39092 byte(s)
Diff to previous 90402 (colored)
  Undo another int type'ed port (and format a little structure for legibility).


Revision 90402 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 20 16:49:29 2001 UTC (17 years, 1 month ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39062 byte(s)
Diff to previous 90367 (colored)
adjust to apr_uri_ rename
Submitted by:	dougm@apache.org
Reviewed by:	ianh@apache.org


Revision 90367 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 19 20:21:07 2001 UTC (17 years, 2 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39100 byte(s)
Diff to previous 90290 (colored)
MSVC can't seem to handle
        int buffer_len = 1;
        char test_buffer[buffer_len];


Revision 90290 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 17 17:12:18 2001 UTC (17 years, 2 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39108 byte(s)
Diff to previous 90264 (colored)
initialize some values on variable creation
Submitted by:	John Barbee <barbee@veribox.net>


Revision 90264 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 17 01:38:16 2001 UTC (17 years, 2 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 39107 byte(s)
Diff to previous 90171 (colored)
Fix behavior in the event that a socket is closed.
Submitted by: barbee@veribox.net
Reviewed by: orlikowski@apache.org


Revision 90171 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 15 18:36:05 2001 UTC (17 years, 2 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 38483 byte(s)
Diff to previous 90159 (colored)
Fix a char * vs char ** mixup...
Submitted by: barbee@veribox.net


Revision 90159 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 14 18:04:58 2001 UTC (17 years, 2 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 38474 byte(s)
Diff to previous 90127 (colored)
Break http_proxy_handler into multiple smaller functions.
Submitted by:	John Barbee <barbee@veribox.net>


Revision 90127 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 12 21:24:35 2001 UTC (17 years, 2 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 31727 byte(s)
Diff to previous 90092 (colored)
Make the body read in proxy http handler nonblocking. There's no sense
in serializing 4-8 client connections into a single origin server
connection, as is the blocking behavior.

Added instrumentation that we don't want compiled in normally to assist in
debugging chunking problems. apr_get_brigade is apparently blocking during
chunked body fetch, or proxy_http_handler is getting deadlocked with
the dechunk filter. Show PID for prefork debugging. We'll figure out
getting TIDs later.


Revision 90092 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 11 05:10:23 2001 UTC (17 years, 2 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 31551 byte(s)
Diff to previous 90012 (colored)
Fix the proxy when the origin server sends back a 100
Continue response.  [John Barbee <barbee@veribox.net>]


Revision 90012 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 7 21:46:47 2001 UTC (17 years, 2 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29406 byte(s)
Diff to previous 89908 (colored)
change readbytes from a apr_size_t to a apr_off_t to match the parameter
required in ap_get_brigade
Submitted by:	 barbee@veribox.net
Reviewed by:	 ianh@apache.org


Revision 89908 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 3 18:00:38 2001 UTC (17 years, 2 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29407 byte(s)
Diff to previous 89907 (colored)
Add a timeout when making connections from within the proxy.
Now, if someone wants to add a special scoreboard state for proxy
attempting to make connection, be my guest.


Revision 89907 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 3 16:25:10 2001 UTC (17 years, 2 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29270 byte(s)
Diff to previous 89837 (colored)
Both the ftp and http proxies were erroneously sending a flush bucket after
an eos bucket. This had been put in place to repair a bug, but was covering
the symptoms, rather than providing the cure. Bug repaired, and kludge
removed.

Submitted by: barbee@veribox.net


Revision 89837 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 31 19:12:56 2001 UTC (17 years, 2 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29337 byte(s)
Diff to previous 89607 (colored)
Being slightly picky: properly namespace protect make_fake_req()


Revision 89607 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 18 20:35:13 2001 UTC (17 years, 3 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29328 byte(s)
Diff to previous 89569 (colored)
Remove APR_NO_INHERIT as it is now private.
sigh... the cost of being bleeding edge
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 89569 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 17 21:43:35 2001 UTC (17 years, 3 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29344 byte(s)
Diff to previous 89559 (colored)
Change the APR_INHERIT flag to APR_NO_INHERIT,which is the default (as recommended by rbb)

PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 89559 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 16 17:54:38 2001 UTC (17 years, 3 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29341 byte(s)
Diff to previous 89551 (colored)
applies change in APR function apr_socket_create, which added a new parameter.
I defaulted these to APR_INHERIT.
Also..
the connection-close was being merged, insted of 'set'
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 89551 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 14 20:18:45 2001 UTC (17 years, 3 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29330 byte(s)
Diff to previous 89550 (colored)
Last Log entry was bogus.
Changed to 'setting' the X-Forwarded-Server X-Forwarded-Host X-Forwarded-For
headers instead of merging them
PR:


Revision 89550 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 14 20:17:07 2001 UTC (17 years, 3 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29329 byte(s)
Diff to previous 89489 (colored)
PR:


Revision 89489 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 2 03:37:37 2001 UTC (17 years, 3 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29335 byte(s)
Diff to previous 89486 (colored)
Remove a couple of extraneous calls to apr_brigade_cleanup()


Revision 89486 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 30 04:50:31 2001 UTC (17 years, 3 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29376 byte(s)
Diff to previous 89280 (colored)
Fix abort code path for HTTP proxy. Similar to Victor's patch for FTP
proxy. No, Julia, it really *is* a double negative.


Revision 89280 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 6 21:51:58 2001 UTC (17 years, 4 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29145 byte(s)
Diff to previous 89213 (colored)
Use apr-util's date functions now


Revision 89213 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 23 06:43:46 2001 UTC (17 years, 4 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29139 byte(s)
Diff to previous 89210 (colored)
YAPJBUJ.
(Yet Another Proxy Janitor Botched-Up Job).
Need to be looking for APR_SUCCESS here, not HTTP_OK.
Obtained from: Justin Erenkrantz


Revision 89210 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 23 03:39:44 2001 UTC (17 years, 4 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29135 byte(s)
Diff to previous 89204 (colored)
Bletch. The Proxy Janitor botches the job again.
Thanks to Ian Holsman for the catch.


Revision 89204 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 22 19:37:13 2001 UTC (17 years, 4 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29134 byte(s)
Diff to previous 89085 (colored)
Fixes to proxy, after util-uri move, plus fixes to the .mak file.


Revision 89085 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 11 17:32:41 2001 UTC (17 years, 5 months ago) by ianh
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29120 byte(s)
Diff to previous 89052 (colored)
Allows Mod_proxy to be dynamically loaded on win32 systems
PR:
Obtained from:
Submitted by:	ianh
Reviewed by:	Chuck Murcko, Graham


Revision 89052 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 7 20:02:39 2001 UTC (17 years, 5 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29184 byte(s)
Diff to previous 89044 (colored)
Shut the compiler up.


Revision 89044 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 7 02:47:51 2001 UTC (17 years, 5 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29177 byte(s)
Diff to previous 89037 (colored)
Crikey.


Revision 89037 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 6 10:59:22 2001 UTC (17 years, 5 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29176 byte(s)
Diff to previous 88928 (colored)
Track Greg's change to byte count for input filters


Revision 88928 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 24 08:38:43 2001 UTC (17 years, 5 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 29177 byte(s)
Diff to previous 88927 (colored)
Stopped the HTTP proxy from trying to read entity bodies when there
wasn't one (response was 1xx, 204, 205 or 304).
PR:
Obtained from:
Reviewed by:


Revision 88927 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 24 04:38:53 2001 UTC (17 years, 5 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 28885 byte(s)
Diff to previous 88923 (colored)
Made the variable naming the same as everywhere else in Apache for the
ap_get_brigade() fix.
PR:
Obtained from:
Reviewed by:


Revision 88923 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 23 21:49:15 2001 UTC (17 years, 5 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 28870 byte(s)
Diff to previous 88922 (colored)
Sometimes, boys and girls, pointers and integers *aren't interchangeable.


Revision 88922 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 23 21:03:39 2001 UTC (17 years, 5 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 28869 byte(s)
Diff to previous 88898 (colored)
Apply changes to ap_get_brigade() to the proxy code.
PR:
Obtained from:
Reviewed by:


Revision 88898 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 19 21:18:41 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 28839 byte(s)
Diff to previous 88866 (colored)
Made sure dates were canonicalised correctly when passed to the client
browser through the HTTP proxy.
PR:
Obtained from:
Reviewed by:


Revision 88866 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 15 17:15:29 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 28274 byte(s)
Diff to previous 88854 (colored)
Split each individual proxy protocol into separate modules.
PR:
Obtained from:
Reviewed by:


Revision 88854 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 14 07:03:00 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 27643 byte(s)
Diff to previous 88853 (colored)
Make hooks work for the *_canon() functions. Work continues.
PR:
Obtained from:
Reviewed by:


Revision 88853 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 13 23:56:04 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 27313 byte(s)
Diff to previous 88846 (colored)
Initial support for proxy protocol handler sub-modules. Work continues.
PR:
Obtained from:
Reviewed by:


Revision 88846 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 13 15:30:32 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26633 byte(s)
Diff to previous 88817 (colored)
Fixed all the APR error codes to make sure they end up in the logfiles
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 88817 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 12 01:57:48 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26621 byte(s)
Diff to previous 88814 (colored)
FTP directory filter works now.
Many FIXME notes added.
Much overhauling of proxy_ftp.c
PR:
Obtained from:
Reviewed by:


Revision 88814 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 11 23:07:21 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26543 byte(s)
Diff to previous 88800 (colored)
Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
PR:
Obtained from:
Reviewed by:


Revision 88800 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 10 21:31:10 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26183 byte(s)
Diff to previous 88799 (colored)
Small fixes.
PR:
Obtained from:
Reviewed by:


Revision 88799 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 10 20:55:05 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26385 byte(s)
Diff to previous 88797 (colored)
A client POST request would be read entirely into RAM before sending it
on the client - a potential DoS. Fixed.
PR:
Obtained from:
Reviewed by:


Revision 88797 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 10 20:44:16 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26467 byte(s)
Diff to previous 88793 (colored)
Make sure the filter stack in a reused downstream connection is reset
so we don't get lots of DECHUNK filters when we don't want them.
PR:
Obtained from:
Reviewed by:


Revision 88793 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 10 19:52:40 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26315 byte(s)
Diff to previous 88779 (colored)
We now keep the entire conn_rec across downstream keepalives, not
just the socket.
Made the "keepalive mismatch" message more accurate.
PR:
Obtained from:
Reviewed by:


Revision 88779 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 10 09:30:12 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26037 byte(s)
Diff to previous 88778 (colored)
Memory allocation cleanups
PR:
Obtained from:
Reviewed by:


Revision 88778 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 10 00:45:02 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 25195 byte(s)
Diff to previous 88769 (colored)
Change HTTP proxy to use ap_proxy_string_read() instead of apr_brigade_read()
to make sure all the buckets are read...
PR:
Obtained from:
Reviewed by:


Revision 88769 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 8 16:29:30 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 25702 byte(s)
Diff to previous 88765 (colored)
HTTP_VERSION() is the correct way to do this...
PR:
Obtained from:
Reviewed by:


Revision 88765 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 8 09:49:49 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 25693 byte(s)
Diff to previous 88754 (colored)
Add #defines for protocol version checks...
PR:
Obtained from:
Reviewed by:


Revision 88754 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 7 19:41:03 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 25689 byte(s)
Diff to previous 88751 (colored)
Downstream keepalives in mod_proxy should not kick in if the upstream
client is < HTTP/1.1
PR:
Obtained from:
Reviewed by:


Revision 88751 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 7 14:06:13 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 25664 byte(s)
Diff to previous 88746 (colored)
Sockets weren't being closed if the proxy could not connect to
a remote machine...
PR:
Obtained from:
Reviewed by:


Revision 88746 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 7 12:24:38 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 25635 byte(s)
Diff to previous 88740 (colored)
Fixed problem where the port was left at zero on requests instead of
being set to the default scheme port 80
PR:
Obtained from:
Reviewed by:


Revision 88740 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 6 14:25:54 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 25556 byte(s)
Diff to previous 88739 (colored)
Bugfixes to proxy_ftp.c -> in some places uri_addr was used instead
of connect_addr - all hail cut and paste!
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 88739 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 6 10:44:08 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 25948 byte(s)
Diff to previous 88737 (colored)
Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
Fixed up the header files
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 88737 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 6 01:59:26 2001 UTC (17 years, 6 months ago) by orlikowski
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26188 byte(s)
Diff to previous 88732 (colored)
More pool allocation errors. The apr_sockaddr_t structures connect_addr and
uri_addr were getting allocated out of the wrong pool (one of the request pools)
when they were expected to stick around for the life of the socket.
Further, the default pool to be used should have been the connection pool in the
request_rec.


Revision 88732 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 5 18:53:04 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26128 byte(s)
Diff to previous 88730 (colored)
Cleanup of dead functions within proxy_util.c.
PR:
Obtained from:
Reviewed by:


Revision 88730 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 5 18:25:04 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26249 byte(s)
Diff to previous 88721 (colored)
Reworked the storage of the client socket between keepalive connections
to fix some nasty problems with the socket lasting longer than the
memory pool it was allocated from.
PR:
Obtained from:
Reviewed by:


Revision 88721 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 4 18:47:42 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 25893 byte(s)
Diff to previous 88659 (colored)
Some code rewriting in ap_proxy_connect_handler():
*) Fixed bug where a hostname without a "." in it (such as "localhost")
would not trigger an IP address check with ProxyBlock.
*) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
ap_proxy_connect_handler().
*) Updated ap_proxy_connect_handler() to support APR, while
moving some common code between http_handler and connect_handler
to proxy_util.c.
PR:
Obtained from:
Reviewed by:


Revision 88659 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 2 21:19:22 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26730 byte(s)
Diff to previous 88657 (colored)
Fixing a few compiler warnings with mod_proxy
PR:
Obtained from:
Reviewed by:


Revision 88657 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 2 20:55:23 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26764 byte(s)
Diff to previous 88648 (colored)
Fixed problem where responses without entity bodies would cause
the directly following proxy keepalive request to fail.
PR:
Obtained from:
Reviewed by:


Revision 88648 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 2 17:04:19 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 26629 byte(s)
Diff to previous 88579 (colored)
  *) Added support for downstream keepalives in mod_proxy.
  *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
PR:
Obtained from:
Reviewed by:


Revision 88579 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 25 20:23:25 2001 UTC (17 years, 6 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 20498 byte(s)
Diff to previous 88534 (colored)
Header Bugfix / General Cleanups in ap_proxy_http_handler / X-Forwarded-* headers
PR:
Obtained from:
Reviewed by:	Chuck Murcko


Revision 88534 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 19 08:54:41 2001 UTC (17 years, 7 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18670 byte(s)
Diff to previous 88518 (colored)
reorganize STATUS; update copyright


Revision 88518 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 14 21:16:41 2001 UTC (17 years, 7 months ago) by minfrin
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18665 byte(s)
Diff to previous 88487 (colored)
Pull in the Connection handling part of the v1.3 patch for HTTP/1.1.
Some preliminary HTTP/1.1 work
Some comments and fixes
PR:
Obtained from:
Reviewed by:


Revision 88487 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 11 10:42:14 2001 UTC (17 years, 7 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 16680 byte(s)
Diff to previous 88077 (colored)
Cache removed, with other spooge
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 88077 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 11 00:12:43 2001 UTC (17 years, 8 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17949 byte(s)
Diff to previous 88019 (colored)
Fix any compile breaks after moving apr_snprintf and apr_vsnprintf to
apr_strings.h


Revision 88019 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 8 07:45:33 2001 UTC (17 years, 8 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17924 byte(s)
Diff to previous 88004 (colored)
renaming various functions for consistency sake
see: http://apr.apache.org/~dougm/apr_rename.pl
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 88004 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 7 05:41:35 2001 UTC (17 years, 8 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17914 byte(s)
Diff to previous 87982 (colored)
Changes to get running on the current codebase
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 87982 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 5 15:04:32 2001 UTC (17 years, 8 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17841 byte(s)
Diff to previous 87731 (colored)
ap_new_connection() returns NULL if an error occurred (prefork MPM
and ap_new_connection() were changed last week)

I have skipped putting the change into WinNT MPM and mod_proxy.  I
left a note in the mod_proxy code; for the NT MPM I think I can talk
somebody into doing the right thing for me.


Revision 87731 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 19 07:04:36 2001 UTC (17 years, 9 months ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17637 byte(s)
Diff to previous 87181 (colored)
  The big change.  This is part 3 of the apr-util symbols rename, please
  see the first commit of srclib/apr-util/include (cvs apr-util/include)
  for the quick glance at symbols changed.


Revision 87181 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 4 19:24:10 2000 UTC (17 years, 10 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17605 byte(s)
Diff to previous 87025 (colored)
Get rid of ap_new_apr_connection().  ap_new_connection() now has
fewer parameters: the local and remote socket addresses were removed
from the parameter list because all required information is available
via the APR socket.

I haven't tested the most important part -- the WinNT MPM changes
-- but it compiles and it looks okay :)  If the WinNT MPM works on
Win98 these days let me know.


Revision 87025 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 19 14:27:45 2000 UTC (17 years, 11 months ago) by trawick
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17609 byte(s)
Diff to previous 87013 (colored)
Call apr_create_socket() instead of apr_create_tcp_socket() (deprecated).


Revision 87013 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 18 17:13:29 2000 UTC (17 years, 11 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17590 byte(s)
Diff to previous 87001 (colored)
Begin to remove some of the cache-ing logic from the http proxy.


Revision 87001 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 18 03:17:21 2000 UTC (17 years, 11 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18695 byte(s)
Diff to previous 86988 (colored)
More proxy fixes.  There are still some bugs in this code, but this has
successfully proxied www.yahoo.com and www.ntrnet.net among other test
sites that I chose at random.


Revision 86988 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 17 00:19:30 2000 UTC (17 years, 11 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18434 byte(s)
Diff to previous 86978 (colored)
This removes all BUFF's from the HTTP proxy.  This code is relatively
ugly, but it does proxy pages.  This even fixes the content-type bug
that I introduced yesterday sometime.  As soon as BUFF is removed from
the FTP proxy, the buff.c and buff.h files need to go away.


Revision 86978 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 16 01:57:46 2000 UTC (17 years, 11 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17481 byte(s)
Diff to previous 86963 (colored)
Make the proxy work with filters.  We are still using BUFF for the
back-end communication, but BUFF has been removed from the communication
with the client.  The headers are not working correctly yet, but we are
making progress.  The most important part of this commit is that we are
able to actually filter data coming from the proxy.


Revision 86963 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 14 19:32:03 2000 UTC (17 years, 11 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 16889 byte(s)
Diff to previous 86928 (colored)
Changes for previous ap_proxy_doconnect() calling
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 86928 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 11 18:34:10 2000 UTC (17 years, 11 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 16859 byte(s)
Diff to previous 86927 (colored)
The whole proxy compiles cleanly now.  Now we need to make it actually work
again, but at least we are making progress.


Revision 86927 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 11 18:13:04 2000 UTC (17 years, 11 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 16856 byte(s)
Diff to previous 86923 (colored)
proxy_ftp and proxy_http both compile now.  Not tested because the rest of
the proxy is still not compiling, but we are making progress.


Revision 86923 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 11 11:07:03 2000 UTC (17 years, 11 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 16742 byte(s)
Diff to previous 86440 (colored)
This is the 1.3.x current proxy into 2.0 - first stage
PR:
Obtained from: Sam Magnuson
Submitted by:  Chuck Murcko
Reviewed by:


Revision 86440 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 8 03:23:05 2000 UTC (18 years ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18141 byte(s)
Diff to previous 86136 (colored)
Remove all compiler warnings from the proxy code.  There are no garauntees
that this still works, but most of the changes were just const-safeness
changes.
PR:	6631


Revision 86136 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 23 00:01:58 2000 UTC (18 years, 1 month ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18036 byte(s)
Diff to previous 86008 (colored)
Remove IOLs from Apache.  They are no longer necessary, now that we have
filtering beginning to work.  There is a hack that has been repeated
through this patch, we morph a pipe into a socket, and put the socket
into the BUFF.  Everytime we do that, we are working with a pipe from
a CGI, and we should be creating a pipe bucket and passing that bucket
back.  Because we don't actually have pipe buckets yet, we are using this
hack.  When we get pipe buckets, this will be fixed.


Revision 86008 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 6 06:07:53 2000 UTC (18 years, 2 months ago) by wrowe
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18075 byte(s)
Diff to previous 85976 (colored)
  Remaining cleanup of ap_ -> apr_ and AP_ -> APR_ transformation...
  see src/lib/apr/apr_compat.h for most details.
  Also a few minor nits to get Win32 to build.

PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 85976 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 2 05:27:38 2000 UTC (18 years, 2 months ago) by dougm
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18070 byte(s)
Diff to previous 85934 (colored)
prefix libapr functions and types with apr_


Revision 85934 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 29 16:24:15 2000 UTC (18 years, 2 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18038 byte(s)
Diff to previous 85732 (colored)
Remove iol_socket.h.  This file had one declaration, and it makes more
sense for that declaraion to move to ap_iol.h.  This also modifies all of
the files that include iol_socket.h to include ap_iol.h


Revision 85732 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 30 18:08:13 2000 UTC (18 years, 3 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18042 byte(s)
Diff to previous 85563 (colored)
Combine some common code.  Before this, all platforms implemented their
own iol_sockets using APR.  This just combines all of that code to a
common file and moves that file to main.  I have tested this with all of
the Unix MPM's, but I am willing to bet I missed something (Makefiles) for
Windows, and possibly moving some code for OS/2 and BeOS.


Revision 85563 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 13 06:17:47 2000 UTC (18 years, 4 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18040 byte(s)
Diff to previous 85562 (colored)
fixups for remaining current warnings

Submitted by:	Chuck Murcko


Revision 85562 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 13 01:22:09 2000 UTC (18 years, 4 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18029 byte(s)
Diff to previous 85552 (colored)
OK, this builds and is autoconf safe about system headers, until it starts
using APR
PR:
Obtained from:
Submitted by:	Chuck Murcko
Reviewed by:


Revision 85552 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 12 21:41:58 2000 UTC (18 years, 4 months ago) by chuck
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 18038 byte(s)
Diff to previous 85486 (colored)
New mod_proxy/mod_cache (file cache) for 2.0. This uses a caching API so
that shared mem, LDAP servers, DBs, etc. can also be used for proxy
caching. The caching API is very young, and subject to change as APR changes.

proxy_cache.c from the proxy subdir is no longer used.

Build with --enable-modules=proxy,cache

Lightly tested on Linux, no warranties expressed or implied yet.

Still to do:

strerror(), waitpid(), stat() cleanups
address issues marked by @@@FIXME
add HTTP/1.1

This should be considered a *reference* proxy implementation for 2.0. What
actually ends up shipping with 2.0 is likely going to be rather different as
the redesign evolves. This may end up being the 2.0 backwards compatibility
workalike.

Modified to work with today's conf/build/layout scheme

PR:
Obtained from:
Submitted by:	Sam Magnuson
Reviewed by:	Chuck Murcko


Revision 85486 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 9 18:57:16 2000 UTC (18 years, 4 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17345 byte(s)
Diff to previous 84963 (colored)
Remove all occurances of strerror from Apache.  ap_strerror works just
fine with standard errno values, and it is more portable.  This also allows
me to remove the check for strerror from Apache's configure script.


Revision 84963 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 14 15:59:20 2000 UTC (18 years, 6 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17297 byte(s)
Diff to previous 84879 (colored)
Change ap_context_t to ap_pool_t.  This compiles, runs, and serves pages
on Linux, but probably breaks somewhere.


Revision 84879 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 31 09:05:25 2000 UTC (18 years, 6 months ago) by fielding
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17303 byte(s)
Diff to previous 84725 (colored)
Update to Apache Software License version 1.1


Revision 84725 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 10 00:07:37 2000 UTC (18 years, 7 months ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17448 byte(s)
Diff to previous 83852 (colored)
Fix all the License issues.  Including:
s/Apache Group/Apache Software Foundation/
s/1999/2000/
s/Sascha's license/ASF license


Revision 83852 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 31 05:35:52 1999 UTC (19 years, 1 month ago) by rbb
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17322 byte(s)
Diff to previous 83769 (colored)
Changed pools to contexts.  Tested with prefork and pthread mpm's.  I'll
check this out tomorrow and make sure everything was checked in correctly.


Revision 83769 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 26 14:15:07 1999 UTC (19 years, 1 month ago) by fielding
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17286 byte(s)
Diff to previous 83751 (colored)
Changes from pthreads.  Removes timeouts, adds mutex.
This probably breaks the proxy on everything but pthreads.

Submitted by:	Bill Stoddard


Revision 83751 - (view) (download) (annotate) - [select for diffs]
Added Tue Aug 24 06:55:44 1999 UTC (19 years, 1 month ago) by fielding
Original Path: httpd/httpd/trunk/modules/proxy/proxy_http.c
File length: 17553 byte(s)
Apache 1.3.9 baseline for the Apache 2.0 repository.

Obtained from: Apache 1.3.9 (minus unused files), tag APACHE_1_3_9
Submitted by: Apache Group


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.22