Commit Graph

98 Commits

Author SHA1 Message Date
1ef12234c2 make the output XHTML
Submitted by : Erik Abele <erik@codefaktor.de>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96528 13f79535-47bb-0310-9956-ffa450edef68
2002-08-25 20:40:11 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
4bc1733b38 Cleanup some fallout from the recent install_transport_filters commit.
Deprecate ap_proxy_pre_http_connection.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93093 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 04:34:11 +00:00
94d01b65aa 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93014 13f79535-47bb-0310-9956-ffa450edef68
2002-01-25 01:11:47 +00:00
7d32242a14 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)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92928 13f79535-47bb-0310-9956-ffa450edef68
2002-01-19 07:45:18 +00:00
59550522ce Fix seg fault in HTTP_IN when trying to handle the LimitRequestBody
directive when reading a proxy response. We should bypass LimitRequestBody
activities when handling a response from the proxied server.

I don't think this will circumvent requestbody checking on a large request
coming into the server that is destined to be proxied. (not tested though).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92722 13f79535-47bb-0310-9956-ffa450edef68
2002-01-03 19:20:54 +00:00
55954a1d64 Change the return code from APR_TIMEUP to APR_ECONNABORTED, which seems
to be a bit more descriptive. Move the check to inside the inner while()
loop and add an additional check for eos. If we get an EOS bucket, there
is no point in going further. Hopefully this will fix the last seg fault
in the function.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92704 13f79535-47bb-0310-9956-ffa450edef68
2002-01-02 19:12:40 +00:00
b9b1b1a76d Eliminate loop in ap_proxy_string_read(). Need to be able to handle
getting an empty brigade from ap_get_brigade(). Also made sure that
we always call ap_get_brigade() in readline mode.

Submitted/Reviewed by: Adam Sussman & Bill Stoddard


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92690 13f79535-47bb-0310-9956-ffa450edef68
2001-12-31 20:43:59 +00:00
1741233a02 Detabify some functions. No functional change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92651 13f79535-47bb-0310-9956-ffa450edef68
2001-12-29 20:32:52 +00:00
e1e621b3d4 make the proxy code spit out an error to the error log.
This bit me when I included a 11th file no error message, nothing.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92226 13f79535-47bb-0310-9956-ffa450edef68
2001-11-28 21:07:32 +00:00
1eda89f095 Hmmm... mismatched namespaces :-?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91489 13f79535-47bb-0310-9956-ffa450edef68
2001-10-16 14:45:56 +00:00
e31a688ce5 Cleanup the proxy code that creates a request to the origin
server.  This change adds an optional hook, which allows modules
to gain control while the request is created if the proxy module
is loaded.  The purpose of this hook is to allow modules to add
input and/or output filters to the request to the origin.  While
I was at it, I made the core use this hook, so that proxy request
creation uses some of the code from the core.  This can still be
greatly improved, but this is a good start.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91486 13f79535-47bb-0310-9956-ffa450edef68
2001-10-16 05:18:39 +00:00
dd713bba3b 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91370 13f79535-47bb-0310-9956-ffa450edef68
2001-10-08 21:49:17 +00:00
4bd8279a92 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91363 13f79535-47bb-0310-9956-ffa450edef68
2001-10-08 19:25:35 +00:00
8f2a259fa5 change the parameter to ap_get_brigade from apr_site_t to apr_off_t, due to
a parameter change in the original filter.
PR:
Submitted by: barbee@veribox.net
Reviewed by: ianh@apache.org


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90011 13f79535-47bb-0310-9956-ffa450edef68
2001-08-07 21:18:03 +00:00
3a3883d7e3 inet_addr and inet_network are not interchangable.
Furthermore, use apr_inet_addr, rather than ap_inet_addr (though they map
to the same thing).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89855 13f79535-47bb-0310-9956-ffa450edef68
2001-08-01 05:50:29 +00:00
7ca521dfdf After checking what this does with Bill Rowe, and discovering it to be dead
wood, I am tossing it.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89838 13f79535-47bb-0310-9956-ffa450edef68
2001-07-31 19:19:34 +00:00
5b38785f4b Being slightly picky: properly namespace protect make_fake_req()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89837 13f79535-47bb-0310-9956-ffa450edef68
2001-07-31 19:12:56 +00:00
de5ebc3740 Nobody screamed. ;)
This gets rid of ap_proxy_host2addr, and a few other useless functions,
and allows us to be threadsafe when doing DNS resolution.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89829 13f79535-47bb-0310-9956-ffa450edef68
2001-07-31 16:25:18 +00:00
77e6035975 Reorganize ap_proxy_string_read() internally to not process eos buckets.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89473 13f79535-47bb-0310-9956-ffa450edef68
2001-06-28 12:48:57 +00:00
79686d250b An EOS bucket doesn't contain anything, so why shouldn't we skip it?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89471 13f79535-47bb-0310-9956-ffa450edef68
2001-06-28 07:05:18 +00:00
bd71fdf9ac Use apr-util's date functions now
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89280 13f79535-47bb-0310-9956-ffa450edef68
2001-06-06 21:51:58 +00:00
3032fea185 Allows Mod_proxy to be dynamically loaded on win32 systems
PR:
Obtained from:
Submitted by:	ianh
Reviewed by:	Chuck Murcko, Graham


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89085 13f79535-47bb-0310-9956-ffa450edef68
2001-05-11 17:32:41 +00:00
109f7ebf1d Crikey.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89044 13f79535-47bb-0310-9956-ffa450edef68
2001-05-07 02:47:51 +00:00
ea5093e17f Track Greg's change to byte count for input filters
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89037 13f79535-47bb-0310-9956-ffa450edef68
2001-05-06 10:59:22 +00:00
8366898180 Made the variable naming the same as everywhere else in Apache for the
ap_get_brigade() fix.
PR:
Obtained from:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88927 13f79535-47bb-0310-9956-ffa450edef68
2001-04-24 04:38:53 +00:00
704054f6d9 Just for the sake of cleanliness ...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88926 13f79535-47bb-0310-9956-ffa450edef68
2001-04-24 02:50:19 +00:00
83e42d2157 Apply changes to ap_get_brigade() to the proxy code.
PR:
Obtained from:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88922 13f79535-47bb-0310-9956-ffa450edef68
2001-04-23 21:03:39 +00:00
f8425f7b81 Make hooks work for the *_canon() functions. Work continues.
PR:
Obtained from:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88854 13f79535-47bb-0310-9956-ffa450edef68
2001-04-14 07:03:00 +00:00
07e7e196f4 FTP directory filter works now.
Many FIXME notes added.
Much overhauling of proxy_ftp.c
PR:
Obtained from:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88817 13f79535-47bb-0310-9956-ffa450edef68
2001-04-12 01:57:48 +00:00
ce168dd27f 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88797 13f79535-47bb-0310-9956-ffa450edef68
2001-04-10 20:44:16 +00:00
056f85fe07 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88793 13f79535-47bb-0310-9956-ffa450edef68
2001-04-10 19:52:40 +00:00
10c533558e Compiler warnings - yuck!
Moved ap_proxy_string_read() to proxy_util.c so it can be used by
proxy_http.c
PR:
Obtained from:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88777 13f79535-47bb-0310-9956-ffa450edef68
2001-04-10 00:13:56 +00:00
7a742e7fd1 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88740 13f79535-47bb-0310-9956-ffa450edef68
2001-04-06 14:25:54 +00:00