]> granicus.if.org Git - apache/commitdiff
Re-instate balancer merge (for the time being) but force
authorJim Jagielski <jim@apache.org>
Wed, 19 Sep 2012 17:21:55 +0000 (17:21 +0000)
committerJim Jagielski <jim@apache.org>
Wed, 19 Sep 2012 17:21:55 +0000 (17:21 +0000)
persistence if the top-level server has it defined....

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

modules/proxy/mod_proxy.c
modules/proxy/mod_proxy_balancer.c

index ee0772753137c847a0855ef11227ae1e31b936ad..bcef3d89c0604ca874916063f77cfe8bb4d91a93 100644 (file)
@@ -1173,13 +1173,13 @@ static void * merge_proxy_config(apr_pool_t *p, void *basev, void *overridesv)
     proxy_server_conf *base = (proxy_server_conf *) basev;
     proxy_server_conf *overrides = (proxy_server_conf *) overridesv;
 
-    ps->proxies = overrides->proxies;
-    ps->sec_proxy = overrides->sec_proxy;
-    ps->aliases = overrides->aliases;
-    ps->noproxies = overrides->noproxies;
-    ps->dirconn = overrides->dirconn;
-    ps->workers = overrides->workers;
-    ps->balancers = overrides->balancers;
+    ps->proxies = apr_array_append(p, base->proxies, overrides->proxies);
+    ps->sec_proxy = apr_array_append(p, base->sec_proxy, overrides->sec_proxy);
+    ps->aliases = apr_array_append(p, base->aliases, overrides->aliases);
+    ps->noproxies = apr_array_append(p, base->noproxies, overrides->noproxies);
+    ps->dirconn = apr_array_append(p, base->dirconn, overrides->dirconn);
+    ps->workers = apr_array_append(p, base->workers, overrides->workers);
+    ps->balancers = apr_array_append(p, base->balancers, overrides->balancers);
     ps->forward = overrides->forward ? overrides->forward : base->forward;
     ps->reverse = overrides->reverse ? overrides->reverse : base->reverse;
 
@@ -1192,7 +1192,7 @@ static void * merge_proxy_config(apr_pool_t *p, void *basev, void *overridesv)
     ps->bgrowth = (overrides->bgrowth_set == 0) ? base->bgrowth : overrides->bgrowth;
     ps->bgrowth_set = overrides->bgrowth_set || base->bgrowth_set;
     ps->max_balancers = overrides->max_balancers || base->max_balancers;
-    ps->bal_persist = overrides->bal_persist;
+    ps->bal_persist = base->bal_persist || overrides->bal_persist;
     ps->recv_buffer_size = (overrides->recv_buffer_size_set == 0) ? base->recv_buffer_size : overrides->recv_buffer_size;
     ps->recv_buffer_size_set = overrides->recv_buffer_size_set || base->recv_buffer_size_set;
     ps->io_buffer_size = (overrides->io_buffer_size_set == 0) ? base->io_buffer_size : overrides->io_buffer_size;
index e650bfa323051e028a66934f04102047f144d3c3..519ca66b864eea1ff2551f79d2c0751c0af74171 100644 (file)
@@ -1287,7 +1287,7 @@ static int balancer_handler(request_rec *r)
                       balancer->s->name + sizeof(BALANCER_PREFIX) - 1,
                       "&nonce=", balancer->s->nonce,
                       "'>", NULL);
-            ap_rvputs(r, balancer->s->name, "</a></h3>\n", NULL);
+            ap_rvputs(r, balancer->s->name, "</a> [",balancer->s->sname, "]</h3>\n", NULL);
             ap_rputs("\n\n<table><tr>"
                 "<th>MaxMembers</th><th>StickySession</th><th>DisableFailover</th><th>Timeout</th><th>FailoverAttempts</th><th>Method</th>"
                 "<th>Path</th><th>Active</th></tr>\n<tr>", r);