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]>

Reply via email to