You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by la...@apache.org on 2001/12/08 16:42:25 UTC
cvs commit: jakarta-tomcat-connectors/jk/native/iis jk_isapi_plugin.c
larryi 01/12/08 07:42:25
Modified: jk/native/iis jk_isapi_plugin.c
Log:
Fix bug where if uri is shortened by un-escaping or normalizing, the query
string gets lost.
Also converted some tabs to spaces.
Revision Changes Path
1.10 +40 -32 jakarta-tomcat-connectors/jk/native/iis/jk_isapi_plugin.c
Index: jk_isapi_plugin.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/iis/jk_isapi_plugin.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- jk_isapi_plugin.c 2001/11/07 21:46:28 1.9
+++ jk_isapi_plugin.c 2001/12/08 15:42:25 1.10
@@ -60,7 +60,7 @@
* Author: Gal Shachor <sh...@il.ibm.com> *
* Author: Larry Isaacs <la...@apache.org> *
* Author: Ignacio J. Ortega <na...@apache.org> *
- * Version: $Revision: 1.9 $ *
+ * Version: $Revision: 1.10 $ *
***************************************************************************/
// This define is needed to include wincrypt,h, needed to get client certificates
@@ -554,21 +554,21 @@
DWORD dwNotificationType,
LPVOID pvNotification)
{
- /* Initialise jk */
- if (is_inited && !is_mapread) {
- char serverName[MAX_SERVERNAME];
- DWORD dwLen = sizeof(serverName);
-
- if (pfc->GetServerVariable(pfc, SERVER_NAME, serverName, &dwLen))
- {
- if (dwLen > 0) serverName[dwLen-1] = '\0';
- if (init_jk(serverName))
- is_mapread = JK_TRUE;
- }
- /* If we can't read the map we become dormant */
- if (!is_mapread)
- is_inited = JK_FALSE;
- }
+ /* Initialise jk */
+ if (is_inited && !is_mapread) {
+ char serverName[MAX_SERVERNAME];
+ DWORD dwLen = sizeof(serverName);
+
+ if (pfc->GetServerVariable(pfc, SERVER_NAME, serverName, &dwLen))
+ {
+ if (dwLen > 0) serverName[dwLen-1] = '\0';
+ if (init_jk(serverName))
+ is_mapread = JK_TRUE;
+ }
+ /* If we can't read the map we become dormant */
+ if (!is_mapread)
+ is_inited = JK_FALSE;
+ }
if (is_inited &&
(SF_NOTIFY_PREPROC_HEADERS == dwNotificationType)) {
@@ -627,22 +627,30 @@
}
getparents(uri);
- if(p->GetHeader(pfc, "Host:", (LPVOID)Host, (LPDWORD)&szHost)) {
- strcat(snuri,Host);
- strcat(snuri,uri);
- jk_log(logger, JK_LOG_DEBUG,
- "In HttpFilterProc Virtual Host redirection of %s\n",
- snuri);
- worker = map_uri_to_worker(uw_map, snuri, logger);
- }
- if (!worker) {
- jk_log(logger, JK_LOG_DEBUG,
- "In HttpFilterProc test Default redirection of %s\n",
- uri);
- worker = map_uri_to_worker(uw_map, uri, logger);
- }
- if (query) {
- *query = '?';
+ if(p->GetHeader(pfc, "Host:", (LPVOID)Host, (LPDWORD)&szHost)) {
+ strcat(snuri,Host);
+ strcat(snuri,uri);
+ jk_log(logger, JK_LOG_DEBUG,
+ "In HttpFilterProc Virtual Host redirection of %s\n",
+ snuri);
+ worker = map_uri_to_worker(uw_map, snuri, logger);
+ }
+ if (!worker) {
+ jk_log(logger, JK_LOG_DEBUG,
+ "In HttpFilterProc test Default redirection of %s\n",
+ uri);
+ worker = map_uri_to_worker(uw_map, uri, logger);
+ }
+ if(query) {
+ char *querytmp = uri + strlen(uri);
+ *querytmp++ = '?';
+ query++;
+ /* if uri was shortened, move the query characters */
+ if (querytmp != query) {
+ while (*query != '\0')
+ *querytmp++ = *query++;
+ *querytmp = '\0';
+ }
}
if (worker) {
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>