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

346 Commits

Author SHA1 Message Date
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
Justin Erenkrantz
3058b601ff As hinted on dev@httpd, change filter naming schemes to match our
expectations of their usage.

The reason that we should make this change now is that we have changed
the implied meaning of AP_FTYPE_HTTP_HEADER - some users of this should
be PROTOCOL while others should be CONTENT_SET.  In order to clarify it,
toss all of the bogus names and force the filter writers to make sure
they understand what they are doing.

CONTENT_SET is new (horrible name - change if you have better idea), but
it indicates that it should run between RESOURCE and PROTOCOL.
mod_deflate is the ideal CONTENT_SET filter.

The changed type names are:
CONTENT is now RESOURCE.
HTTP_HEADER is now PROTOCOL.  However, most filters that used HTTP_HEADER
may want CONTENT_SET.  (Only things like POP and HTTP belong as PROTOCOL.)

MMN bump since all filters need to be recompiled due to filter reordering.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93756 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 09:27:17 +00:00
Ryan Bloom
94c63c92a8 We need to setup protocol filters for the fake request. If we don't,
then when any request filters are added, the connection filters will be
lost.  This fixes the proxy.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93752 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 06:07:25 +00:00
Bradley Nicholes
e6d10bff2d Switching from a project build file to GNU make files
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93665 13f79535-47bb-0310-9956-ffa450edef68
2002-03-01 22:21:25 +00:00
Jim Jagielski
a1de05995b Add the ProxyRemoteMatch directive to the mod_proxy
code. Doccos to be done soon


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93597 13f79535-47bb-0310-9956-ffa450edef68
2002-02-27 15:49:01 +00:00
Jeff Trawick
e8b6f67b6a fix the linkage of and add a prototype for ap_proxy_table_unmerge()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93529 13f79535-47bb-0310-9956-ffa450edef68
2002-02-21 11:42:03 +00:00
Graham Leggett
23bad0a329 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93527 13f79535-47bb-0310-9956-ffa450edef68
2002-02-21 06:06:31 +00:00
Ian Holsman
0a70e420a5 send a 'bad-gateway'
when a invaild response flys in


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93519 13f79535-47bb-0310-9956-ffa450edef68
2002-02-20 20:25:15 +00:00
Bill Stoddard
8cb5dbee43 Out foul tabs. No function change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93375 13f79535-47bb-0310-9956-ffa450edef68
2002-02-12 17:41:35 +00:00
Ryan Bloom
862f407872 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93259 13f79535-47bb-0310-9956-ffa450edef68
2002-02-05 22:18:49 +00:00
Martin Kraemer
34e0d8cf5d Oops. Use ftp_check_globbingchars().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93217 13f79535-47bb-0310-9956-ffa450edef68
2002-02-04 10:11:29 +00:00
Martin Kraemer
c5ef15249d And update the year....
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93216 13f79535-47bb-0310-9956-ffa450edef68
2002-02-04 10:07:10 +00:00
Martin Kraemer
9f645d6622 React (in the dir lister) on the same globbing chars as used in the escaping routine
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93215 13f79535-47bb-0310-9956-ffa450edef68
2002-02-04 10:06:37 +00:00
Justin Erenkrantz
59874f5443 Make sure we include time.h if it is there. (Other mojo may be needed for
other platforms.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93201 13f79535-47bb-0310-9956-ffa450edef68
2002-02-03 17:18:18 +00:00
Bill Stoddard
bd3d360392 Reintroduce the create_connection hook. This hook is required to enable
modules to completely take over all network i/o from the core.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93171 13f79535-47bb-0310-9956-ffa450edef68
2002-02-01 22:16:31 +00:00
Ian Holsman
bf6f47a76d missed a '&'
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93147 13f79535-47bb-0310-9956-ffa450edef68
2002-02-01 04:07:48 +00:00
Martin Kraemer
5b7ceb18a9 Add MDTM support if supported by the FTP server, and if either
timegm() exists or struct tm has a tm_gmtoff field (needed for
easily converting the time string to a GMT timestamp).
Escaping for ftp path arguments now uses a dedicated escaping
routine (in order to only escape globbing characters, not all
shell meta characters).
Execute the SIZE query with the same TYPE setting as the RETR transfer,
because the SIZE may be calculated differently for ASCII files.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93128 13f79535-47bb-0310-9956-ffa450edef68
2002-01-31 14:48:51 +00:00
Martin Kraemer
f6e4afd31b Eliminate variables where unneeded; move ";type=" checking code to front;
drop redundant log messages (covered by proxy_ftp_command());
do checks for /%2f as in apache-1.3.24;
escape path argument in SIZE command


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93120 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 22:41:59 +00:00
Ian Holsman
8cf569593b add a ProxyTimeout directive
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93117 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 18:46:56 +00:00
Martin Kraemer
0a372f9393 Minor tipos
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93111 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 15:30:09 +00:00
Martin Kraemer
abf7e5464b Of course, more wildcard characters
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93110 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 15:14:39 +00:00
Martin Kraemer
de3c03c970 Port the "squid %2f hack" from apache_1.3.24.
It is now possible to browse the root directory by using a url
like:   ftp://user@host/%2f/
Also, the last path component may contain wildcard characters
'*' and '?', and if they do, a directory listing is created instead
of a file retrieval. Example: ftp://user@host/httpd/server/*.c


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93108 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 15:07:48 +00:00
Martin Kraemer
8ae6ee9022 Oops, sorry. Lost one line.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93107 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 14:59:46 +00:00
Martin Kraemer
1d76ccd517 Something sets the content_encoding, even if a directory listing
is going to be returned. Hack: unset the content_encoding if
dirlisting == TRUE.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93106 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 14:56:42 +00:00
Martin Kraemer
e135391780 For the ftp commands CWD and RETR, do escaping for the path elements,
because FTP servers do globbing, which we do not want for filenames
from the directory listing.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93105 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 14:54:18 +00:00
Martin Kraemer
08ff4a86f0 In the debug log, say 'decline' instead of 'reject' when DECLINEing
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93103 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 12:40:39 +00:00
Jeff Trawick
9b36512d5c zap a warning on AIX... given that time_t isn't an APR construct
I don't know of a better fix


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93100 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 11:54:15 +00:00
Martin Kraemer
b763128578 Oops: wrong variable
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93099 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 09:55:33 +00:00