From: Ruediger Pluem Date: Mon, 4 Sep 2006 19:51:52 +0000 (+0000) Subject: * Extract stickysession information correctly in the case that it is given X-Git-Tag: 2.3.0~2138 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=339784871793f42e946ed2e38a71a55ceede1569;p=apache * Extract stickysession information correctly in the case that it is given as parameter like in the following example: www.someplace.com/somewhere/?jsessionid=gggfgdufdfoef.server¶meter=value So far we were only able to handle stickysession information encoded in the following form: www.someplace.com/somewhere/;jsessionid=gggfgdufdfoef.server?parameter=value PR: 40400 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@440160 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 5691a659c5..31cde9f998 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,10 @@ Changes with Apache 2.3.0 [Remove entries to the current 2.0 and 2.2 section below, when backported] + *) mod_proxy_balancer: Extract stickysession routing information contained as + parameter in the URL correctly. PR 40400. + [Ruediger Pluem, Tomokazu Harada ] + *) mod_ext_filter: Handle filter names which include capital letters. PR 40323. [Jeff Trawick] diff --git a/modules/proxy/mod_proxy_balancer.c b/modules/proxy/mod_proxy_balancer.c index 86050fa973..55d4aa2897 100644 --- a/modules/proxy/mod_proxy_balancer.c +++ b/modules/proxy/mod_proxy_balancer.c @@ -129,9 +129,7 @@ static char *get_path_param(apr_pool_t *pool, char *url, ++path; if (strlen(path)) { char *q; - path = apr_pstrdup(pool, path); - if ((q = strchr(path, '?'))) - *q = '\0'; + path = apr_strtok(apr_pstrdup(pool, path), "?&", &q); return path; } }