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
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102935 13f79535-47bb-0310-9956-ffa450edef68
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.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102320 13f79535-47bb-0310-9956-ffa450edef68
The ap_is_HTTP_INFO() macro checks for values in the 100...199 range,
and is a better readable replacement for the value 199.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102282 13f79535-47bb-0310-9956-ffa450edef68
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
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102239 13f79535-47bb-0310-9956-ffa450edef68
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>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102069 13f79535-47bb-0310-9956-ffa450edef68
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
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101516 13f79535-47bb-0310-9956-ffa450edef68
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
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101154 13f79535-47bb-0310-9956-ffa450edef68
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.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@97812 13f79535-47bb-0310-9956-ffa450edef68
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
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
"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
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
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
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
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
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
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