You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by sh...@locus.apache.org on 2000/03/09 12:58:37 UTC

cvs commit: jakarta-tomcat/src/native/iis_netscape Makefile.solaris jk_nsapi_plugin.c jk_jni_worker.c

shachor     00/03/09 03:58:37

  Modified:    src/native/iis_netscape jk_nsapi_plugin.c jk_jni_worker.c
  Added:       src/native/iis_netscape Makefile.solaris
  Log:
  Adding SOLARIS support for the Netscape plugins.
  Tested on Ultra1/Ent.3.6a/Solaris2.6
  
  Revision  Changes    Path
  1.4       +18 -17    jakarta-tomcat/src/native/iis_netscape/jk_nsapi_plugin.c
  
  Index: jk_nsapi_plugin.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/native/iis_netscape/jk_nsapi_plugin.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jk_nsapi_plugin.c	2000/02/28 11:52:47	1.3
  +++ jk_nsapi_plugin.c	2000/03/09 11:58:36	1.4
  @@ -56,7 +56,7 @@
   /***************************************************************************
    * Description: NSAPI plugin for Netscape servers                          *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
  - * Version:     $Revision: 1.3 $                                               *
  + * Version:     $Revision: 1.4 $                                               *
    ***************************************************************************/
   
   
  @@ -95,14 +95,14 @@
                                       const char * const *header_values,
                                       unsigned num_of_headers);
   
  -static int JK_METHOD read(jk_ws_service_t *s,
  -                          void *b,
  -                          unsigned l,
  -                          unsigned *a);
  -
  -static int JK_METHOD write(jk_ws_service_t *s,
  -                           const void *b,
  -                           unsigned l);
  +static int JK_METHOD ws_read(jk_ws_service_t *s,
  +                             void *b,
  +                             unsigned l,
  +                             unsigned *a);
  +
  +static int JK_METHOD ws_write(jk_ws_service_t *s,
  +                              const void *b,
  +                              unsigned l);
   
   NSAPI_PUBLIC int jk_init(pblock *pb, 
                            Session *sn, 
  @@ -174,10 +174,10 @@
       return JK_FALSE;
   }
   
  -static int JK_METHOD read(jk_ws_service_t *s,
  -                          void *b,
  -                          unsigned l,
  -                          unsigned *a)
  +static int JK_METHOD ws_read(jk_ws_service_t *s,
  +                             void *b,
  +                             unsigned l,
  +                             unsigned *a)
   {
       if(s && s->ws_private && b && a) {
           nsapi_private_data_t *p = s->ws_private;
  @@ -209,9 +209,9 @@
       return JK_FALSE;
   }
   
  -static int JK_METHOD write(jk_ws_service_t *s,
  -                           const void *b,
  -                           unsigned l)
  +static int JK_METHOD ws_write(jk_ws_service_t *s,
  +                              const void *b,
  +                              unsigned l)
   {
       if(s && s->ws_private && b) {
           nsapi_private_data_t *p = s->ws_private;
  @@ -243,6 +243,7 @@
       int rc = REQ_ABORTED;
       jk_map_t *init_map;
   
  +    fprintf(stderr, "In jk_init %s %s %s\n",worker_prp_file, log_level_str,  log_file);
       if(!worker_prp_file) {
           worker_prp_file = JK_WORKER_FILE_DEF;
       }
  @@ -361,8 +362,8 @@
   
       s->jvm_route = NULL;
       s->start_response = start_response;
  -    s->read = read;
  -    s->write = write;
  +    s->read = ws_read;
  +    s->write = ws_write;
       
       s->auth_type        = pblock_findval("auth-type", private_data->rq->vars);
       s->remote_user      = pblock_findval("auth-user", private_data->rq->vars);
  
  
  
  1.4       +6 -7      jakarta-tomcat/src/native/iis_netscape/jk_jni_worker.c
  
  Index: jk_jni_worker.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/native/iis_netscape/jk_jni_worker.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jk_jni_worker.c	2000/03/08 09:37:46	1.3
  +++ jk_jni_worker.c	2000/03/09 11:58:36	1.4
  @@ -57,9 +57,13 @@
    * Description: In process JNI worker                                      *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
    * Based on:                                                               *
  - * Version:     $Revision: 1.3 $                                               *
  + * Version:     $Revision: 1.4 $                                               *
    ***************************************************************************/
   
  +#ifndef WIN32
  +#include <dlfcn.h>
  +#endif
  +
   #include <jni.h>
   
   #include "jk_pool.h"
  @@ -474,7 +478,7 @@
           FreeLibrary(hInst);
       }
   #else 
  -    void *handle = dlopen(path, RTLD_NOW | RTLD_GLOBAL);
  +    void *handle = dlopen(p->jvm_dll_path, RTLD_NOW | RTLD_GLOBAL);
       if(handle) {
           jni_create_java_vm = dlsym(handle, "JNI_CreateJavaVM");
           jni_get_default_java_vm_init_args = dlsym(handle, "JNI_GetDefaultJavaVMInitArgs");
  @@ -494,7 +498,6 @@
   {
       JDK1_1InitArgs vm_args;  
       JNIEnv *penv;
  -    jsize num_JavaVMs = 0;    
       *env = NULL;
   
       if(0 != jni_get_default_java_vm_init_args(&vm_args)) {
  @@ -547,10 +550,6 @@
                                JNIEnv *env,
                                jk_logger_t *l)
   {
  -    char    *ctor_method_name     = "<init>";
  -    char    *ose_ctor_method_sig    = "()V";
  -    jmethodID  constructor_method_id = NULL;
  -
       p->jk_java_bridge_class = (*env)->FindClass(env, JAVA_BRIDGE_CLASS_NAME);
       if(p->jk_java_bridge_class) {
           jmethodID  constructor_method_id = (*env)->GetMethodID(env,
  @@ -655,4 +654,4 @@
       if(env) {
           putenv(env);
       }
  -}
  \ No newline at end of file
  +}
  
  
  
  1.1                  jakarta-tomcat/src/native/iis_netscape/Makefile.solaris
  
  Index: Makefile.solaris
  ===================================================================
  # Defines for example NSAPI programs running under SOLARIS
  
  CC_CMD=gcc -DNET_SSL -DSOLARIS -D_REENTRANT
  LD_SHAREDCMD=ld -G
  
  all:
  prepare:
  
  OS_TYPE=solaris
  INCLUDEDIR=$(SUITSPOT_HOME)/include
  JAVA_INCLUDE=$(JAVA_HOME)/include
  
  JK_OBJS = jk_ajp12_worker.o jk_lb_worker.o jk_sockbuf.o jk_connect.o jk_map.o \
  jk_uri_worker_map.o jk_nsapi_plugin.o jk_util.o jk_jni_worker.o \
  jk_pool.o jk_worker.o
  
  INCLUDE_FLAGS=-I$(INCLUDEDIR) -I$(INCLUDEDIR)/base -I$(INCLUDEDIR)/frame -I$(JAVA_INCLUDE) -I$(JAVA_INCLUDE)/$(OS_TYPE)
  COMMON_DEFS=-DMCC_HTTPD -DXP_UNIX -DSPAPI20 -DSOLARIS -Wall
  
  
  all: nsapi_redirector.so 
  
  
  nsapi_redirector.so: $(JK_OBJS)
  	$(MAKE) prepare
  	$(LD_SHAREDCMD) $(JK_OBJS) -o nsapi_redirector.so $(EXTRA_LDDEFINES)
  
  .c.o:
  	$(CC_CMD) $(COMMON_DEFS) $(INCLUDE_FLAGS) -c $< 
  
  clean:
  	rm $(JK_OBJS)