1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-20 04:06:16 +03:00
Commit Graph

373 Commits

Author SHA1 Message Date
Jeff Trawick
9cf303e9bc Get proxy ftp to work over IPv6.
Submitted by:                      Shoichi Sakane <sakane@kame.net>
Reviewed and modified slightly by: Jeff Trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96100 13f79535-47bb-0310-9956-ffa450edef68
2002-07-17 17:55:59 +00:00
William A. Rowe Jr
ed8fc9abae http occurances to update for apr_socket_opt_get/set
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96057 13f79535-47bb-0310-9956-ffa450edef68
2002-07-15 08:05:11 +00:00
William A. Rowe Jr
6b69fe06c0 Timeout/time fixes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96055 13f79535-47bb-0310-9956-ffa450edef68
2002-07-15 07:46:19 +00:00
Jeff Trawick
97b87390dd add PROXY_OPTIONAL_HOOK() macro for modules that want to
optionally provide a mod_proxy hook


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96013 13f79535-47bb-0310-9956-ffa450edef68
2002-07-11 18:45:22 +00:00
Ryan Bloom
2c94ecadce Bring Apache in line with APR's new poll implementation. This isn't
optimal, because it still uses the compatibility functions to make it
work, but it does work.  The next step will be to take the memory for
the pollsets under Apache's control.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96005 13f79535-47bb-0310-9956-ffa450edef68
2002-07-11 05:42:20 +00:00
Victor J. Orlikowski
d982829aa1 Continue the Bill Rowe apr_size_t crusade.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95993 13f79535-47bb-0310-9956-ffa450edef68
2002-07-10 06:01:14 +00:00
William A. Rowe Jr
2604f8bdbb Changes for deprecated apr_is_fnmatch
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95976 13f79535-47bb-0310-9956-ffa450edef68
2002-07-08 17:43:34 +00:00
Ian Holsman
6deba78a9a 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95966 13f79535-47bb-0310-9956-ffa450edef68
2002-07-06 20:04:38 +00:00
Justin Erenkrantz
798c1dae43 Add a filter_init function to the filters so that a filter can execute
arbitrary code before the handlers are invoked.

This resolves an issue with incorrect 304s on If-Modified-Since mod_include
requests since ap_meets_conditions() is not aware that this is a dynamic
request and it is not possible to satisfy 304 for these requests (unless
xbithack full is on, of course).  When mod_include runs as a filter, it is
too late to set any flag since the handler is responsible for calling
ap_meets_conditions(), which it should do before generating any data.

If a module doesn't need to run such arbitrary code, it can just pass NULL
as the argument and all is well.

PR:	9673
Reviewed by:	Ryan Bloom and others


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95906 13f79535-47bb-0310-9956-ffa450edef68
2002-06-28 08:40:25 +00:00
Justin Erenkrantz
001b387bcd 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95891 13f79535-47bb-0310-9956-ffa450edef68
2002-06-26 19:45:07 +00:00
William A. Rowe Jr
f8511d81d8 No crutches, people!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95854 13f79535-47bb-0310-9956-ffa450edef68
2002-06-23 06:06:25 +00:00
William A. Rowe Jr
3f6aa521eb Cleanup proxy timeouts a bit to remove emits and make consistent to
vhost timeout.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95674 13f79535-47bb-0310-9956-ffa450edef68
2002-06-14 17:14:57 +00:00
William A. Rowe Jr
7af68c0bf5 Solve the 80/20 by initializing and storing server_rec->timeout and
server_rec->keep_alive_timeout in apr_time_interval_t format (in apr
  units, whatever they be), as both values exist to pass into APR, and
  all APR timeouts are in apr_time_t.

Reviewed by:	Cliff Woolley


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95623 13f79535-47bb-0310-9956-ffa450edef68
2002-06-12 23:59:31 +00:00
William A. Rowe Jr
93dc524eb3 cvs up/diff gets pretty hard to track with vc7 builds.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95524 13f79535-47bb-0310-9956-ffa450edef68
2002-06-05 14:56:46 +00:00
Ian Holsman
aff9b8aef6 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95456 13f79535-47bb-0310-9956-ffa450edef68
2002-05-31 21:21:10 +00:00
Justin Erenkrantz
ba424185f0 Switch mod_proxy to using the brigade/filter calls directly rather than
the *_client_block calls.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95394 13f79535-47bb-0310-9956-ffa450edef68
2002-05-30 07:33:59 +00:00
Justin Erenkrantz
5607afff2b 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95390 13f79535-47bb-0310-9956-ffa450edef68
2002-05-30 07:04:45 +00:00
Jeff Trawick
50bac91072 stop using APLOG_NOERRNO in calls to ap_log_[pr]error()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95150 13f79535-47bb-0310-9956-ffa450edef68
2002-05-17 11:24:17 +00:00
Jeff Trawick
9e3ae2c70a get proxy CONNECT to work on EBCDIC machines
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94997 13f79535-47bb-0310-9956-ffa450edef68
2002-05-07 15:06:32 +00:00
Jeff Trawick
4b3691aa22 Get proxy CONNECT basically working (IE seems to be happy with secure
connections).

The to-do of fixing client I/O so it goes through the filters still
remains.  But it will be nice if it will work until somebody gets
around to doing that.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94971 13f79535-47bb-0310-9956-ffa450edef68
2002-05-06 18:47:22 +00:00
Bradley Nicholes
f03539bbd4 Added some missing export to the proxy module
Submitted by: Guenter Knauf


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94862 13f79535-47bb-0310-9956-ffa450edef68
2002-04-29 14:35:48 +00:00
Jeff Trawick
3b7f35cd82 fix a compile break on EBCDIC machines
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94812 13f79535-47bb-0310-9956-ffa450edef68
2002-04-26 14:43:18 +00:00
Jeff Trawick
9a1842b70c 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)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94811 13f79535-47bb-0310-9956-ffa450edef68
2002-04-26 12:29:38 +00:00
Jeff Trawick
d439ef140b get mod_proxy to build on EBCDIC machines
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94808 13f79535-47bb-0310-9956-ffa450edef68
2002-04-25 22:12:51 +00:00
Brian Havard
cd4b403c64 Get proxy protocol modules to build on OS/2. This adds the mod_proxy dll's
import library to the link, making the public symbols in it available to the
protocol modules at build time.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94788 13f79535-47bb-0310-9956-ffa450edef68
2002-04-25 03:16:44 +00:00
Graham Leggett
7eec825b4a Add an intelligent error message should no proxy submodules be
valid to handle a request.
PR: 8407
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94785 13f79535-47bb-0310-9956-ffa450edef68
2002-04-24 17:40:48 +00:00
Bradley Nicholes
f9ae19893c Added the NetWare make files to build the proxy modules
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94729 13f79535-47bb-0310-9956-ffa450edef68
2002-04-19 21:01:16 +00:00
Graham Leggett
ab32e62ac3 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94574 13f79535-47bb-0310-9956-ffa450edef68
2002-04-09 09:39:04 +00:00
Doug MacEachern
9fb5b384d7 PR:
Obtained from:
Submitted by:	Daniel Lopez <daniel@covalent.net>
Reviewed by:	dougm, rbb
add optional fixup hook to proxy


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94544 13f79535-47bb-0310-9956-ffa450edef68
2002-04-08 18:38:56 +00:00
Doug MacEachern
1138615486 fix ProxyPass when frontend is https and backend is http
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94515 13f79535-47bb-0310-9956-ffa450edef68
2002-04-07 03:37:35 +00:00
Graham Leggett
22d4e9ea8b Quick fix to an incorrect comment.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94501 13f79535-47bb-0310-9956-ffa450edef68
2002-04-06 12:43:47 +00:00
Doug MacEachern
e695ae9601 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94459 13f79535-47bb-0310-9956-ffa450edef68
2002-04-05 18:08:07 +00:00
Doug MacEachern
cf7be3d0b6 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94383 13f79535-47bb-0310-9956-ffa450edef68
2002-04-02 04:30:49 +00:00
William A. Rowe Jr
9644d3cdba Fix another linkage error for 2.0.34 and cvs head
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94350 13f79535-47bb-0310-9956-ffa450edef68
2002-04-01 02:39:31 +00:00
Doug MacEachern
51ee9a749e ap_proxy_http_request needs to check the return status of ap_pass_brigade
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94333 13f79535-47bb-0310-9956-ffa450edef68
2002-03-30 06:19:14 +00:00
Doug MacEachern
f4d0e50e00 check the return value of ap_proxy_ssl_enable
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94313 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 17:48:28 +00:00
Cliff Woolley
3e2ce19baf 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94304 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 08:17:26 +00:00
Doug MacEachern
b699ec0f91 import ssl_proxy_enable in the post config phase, otherwise LoadModule
order may leave us without the function.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94303 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 08:04:04 +00:00
Doug MacEachern
c3e2155dca hook into mod_ssl for https support
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94300 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 07:29:11 +00:00
Jim Jagielski
68a27728ce Depreciate mod_proxy's own CHANGES file
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94219 13f79535-47bb-0310-9956-ffa450edef68
2002-03-27 12:55:35 +00:00
Jeff Trawick
eab06b27db fix some abuse of apr_port_t (flagged by Sun WorkShop)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94142 13f79535-47bb-0310-9956-ffa450edef68
2002-03-22 21:41:14 +00:00
Graham Leggett
19c0213612 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94083 13f79535-47bb-0310-9956-ffa450edef68
2002-03-21 12:05:45 +00:00
Bill Stoddard
d5c24720dc 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94056 13f79535-47bb-0310-9956-ffa450edef68
2002-03-20 17:41:55 +00:00
Bill Stoddard
470edb9dd8 First commit to introduce accessor function to set r->content_type..
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94027 13f79535-47bb-0310-9956-ffa450edef68
2002-03-20 01:58:47 +00:00
William A. Rowe Jr
65a37752ec Eliminate potential ap_server_root_relative segfaults, with the input
of Jeff Trawick's style changes to the first patches.  Doesn't include
  the fixes to ssl [more complex], and we won't trap errors that involve
  ap_serverroot, since we presume that was normalized on the way in.
  Therefore, testing ap_server_root_relative(DEFAULT_FOO) cases
  should never become necessary.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93965 13f79535-47bb-0310-9956-ffa450edef68
2002-03-16 18:26:58 +00:00
Roy T. Fielding
845cbfd508 Update our copyright for this year.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93918 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 20:48:07 +00:00
Jeff Trawick
fa3297464f provide missing MAX() macro so that proxy can compile again
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93812 13f79535-47bb-0310-9956-ffa450edef68
2002-03-09 14:04:11 +00:00
Graham Leggett
01b5958cf7 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:


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

In that new function, fix this problem:

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

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

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

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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93787 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 02:03:47 +00:00
Doug MacEachern
d27bcd07fd fix typo in ap_proxy_http_canon: s/https:/https/
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93784 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 23:40:03 +00:00