You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2008/01/03 12:07:12 UTC
svn commit: r608449 - in /tomcat/connectors/trunk/jk:
native/common/jk_lb_worker.c xdocs/miscellaneous/changelog.xml
Author: rjung
Date: Thu Jan 3 03:07:07 2008
New Revision: 608449
URL: http://svn.apache.org/viewvc?rev=608449&view=rev
Log:
Fix BZ 44116: Handling of multiple JSESSIONID cookies.
Modified:
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?rev=608449&r1=608448&r2=608449&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Thu Jan 3 03:07:07 2008
@@ -358,25 +358,27 @@
* Session cookie was found, get it's value
*/
char *id_end;
+ size_t sz;
++id_start;
- id_start = jk_pool_strdup(s->pool, id_start);
- if ((id_end = strchr(id_start, ';')) != NULL) {
- *id_end = '\0';
- }
- if ((id_end = strchr(id_start, ',')) != NULL) {
- *id_end = '\0';
+ if ((id_end = strpbrk(id_start, ";,")) != NULL)
+ sz = id_end - id_start;
+ else {
+ sz = strlen(id_start);
+ id_end = id_start + sz;
}
if (result == NULL) {
- result = id_start;
+ result = jk_pool_alloc(s->pool, sz + 1);
+ memcpy(result, id_start, sz);
+ result[sz] = '\0';
}
else {
size_t osz = strlen(result) + 1;
- size_t sz = osz + strlen(id_start) + 1;
result =
- jk_pool_realloc(s->pool, sz, result, osz);
+ jk_pool_realloc(s->pool, osz + sz + 1, result, osz);
strcat(result, ";");
- strcat(result, id_start);
+ strncat(result, id_start, sz);
}
+ id_start = id_end;
}
}
}
Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?rev=608449&r1=608448&r2=608449&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Thu Jan 3 03:07:07 2008
@@ -44,7 +44,10 @@
<subsection name="Native">
<changelog>
<fix>
- Use thread safe localtime_r where appropriate. (rjung)
+ <bug>44116</bug>: Fix handling of multiple JSESSIONID cookies. (rjung)
+ </fix>
+ <fix>
+ <bug>37850</bug>: Use thread safe localtime_r where appropriate. (rjung)
</fix>
<fix>
Use thread safe strtok_r on more platforms, especially AIX. (rjung)
@@ -53,15 +56,16 @@
Status: Improve XSS hardening. (rjung)
</update>
<update>
- Move initialization of service members with defaults from web server
- specific code to our generic jk_init_ws_service() function. (rjung)
+ <bug>35303</bug>: Move initialization of service members with defaults from
+ web server specific code to our generic jk_init_ws_service() function. (rjung)
</update>
- <update>
- Common: Add missing prepost cping/cpong directly after connect
+ <fix>
+ <bug>36385</bug>: Add missing prepost cping/cpong directly after connect
in case prepost cping is used, but no connect cping. (rjung)
- </update>
+ </fix>
<update>
- Apache: Enhance robustness of message formating in jk_error_exit(). (rjung)
+ <bug>37322</bug>: Apache: Enhance robustness of message formating
+ in jk_error_exit(). (rjung)
</update>
<fix>
<bug>44147</bug>: Multiple load balancing workers problem. (rjung)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org