You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by hg...@apache.org on 2001/05/18 18:46:23 UTC

cvs commit: jakarta-tomcat-connectors/jk/src/native/common jk_global.h jk_map.c jk_service.h jk_uri_worker_map.c jk_worker_list.h

hgomez      01/05/18 09:46:23

  Modified:    jk/src/native/common jk_global.h jk_map.c jk_service.h
                        jk_uri_worker_map.c jk_worker_list.h
  Log:
  Misc cleanup and ajp14 preparation
  
  Revision  Changes    Path
  1.2       +3 -1      jakarta-tomcat-connectors/jk/src/native/common/jk_global.h
  
  Index: jk_global.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/src/native/common/jk_global.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_global.h	2001/05/14 09:34:29	1.1
  +++ jk_global.h	2001/05/18 16:46:16	1.2
  @@ -57,11 +57,13 @@
    * Description: Global definitions and include files that should exist     *
    *              anywhere                                                   *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
  - * Version:     $Revision: 1.1 $                                               *
  + * Version:     $Revision: 1.2 $                                               *
    ***************************************************************************/
   
   #ifndef JK_GLOBAL_H
   #define JK_GLOBAL_H
  +
  +#define JK_EXPOSED_VERSION      ("mod_jk/1.1a1")
   
   #include <stdio.h>
   #include <stdlib.h>
  
  
  
  1.2       +3 -2      jakarta-tomcat-connectors/jk/src/native/common/jk_map.c
  
  Index: jk_map.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/src/native/common/jk_map.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_map.c	2001/05/14 09:35:53	1.1
  +++ jk_map.c	2001/05/18 16:46:17	1.2
  @@ -56,7 +56,7 @@
   /***************************************************************************
    * Description: General purpose map object                                 *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
  - * Version:     $Revision: 1.1 $                                               *
  + * Version:     $Revision: 1.2 $                                               *
    ***************************************************************************/
   
   #include "jk_global.h"
  @@ -465,4 +465,5 @@
       }
   
       return rc;
  -}
  \ No newline at end of file
  +}
  +
  
  
  
  1.2       +12 -12    jakarta-tomcat-connectors/jk/src/native/common/jk_service.h
  
  Index: jk_service.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/src/native/common/jk_service.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_service.h	2001/05/14 09:40:55	1.1
  +++ jk_service.h	2001/05/18 16:46:18	1.2
  @@ -59,7 +59,7 @@
    *              JVM connection point                                       *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
    *              Dan Milstein <da...@shore.net> 
  - * Version:     $Revision: 1.1 $                                               *
  + * Version:     $Revision: 1.2 $                                               *
    ***************************************************************************/
   
   #ifndef JK_SERVICE_H
  @@ -92,7 +92,7 @@
    * As with all the core jk classes, this is essentially an abstract base
    * class which is implemented/extended by classes which are specific to a
    * particular web server.  By using an abstract base class in this manner,
  - * workers can be written for different protocols (e.g. ajp12, ajp13)
  + * workers can be written for different protocols (e.g. ajp12, ajp13, ajp14)
    * without the workers having to worry about which web server they are
    * talking to.
    *
  @@ -231,7 +231,7 @@
    * The endpoint 'class', which represents one end of a connection to the
    * servlet engine.  Basically, supports nothing other than forwarding the
    * request to the servlet engine.  Endpoints can be persistent (as with
  - * ajp13, where a single connection is reused many times), or can last for a
  + * ajp13/ajp14, where a single connection is reused many times), or can last for a
    * single request (as with ajp12, where a new connection is created for
    * every request).
    *
  @@ -255,14 +255,14 @@
    * imagine that you are seeing the internal vtables of your favorite OO
    * language.  Whatever works for you.
    *
  - * See jk_ajp13_worker.c and jk_ajp12_worker.c for examples.  
  + * See jk_ajp13_worker.c/jk_ajp14_worker.c and jk_ajp12_worker.c for examples.  
    */
   struct jk_endpoint {
     
       /* 
        * A 'this' pointer which is used by the subclasses of this class to
        * point to data/functions which are specific to a given protocol 
  -     * (e.g. ajp12 or ajp13).  
  +     * (e.g. ajp12 or ajp13 or ajp14).  
        */
       void *endpoint_private;
   
  @@ -279,7 +279,7 @@
       /*
        * Called when this particular endpoint has finished processing a
        * request.  For some protocols (e.g. ajp12), this frees the memory
  -     * associated with the endpoint.  For others (e.g. ajp13), this can
  +     * associated with the endpoint.  For others (e.g. ajp13/ajp14), this can
        * return the endpoint to a cache of already opened endpoints.  
        *
        * Note that the first argument is *not* a 'this' pointer, but is
  @@ -297,10 +297,10 @@
    * This can mean communicating with a particular servlet engine instance,
    * using a particular protocol.  A single web server instance may have
    * multiple workers communicating with a single servlet engine (it could be
  - * using ajp12 for some requests and ajp13 for others).  Or, a single web
  + * using ajp12 for some requests and ajp13/ajp14 for others).  Or, a single web
    * server instance could have multiple workers communicating with different
    * servlet engines using the same protocol (it could be load balancing
  - * among many engines, using ajp13 for all communication).
  + * among many engines, using ajp13/ajp14 for all communication).
    *
    * There is also a load balancing worker (jk_lb_worker.c), which itself
    * manages a group of workers.
  @@ -327,14 +327,14 @@
    * imagine that you are seeing the internal vtables of your favorite OO
    * language.  Whatever works for you.
    *
  - * See jk_ajp13_worker.c and jk_ajp12_worker.c for examples.  
  + * See jk_ajp14_worker.c, jk_ajp13_worker.c and jk_ajp12_worker.c for examples.  
    */
   struct jk_worker {
   
       /* 
        * A 'this' pointer which is used by the subclasses of this class to
        * point to data/functions which are specific to a given protocol 
  -     * (e.g. ajp12 or ajp13).  
  +     * (e.g. ajp12 or ajp13 or ajp14).  
        */
       void *worker_private;
   
  @@ -348,7 +348,7 @@
        * of configuration options (or 'properties'), check to see if it the
        * options are.  This will always be called before the init() method.
        * The init/validate distinction is a bit hazy to me.
  -     * See jk_ajp13_worker.c and jk_worker.c->wc_create_worker() 
  +     * See jk_ajp13_worker.c/jk_ajp14_worker.c and jk_worker.c->wc_create_worker() 
        */
       int (JK_METHOD *validate)(jk_worker_t *w,
                                 jk_map_t *props, 
  @@ -387,7 +387,7 @@
    * different types of workers.  The set of all these functions is created
    * at startup from the list in jk_worker_list.h, and then the correct one
    * is chosen in jk_worker.c->wc_create_worker().  See jk_worker.c and
  - * jk_ajp13_worker.c for examples.
  + * jk_ajp13_worker.c/jk_ajp14_worker.c for examples.
    *
    * This allows new workers to be written without modifing the plugin code
    * for the various web servers (since the only link is through
  
  
  
  1.2       +8 -7      jakarta-tomcat-connectors/jk/src/native/common/jk_uri_worker_map.c
  
  Index: jk_uri_worker_map.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/src/native/common/jk_uri_worker_map.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_uri_worker_map.c	2001/05/14 09:41:56	1.1
  +++ jk_uri_worker_map.c	2001/05/18 16:46:19	1.2
  @@ -65,7 +65,7 @@
    * servlet container.                                                      *
    *                                                                         *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
  - * Version:     $Revision: 1.1 $                                               *
  + * Version:     $Revision: 1.2 $                                               *
    ***************************************************************************/
   
   #include "jk_pool.h"
  @@ -111,7 +111,8 @@
    * fumble and return the jsp content. 
    *
    * To solve that we will check for path info following the suffix, we 
  - * will also check that the end of the uri is not .suffix.
  + * will also check that the end of the uri is not ".suffix.",
  + * ".suffix/", or ".suffix ".
    */
   static int check_security_fraud(jk_uri_worker_map_t *uw_map, 
                                   const char *uri, 
  @@ -129,9 +130,9 @@
                   if('.' != *(suffix_start - 1)) {
                       continue;
                   } else {
  -                    char *after_suffix = suffix_start + strlen(uw_map->maps[i].suffix) + 1;
  +                    char *after_suffix = suffix_start + strlen(uw_map->maps[i].suffix);
                   
  -                    if((('.' == *after_suffix) || ('/' == *after_suffix)) && 
  +                    if((('.' == *after_suffix) || ('/' == *after_suffix) || (' ' == *after_suffix)) &&
                          (0 == strncmp(uw_map->maps[i].context, uri, uw_map->maps[i].ctxt_len))) {
                           /* 
                            * Security violation !!!
  @@ -356,7 +357,7 @@
               uri = clean_uri;
           }
   
  -		jk_log(l, JK_LOG_DEBUG, "Attempting to map URI %s\n", uri);
  +		jk_log(l, JK_LOG_DEBUG, "Attempting to map URI '%s'\n", uri);
           for(i = 0 ; i < uw_map->size ; i++) {
   
               if(uw_map->maps[i].ctxt_len < longest_match) {
  @@ -370,7 +371,7 @@
                       if(strlen(uri) == uw_map->maps[i].ctxt_len) {
   			jk_log(l,
   			       JK_LOG_DEBUG,
  -			       "jk_uri_worker_map_t::map_uri_to_worker, Found an exact match %s ->%s\n",
  +			       "jk_uri_worker_map_t::map_uri_to_worker, Found an exact match %s -> %s\n",
   			       uw_map->maps[i].worker_name,
   			       uw_map->maps[i].context );
                           return uw_map->maps[i].worker_name;
  @@ -431,7 +432,7 @@
   
               if(fraud >= 0) {
                   jk_log(l, JK_LOG_EMERG, 
  -                       "In jk_uri_worker_map_t::map_uri_to_worker, found a security fraud in [%s]\n",
  +                       "In jk_uri_worker_map_t::map_uri_to_worker, found a security fraud in '%s'\n",
                          uri);    
                   return uw_map->maps[fraud].worker_name;
               }
  
  
  
  1.2       +6 -7      jakarta-tomcat-connectors/jk/src/native/common/jk_worker_list.h
  
  Index: jk_worker_list.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/src/native/common/jk_worker_list.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_worker_list.h	2001/05/14 09:44:44	1.1
  +++ jk_worker_list.h	2001/05/18 16:46:19	1.2
  @@ -56,7 +56,7 @@
   /***************************************************************************
    * Description: Worker list                                                *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
  - * Version:     $Revision: 1.1 $                                           *
  + * Version:     $Revision: 1.2 $                                           *
    ***************************************************************************/
   
   /*
  @@ -79,7 +79,7 @@
   
           #include "jk_ajp12_worker.h"
           #include "jk_ajp13_worker.h"
  -        /* #include "jk_ajp23_worker.h" */
  +        #include "jk_ajp14_worker.h"
           #ifndef HPUX11GCC
               #include "jk_jni_worker.h"
           #endif
  @@ -102,12 +102,10 @@
                * AJPv13 worker, fast bi-directional worker.
                */
               { JK_AJP13_WORKER_NAME, ajp13_worker_factory},
  -
               /*
  -             * Sample commented out (and deprecated) factory.
  +             * AJPv14 worker, next generation fast bi-directional worker.
                */
  -            /*{ JK_AJP23_WORKER_NAME, ajp23_worker_factory},*/
  -
  +            { JK_AJP14_WORKER_NAME, ajp14_worker_factory},
               /*
                * In process JNI based worker. Requires the server to be 
                * multithreaded and to use native threads.
  @@ -127,4 +125,5 @@
               { NULL, NULL}
       };
       #endif /* _JK_WORKER_LIST_H */
  -#endif /* _PLACE_WORKER_LIST_HERE */
  \ No newline at end of file
  +#endif /* _PLACE_WORKER_LIST_HERE */
  +