]> granicus.if.org Git - apache/commitdiff
We need to copy the forward proxy data, because it
authorRainer Jung <rjung@apache.org>
Sun, 14 Feb 2010 21:37:36 +0000 (21:37 +0000)
committerRainer Jung <rjung@apache.org>
Sun, 14 Feb 2010 21:37:36 +0000 (21:37 +0000)
might be reused during later requests using the same
backend connection.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@910081 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/proxy_util.c

index 5097a4042a25806d91bb6e4714439222e9a831f7..ca44d073f6c56c312eb119b2780a5e55e6b20fb7 100644 (file)
@@ -2133,7 +2133,7 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r,
                 forward_info *forward = apr_pcalloc(conn->pool, sizeof(forward_info));
                 conn->forward = forward;
                 forward->use_http_connect = 1;
-                forward->target_host = uri->hostname;
+                forward->target_host = apr_pstrdup(conn->pool, uri->hostname);
                 forward->target_port = uri->port;
                 /* Do we want to pass Proxy-Authorization along?
                  * If we haven't used it, then YES
@@ -2146,7 +2146,7 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r,
                     proxy_auth[0] != '\0' &&
                     r->user == NULL && /* we haven't yet authenticated */
                     apr_table_get(r->subprocess_env, "Proxy-Chain-Auth")) {
-                    forward->proxy_auth = proxy_auth;
+                    forward->proxy_auth = apr_pstrdup(conn->pool, proxy_auth);
                 }
             }
         }