nacho 2002/09/24 17:49:40 Modified: jk/native/iis jk_isapi_plugin.c Log: Better testing for vhosts, use the supplied server name and port instead of directly the Host header ones.. Revision Changes Path 1.18 +21 -4 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.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- jk_isapi_plugin.c 7 May 2002 01:37:51 -0000 1.17 +++ jk_isapi_plugin.c 25 Sep 2002 00:49:40 -0000 1.18 @@ -667,7 +667,8 @@ { char uri[INTERNET_MAX_URL_LENGTH]; char snuri[INTERNET_MAX_URL_LENGTH]="/"; - char Host[INTERNET_MAX_URL_LENGTH]; + char Host[INTERNET_MAX_URL_LENGTH]=""; + char Port[INTERNET_MAX_URL_LENGTH]=""; char Translate[INTERNET_MAX_URL_LENGTH]; BOOL (WINAPI * GetHeader) (struct _HTTP_FILTER_CONTEXT * pfc, LPSTR lpszName, LPVOID lpvBuffer, LPDWORD lpdwSize ); @@ -678,6 +679,7 @@ char *query; DWORD sz = sizeof(uri); DWORD szHost = sizeof(Host); + DWORD szPort = sizeof(Port); DWORD szTranslate = sizeof(Translate); if (iis5) { @@ -735,8 +737,23 @@ return SF_STATUS_REQ_FINISHED; } getparents(uri); - - if(GetHeader(pfc, "Host:", (LPVOID)Host, (LPDWORD)&szHost)) { + if (pfc->GetServerVariable(pfc, SERVER_NAME, (LPVOID)Host, (LPDWORD)&szHost)){ + if (szHost > 0) { + Host[szHost-1] = '\0'; + } + } + Port[0] = '\0'; + if (pfc->GetServerVariable(pfc, "SERVER_PORT", (LPVOID)Port, (LPDWORD)&szPort)){ + if (szPort > 0) { + Port[szPort-1] = '\0'; + } + } + szPort = atoi(Port); + if (szPort != 80 && szPort != 443 && szHost > 0){ + strcat(Host,":"); + strcat(Host,Port); + } + if (szHost > 0) { strcat(snuri,Host); strcat(snuri,uri); jk_log(logger, JK_LOG_DEBUG,
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>