1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

428 Commits

Author SHA1 Message Date
Nick Kew
3bad5b1780 Fix mod_proxy to support setting source address.
PR 29404
Seems lots of users want this, and a couple of them have recenly asked nicely


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1034916 13f79535-47bb-0310-9956-ffa450edef68
2010-11-14 00:01:43 +00:00
Jeff Trawick
c0d5e1671d improve wording of some function descriptions
add explicit "FIXME" to an ancient issue

remove implicit fixme wording related to mutex use


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032286 13f79535-47bb-0310-9956-ffa450edef68
2010-11-07 14:35:21 +00:00
Jeff Trawick
c7d76f1aac axe outdated comment about FIXMEs/CHECKMEs
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032271 13f79535-47bb-0310-9956-ffa450edef68
2010-11-07 13:13:26 +00:00
Daniel Earl Poirier
6b803976f2 Fix a number of typos and misspellings. Reported by Ville Skytta.
PR48496.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1029134 13f79535-47bb-0310-9956-ffa450edef68
2010-10-30 17:56:13 +00:00
Graham Leggett
87c10fe5f1 Optimise more of the flags within proxy structures.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1026668 13f79535-47bb-0310-9956-ffa450edef68
2010-10-23 19:34:16 +00:00
Graham Leggett
9d58cd6990 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1026665 13f79535-47bb-0310-9956-ffa450edef68
2010-10-23 19:26:44 +00:00
Graham Leggett
13fec746f9 mod_proxy: Optimise ProxyPass within a Location so that it is stored
per-directory, and chosen during the location walk. Make ProxyPass
work correctly from within a LocationMatch.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1026184 13f79535-47bb-0310-9956-ffa450edef68
2010-10-22 00:13:45 +00:00
Graham Leggett
a68e17cdb2 Optimise the set flags in the mod_proxy structures.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1025699 13f79535-47bb-0310-9956-ffa450edef68
2010-10-20 19:47:00 +00:00
Graham Leggett
84a346c5bb mod_proxy: Move the ProxyErrorOverride directive to have per directory scope.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1025666 13f79535-47bb-0310-9956-ffa450edef68
2010-10-20 18:33:55 +00:00
Jim Jagielski
1d50e028df Fold in possible use of FNV if desired
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@998949 13f79535-47bb-0310-9956-ffa450edef68
2010-09-20 14:51:19 +00:00
Jim Jagielski
c55a15fc2f Fold in some stuff to allow for matching of workers
to their actual scoreboard slots, independent of slot
ID.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@984188 13f79535-47bb-0310-9956-ffa450edef68
2010-08-10 19:46:58 +00:00
Jim Jagielski
ed67c11e05 Allow for modules to keep track of worker slot
numbers themselves if they want, by allowing for
worker create/alloc functions to take a slot number id.
Done via _wid() variants of 3 proxy funcs.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@964089 13f79535-47bb-0310-9956-ffa450edef68
2010-07-14 16:03:19 +00:00
Stefan Fritsch
ed451e94d1 re-order many struct members for better alignment on 64bit
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@959464 13f79535-47bb-0310-9956-ffa450edef68
2010-06-30 22:34:05 +00:00
Stefan Fritsch
877b46df6b log issues with CONNECT at request scope instead of server scope
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@951189 13f79535-47bb-0310-9956-ffa450edef68
2010-06-03 22:47:46 +00:00
Jean-Frederic Clere
4c4b534813 Add updatelbstatus to allow to have all the LB logic in the balancers.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@936828 13f79535-47bb-0310-9956-ffa450edef68
2010-04-22 13:13:40 +00:00
Nick Kew
9c1c3f56d4 Proxy balancer: support setting error status according to
HTTP response code from a backend.
PR 48939 [Daniel Ruggeri <DRuggeri primary.net>]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@930125 13f79535-47bb-0310-9956-ffa450edef68
2010-04-01 22:48:38 +00:00
Rainer Jung
8eb4de81e9 Support remote https proxies by using HTTP CONNECT.
PR: 19188
Submitted by: Philippe Dutrueux <lilas evidian.com>
Reviewed by: rjung


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@909323 13f79535-47bb-0310-9956-ffa450edef68
2010-02-12 09:58:48 +00:00
Rainer Jung
6786f61f3e Fix typo in comment.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@909290 13f79535-47bb-0310-9956-ffa450edef68
2010-02-12 08:27:04 +00:00
Takashi Sato
92cf9b940e Move ProxyFtpDirCharset from mod_proxy to mod_proxy_ftp.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@894526 13f79535-47bb-0310-9956-ffa450edef68
2009-12-30 00:51:46 +00:00
Takashi Sato
255f44600c Move AllowCONNECT from mod_proxy to mod_proxy_connect.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@894425 13f79535-47bb-0310-9956-ffa450edef68
2009-12-29 15:39:54 +00:00
Daniel Earl Poirier
04fd4abf90 Fix a lot of doxygen warnings. Thanks to Brad Hards for the patch.
I added a few more fixes, and there are still more that might
need a doxygen expert.

PR: 48061
Submitted by: Brad Hards
Reviewed by: poirier


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@830527 13f79535-47bb-0310-9956-ffa450edef68
2009-10-28 13:25:49 +00:00
Stefan Fritsch
3fa2c0e208 Allow ProxyPreserveHost to work in <Proxy> sections
PR: 34901


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@824072 13f79535-47bb-0310-9956-ffa450edef68
2009-10-11 13:38:51 +00:00
Jim Jagielski
51097f8040 kinda old
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@816203 13f79535-47bb-0310-9956-ffa450edef68
2009-09-17 14:09:37 +00:00
Jean-Frederic Clere
48ae3d9efa Allow the load balancing method to "create" workers.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@774400 13f79535-47bb-0310-9956-ffa450edef68
2009-05-13 15:27:05 +00:00
Jean-Frederic Clere
ab9ed6d974 server_rec *r... Oops should be server_rec *s.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@774239 13f79535-47bb-0310-9956-ffa450edef68
2009-05-13 06:55:57 +00:00
Jean-Frederic Clere
a970341df7 Arrange the proxy_balancer_method:
- Put context back after the finder().
- Use  server_rec as second parameter for reset() and age().
- Add the call for reset().


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@773929 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 15:10:56 +00:00
Jim Jagielski
5e9c4bfe47 fix docco
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771981 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 21:49:01 +00:00
Jim Jagielski
9399483e16 optimize.... rp! :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771976 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 19:29:04 +00:00
Jean-Frederic Clere
a29e9ec1d5 Change the order of mod_proxy and mod_proxy_balancer child_init().
Change the balancer workers area to the address of workers instead copying the workers.
Arrange lbmethod accordingly.
Move the creation of conf->forward worker to mod_proxy child_init().


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771940 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 17:15:48 +00:00
Jim Jagielski
7e145e7312 Fold in initial template for methods to be able to
reset (initialize) and "age" their data, useful when
adding new workers, or when workers come back into
the fold....

Logic and code to come in a bit :)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@769020 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 15:02:40 +00:00
Paul Querna
1e06b62d69 Add configuration of the Flush provider for mod_proxy_fdpass.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@725946 13f79535-47bb-0310-9956-ffa450edef68
2008-12-12 08:46:47 +00:00
Ruediger Pluem
4a3c945b14 * 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@712375 13f79535-47bb-0310-9956-ffa450edef68
2008-11-08 11:09:38 +00:00
Jim Jagielski
45c5291a7f Allow determination of whether to use ';' as
a sticky session path delim/sep (ala mod_jk) to
be runtime (and balancer-wise) configurable.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@687754 13f79535-47bb-0310-9956-ffa450edef68
2008-08-21 13:33:32 +00:00
Ruediger Pluem
b4e20c8e55 * Add the possibility to set a separate connection timeout for backend
workers.

PR: 45445
Submitted by: rahul <rahul sun.com>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@684341 13f79535-47bb-0310-9956-ffa450edef68
2008-08-09 20:52:46 +00:00
Nick Kew
caab5e8b8a Switch ftp_directory_charset and interpolate_env in proxy_dir_conf,
with a major MMN bump.  As suggested by rpluem in r661069 to enable
backport *without* a major bump (ABI breakage) in 2.2.x.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@661079 13f79535-47bb-0310-9956-ffa450edef68
2008-05-28 20:56:02 +00:00
Paul Querna
a324a1d72f Remove all references to CORE_PRIVATE.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@645455 13f79535-47bb-0310-9956-ffa450edef68
2008-04-07 10:45:43 +00:00
Jim Jagielski
d1858ec213 Add in mod_jk's disablereuse analog for mod_proxy.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@627728 13f79535-47bb-0310-9956-ffa450edef68
2008-02-14 12:55:57 +00:00
William A. Rowe Jr
e5661d3734 Introduce the ProxyFtpDirCharset directive, allowing the administrator
to identify a default, or specific servers or paths which list their
contents in other-than ISO-8859-1 charset (e.g. utf-8).

Submitted by: Ruediger Pluem



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@607638 13f79535-47bb-0310-9956-ffa450edef68
2007-12-31 01:13:43 +00:00
Ruediger Pluem
d2a1cf5f8c * Fix a SEGFAULT by ensuring that buckets that may have been buffered in the
network filters get flushed to the network. This is needed since
  these buckets have been created with the bucket allocator of the
  backend connection. This allocator either gets destroyed if
  conn->close is set or the worker address is not reusable which
  causes the connection to the backend to be closed or it will be used
  again by another frontend connection that wants to recycle the
  backend connection.
  In this case we could run into nasty race conditions (e.g. if the
  next user of the backend connection destroys the allocator before we
  sent the buckets to the network).

  Remark 1: Doing a setaside does not help here as the buckets remain
  created by the wrong allocator in this case.

  Remark 2: Yes, this creates a possible performance penalty in the case
  of pipelined requests as we may send only a small amount of data over
  the wire.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@604447 13f79535-47bb-0310-9956-ffa450edef68
2007-12-15 16:15:04 +00:00
Ruediger Pluem
0ae93ad6f9 * Use a separate subpool to manage the data for the socket and the connection
member of the proxy_conn_rec struct as we destroy this data more frequently
  than other data in the proxy_conn_rec struct like hostname and addr (at least
  in the case where we have keepalive connections that timed out and were
  closed by the backend).
  This fixes a memory leak with short lived and broken connections.

PR: 44026


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@603237 13f79535-47bb-0310-9956-ffa450edef68
2007-12-11 13:27:21 +00:00
Ruediger Pluem
bd49c01685 * 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@602542 13f79535-47bb-0310-9956-ffa450edef68
2007-12-08 20:10:29 +00:00
Nick Kew
bafefdd617 Update the patch for environment variable interpolation in
ProxyPass/Reverse/etc directives: r421686, r422178, r421686, r421725
That patch stalled on wrowe's veto.  This update introduces a new
"interpolate" keyword to all directives affected, so should meet
his concerns by adding explicit per-directive control (disabled
by default).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@589371 13f79535-47bb-0310-9956-ffa450edef68
2007-10-28 15:49:03 +00:00
Nick Kew
785b0379d6 mod_proxy: add "nocanon" keyword to ProxyPass, to suppress
URI-canonicalisation in a reverse proxy.
PR 41798


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@588791 13f79535-47bb-0310-9956-ffa450edef68
2007-10-26 23:07:22 +00:00
Jim Jagielski
e883a58cf6 Semi-revert 583466; just remove the ap_proxy_isvalidenc()
function until we canonically set the "allowed" list.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@583802 13f79535-47bb-0310-9956-ffa450edef68
2007-10-11 12:37:09 +00:00
Jim Jagielski
2349488a44 Abstract out "verification of valid encoding" via
ap_proxy_isvalidenc(). Now we can use it in other
proxy protocols.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@583466 13f79535-47bb-0310-9956-ffa450edef68
2007-10-10 13:16:56 +00:00
Nick Kew
d8501971c7 Default to NOT setting Max-Forwards in violation of RFC2616
Leave old behaviour as a configuration option (ProxyMaxForwards)
PR 16137


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@581117 13f79535-47bb-0310-9956-ffa450edef68
2007-10-02 00:39:43 +00:00
Jim Jagielski
5437e234f7 Maintain the illusion. It's not worth my time or
energy to care about this anymore.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@574269 13f79535-47bb-0310-9956-ffa450edef68
2007-09-10 14:54:01 +00:00
Jim Jagielski
095f3c8e64 Reinsert extern int PROXY_DECLARE_DATA proxy_lb_workers
into the Proxy API. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@574052 13f79535-47bb-0310-9956-ffa450edef68
2007-09-09 19:31:46 +00:00
Jim Jagielski
0703f437c0 Reinstate the lb_score patch, but, protect against
conflicting leakage as per jfc proposal.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@573569 13f79535-47bb-0310-9956-ffa450edef68
2007-09-07 13:13:37 +00:00
Jim Jagielski
ab5a5dab3b Be proactively safe. A cheap check, but helps prevents badness :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@572937 13f79535-47bb-0310-9956-ffa450edef68
2007-09-05 12:22:15 +00:00