nacho       01/09/12 17:07:39

  Modified:    src/native/mod_jk/iis jk_isapi_plugin.c
  Log:
  Virtual server support for IIS
  
  This patch adds some syntax sugar to uriworkermap.properties file format
  to allow fine grained control over redirection of tomcat contexts to IIS
  virtual hosts, allowing a syntax like :
  
  /www.somevirtualhost.com/context/*.jsp=ajp13
  
  in UWM.P file.. in addition to the old one of :
  
  /context/*.jsp=ajp13
  
  The old syntax comprises the mapping for the entire server, that is this
  context are honored in all IIS virtual servers..
  
  The new syntax permits to map a context against a unique virtual server, or a group 
of them..
  
  Revision  Changes    Path
  1.4       +22 -7     jakarta-tomcat/src/native/mod_jk/iis/jk_isapi_plugin.c
  
  Index: jk_isapi_plugin.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/native/mod_jk/iis/jk_isapi_plugin.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jk_isapi_plugin.c 2001/09/02 07:27:27     1.3
  +++ jk_isapi_plugin.c 2001/09/13 00:07:39     1.4
  @@ -56,7 +56,8 @@
   /***************************************************************************
    * Description: ISAPI plugin for IIS/PWS                                   *
    * Author:      Gal Shachor <[EMAIL PROTECTED]>                           *
  - * Version:     $Revision: 1.3 $                                               *
  + * Author:      Ignacio J. Ortega <[EMAIL PROTECTED]>                       *
  + * Version:     $Revision: 1.4 $                                           *
    ***************************************************************************/
   
   #include <httpext.h>
  @@ -402,9 +403,13 @@
       if(is_inited &&
          (SF_NOTIFY_PREPROC_HEADERS == dwNotificationType)) { 
           PHTTP_FILTER_PREPROC_HEADERS p = 
(PHTTP_FILTER_PREPROC_HEADERS)pvNotification;
  -        char uri[INTERNET_MAX_URL_LENGTH]; 
  +        char uri[INTERNET_MAX_URL_LENGTH];
  +             char snuri[INTERNET_MAX_URL_LENGTH]="/";
  +             char Host[INTERNET_MAX_URL_LENGTH];
  +
           char *query;
           DWORD sz = sizeof(uri);
  +        DWORD szHost = sizeof(Host);
   
           jk_log(logger, JK_LOG_DEBUG, 
                  "HttpFilterProc started\n");
  @@ -422,15 +427,25 @@
           }
   
           if(strlen(uri)) {
  -            char *worker;
  +            char *worker=0;
               query = strchr(uri, '?');
               if(query) {
                   *query = '\0';
               }
  -            jk_log(logger, JK_LOG_DEBUG, 
  -                   "In HttpFilterProc test redirection of %s\n", 
  -                   uri);
  -            worker = map_uri_to_worker(uw_map, uri, logger);                
  +                     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 = '?';
               }
  
  
  

Reply via email to