]> granicus.if.org Git - apache/commitdiff
* Extract stickysession information correctly in the case that it is given
authorRuediger Pluem <rpluem@apache.org>
Mon, 4 Sep 2006 19:51:52 +0000 (19:51 +0000)
committerRuediger Pluem <rpluem@apache.org>
Mon, 4 Sep 2006 19:51:52 +0000 (19:51 +0000)
  as parameter like in the following example:

  www.someplace.com/somewhere/?jsessionid=gggfgdufdfoef.server&parameter=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

CHANGES
modules/proxy/mod_proxy_balancer.c

diff --git a/CHANGES b/CHANGES
index 5691a659c56013a6c1343ea444acab58de1d698a..31cde9f998aef64eaa7e8eff3fad27d19e49cf2b 100644 (file)
--- 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 <harada sysrdc.ns-sol.co.jp>]
+
   *) mod_ext_filter: Handle filter names which include capital letters.
      PR 40323.  [Jeff Trawick]
 
index 86050fa973860d956faf97632e4a0ffafe9da230..55d4aa2897a9dd6c28276067718a1163114911b1 100644 (file)
@@ -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;
             }
         }