From 877b46df6ba3c66fb63af08074a1c1437fb81907 Mon Sep 17 00:00:00 2001 From: Stefan Fritsch Date: Thu, 3 Jun 2010 22:47:46 +0000 Subject: [PATCH] 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 --- modules/proxy/mod_proxy.h | 2 +- modules/proxy/mod_proxy_connect.c | 3 +-- modules/proxy/proxy_util.c | 45 +++++++++++++++---------------- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h index 60b7bf92e8..f8fc416430 100644 --- a/modules/proxy/mod_proxy.h +++ b/modules/proxy/mod_proxy.h @@ -485,7 +485,7 @@ PROXY_DECLARE(int) ap_proxy_pre_http_request(conn_rec *c, request_rec *r); PROXY_DECLARE(apr_status_t) ap_proxy_string_read(conn_rec *c, apr_bucket_brigade *bb, char *buff, size_t bufflen, int *eos); PROXY_DECLARE(void) ap_proxy_table_unmerge(apr_pool_t *p, apr_table_t *t, char *key); /* DEPRECATED (will be replaced with ap_proxy_connect_backend */ -PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **, const char *, apr_sockaddr_t *, const char *, proxy_server_conf *, server_rec *, apr_pool_t *); +PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **, const char *, apr_sockaddr_t *, const char *, proxy_server_conf *, request_rec *); PROXY_DECLARE(apr_status_t) ap_proxy_ssl_connection_cleanup(proxy_conn_rec *conn, request_rec *r); PROXY_DECLARE(int) ap_proxy_ssl_enable(conn_rec *c); diff --git a/modules/proxy/mod_proxy_connect.c b/modules/proxy/mod_proxy_connect.c index 95513f1f51..0978a1adf8 100644 --- a/modules/proxy/mod_proxy_connect.c +++ b/modules/proxy/mod_proxy_connect.c @@ -313,8 +313,7 @@ static int proxy_connect_handler(request_rec *r, proxy_worker *worker, * XXX FIXME */ failed = ap_proxy_connect_to_backend(&sock, "CONNECT", connect_addr, - connectname, conf, r->server, - r->pool); + connectname, conf, r); /* handle a permanent error from the above loop */ if (failed) { diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index b3c5cb4e61..6117f1f4ea 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -1578,8 +1578,7 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock, apr_sockaddr_t *backend_addr, const char *backend_name, proxy_server_conf *conf, - server_rec *s, - apr_pool_t *p) + request_rec *r) { apr_status_t rv; int connected = 0; @@ -1587,13 +1586,13 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock, while (backend_addr && !connected) { if ((rv = apr_socket_create(newsock, backend_addr->family, - SOCK_STREAM, 0, p)) != APR_SUCCESS) { + SOCK_STREAM, 0, r->pool)) != APR_SUCCESS) { loglevel = backend_addr->next ? APLOG_DEBUG : APLOG_ERR; - ap_log_error(APLOG_MARK, loglevel, rv, s, - "proxy: %s: error creating fam %d socket for target %s", - proxy_function, - backend_addr->family, - backend_name); + ap_log_rerror(APLOG_MARK, loglevel, rv, r, + "proxy: %s: error creating fam %d socket for target %s", + proxy_function, + backend_addr->family, + backend_name); /* * this could be an IPv6 address from the DNS but the * local machine won't give us an IPv6 socket; hopefully the @@ -1606,16 +1605,16 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock, if (conf->recv_buffer_size > 0 && (rv = apr_socket_opt_set(*newsock, APR_SO_RCVBUF, conf->recv_buffer_size))) { - ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, - "apr_socket_opt_set(SO_RCVBUF): Failed to set " - "ProxyReceiveBufferSize, using default"); + ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, + "apr_socket_opt_set(SO_RCVBUF): Failed to set " + "ProxyReceiveBufferSize, using default"); } rv = apr_socket_opt_set(*newsock, APR_TCP_NODELAY, 1); if (rv != APR_SUCCESS && rv != APR_ENOTIMPL) { - ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, - "apr_socket_opt_set(APR_TCP_NODELAY): " - "Failed to set"); + ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, + "apr_socket_opt_set(APR_TCP_NODELAY): " + "Failed to set"); } /* Set a timeout on the socket */ @@ -1623,12 +1622,12 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock, apr_socket_timeout_set(*newsock, conf->timeout); } else { - apr_socket_timeout_set(*newsock, s->timeout); + apr_socket_timeout_set(*newsock, r->server->timeout); } - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "proxy: %s: fam %d socket created to connect to %s", - proxy_function, backend_addr->family, backend_name); + ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, + "proxy: %s: fam %d socket created to connect to %s", + proxy_function, backend_addr->family, backend_name); /* make the connection out of the socket */ rv = apr_socket_connect(*newsock, backend_addr); @@ -1637,11 +1636,11 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock, if (rv != APR_SUCCESS) { apr_socket_close(*newsock); loglevel = backend_addr->next ? APLOG_DEBUG : APLOG_ERR; - ap_log_error(APLOG_MARK, loglevel, rv, s, - "proxy: %s: attempt to connect to %pI (%s) failed", - proxy_function, - backend_addr, - backend_name); + ap_log_rerror(APLOG_MARK, loglevel, rv, r, + "proxy: %s: attempt to connect to %pI (%s) failed", + proxy_function, + backend_addr, + backend_name); backend_addr = backend_addr->next; continue; } -- 2.40.0