]> granicus.if.org Git - apache/commitdiff
log issues with CONNECT at request scope instead of server scope
authorStefan Fritsch <sf@apache.org>
Thu, 3 Jun 2010 22:47:46 +0000 (22:47 +0000)
committerStefan Fritsch <sf@apache.org>
Thu, 3 Jun 2010 22:47:46 +0000 (22:47 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@951189 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/mod_proxy.h
modules/proxy/mod_proxy_connect.c
modules/proxy/proxy_util.c

index 60b7bf92e841e6bdfcfbaff4a9627979ae20a34a..f8fc4164307a456d3786aa6b41afdfabe0cab1c6 100644 (file)
@@ -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);
index 95513f1f5174ba74a6af6ae8b62a87c5de57dd7e..0978a1adf80ec3ee902db515301d6829441dff52 100644 (file)
@@ -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) {
index b3c5cb4e61d070607bb3169ebdddced6bf651b8f..6117f1f4ea5cab0f433240ab04f83f595092479d 100644 (file)
@@ -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;
         }