getHostByName() disabled in AccessLogInterceptor

2001-05-03 Thread Jochen Wiedmann


Hi,

attached you find a slightly modified version of the
AccessLogInterceptor that I have recently submitted to
this mailing list. The AccessLogInterceptor is generating
log files in the style of Apache's request logs.

The difference to the first version is that the log file
styles common and combined are now by default using
request.getRemoteAddr() (%a) and not request.getRemoteHost()
(%h). The former turned out to be too slow in practice.

I would appreciate if this could make it into the TomCat
distribution. I would also offer to insert it into the
CVS tree myself, if I could get an account.


Thanks,

Jochen
 AccessLogInterceptor.java


mod_jk portability

2001-05-03 Thread Mirko Nasato

Hi.

I compiled mod_jk (Tomcat 3.2.1) on a OSF1 alpha 5.1 (Compaq Tru64) using
the Compaq cc, but got this warning that scares me a lot

cc: Warning: ../jk/jk_msg_buff.c, line 88: In this statement, the expression
printf(...) modifies the variable i more than once without an
intervening sequence point.  This behavior is undefined. (undefvarmod)
printf(%s %d/%d/%d %x %x %x %x - %x %x %x %x - %x %x %x %x - %x %x
%x %x\n, err, msg-pos, msg-len, msg-maxlen,

so i tried to compile this little c program

#include stdio.h
int main()
{
unsigned int i = 0;
printf(%x %x %x\n, i++, i++, i++);
return 0;
}

on a few platforms. Here are the results

Compaq cc on osf1 tru64 5.1 alpha: 0 0 0 (with the above mentioned compiler
warning)
GCC on the above: 0 1 2
GCC on Linux i386: 2 1 0
SGI cc on Irix 6.2 (good old beast): 0 0 0
Microsoft Visual C++ 6.0 on win2k: 0 0 0

This is the suspect code from jk_msg_buff.c

/*
 * Simple marshaling code.
 */

/* XXX what's above this line can go to .h XXX */
void jk_b_dump(jk_msg_buf_t *msg, char *err)
{
int i=0;
printf(%s %d/%d/%d %x %x %x %x - %x %x %x %x - %x %x %x %x - %x %x
%x %x\n, err, msg-pos, msg-len, msg-maxlen,
   msg-buf[i++],msg-buf[i++],msg-buf[i++],msg-buf[i++],
   msg-buf[i++],msg-buf[i++],msg-buf[i++],msg-buf[i++],
   msg-buf[i++],msg-buf[i++],msg-buf[i++],msg-buf[i++],
   msg-buf[i++],msg-buf[i++],msg-buf[i++],msg-buf[i++]);

i = msg-pos - 4;
if(i  0) {
i=0;
}

printf(%x %x %x %x - %x %x %x %x --- %x %x %x %x - %x %x %x
%x\n,
   msg-buf[i++],msg-buf[i++],msg-buf[i++],msg-buf[i++],
   msg-buf[i++],msg-buf[i++],msg-buf[i++],msg-buf[i++],
   msg-buf[i++],msg-buf[i++],msg-buf[i++],msg-buf[i++],
   msg-buf[i++],msg-buf[i++],msg-buf[i++],msg-buf[i++]);

}

What's the purpose of this function? Can I get along with this odd
behaviour? TIA.

Regards,

\mirko





RE: loader.html

2001-05-03 Thread Kevin Jones

 OK, you've caught me.

:-)

The reason I wanted the doc is to do with the re-loader problem I'm having.
I wanted to know if I'd configured the loader correctly

Kevin Jones
DevelopMentor
www.develop.com

 -Original Message-
 From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
 Sent: 02 May 2001 02:59
 To: [EMAIL PROTECTED]
 Subject: RE: loader.html




 On Tue, 1 May 2001, Kevin Jones wrote:

  webapps\ROOT\docs\config\context.html says
 
  Loader - Configure a class loader associated with this Context.
  where the HTML looks like this
  a href=loader.htmlLoader/a - Configure a class loader associated
 with
  this strongContext/strong
 
  Kevin Jones
  DevelopMentor
  www.develop.com
 

 OK, you've caught me.

 There are roughly four of these configuration doc files that have not
 been
 written yet (which is why I've left the bug report complaining about
 this
 open).  I'll get to them soonest.

 Craig




cvs commit: jakarta-tomcat/proposals/web-connector - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:45:42

  jakarta-tomcat/proposals/web-connector - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/native - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:46:43

  jakarta-tomcat/proposals/web-connector/native - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/java - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:46:58

  jakarta-tomcat/proposals/web-connector/java - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/doc - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:47:13

  jakarta-tomcat/proposals/web-connector/doc - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/native README

2001-05-03 Thread hgomez

hgomez  01/05/03 06:50:13

  Added:   proposals/web-connector/native README
  Log:
  Initial readme
  
  Revision  ChangesPath
  1.1  jakarta-tomcat/proposals/web-connector/native/README
  
  Index: README
  ===
  README for web-connector
  
  $Id: README,v 1.1 2001/05/03 13:50:11 hgomez Exp $
  
  Please see doc/mod_jk-howto.html for more verbose instructions
  
  * What is web-connector ?
  
  web-connector is a new project to release web-servers connector
  for the jakarta Tomcat servlet engine.
  
  This project didn't start from null since it reuse the latest code from
  mod_jk for the native parts and tomcat 3.3 for the java side of the 
  force.
  
  From mod_jk we gain :
  
  * A connector (plugin) for many Web Server, including
Apache HTTP Server, Netscape/IPLanet NES and Microsoft IIS
It also support JNI (and seems to used at least by IBM under 
AS/400 for Apache/WebSphere connectivity).

  * Fault-tolerance and load-balancing. mod_jk use the concept of 
workers which handle a particular request, and a special worker
, the lb worker, is a group (cluster ?) of physical workers.
  
  * Direct access to Tomcat 3.2/3.3 servlet engine via ajp12/ajp13
protocol. 
  
  * OK, then how do I build web-connector ?
  
  For Unix:
  
  Change to the apache1.3 or apache2.0 directory,
  depending on which version of Apache you are running.
  
  Execute ./build-unix.sh  This script sets some environment variables
  and then calls Apache's apxs script to do the actual compile.
  
  If this doesn't work, please check the source for build-unix.sh.  You
  may have to edit some variables.
  
  Alternately, you may have more luck with the makefiles.  Execute them
  with e.g. make -f Makefile.linux mod_jk.so
  
  For Windows:
  
  [need more info feel free to contact me]
  
  * How do I install mod_jk.so?
  
  Copy mod_jk.so into your APACHE_HOME/libexec
  
  Add the following line to APACHE_HOME/conf/httpd.conf.  Replace
  TOMCAT_HOME with the actual directory name.
  
 Include TOMCAT_HOME/conf/mod_jk.conf-auto
  
  That's it!
  
  When Tomcat starts, it automatically writes out mod_jk.conf-auto based
  on your server.xml settings.  If this is inadequate for your needs,
  you can copy mod_jk.conf-auto to a new file called mod_jk.conf and
  then change httpd.conf to read
  
 Include TOMCAT_HOME/conf/mod_jk.conf
  
  Note that Tomcat must be started *before* Apache for mod_jk to
  initialize correctly.  Since tomcat.sh start launches Tomcat in the
  background, you may have to do something like the following in your
  startup script:
  
cd $TOMCAT_HOME/bin
./tomcat.sh start
sleep 4
$APACHE_HOME/bin/apachectl start
  
  [Note: apachectl should be run as root, but Tomcat should be run as a
  local user; this means that the above script would lead to a security
  problem. Any suggestions to fix?]
  
  * Where do I report bugs/errors?
   
  See http://jakarta.apache.org/getinvolved/mail.html and
  http://jakarta.apache.org/bugs/index.html for information.
  
  ---
  Credits:
  mod_jk written by Gal Shachor and many others
  README and .sh scripts written by Alex Chaffee
  
  
  



cvs commit: jakarta-tomcat/proposals/web-connector/native/apache1.3 - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:50:58

  jakarta-tomcat/proposals/web-connector/native/apache1.3 - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/native/apache2.0 - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:51:01

  jakarta-tomcat/proposals/web-connector/native/apache2.0 - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/native/common - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:51:03

  jakarta-tomcat/proposals/web-connector/native/common - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/native/netscape - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:51:12

  jakarta-tomcat/proposals/web-connector/native/netscape - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/native/jni - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:51:09

  jakarta-tomcat/proposals/web-connector/native/jni - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/native/nt_service - New directory

2001-05-03 Thread hgomez

hgomez  01/05/03 06:51:15

  jakarta-tomcat/proposals/web-connector/native/nt_service - New directory



cvs commit: jakarta-tomcat/proposals/web-connector/native/apache1.3 Makefile.freebsd Makefile.linux Makefile.nw README.hpux README.solaris build-hpux-cc.sh build-hpux.sh build-solaris.sh build-unix.sh install-unix.sh mod_jk.c mod_jk.dsp

2001-05-03 Thread hgomez

hgomez  01/05/03 06:54:37

  Added:   proposals/web-connector/native/apache1.3 Makefile.freebsd
Makefile.linux Makefile.nw README.hpux
README.solaris build-hpux-cc.sh build-hpux.sh
build-solaris.sh build-unix.sh install-unix.sh
mod_jk.c mod_jk.dsp
  Log:
  Up to date mod_jk stuff for Apache 1.3
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/proposals/web-connector/native/apache1.3/Makefile.freebsd
  
  Index: Makefile.freebsd
  ===
  ## You need to edit this file - configure later :-)
  
  APACHE_HOME=/usr/local/apache
  OS=freebsd
  APXS=${APACHE_HOME}/bin/apxs
  
  A13_FLAGS=-I${APACHE_HOME}/include
  
  ## I assume this one is set up already
  # JAVA_HOME=
  
  JAVA_INCL=-I${JAVA_HOME}/include -I${JAVA_HOME}/include/${OS}
  JAVA_LIB=-L${JAVA_HOME}/jre/lib/${ARCH} -L${JAVA_HOME}/lib/${ARCH}/native_threads
  
  CFLAGS=-DHAVE_CONFIG_H -g -fpic  -DSHARED_MODULE -O2 -D_REENTRANT -pthread -DLINUX 
-Wall
  
  JK=../common/
  SRCS=jk_ajp12_worker.c jk_connect.c jk_msg_buff.c jk_util.c jk_ajp13.c \
   jk_jni_worker.c jk_pool.c jk_worker.c jk_ajp13_worker.c jk_lb_worker.c \
   jk_sockbuf.c  jk_map.c jk_uri_worker_map.c  
  
  
  OBJS=${patsubst %.c,%.o,${SRCS}}
  
  %.o: ../common/%.c 
${CC} -c ${CFLAGS} ${JAVA_INCL} ${A13_FLAGS} $ -o $@ 
  
  .c.o:
${APXS} -c ${JAVA_INCL} -DFREEBSD ${A13_FLAGS} -I../common $
  
  all: mod_jk.so
  
  mod_jk.so: ${OBJS} mod_jk.o
$(APXS) -c -o mod_jk.so ${OBJS} mod_jk.o

  # $(CC) -shared -o mod_jk.so ${OBJS} mod_jk.o
  
  clean:
rm *.o *.so
  
  
  
  1.1  
jakarta-tomcat/proposals/web-connector/native/apache1.3/Makefile.linux
  
  Index: Makefile.linux
  ===
  ## You need to edit this file - configure later :-)
  
  ## I assume this one is set up already
  # JAVA_HOME=
  OS=linux
  
  JAVA_INCL=-I ${JAVA_HOME}/include -I ${JAVA_HOME}/include/${OS}
  JAVA_LIB=-L ${JAVA_HOME}/jre/lib/${ARCH} -L ${JAVA_HOME}/lib/${ARCH}/native_threads
  #ifndef APXS
  APXS=/usr/sbin/apxs
  #endif
  
  JK=../common/
  SRCS=${JK}/jk_ajp12_worker.c ${JK}/jk_connect.c ${JK}/jk_msg_buff.c ${JK}/jk_util.c 
${JK}/jk_ajp13.c \
   ${JK}/jk_jni_worker.c ${JK}/jk_pool.c ${JK}/jk_worker.c ${JK}/jk_ajp13_worker.c 
${JK}/jk_lb_worker.c \
   ${JK}/jk_sockbuf.c  ${JK}/jk_map.c ${JK}/jk_uri_worker_map.c  
  
  
  all: mod_jk.so
  
  mod_jk.so: 
$(APXS) -I ${JK} ${JAVA_INCL} -c -o $@ mod_jk.c $(SRCS) 
  
  clean:
rm *.o *.so
  
  
  
  1.1  
jakarta-tomcat/proposals/web-connector/native/apache1.3/Makefile.nw
  
  Index: Makefile.nw
  ===
  .SILENT:
  
  NLM_NAME=mod_jk
  
  JDKPATH=k:\jdk\jdk-1_2_2
  NOVELLNDK=r:\nwsdk
  APACHE_HOME=d:\apache_1.3.12\src
  WINSOCK_INCDIR=k:\ws295sdk\include
  METROWERKSPATH=k:\mw\5.3
  
  CC=$(METROWERKSPATH)\bin\mwccnlm
  LINK=$(METROWERKSPATH)\bin\mwldnlm
  
  JK_OBJS=\
jk_ajp12_worker.obj \
jk_ajp13.obj \
jk_ajp13_worker.obj \
jk_connect.obj \
jk_jni_worker.obj \
jk_lb_worker.obj \
jk_map.obj \
jk_msg_buff.obj \
jk_pool.obj \
jk_sockbuf.obj \
jk_uri_worker_map.obj \
jk_util.obj \
jk_worker.obj \
mod_jk.obj \
jk_nwmain.obj \

  all: $(NLM_NAME).nlm
  
  $(NLM_NAME).nlm: $(JK_OBJS) link.opt
@echo Linking $@
@$(LINK) @link.opt
  
  %.obj: %.c cc.opt
@echo Compiling $
@$(CC) $ -o=$(@F) @cc.opt

  %.obj: ../common/%.c cc.opt
@echo Compiling $
@$(CC) $ -o=$(@F) @cc.opt

  cc.opt: Makefile.nw
-@del cc.opt 2 NUL
@echo Generating $@
@echo -nosyspath -ext obj -c -align 1 -w nocmdline -bool on  $@
  ifdef DEBUG
@echo -g  $@
  endif
@echo -I$(NOVELLNDK)\include\nlm  $@
@echo -I$(NOVELLNDK)\include  $@
@echo -I.  $@
@echo -I..\common  $@
@echo -I$(METROWERKSPATH)\include  $@
@echo -I$(JDKPATH)\include  $@
@echo -I$(JDKPATH)\include\netware  $@
@echo -I$(APACHE_HOME)\include  $@
@echo -I$(APACHE_HOME)\os\netware  $@
@echo -I$(WINSOCK_INCDIR)  $@
@echo -DN_PLAT_NLM  $@
@echo -DNETWARE  $@
@echo -DXP_NETWARE  $@
  
  link.opt: Makefile.nw
-@del link.opt 2 NUL
-@del link.def 2 NUL
@echo -warnings off  $@
@echo -zerobss  $@
@echo -desc Apache 1.3 Plugin for Tomcat  $@
@echo -o $(NLM_NAME).nlm  $@
@echo -screenname System Console  $@
@echo -nlmversion 0,1,0  $@
  ifdef DEBUG
@echo -g  $@
@echo -sym internal  $@
@echo -sym codeview4  $@
@echo -osym 

cvs commit: jakarta-tomcat/proposals/web-connector/native/apache2.0 Makefile.linux build-unix.sh install-unix.sh mod_jk.c mod_jk.dsp

2001-05-03 Thread hgomez

hgomez  01/05/03 06:56:20

  Added:   proposals/web-connector/native/apache2.0 Makefile.linux
build-unix.sh install-unix.sh mod_jk.c mod_jk.dsp
  Log:
  Latest mod_jk stuff for Apache 2.0
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/proposals/web-connector/native/apache2.0/Makefile.linux
  
  Index: Makefile.linux
  ===
  ## You need to edit this file - configure later :-)
  
  ## I assume this one is set up already
  # JAVA_HOME=
  OS=linux
  
  JAVA_INCL=-I ${JAVA_HOME}/include -I ${JAVA_HOME}/include/${OS}
  JAVA_LIB=-L ${JAVA_HOME}/jre/lib/${ARCH} -L ${JAVA_HOME}/lib/${ARCH}/native_threads
  
  #
  # I've built a RPM, named apache2 (ftp://ftp.falsehope.com/home/gomez/apache2/),
  # which postfix all apache2 stuff with 2, ie apxs = apxs2. 
  # It will allow to have both apache 1.3 and 2.0 the same time on the system
  #
  #ifndef APXS
  APXS=/usr/sbin/apxs2
  #endif
  
  JK=../common
  SRCS=${JK}/jk_ajp12_worker.c ${JK}/jk_connect.c ${JK}/jk_msg_buff.c ${JK}/jk_util.c 
${JK}/jk_ajp13.c \
   ${JK}/jk_jni_worker.c ${JK}/jk_pool.c ${JK}/jk_worker.c ${JK}/jk_ajp13_worker.c 
${JK}/jk_lb_worker.c \
   ${JK}/jk_sockbuf.c  ${JK}/jk_map.c ${JK}/jk_uri_worker_map.c  
  
  LSRCS=jk_ajp12_worker.c jk_connect.c jk_msg_buff.c jk_util.c jk_ajp13.c \
jk_jni_worker.c jk_pool.c jk_worker.c jk_ajp13_worker.c jk_lb_worker.c \
jk_sockbuf.c  jk_map.c jk_uri_worker_map.c  
  
  
  all: mod_jk.so
  
  mod_jk.so: 
$(APXS) -I ${JK} ${JAVA_INCL} -c -o mod_jk.la mod_jk.c $(SRCS) 
mv .libs/mod_jk.so .
  
  clean:
rm -f *.o *.so *.lo *.la *.slo ${JK}/*.o ${JK}/*.so ${JK}/*.lo ${JK}/*.la 
${JK}/*.slo
rm -rf .libs
  
  
  
  1.1  
jakarta-tomcat/proposals/web-connector/native/apache2.0/build-unix.sh
  
  Index: build-unix.sh
  ===
  #!/bin/sh
  
  # $Id: build-unix.sh,v 1.1 2001/05/03 13:56:16 hgomez Exp $
  
  # build.sh for mod_jk.so
  # Usage: build-unix.sh 
  
  # Sets a bunch of variables and calls APXS to build mod_jk
  # on Unix.  An alternative to the makefiles, hopefully more portable.
  
  # Configure by changing the following variables:
  
  # JAVA_HOME is required, but it should be set in the environment, not here
  #JAVA_HOME=/usr/local/jdk1.2
  
  # Where your apache lives
  if [ -z $APACHE_HOME ]
  then
  echo APACHE_HOME=/usr/local/apache
  APACHE_HOME=/usr/local/apache
  fi
  
  # name of subdir under JAVA_HOME/jre/lib
  ARCH=i386
  
  CFLAGS=-DHAVE_CONFIG_H -g -fpic  -DSHARED_MODULE -O2 -D_REENTRANT -pthread -DLINUX 
-Wall
  
  APXS=$APACHE_HOME/bin/apxs
  
  # Find JAVA_HOME
  if [ -z $JAVA_HOME ]
  then
  echo Please set JAVA_HOME
  exit 1
  fi
  
  # Figure out INCLUDE directories
  
  # use find to pick the right include directories for current machine
  JAVA_INCLUDE=`find ${JAVA_HOME}/include -type d -printf \-I %p \` ||  echo find 
failed, edit build-unix.sh source to fix
  
  # if find fails, use (uncomment) the following instead, substituting your
  # platform for linux
  # JAVA_INCLUDE=-I ${JAVA_HOME}/include -I ${JAVA_HOME}/include/linux
  
  INCLUDE=-I ../common -I$APACHE_HOME/include/apr-util $JAVA_INCLUDE
  # SRC=mod_jk.c ../common/*.c
  SRC=*.c
  
  #echo INCLUDE=$INCLUDE
  #echo SRC=$SRC
  
  # Run APXS to compile module
  echo Compiling mod_jk
  cp ../common/*.c .
  $APXS -c -o mod_jk.so $INCLUDE $LIB $SRC
  
  # Copy mod_jk.so into the apache libexec directory
  echo Installing mod_jk.so into $APACHE_HOME/libexec
  cp mod_jk.so $APACHE_HOME/libexec
  
  # Done!
  echo Done. Install by running ./install-unix.sh
  
  
  
  
  1.1  
jakarta-tomcat/proposals/web-connector/native/apache2.0/install-unix.sh
  
  Index: install-unix.sh
  ===
  #!/bin/sh
  
  # $Id: install-unix.sh,v 1.1 2001/05/03 13:56:17 hgomez Exp $
  
  # install.sh for mod_jk.so
  # copies built mod_jk.so into apache/libexec dir
  # Usage: install-unix.sh 
  
  # Sets a bunch of variables and calls APXS to install mod_jk
  # on Unix.  An alternative to the makefiles, hopefully more portable.
  
  # Find APACHE_HOME
  if [ -z $APACHE_HOME ]
  then
  # Where your apache lives
  APACHE_HOME=/usr/local/apache
  fi
  
  # Copy mod_jk.so into the apache libexec directory
  echo Installing mod_jk.so into $APACHE_HOME/libexec
  cp mod_jk.so $APACHE_HOME/libexec
  
  # Done!
  echo Done. Add the following line to $APACHE_HOME/conf/httpd.conf:
  echo Include TOMCAT_HOME/conf/mod_jk.conf-auto
  echo '(replace TOMCAT_HOME with the actual directory name)'
  
  
  
  1.1  jakarta-tomcat/proposals/web-connector/native/apache2.0/mod_jk.c
  
  Index: mod_jk.c
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project. 

cvs commit: jakarta-tomcat/proposals/web-connector/native/common jk_ajp12_worker.c jk_ajp12_worker.h

2001-05-03 Thread hgomez

hgomez  01/05/03 06:59:16

  Added:   proposals/web-connector/native/common jk_ajp12_worker.c
jk_ajp12_worker.h
  Log:
  ajp12 protocol handling
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/proposals/web-connector/native/common/jk_ajp12_worker.c
  
  Index: jk_ajp12_worker.c
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * 4. The names Apache JServ, Apache JServ Servlet Engine and 
   *Java Apache Project must not be used to endorse or promote products 
   *derived from this software without prior written permission.
   *
   * 5. Products derived from this software may not be called Apache JServ
   *nor may Apache nor Apache JServ appear in their names without 
   *prior written permission of the Java Apache Project.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT AS IS AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JAVA APACHE PROJECT OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Java Apache Group. For more information
   * on the Java Apache Project and the Apache JServ Servlet Engine project,
   * please see http://java.apache.org/.
   *
   */
  
  /***
   * Description: ajpv1.2 worker, used to call local or remote jserv hosts   *
   * Author:  Gal Shachor [EMAIL PROTECTED]   *
   * Based on:jserv_ajpv12.c from Jserv  *
   * Version: $Revision: 1.1 $   *
   ***/
  
  #include jk_ajp12_worker.h
  #include jk_pool.h
  #include jk_connect.h
  #include jk_util.h
  #include jk_sockbuf.h
  
  #define AJP_DEF_HOST(localhost)
  #define AJP_DEF_PORT(8007)
  #define READ_BUF_SIZE   (8*1024)
  #define DEF_RETRY_ATTEMPTS  (1)
  
  struct ajp12_worker {
  struct sockaddr_in worker_inet_addr;
  unsigned connect_retry_attempts;
  char *name; 
  jk_worker_t worker;
  };
  
  typedef struct ajp12_worker ajp12_worker_t;
  
  struct ajp12_endpoint { 
  ajp12_worker_t *worker;
  
  int sd;
  jk_sockbuf_t sb;
  
  jk_endpoint_t endpoint;
  };
  typedef struct ajp12_endpoint ajp12_endpoint_t;
  
  static int ajpv12_mark(ajp12_endpoint_t *p, 
 unsigned char type);
  
  static int ajpv12_sendstring(ajp12_endpoint_t *p, 
   const char *buffer);
  
  static int ajpv12_sendint(ajp12_endpoint_t *p, 
int d);
  
  static int ajpv12_sendnbytes(ajp12_endpoint_t *p, 
   const void *buffer, 
   int bufferlen);
  
  static int ajpv12_flush(ajp12_endpoint_t *p);
  
  static int ajpv12_handle_response(ajp12_endpoint_t *p, 
jk_ws_service_t *s,
jk_logger_t *l);
  
  static int 

cvs commit: jakarta-tomcat/proposals/web-connector/native/common jk_ajp13.c jk_ajp13.h jk_ajp13_worker.c jk_ajp13_worker.h

2001-05-03 Thread hgomez

hgomez  01/05/03 06:59:57

  Added:   proposals/web-connector/native/common jk_ajp13.c jk_ajp13.h
jk_ajp13_worker.c jk_ajp13_worker.h
  Log:
  ajp13 protocol handling
  
  Revision  ChangesPath
  1.1  jakarta-tomcat/proposals/web-connector/native/common/jk_ajp13.c
  
  Index: jk_ajp13.c
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * 4. The names Apache JServ, Apache JServ Servlet Engine and 
   *Java Apache Project must not be used to endorse or promote products 
   *derived from this software without prior written permission.
   *
   * 5. Products derived from this software may not be called Apache JServ
   *nor may Apache nor Apache JServ appear in their names without 
   *prior written permission of the Java Apache Project.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT AS IS AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JAVA APACHE PROJECT OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Java Apache Group. For more information
   * on the Java Apache Project and the Apache JServ Servlet Engine project,
   * please see http://java.apache.org/.
   *
   */
  
  /***
   * Description: Experimental bi-directionl protocol handler.   *
   * Author:  Gal Shachor [EMAIL PROTECTED]   *
   * Version: $Revision: 1.1 $   *
   ***/
  
  
  #include jk_global.h
  #include jk_util.h
  #include jk_ajp13.h
  
  /*
   * Conditional request attributes
   * 
   */
  #define SC_A_CONTEXT(unsigned char)1
  #define SC_A_SERVLET_PATH   (unsigned char)2
  #define SC_A_REMOTE_USER(unsigned char)3
  #define SC_A_AUTH_TYPE  (unsigned char)4
  #define SC_A_QUERY_STRING   (unsigned char)5
  #define SC_A_JVM_ROUTE  (unsigned char)6
  #define SC_A_SSL_CERT   (unsigned char)7
  #define SC_A_SSL_CIPHER (unsigned char)8
  #define SC_A_SSL_SESSION(unsigned char)9
  #define SC_A_REQ_ATTRIBUTE  (unsigned char)10
  #define SC_A_ARE_DONE   (unsigned char)0xFF
  
  /*
   * Request methods, coded as numbers instead of strings.
   * The list of methods was taken from Section 5.1.1 of RFC 2616,
   * RFC 2518, and the ACL IETF draft.
   *  Method= OPTIONS
   *| GET
   *| HEAD   
   *| POST   
   *| PUT
   *| DELETE 
   *| TRACE  
   *| PROPFIND
   *| PROPPATCH
   *| MKCOL
   *| COPY
   *| MOVE
   *| LOCK
   *| UNLOCK
   *| ACL
   * 
   */
  #define SC_M_OPTIONS 

cvs commit: jakarta-tomcat/proposals/web-connector/native/common jk_connect.c jk_connect.h

2001-05-03 Thread hgomez

hgomez  01/05/03 07:00:59

  Added:   proposals/web-connector/native/common jk_connect.c
jk_connect.h
  Log:
  networks stuff (tcp/ip)
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/proposals/web-connector/native/common/jk_connect.c
  
  Index: jk_connect.c
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * 4. The names Apache JServ, Apache JServ Servlet Engine and 
   *Java Apache Project must not be used to endorse or promote products 
   *derived from this software without prior written permission.
   *
   * 5. Products derived from this software may not be called Apache JServ
   *nor may Apache nor Apache JServ appear in their names without 
   *prior written permission of the Java Apache Project.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT AS IS AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JAVA APACHE PROJECT OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Java Apache Group. For more information
   * on the Java Apache Project and the Apache JServ Servlet Engine project,
   * please see http://java.apache.org/.
   *
   */
  
  /***
   * Description: Socket/Naming manipulation functions   *
   * Author:  Gal Shachor [EMAIL PROTECTED]   *
   * Based on:Various Jserv files*
   * Version: $Revision: 1.1 $   *
   ***/
  
  
  #include jk_connect.h
  #include jk_util.h
  
  int jk_resolve(char *host,
 short port,
 struct sockaddr_in *rc) 
  {
  int x;
  u_long laddr;
  
  rc-sin_port   = htons((short)port);
  rc-sin_family = AF_INET;
  
  /* Check if we only have digits in the string */
  for(x = 0 ; '\0' != host[x] ; x++) {
  if(!isdigit(host[x])  host[x] != '.') {
  break;
  }
  }
  
  if(host[x] != '\0') {
  /* If we found also characters we use gethostbyname()*/
  struct hostent *hoste = gethostbyname(host);
  if(!hoste) {
  return JK_FALSE;
  }
  
  laddr = ((struct in_addr *)hoste-h_addr_list[0])-s_addr;
  } else {
  /* If we found only digits we use inet_addr() */
  laddr = inet_addr(host);
  }
  memcpy((rc-sin_addr), laddr , sizeof(laddr));
  
  return JK_TRUE;
  }
  
  
  int jk_open_socket(struct sockaddr_in *addr, 
 int ndelay,
 jk_logger_t *l)
  {
  int sock;
  
  jk_log(l, JK_LOG_DEBUG, Into jk_open_socket\n);
  
  sock = socket(AF_INET, SOCK_STREAM, 0);
  if(sock  -1) {
  int ret;
  /* Tries to connect to JServ (continues trying while error is EINTR) */
  do {
  jk_log(l, JK_LOG_DEBUG, jk_open_socket, try to connect 

TC4 B3 SSL: Error in SSLServerSocketFactory: initProxy()?

2001-05-03 Thread Philippe Khalife


Dev environment: Win2K Pro, JDK1.3, TC4 B3, latest JSSE, openssl, apache
1.3.19
I don't have a connector for apache compiled on this platform yet, so I'm
trying  direct SSL on TOMCAT

The JSSE seem to be properly setup: I have the JSSE in the CLASSPATH also
under $JAVA_HOME\jre\lib\ext, and $CATALINA_HOME/server/lib, also registered
the Provider in $JAVA_HOME\jre\lib\security\java.security


Server.xml:
Connector className=org.apache.catalina.connector.http.HttpConnector
   port=8443 minProcessors=5 maxProcessors=75
   acceptCount=10 debug=0 scheme=https secure=true
  Factory className=org.apache.catalina.net.SSLServerSocketFactory
   clientAuth=false protocol=TLS
keystorePass=administrator
   keystoreFile=c:\jdk\tomcat4-b3\conf\keystore
keystoreType=JKS /
/Connector


I tried both openssl certificates and keytool generated ceritificates.

I tried the code of SSLServerSocketFactory (initProxy) in a test class and
it works fine, with or without Security.addProvider(new
com.sun.net.ssl.internal.ssl.Provider());
So it's not a JVM setup issue. Is there a problem with this JSSE?

So what am I missing?
Your help will be greatly appreciated!!

PK

-
initProxy:  java.security.NoSuchAlgorithmException: Class
com.sun.net.ssl.intern
al.ssl.SSLContextImpl configured for SSLContext not a SSLContext
java.security.NoSuchAlgorithmException: Class
com.sun.net.ssl.internal.ssl.SSLCo
ntextImpl configured for SSLContext not a SSLContext
at com.sun.net.ssl.b.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.SSLContext.getInstance([DashoPro-V1.2-120198])
at
org.apache.catalina.net.SSLServerSocketFactory.initProxy(SSLServerSoc
ketFactory.java:385)
at
org.apache.catalina.net.SSLServerSocketFactory.initialize(SSLServerSo
cketFactory.java:328)
at
org.apache.catalina.net.SSLServerSocketFactory.createSocket(SSLServer
SocketFactory.java:281)
at
org.apache.catalina.connector.http.HttpConnector.open(HttpConnector.j
ava:734)
at
org.apache.catalina.connector.http.HttpConnector.start(HttpConnector.
java:888)
at
org.apache.catalina.core.StandardService.start(StandardService.java:3
60)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:458
)
at org.apache.catalina.startup.Catalina.start(Catalina.java:707)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:627)
at org.apache.catalina.startup.Catalina.process(Catalina.java:177)
at java.lang.reflect.Method.invoke(Native Method)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:177)
Catalina.start: LifecycleException:  HttpConnector[8443].open:
java.io.IOExcept
ion: java.security.NoSuchAlgorithmException: Class
com.sun.net.ssl.internal.ssl.
SSLContextImpl configured for SSLContext not a SSLContext
LifecycleException:  HttpConnector[8443].open:  java.io.IOException:
java.securi
ty.NoSuchAlgorithmException: Class
com.sun.net.ssl.internal.ssl.SSLContextImpl c
onfigured for SSLContext not a SSLContext
at
org.apache.catalina.connector.http.HttpConnector.start(HttpConnector.
java:890)
at
org.apache.catalina.core.StandardService.start(StandardService.java:3
60)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:458
)
at org.apache.catalina.startup.Catalina.start(Catalina.java:707)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:627)
at org.apache.catalina.startup.Catalina.process(Catalina.java:177)
at java.lang.reflect.Method.invoke(Native Method)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:177)




cvs commit: jakarta-tomcat/proposals/web-connector/native/common jk_nwmain.c

2001-05-03 Thread hgomez

hgomez  01/05/03 07:30:44

  Added:   proposals/web-connector/native/common jk_nwmain.c
  Log:
  netware stuff
  
  Revision  ChangesPath
  1.1  jakarta-tomcat/proposals/web-connector/native/common/jk_nwmain.c
  
  Index: jk_nwmain.c
  ===
  #ifdef NETWARE
  /*
   * NATIVE_MAIN
   */
  
  /*
   * INCLUDES
   */
  
  #include stdio.h
  #include nwthread.h
  #include netdb.h
  
  NETDB_DEFINE_CONTEXT
  
  /*
   * main ()
   *
   * Main entry point -- don't do much more than I've provided
   *
   * Entry:
   *
   * Exit:
   *Nothing
   */
  
  void main ()
  {
 ExitThread (TSR_THREAD, 0);
  }
  #endif
  
  
  



cvs commit: jakarta-tomcat/proposals/web-connector/native/common jk_service.h

2001-05-03 Thread hgomez

hgomez  01/05/03 07:32:00

  Added:   proposals/web-connector/native/common jk_service.h
  Log:
  jk service wrapper define
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/proposals/web-connector/native/common/jk_service.h
  
  Index: jk_service.h
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * 4. The names Apache JServ, Apache JServ Servlet Engine and 
   *Java Apache Project must not be used to endorse or promote products 
   *derived from this software without prior written permission.
   *
   * 5. Products derived from this software may not be called Apache JServ
   *nor may Apache nor Apache JServ appear in their names without 
   *prior written permission of the Java Apache Project.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT AS IS AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JAVA APACHE PROJECT OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Java Apache Group. For more information
   * on the Java Apache Project and the Apache JServ Servlet Engine project,
   * please see http://java.apache.org/.
   *
   */
  
  /***
   * Description: Definitions of the objects used during the service step.   *
   *  These are the web server (ws) the worker and the connection*
   *  JVM connection point   *
   * Author:  Gal Shachor [EMAIL PROTECTED]   *
   *  Dan Milstein [EMAIL PROTECTED] 
   * Version: $Revision: 1.1 $   *
   ***/
  
  #ifndef JK_SERVICE_H
  #define JK_SERVICE_H
  
  #include jk_map.h
  #include jk_global.h
  #include jk_logger.h
  #include jk_pool.h
  
  #ifdef __cplusplus
  extern C {
  #endif /* __cplusplus */
  
  struct jk_ws_service;
  struct jk_endpoint;
  struct jk_worker;
  typedef struct jk_ws_service jk_ws_service_t;
  typedef struct jk_endpoint   jk_endpoint_t;
  typedef struct jk_worker jk_worker_t;
  
  /*
   * The web server service 'class'.  An instance of this class is created
   * for each request which is forwarded from the web server to the servlet
   * container.  Contains the basic information about the request
   * (e.g. protocol, req_uri, etc), and also contains a series of methods
   * which provide access to core web server functionality (start_response,
   * read, write).  This class might be more accurately called ws_request.
   *
   * 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)
   * without the workers having to worry about which web server they are
   * talking to.
   *
   * This particular OO-in-C system uses a 

cvs commit: jakarta-tomcat/proposals/web-connector/native/common jk_sockbuf.c jk_sockbuf.h

2001-05-03 Thread hgomez

hgomez  01/05/03 07:33:09

  Added:   proposals/web-connector/native/common jk_sockbuf.c
jk_sockbuf.h
  Log:
  socket stuff
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/proposals/web-connector/native/common/jk_sockbuf.c
  
  Index: jk_sockbuf.c
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * 4. The names Apache JServ, Apache JServ Servlet Engine and 
   *Java Apache Project must not be used to endorse or promote products 
   *derived from this software without prior written permission.
   *
   * 5. Products derived from this software may not be called Apache JServ
   *nor may Apache nor Apache JServ appear in their names without 
   *prior written permission of the Java Apache Project.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT AS IS AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JAVA APACHE PROJECT OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Java Apache Group. For more information
   * on the Java Apache Project and the Apache JServ Servlet Engine project,
   * please see http://java.apache.org/.
   *
   */
  
  /***
   * Description: Simple buffer object to handle buffered socket IO  *
   * Author:  Gal Shachor [EMAIL PROTECTED]   *
   * Version: $Revision: 1.1 $   *
   ***/
  
  #include jk_global.h
  #include jk_sockbuf.h
  
  static int fill_buffer(jk_sockbuf_t *sb);
  
  int jk_sb_open(jk_sockbuf_t *sb,
 int sd)
  {
  if(sb  sd  0) {
  sb-end   = 0;
  sb-start = 0;
  sb-sd= sd;
  return JK_TRUE;
  }
  
  return JK_FALSE;
  }
  
  int jk_sb_write(jk_sockbuf_t *sb,
  const void *buf, 
  unsigned sz)
  {
  if(sb  buf  sz) {
  if((SOCKBUF_SIZE - sb-end) = sz) {
  memcpy(sb-buf + sb-end, buf, sz);
  sb-end += sz;
  } else {
  if(!jk_sb_flush(sb)) {
  return JK_FALSE;
  }
  if(sz  SOCKBUF_SIZE) {
  return (send(sb-sd, buf, sz, 0) == (int)sz);
  } 
  
  memcpy(sb-buf + sb-end, buf, sz);
  sb-end += sz;
  }
  
  return JK_TRUE;
  }
  
  return JK_FALSE;
  }
  
  int jk_sb_flush(jk_sockbuf_t *sb)
  {
  if(sb) {
  int save_out = sb-end;
  sb-end = sb-start = 0;
  if(save_out) {
  return send(sb-sd, sb-buf, save_out, 0) == save_out;
  }
  return JK_TRUE;
  }
  
  return JK_FALSE;
  }
  
  
  int jk_sb_read(jk_sockbuf_t *sb,
 char **buf, 
 unsigned sz,
 unsigned *ac)
  {
  if(sb  buf  ac) {
  unsigned avail;
  
  *ac = 0;
  *buf 

cvs commit: jakarta-tomcat/proposals/web-connector/native/common jk_uri_worker_map.c jk_uri_worker_map.h

2001-05-03 Thread hgomez

hgomez  01/05/03 07:36:13

  Added:   proposals/web-connector/native/common jk_uri_worker_map.c
jk_uri_worker_map.h
  Log:
  uri stuff
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/proposals/web-connector/native/common/jk_uri_worker_map.c
  
  Index: jk_uri_worker_map.c
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * 4. The names Apache JServ, Apache JServ Servlet Engine and 
   *Java Apache Project must not be used to endorse or promote products 
   *derived from this software without prior written permission.
   *
   * 5. Products derived from this software may not be called Apache JServ
   *nor may Apache nor Apache JServ appear in their names without 
   *prior written permission of the Java Apache Project.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT AS IS AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JAVA APACHE PROJECT OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Java Apache Group. For more information
   * on the Java Apache Project and the Apache JServ Servlet Engine project,
   * please see http://java.apache.org/.
   *
   */
  
  /***
   * Description: URI to worker map object.  *
   * Maps can be *
   * *
   * Exact Context - /exact/uri=worker e.g. /examples/do*=ajp12 *
   * Context Based - /context/*=worker e.g. /examples/*=ajp12   *
   * Context and suffix -/context/*.suffix=worker e.g. /examples/*.jsp=ajp12*
   * *
   * This lets us either partition the work among the web server and the *
   * servlet container.  *
   * *
   * Author:  Gal Shachor [EMAIL PROTECTED]   *
   * Version: $Revision: 1.1 $   *
   ***/
  
  #include jk_pool.h
  #include jk_util.h
  #include jk_uri_worker_map.h
  
  #define MATCH_TYPE_EXACT(0)
  #define MATCH_TYPE_CONTEXT  (1)
  #define MATCH_TYPE_SUFFIX   (2)
  
  struct uri_worker_record {
  /* Original uri for logging */
  char *uri;
  
  /* Name of worker mapped */
  char *worker_name;
  
  /* Suffix of uri */
  char *suffix;
  
  /* Base context */
  char *context;
  
  /* char length of the context */
  unsigned ctxt_len;
  
  int match_type;
  };
  typedef struct uri_worker_record uri_worker_record_t;
  
  struct jk_uri_worker_map {
  jk_pool_t p;
  jk_pool_atom_t buf[SMALL_POOL_SIZE];
  
  uri_worker_record_t *maps;
  unsigned size;
  };
  
  
  /*
   * We are now 

cvs commit: jakarta-tomcat/proposals/web-connector/native/common jk_util.c jk_util.h

2001-05-03 Thread hgomez

hgomez  01/05/03 07:37:34

  Added:   proposals/web-connector/native/common jk_util.c jk_util.h
  Log:
  utilities
  
  Revision  ChangesPath
  1.1  jakarta-tomcat/proposals/web-connector/native/common/jk_util.c
  
  Index: jk_util.c
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * 4. The names Apache JServ, Apache JServ Servlet Engine and 
   *Java Apache Project must not be used to endorse or promote products 
   *derived from this software without prior written permission.
   *
   * 5. Products derived from this software may not be called Apache JServ
   *nor may Apache nor Apache JServ appear in their names without 
   *prior written permission of the Java Apache Project.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT AS IS AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JAVA APACHE PROJECT OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Java Apache Group. For more information
   * on the Java Apache Project and the Apache JServ Servlet Engine project,
   * please see http://java.apache.org/.
   *
   */
  
  /***
   * Description: Utility functions (mainly configuration)   *
   * Author:  Henri Gomez [EMAIL PROTECTED]   *
   * Author:  Gal Shachor [EMAIL PROTECTED]   *
   * Version: $Revision: 1.1 $   *
   ***/
  
  
  #include jk_util.h
  #include jk_ajp12_worker.h
  
  #define SYSPROPS_OF_WORKER  (sysprops)
  #define STDERR_OF_WORKER(stderr)
  #define STDOUT_OF_WORKER(stdout)
  #define MX_OF_WORKER(mx)
  #define MS_OF_WORKER(ms)
  #define CP_OF_WORKER(class_path)
  #define JVM_OF_WORKER   (jvm_lib)
  #define LIBPATH_OF_WORKER   (ld_path)
  #define CMD_LINE_OF_WORKER  (cmd_line)
  #define NATIVE_LIB_OF_WORKER(native_lib)
  #define PREFIX_OF_WORKER(worker)
  #define HOST_OF_WORKER  (host)
  #define PORT_OF_WORKER  (port)
  #define TYPE_OF_WORKER  (type)
  #define CACHE_OF_WORKER (cachesize)
  #define LOAD_FACTOR_OF_WORKER   (lbfactor)
  #define BALANCED_WORKERS(balanced_workers)
  #define WORKER_AJP12(ajp12)
  #define DEFAULT_WORKER_TYPE JK_AJP12_WORKER_NAME
  
  #define DEFAULT_WORKER  JK_AJP12_WORKER_NAME
  #define WORKER_LIST_PROPERTY_NAME   (worker.list)
  #define DEFAULT_LB_FACTOR   (1.0)
  #define LOG_FORMAT(log_format)
  
  #define HUGE_BUFFER_SIZE (8*1024)
  #define LOG_LINE_SIZE(1024)
  
  struct file_logger {
  FILE *logfile;
  };
  typedef struct file_logger file_logger_t;
  
  /* 
   * define the log format, we're using by default the one from error.log 
   *
   * [Mon Mar 26 

cvs commit: jakarta-tomcat/proposals/web-connector/native/iis isapi.def isapi.dsp isapi.dsw jk_isapi_plugin.c

2001-05-03 Thread hgomez

hgomez  01/05/03 07:39:44

  Added:   proposals/web-connector/native/iis isapi.def isapi.dsp
isapi.dsw jk_isapi_plugin.c
  Log:
  ISA stuff
  
  Revision  ChangesPath
  1.1  jakarta-tomcat/proposals/web-connector/native/iis/isapi.def
  
  Index: isapi.def
  ===
  LIBRARYisapi_redirect
  
  EXPORTS
HttpFilterProc
GetFilterVersion
GetExtensionVersion
HttpExtensionProc   
TerminateFilter
TerminateExtension
  
  
  
  1.1  jakarta-tomcat/proposals/web-connector/native/iis/isapi.dsp
  
  Index: isapi.dsp
  ===
  # Microsoft Developer Studio Project File - Name=isapi - Package Owner=4
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE Win32 (x86) Dynamic-Link Library 0x0102
  
  CFG=isapi - Win32 Debug
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f isapi.mak.
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f isapi.mak CFG=isapi - Win32 Debug
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE isapi - Win32 Release (based on Win32 (x86) Dynamic-Link Library)
  !MESSAGE isapi - Win32 Debug (based on Win32 (x86) Dynamic-Link Library)
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName 
  # PROP Scc_LocalPath 
  CPP=cl.exe
  MTL=midl.exe
  RSC=rc.exe
  
  !IF  $(CFG) == isapi - Win32 Release
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir isapi___Win32_Release
  # PROP BASE Intermediate_Dir isapi___Win32_Release
  # PROP BASE Target_Dir 
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir isapi_release
  # PROP Intermediate_Dir isapi_release
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir 
  # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D WIN32 /D NDEBUG /D _WINDOWS /D 
_MBCS /D _USRDLL /D ISAPI_EXPORTS /YX /FD /c
  # ADD CPP /nologo /MT /W3 /GX /O2 /I ..\common /I $(JAVA_HOME)\include /I 
$(JAVA_HOME)\include\win32 /D WIN32 /D NDEBUG /D _WINDOWS /D _MBCS /D 
_USRDLL /D ISAPI_EXPORTS /YX /FD /c
  # ADD BASE MTL /nologo /D NDEBUG /mktyplib203 /win32
  # ADD MTL /nologo /D NDEBUG /mktyplib203 /win32
  # ADD BASE RSC /l 0x409 /d NDEBUG
  # ADD RSC /l 0x409 /d NDEBUG
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /dll /machine:I386
  # ADD LINK32 wsock32.lib advapi32.lib /nologo /dll /machine:I386 
/out:isapi_release/isapi_redirect.dll
  
  !ELSEIF  $(CFG) == isapi - Win32 Debug
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir isapi___Win32_Debug
  # PROP BASE Intermediate_Dir isapi___Win32_Debug
  # PROP BASE Target_Dir 
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir isapi_debug
  # PROP Intermediate_Dir isapi_debug
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir 
  # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D WIN32 /D _DEBUG /D _WINDOWS 
/D _MBCS /D _USRDLL /D ISAPI_EXPORTS /YX /FD /GZ /c
  # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I ..\common /I $(JAVA_HOME)\include 
/I $(JAVA_HOME)\include\win32 /D WIN32 /D _DEBUG /D _WINDOWS /D _MBCS /D 
_USRDLL /D ISAPI_EXPORTS /YX /FD /GZ /c
  # ADD BASE MTL /nologo /D _DEBUG /mktyplib203 /win32
  # ADD MTL /nologo /D _DEBUG /mktyplib203 /win32
  # ADD BASE RSC /l 0x409 /d _DEBUG
  # ADD RSC /l 0x409 /d _DEBUG
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /dll /debug /machine:I386 /pdbtype:sept
  # ADD LINK32 wsock32.lib advapi32.lib /nologo /dll /debug /machine:I386 
/out:isapi_debug/isapi_redirect.dll /pdbtype:sept
  
  !ENDIF 
  
  # Begin Target
  
  # Name isapi - Win32 Release
  # Name isapi - Win32 Debug
  # Begin Group Source Files
  
  # PROP Default_Filter cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
  # Begin Source File
  
  SOURCE=.\isapi.def
  # End Source File
  # Begin Source File
  
  SOURCE=..\common\jk_ajp12_worker.c
  # End Source File
  # Begin Source File
  
  SOURCE=..\common\jk_ajp13.c
  # End Source File
  # Begin Source File
  
  SOURCE=..\common\jk_ajp13_worker.c
  # End Source File
  # Begin Source File
  
  SOURCE=..\common\jk_connect.c
  # End Source File
  # Begin Source File
  
  

cvs commit: jakarta-tomcat/proposals/web-connector/native/netscape Makefile.nw Makefile.solaris jk_nsapi_plugin.c nsapi.dsp nsapi.dsw

2001-05-03 Thread hgomez

hgomez  01/05/03 07:43:38

  Added:   proposals/web-connector/native/netscape Makefile.nw
Makefile.solaris jk_nsapi_plugin.c nsapi.dsp
nsapi.dsw
  Log:
  Netscape/IPlanet stuff
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/proposals/web-connector/native/netscape/Makefile.nw
  
  Index: Makefile.nw
  ===
  .SILENT:
  
  NLM_NAME=nsapi_rd
  
  JDKPATH=k:\jdk\jdk-1_2_2
  NOVELLNDK=r:\nwsdk
  NSSDK=r:\netscape
  METROWERKSPATH=k:\mw\5.3
  
  CC=$(METROWERKSPATH)\bin\mwccnlm
  LINK=$(METROWERKSPATH)\bin\mwldnlm
  
  JK_OBJS=\
jk_ajp12_worker.obj \
jk_ajp13_worker.obj \
jk_ajp13.obj \
jk_connect.obj \
jk_jni_worker.obj \
jk_lb_worker.obj \
jk_map.obj \
jk_msg_buff.obj \
jk_nsapi_plugin.obj \
jk_pool.obj \
jk_sockbuf.obj \
jk_uri_worker_map.obj \
jk_util.obj \
jk_worker.obj \
jk_nwmain.obj \

  all: $(NLM_NAME).nlm
  
  $(NLM_NAME).nlm: $(JK_OBJS) link.opt
@echo Linking $@
@$(LINK) @link.opt
  
  %.obj: %.c cc.opt
@echo Compiling $
@$(CC) $ -o=$(@F) @cc.opt

  
  %.obj: ../common/%.c cc.opt
@echo Compiling $
@$(CC) $ -o=$(@F) @cc.opt

  
  cc.opt: Makefile.nw
-@del cc.opt 2 NUL
@echo Generating $@
@echo -nosyspath -ext obj -c -align 1 -w nocmdline -bool on  $@
  ifdef DEBUG
@echo -g  $@
  endif
@echo -I$(NOVELLNDK)\include\nlm  $@
@echo -I$(NOVELLNDK)\include  $@
@echo -I$(NSSDK)\include  $@
@echo -I.  $@
@echo -I..\common  $@
@echo -I$(METROWERKSPATH)\include  $@
@echo -I$(JDKPATH)\include  $@
@echo -I$(JDKPATH)\include\netware  $@
@echo -DN_PLAT_NLM  $@
@echo -DNETWARE  $@
@echo -DXP_NETWARE  $@

  link.opt: Makefile.nw
-@del link.opt 2 NUL
-@del link.def 2 NUL
@echo -warnings off  $@
@echo -zerobss  $@
@echo -desc Netscape Plugin for Tomcat  $@
@echo -o $(NLM_NAME).nlm  $@
@echo -screenname System Console  $@
@echo -nlmversion 0,1,0  $@
  ifdef DEBUG
@echo -g  $@
@echo -sym internal  $@
@echo -sym codeview4  $@
@echo -osym $(NLM_NAME).sym  $@
  endif
@echo -nodefaults  $@
@echo -map $(NLM_NAME).map  $@
@echo -threadname NSTomcat Thread  $@
@echo -stacksize 64000  $@
@echo $(METROWERKSPATH)\lib\nwpre.obj $(strip $(JK_OBJS))  $@
@echo -commandfile link.def  $@
@echo module nsapi  link.def
@echo Import @$(NOVELLNDK)\imports\clib.imp  link.def
@echo Import @$(NOVELLNDK)\imports\lib0.imp  link.def
@echo Import @$(NOVELLNDK)\imports\nlmlib.imp  link.def
@echo Import @$(NOVELLNDK)\imports\threads.imp  link.def
@echo Import @$(NOVELLNDK)\imports\socklib.imp  link.def
@echo Import @$(NSSDK)\imports\nsapi.imp  link.def
@echo Export jk_init, jk_service  link.def
  
  clean:
-@del *.obj 2 NUL
-@del *.map 2 NUL
-@del link.* 2 NUL
-@del cc.opt 2 NUL
-@del *.nlm 2 NUL
-@del *.sym 2 NUL

  
  
  
  1.1  
jakarta-tomcat/proposals/web-connector/native/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)
  
  
  
  1.1  
jakarta-tomcat/proposals/web-connector/native/netscape/jk_nsapi_plugin.c
  
  Index: jk_nsapi_plugin.c
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of 

cvs commit: jakarta-tomcat/proposals/web-connector/native/nt_service jk_nt_service.c nt_service.dsp

2001-05-03 Thread hgomez

hgomez  01/05/03 07:47:24

  Added:   proposals/web-connector/native/nt_service jk_nt_service.c
nt_service.dsp
  Log:
  nt_service stuff
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/proposals/web-connector/native/nt_service/jk_nt_service.c
  
  Index: jk_nt_service.c
  ===
  /*
   * Copyright (c) 1997-1999 The Java Apache Project.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * 4. The names Apache JServ, Apache JServ Servlet Engine and 
   *Java Apache Project must not be used to endorse or promote products 
   *derived from this software without prior written permission.
   *
   * 5. Products derived from this software may not be called Apache JServ
   *nor may Apache nor Apache JServ appear in their names without 
   *prior written permission of the Java Apache Project.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Java Apache 
   *Project for use in the Apache JServ servlet engine project
   *http://java.apache.org/.
   *
   * THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT AS IS AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JAVA APACHE PROJECT OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Java Apache Group. For more information
   * on the Java Apache Project and the Apache JServ Servlet Engine project,
   * please see http://java.apache.org/.
   *
   */
  
  /***
   * Description: NT System service for Jakarta/Tomcat   *
   * Author:  Gal Shachor [EMAIL PROTECTED]   *
   * Version: $Revision: 1.1 $   *
   ***/
  
  #include jk_global.h
  #include jk_util.h
  #include jk_ajp13.h
  #include jk_connect.h
  
  #include windows.h
  #include stdio.h
  #include stdlib.h
  #include process.h
  
  #define AJP12_TAG  (ajp12)
  #define AJP13_TAG  (ajp13)
  #define BASE_REGISTRY_LOCATION (SYSTEM\\CurrentControlSet\\Services\\)
  #define IMAGE_NAME (ImagePath)
  #define PARAMS_LOCATION(Parameters)
  #define PRP_LOCATION   (PropertyFile)
  
  // internal variables
  static SERVICE_STATUS  ssStatus;   // current status of the service
  static SERVICE_STATUS_HANDLE   sshStatusHandle;
  static DWORD   dwErr = 0;
  static charszErr[1024] = ;
  static HANDLE  hServerStopEvent = NULL;
  static int shutdown_port;
  static char*shutdown_protocol = AJP12_TAG;
  
  struct jk_tomcat_startup_data {
  char *classpath;
  char *tomcat_home;
  char *stdout_file;
  char *stderr_file;
  char *java_bin;
  char *tomcat_class;
  char *server_file;
  char *cmd_line;
  int  shutdown_port;
  char *shutdown_protocol;
  
  char *extra_path;
  };
  typedef struct jk_tomcat_startup_data jk_tomcat_startup_data_t;
  
  // internal function prototypes
  static void WINAPI service_ctrl(DWORD dwCtrlCode);
  static void WINAPI service_main(DWORD dwArgc, 
  char **lpszArgv);
  

Re: cvs commit: jakarta-tomcat/proposals/build2/ant tomcat.jsp

2001-05-03 Thread Casey Lucas


Hey costin,

Sure thing.  We recently moved and have been very busy but I'm starting to
have a little more time (knock on wood).  I should be able to help out with
at least the pooling stuff, so just let me know if you have specific ideas
or need help.

-casey

[EMAIL PROTECTED] wrote:
 
 Hi Casey,
 
 Sorry, I have too many things for now - the web based build is going to
 wait a bit. If you could check in the changes, great.( I hope you got the
 commit access )
 
 BTW, I have few ideas for the pooling in jasper34 ( I would like to make
 the pool pluggable, and managed by the container ). Getting the code
 generator to work is first, but I hope in few weeks to finally merge the 2
 runtimes and make the changes, and I hope you can review ( or help
 :-) some of it.
 
 Costin
 
 On Sun, 29 Apr 2001, Casey Lucas wrote:
 
 
  Costin,
 
  Web based build will be a nice addition -- cool.
 
  Small comment though.  Keep in mind that I don't have a complete understanding
  of all associated code, but at first glance, it appears that AntTag won't work
  correctly if tag pooling is being used.  I think the fix is simple though.  Just
  reset the list of targets and args at tag start time:
 
 
 1.1  jakarta-tomcat/proposals/build2/WEB-INF/src/AntTag.java
  
 Index: AntTag.java
 ===
 package tadm;
 import java.util.*;
 import java.io.*;
 import java.net.URL;
 import javax.servlet.http.*;
 import javax.servlet.*;
  
 import javax.servlet.jsp.*;
 import javax.servlet.jsp.tagext.*;
  
 import org.apache.tools.ant.*;
  
 /**
  * This tag will run ant tasks
  *
  */
 public class AntTag extends TagSupport {
  
 public AntTag() {}
  
 public int doStartTag() throws JspException {
 
  add:
 
  args.clear()
  targets.clear() // or removeAllElements() etc.
 
 
   try {
   pageContext.setAttribute(antProperties,
args);
   } catch (Exception ex ) {
   ex.printStackTrace();
   }
   return EVAL_BODY_INCLUDE;
 }
  
 public int doEndTag() throws JspException {
   runTest();
   return EVAL_PAGE;
 }
  
 //  child tag support 
 Properties args=new Properties();
 Vector targets=new Vector();
  
 public void setProperty( String name, String value ) {
   System.out.println(Adding property  + name + = + value );
   args.put(name, value );
 }
  
 public String getProperty( String name ) {
   System.out.println(Getting property  + name  );
   return args.getProperty(name );
 }
  
 public void addTarget( String n ) {
   System.out.println(Adding target  + n );
   targets.addElement( n );
 }
  
 // Properties 
  
 /** Set the name of the test.xml, relative to the base dir.
  *  For example, /WEB-INF/test-tomcat.xml
  */
 public void setTestFile( String s ) {
   args.put(ant.file, s);
 }
  
 /** Set the target - a subset of tests to be run
  */
 public void setTarget( String s ) {
   addTarget(s);
 }
  
 public void setDebug( String s ) {
   args.put( debug, s);
 }
  
 //  Implementation methods 
  
 private void runTest() throws JspException {
   PrintWriter out=null;
   try {
   out=pageContext.getResponse().getWriter();
   pageContext.getOut().flush();
   out.flush(); // we need a writer for ant
  
   Project project=new Project();
  
   AntServletLogger log=new AntServletLogger();
   log.setWriter( out );
   project.addBuildListener( log );
  
   project.init();
  
   Enumeration argsE=args.propertyNames();
   while( argsE.hasMoreElements() ) {
   String k=(String)argsE.nextElement();
   String v=args.getProperty( k );
   if( k!=null  v!= null )
   project.setUserProperty( k, v );
   }
  
   String antFileN=args.getProperty(ant.file);
   if( antFileN==null )
   throw new JspException( ant.file not specified);
   File antF=new File(antFileN);
   ProjectHelper.configureProject( project,
  antF );
  
   // pre-execution properties
   Hashtable antProperties=project.getProperties();
   argsE=antProperties.keys();
   while( argsE.hasMoreElements() ) {
   String k=(String)argsE.nextElement();
 

[VOTE] New Committer: Kevin Seguin

2001-05-03 Thread GOMEZ Henri

I would like to propose Kevin Seguin as a new committer. 

He make a great job in developping the ajp13 protocol
for Tomcat 4.0 and this code will be a great help for
sites wanting to upgrade from 3.2.x to 4.0 while still
using mod_jk

Henri



Re: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread Dan Milstein

+1

GOMEZ Henri wrote:
 
 I would like to propose Kevin Seguin as a new committer.
 
 He make a great job in developping the ajp13 protocol
 for Tomcat 4.0 and this code will be a great help for
 sites wanting to upgrade from 3.2.x to 4.0 while still
 using mod_jk
 
 Henri

-- 

Dan Milstein // [EMAIL PROTECTED]



RE: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread Ignacio J. Ortega

+1

Saludos ,
Ignacio J. Ortega


 -Mensaje original-
 De: GOMEZ Henri [mailto:[EMAIL PROTECTED]]
 Enviado el: jueves 3 de mayo de 2001 16:59
 Para: [EMAIL PROTECTED]
 Asunto: [VOTE] New Committer: Kevin Seguin
 
 
 I would like to propose Kevin Seguin as a new committer. 
 
 He make a great job in developping the ajp13 protocol
 for Tomcat 4.0 and this code will be a great help for
 sites wanting to upgrade from 3.2.x to 4.0 while still
 using mod_jk
 
 Henri
 



java.lang.StackOverflowError in ApplicationHttpRequest.setAttribute Tomcat 4.0.nightly build (20010503)

2001-05-03 Thread Ana

Hi,
We think we have discovered an error in Tomcat 4.0.nightly build 
(20010503). We call the forward method of the RequestDispatcher from a 
servlet. Then, we call the setAttribute method of the request object of the 
included JSP. At this point a java.lang.StackOverflowError  occurs.
Example:
MyServlet.java:
...
public void service(ServletRequest request, ServletResponse response){
...
getServletConfig().getServletContext().getRequestDispatcher(MyJSP.jsp).forward(request,
 
response);
..
}
MyJSP.jsp:
...
request.setAttribute(MyAttribute, obj);  -- At this point
...

Thank you. 


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com




Error in RequestDispachter.include(request,response)

2001-05-03 Thread Ana

Hi,
We include a JSP page from a servlet 
via  RequestDispachter.include(request,response) and the response object is 
a wrapper. The JSP page write its output to the original response object 
and not over the wrapper object passed as the parameter in the include 
call. However, if we make the same call using a forward call, then the JSP 
page write its output to the wrapper object.

Thanks.  


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com




Re: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread cmanolache

+1


Costin

On Thu, 3 May 2001, GOMEZ Henri wrote:

 I would like to propose Kevin Seguin as a new committer. 
 
 He make a great job in developping the ajp13 protocol
 for Tomcat 4.0 and this code will be a great help for
 sites wanting to upgrade from 3.2.x to 4.0 while still
 using mod_jk
 
 Henri
 




Re: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread Glenn Nielsen

+1 

I am very interested in mod_jk/ajp13 support for Tomcat 4.

GOMEZ Henri wrote:
 
 I would like to propose Kevin Seguin as a new committer.
 
 He make a great job in developping the ajp13 protocol
 for Tomcat 4.0 and this code will be a great help for
 sites wanting to upgrade from 3.2.x to 4.0 while still
 using mod_jk
 
 Henri

-- 
--
Glenn Nielsen [EMAIL PROTECTED] | /* Spelin donut madder|
MOREnet System Programming   |  * if iz ina coment.  |
Missouri Research and Education Network  |  */   |
--



Re: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread Mel Martinez

+1

Mel

--- GOMEZ Henri [EMAIL PROTECTED] wrote:
 I would like to propose Kevin Seguin as a new
 committer. 
 
 He make a great job in developping the ajp13
 protocol
 for Tomcat 4.0 and this code will be a great help
 for
 sites wanting to upgrade from 3.2.x to 4.0 while
 still
 using mod_jk
 
 Henri


__
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/



Re: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread cmanolache

+1

Costin

On Thu, 3 May 2001, GOMEZ Henri wrote:

 I would like to propose Kevin Seguin as a new committer. 
 
 He make a great job in developping the ajp13 protocol
 for Tomcat 4.0 and this code will be a great help for
 sites wanting to upgrade from 3.2.x to 4.0 while still
 using mod_jk
 
 Henri
 




Re: java.lang.StackOverflowError in ApplicationHttpRequest.setAttributeTomcat 4.0.nightly build (20010503)

2001-05-03 Thread Craig R. McClanahan

On Thu, 3 May 2001, Ana wrote:

 Hi,
 We think we have discovered an error in Tomcat 4.0.nightly build 
 (20010503). We call the forward method of the RequestDispatcher from a 
 servlet. Then, we call the setAttribute method of the request object of the 
 included JSP. At this point a java.lang.StackOverflowError  occurs.
 Example:
 MyServlet.java:
 ...
 public void service(ServletRequest request, ServletResponse response){
 ...
 
getServletConfig().getServletContext().getRequestDispatcher(MyJSP.jsp).forward(request,
 
 response);

NOTE:  The path here should really be /MyJSP.jsp.  Otherwise, you should
have gotten an IllegalArgumentException instead.

 ..
 }
 MyJSP.jsp:
 ...
 request.setAttribute(MyAttribute, obj);  -- At this point
 ...
 
 Thank you. 
 

I have been unable to reproduce this problem, for either forwards or
includes, to either servlets or JSP pages.  Could you try to create a
small test case that demonstrates it, and post that as a bug report to:

http://nagoya.apache.org/bugzilla/

under product category Tomcat 4?

Craig McClanahan





cvs commit: jakarta-tomcat-4.0/tester/web/WEB-INF web.xml

2001-05-03 Thread craigmcc

craigmcc01/05/03 11:41:48

  Modified:tester/src/bin tester.xml
   tester/src/tester/org/apache/tester Include03.java
   tester/web/WEB-INF web.xml
  Added:   tester/src/tester/org/apache/tester Forward03.java
Forward03a.java
   tester/web Forward03b.jsp Include03b.jsp
  Log:
  Add additional tests for setting request attributes in forwarded-to as well
  as included servlets.
  
  Revision  ChangesPath
  1.38  +29 -3 jakarta-tomcat-4.0/tester/src/bin/tester.xml
  
  Index: tester.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-4.0/tester/src/bin/tester.xml,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- tester.xml2001/05/02 20:44:39 1.37
  +++ tester.xml2001/05/03 18:41:30 1.38
  @@ -375,14 +375,40 @@
request=${context.path}/WrappedInclude02?exception=NullPointerException
 outContent=Include02 PASSED debug=${debug}/
   
  -!-- == Included Servlet Sets Attribute === --
  +!-- == Forwarded Servlet/Page Sets Attribute  --
   
   tester host=${host} port=${port} protocol=${protocol}
  - request=${context.path}/Include03
  + request=${context.path}/Forward03?path=/Forward03a
  +  outContent=Forward03 PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedForward03?path=/Forward03a
  +  outContent=Forward03 PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Forward03?path=/Forward03b.jsp
  +  outContent=Forward03 PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedForward03?path=/Forward03b.jsp
  +  outContent=Forward03 PASSED debug=${debug}/
  +
  +!-- == Included Servlet/Page Sets Attribute = --
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Include03?path=/Include03a
  +  outContent=Include03 PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedInclude03?path=/Include03a
  +  outContent=Include03 PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Include03?path=/Include03b.jsp
 outContent=Include03 PASSED debug=${debug}/
   
   tester host=${host} port=${port} protocol=${protocol}
  - request=${context.path}/WrappedInclude03
  + request=${context.path}/WrappedInclude03?path=/Include03b.jsp
 outContent=Include03 PASSED debug=${debug}/
   
 /target
  
  
  
  1.2   +14 -3 
jakarta-tomcat-4.0/tester/src/tester/org/apache/tester/Include03.java
  
  Index: Include03.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/tester/src/tester/org/apache/tester/Include03.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Include03.java2001/05/02 20:44:48 1.1
  +++ Include03.java2001/05/03 18:41:37 1.2
  @@ -68,8 +68,12 @@
* The spec is silent on this topic, but it seems consistent with the overall
* intent to behave in this manner.
*
  + * The test includes either a servlet (/Include03a) or a JSP page
  + * (/Include03b.jsp) depending on the value specified for the path
  + * parameter.  The default is the servlet.
  + *
* @author Craig R. McClanahan
  - * @version $Revision: 1.1 $ $Date: 2001/05/02 20:44:48 $
  + * @version $Revision: 1.2 $ $Date: 2001/05/03 18:41:37 $
*/
   
   public class Include03 extends HttpServlet {
  @@ -90,19 +94,26 @@
   response.setContentType(text/plain);
PrintWriter writer = response.getWriter();
   
  +// Acquire the path to which we will issue an include
  +String path = request.getParameter(path);
  +if (path == null)
  +path = /Include03a;
  +
   // Create a request dispatcher and call include() on it
   RequestDispatcher rd =
  -getServletContext().getRequestDispatcher(/Include03a);
  +getServletContext().getRequestDispatcher(path);
   if (rd == null) {
   sb.append( No RequestDispatcher returned/);
   } else {
   rd.include(request, response);
   }
  +response.resetBuffer();
   
   // We MUST be able to see the attribute created by the includee
   String value = null;
   try {
  -value = (String) request.getAttribute(Include03a);
  +value = (String)
  +request.getAttribute(path.substring(1));
   } catch 

Re: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread Remy Maucherat

+1

Remy




Re: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread Craig R. McClanahan

+1

Craig


On Thu, 3 May 2001, GOMEZ Henri wrote:

 I would like to propose Kevin Seguin as a new committer. 
 
 He make a great job in developping the ajp13 protocol
 for Tomcat 4.0 and this code will be a great help for
 sites wanting to upgrade from 3.2.x to 4.0 while still
 using mod_jk
 
 Henri
 




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector HttpRequestBase.java

2001-05-03 Thread craigmcc

craigmcc01/05/03 12:15:09

  Modified:catalina/src/share/org/apache/catalina/connector
HttpRequestBase.java
  Log:
  HttpServletRequest.getCookies() is supposed to return null if the request
  had no cookies.  We were returning a zero-length array.
  
  PR: BugTRAQ #4453972.
  Submitted by: [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.22  +6 -4  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java
  
  Index: HttpRequestBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- HttpRequestBase.java  2001/04/26 17:41:07 1.21
  +++ HttpRequestBase.java  2001/05/03 19:15:05 1.22
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v
 1.21 2001/04/26 17:41:07 craigmcc Exp $
  - * $Revision: 1.21 $
  - * $Date: 2001/04/26 17:41:07 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v
 1.22 2001/05/03 19:15:05 craigmcc Exp $
  + * $Revision: 1.22 $
  + * $Date: 2001/05/03 19:15:05 $
*
* 
*
  @@ -100,7 +100,7 @@
* be implemented.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.21 $ $Date: 2001/04/26 17:41:07 $
  + * @version $Revision: 1.22 $ $Date: 2001/05/03 19:15:05 $
*/
   
   public class HttpRequestBase
  @@ -757,6 +757,8 @@
   public Cookie[] getCookies() {
   
synchronized (cookies) {
  +if (cookies.size()  1)
  +return (null);
Cookie results[] = new Cookie[cookies.size()];
return ((Cookie[]) cookies.toArray(results));
}
  
  
  



java.lang.StackOverflowError in ApplicationHttpRequest. Tomcat 4.0.nightly build (20010503)

2001-05-03 Thread Ana

Hi,
The last message I sent wasn´t very precise. I´m talking about:
java.lang.StackOverflowError in ApplicationHttpRequest.setAttribute Tomcat 
4.0.nightly build (20010503)

The error doesn´t happen in ApplicationHttpRequest.setAttribute, this is a 
lateral effect. The real error happens when there is an error in a JSP page 
and  the method pageContext.handlePageException(t) is called (in the 
compiled JSP). The error is provoked by the JSP error page because it calls 
itself.


Thanks a lot.


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com




RE: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread Larry Isaacs

+1

-Original Message-
From: GOMEZ Henri [mailto:[EMAIL PROTECTED]]
Sent: Thursday, May 03, 2001 10:59 AM
To: [EMAIL PROTECTED]
Subject: [VOTE] New Committer: Kevin Seguin 


I would like to propose Kevin Seguin as a new committer. 

He make a great job in developping the ajp13 protocol
for Tomcat 4.0 and this code will be a great help for
sites wanting to upgrade from 3.2.x to 4.0 while still
using mod_jk

Henri



FW: Java World Editors' Choice Awards

2001-05-03 Thread Jon Stevens

Last year, I believe JServ won, not Tomcat. I think that Pier is the person
who has the award...

Anyway, I'm sure someone here is interested in this...feel free to reply to
him...

-jon

-- Forwarded Message
From: [EMAIL PROTECTED]
Date: Thu, 3 May 2001 12:25:17 -0700
To: Jon Stevens [EMAIL PROTECTED]
Subject: Java World Editors' Choice Awards


Jon,

How's it going? We spoke last year when Tomcat won JavaWorld's Readers'
Choice Awards. Well this year we're doing an Editors' Choice Award, and
Tomcat 3.2 has been selected as a finalist in the Most Innovative Java
Product category.

Anyway, I sent the email below to the [EMAIL PROTECTED] and
[EMAIL PROTECTED] email addresses, but I wanted to check with you to ensure
the email reaches the correct person. Can you let me know or forward it?

Regards,

Scott Plamondon
JavaWorld
415-975-2651


Here's what I sent:


Dear Jakarta Project,

Congratulations! JavaWorld has selected Jakarta Project's Tomcat 3.2 as a
finalist in the Most Innovative Java Product category of our Editors'
Choice Awards.

Established in 1997, the awards recognize those innovative companies,
organizations, and individuals committed to developing new Java tools and
technologies that drive the platform forward. More than 100 products and
technologies were nominated by vendors, readers, as well as JavaWorld
editors and writers. We'll publish the complete list of finalists in each
category by 5 p.m. PDT on Friday, May 4 (go to:
http://www.javaworld.com/jw-05-2001/jw-0504-finalists.html).

As a finalist, members of your product team will be invited to attend
JavaWorld's Editors' Choice Awards ceremony at the JavaOne Conference and
Expo from June 4-8 in San Francisco, where a winner in each category will
be announced. Invitations to the ceremony, with the date and location, will
be mailed in mid-May.

With that in mind, I need to confirm your organization's contact
information. Please let me know to whom we should send the invitation at
your earliest convenience:

Contact Name:
Title:
Product Name:
Address:
City, State, Zip:
Phone:
Email:

If you have any questions, please don't hesitate to email me at this
address or call 415-975-2651.

Regards,

Scott Plamondon
Senior Editor
JavaWorld
[EMAIL PROTECTED]
415-975-2651



-- End of Forwarded Message




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session StandardManager.java

2001-05-03 Thread bip

bip 01/05/03 13:45:05

  Modified:catalina/src/share/org/apache/catalina/session
StandardManager.java
  Log:
  Changed StandardManager to use the org.apache.util.CustomObjectInputStream
  instead of the inline CustomObjectInputStream.
  
  Revision  ChangesPath
  1.10  +5 -62 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java
  
  Index: StandardManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- StandardManager.java  2001/04/17 17:07:04 1.9
  +++ StandardManager.java  2001/05/03 20:45:03 1.10
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
 1.9 2001/04/17 17:07:04 craigmcc Exp $
  - * $Revision: 1.9 $
  - * $Date: 2001/04/17 17:07:04 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
 1.10 2001/05/03 20:45:03 bip Exp $
  + * $Revision: 1.10 $
  + * $Date: 2001/05/03 20:45:03 $
*
* 
*
  @@ -91,6 +91,7 @@
   import org.apache.catalina.Loader;
   import org.apache.catalina.Manager;
   import org.apache.catalina.Session;
  +import org.apache.catalina.util.CustomObjectInputStream;
   import org.apache.catalina.util.LifecycleSupport;
   
   
  @@ -105,7 +106,7 @@
* codestop()/code methods of this class at the correct times.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.9 $ $Date: 2001/04/17 17:07:04 $
  + * @version $Revision: 1.10 $ $Date: 2001/05/03 20:45:03 $
*/
   
   public class StandardManager
  @@ -815,62 +816,4 @@
   }
   
   }
  -
  -
  -//  Private Classes
  -
  -
  -/**
  - * Custom subclass of codeObjectInputStream/code that loads from the
  - * class loader for this web application.  This allows classes defined only
  - * with the web application to be found correctly.
  - */
  -private static final class CustomObjectInputStream
  -extends ObjectInputStream {
  -
  -
  -/**
  - * The class loader we will use to resolve classes.
  - */
  -private ClassLoader classLoader = null;
  -
  -
  -/**
  - * Construct a new instance of CustomObjectInputStream
  - *
  - * @param stream The input stream we will read from
  - * @param classLoader The class loader used to instantiate objects
  - *
  - * @exception IOException if an input/output error occurs
  - */
  -public CustomObjectInputStream(InputStream stream,
  -   ClassLoader classLoader)
  -throws IOException {
  -
  -super(stream);
  -this.classLoader = classLoader;
  -
  -}
  -
  -
  -/**
  - * Load the local class equivalent of the specified stream class
  - * description, by using the class loader assigned to this Context.
  - *
  - * @param classDesc Class description from the input stream
  - *
  - * @exception ClassNotFoundException if this class cannot be found
  - * @exception IOException if an input/output error occurs
  - */
  -protected Class resolveClass(ObjectStreamClass classDesc)
  -throws ClassNotFoundException, IOException {
  -
  -return (classLoader.loadClass(classDesc.getName()));
  -
  -}
  -
  -
  -}
  -
  -
   }
  
  
  



Re: [VOTE] New Committer: Kevin Seguin

2001-05-03 Thread Bip Thelin

GOMEZ Henri wrote:
 
 I would like to propose Kevin Seguin as a new committer.
 
 He make a great job in developping the ajp13 protocol
 for Tomcat 4.0 and this code will be a great help for
 sites wanting to upgrade from 3.2.x to 4.0 while still
 using mod_jk

+1

Welcome!

..bip



Nagoya.apache.org

2001-05-03 Thread Jon Stevens

on 5/3/01 11:42 AM, Craig R. McClanahan [EMAIL PROTECTED] wrote:

 http://nagoya.apache.org/bugzilla/

http://nagoya.apache.org/bugzilla/globals.pl

When is someone going to secure that box?

This is really pitiful that this has been open like this for this long now
and on top of it, it is running an old version of bugzilla (2.10 and 2.12 is
latest). There have been security advisories regarding the recent holes
discovered in Bugzilla and no one managing nagoya has taken care of the
situation.

I don't think we (the ASF) should give out apache.org domains to boxes that
are not being managed properly. I also don't think that we should rely on a
box as our primary issue tracking system if security is also not going to be
taken seriously.

thanks,

-jon




Re: JSP re-compile performance under heavy load

2001-05-03 Thread Paul Speed

Just a thought,

But might you not also just save your query results in some 
intermediate format (serialization might work) that your JSP pages
could then use?  It may not fit in well with your system, but it would
save from having to recompile pages.

At the other end of the spectrum, you could generate the HTML instead
of JSP and also save the intermediate step.

A large amount of JSP compilation overhead is out of tomcat's hands
since it's reliant on the java compiler.

-Paul

[EMAIL PROTECTED] wrote:
 
 Hi All,
 
 I'm curious if any of you have code that tests the performance of JSP
 recompiles while tomcat is under load.  I've read that some changes were
 made in this area recently, and it directly effects a design I'm
 considering.
 
 If performance testing code exists, could someone send it to me?
 
   Thanks,
 
   Jason Henriksen
 
 P.S.:  (If you're curious how I got into this sitation, here's the
 rationale: )
 
 Basically, I'm treating the disk drive as a cache.  I expect to have well
 over 5,000 different query result pages, each of which could take over a
 minute to generate because they require some fairly thick SQL.  The good
 news is that only about 100 of them will be 'active' at any given time.
 The non-active pages, can be built, saved on disk and then safely ignored
 (Thus being served with no database hit). However, when the object in the
 DB changes I should be able to show the update on the JSP page within 15
 minutines of the database change occuring.
 
 My plan is to generate a page for each of my 5,000 objects up front and
 then wait until a DB object changes.  When it does, I'll regenerate the
 page for just that object.  That way everyone see's the new static page,
 and the database can continue doing it's regular job of managing user
 accounts, and other such non-cacheable business.  (The disk cache is also
 preferable to holding the results for all 5000 object queries in memory
 because the results will be fairly large.  My disk space is near infinite,
 but my memory is not).
 
 So if I have 1000 people looking at the results for Object A when it needs
 to be re-compiled how will Tomcat respond?  I know it does fine job
 handling updated JSPs in a development environment, I'm curious how it's
 expected to perform doing that kind of operation under load.  (I understand
 that my mileage my vary, I'm just looking for what you guys would expect to
 happen, or do you suggest some other desgin?)  Thus, I'm look for test-code
 and/or result numbers.
 
 --
 Warning : The information contained in this message may be privileged and 
confidential and protected from disclosure. If the reader of this message is not the 
intended recipient, you are hereby notified that any dissemination, distribution or 
copying of this communication is strictly prohibited. If you have received this 
communication in error, please notify us immediately by replying to this message and 
then delete it from your computer. All e-mail sent to this address will be received 
by the Providian Financial corporate e-mail system and is subject to archiving and 
review by someone other than the recipient.
 
 ==



Re: Nagoya.apache.org

2001-05-03 Thread Nick Bauman

A while ago I tried to run bugzilla in a chroot jail using thttpd (apache no
longer supports chroot'ing, it seems). I got it somewhat working, but I gave
up and went to bugrat, for better or worse.

I think if you can chroot (and run unprivledged) bugzilla, this greatly
minimizes any security implications you've seen. Without chrooting and
running as an unprivledged user, bugzilla is not only insecure, it's
insecurable. 

 on 5/3/01 11:42 AM, Craig R. McClanahan [EMAIL PROTECTED] wrote:
 
 http://nagoya.apache.org/bugzilla/
 
 http://nagoya.apache.org/bugzilla/globals.pl
 
 When is someone going to secure that box?
 
 This is really pitiful that this has been open like this for this long
 now and on top of it, it is running an old version of bugzilla (2.10
 and 2.12 is latest). There have been security advisories regarding the
 recent holes discovered in Bugzilla and no one managing nagoya has
 taken care of the situation.
 
 I don't think we (the ASF) should give out apache.org domains to boxes
 that are not being managed properly. I also don't think that we should
 rely on a box as our primary issue tracking system if security is also
 not going to be taken seriously.
 
 thanks,
 
 -jon


-- 
Nick Bauman
Software Developer
3023 Lynn #22
Minneapolis, MN
55416
Mobile Phone: (612) 810-7406




Re: Nagoya.apache.org

2001-05-03 Thread Jon Stevens

on 5/3/01 2:19 PM, Nick Bauman [EMAIL PROTECTED] wrote:

 A while ago I tried to run bugzilla in a chroot jail using thttpd (apache no
 longer supports chroot'ing, it seems). I got it somewhat working, but I gave
 up and went to bugrat, for better or worse.
 
 I think if you can chroot (and run unprivledged) bugzilla, this greatly
 minimizes any security implications you've seen. Without chrooting and
 running as an unprivledged user, bugzilla is not only insecure, it's
 insecurable. 

The problem that I describe below is beyond the need to chroot things. Look
in the globals.pl file at the password that was used. Simple things such as
choosing secure passwords is a good start at security. So is making sure
that the file with your passwords in it is secure as well.

I'm not asking for perfection...I'm simply asking for people to keep up on
closing the known holes in a timely fashion. I don't think that is an
unreasonable expectation for a system administrator.

-jon




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core ApplicationDispatcher.java

2001-05-03 Thread craigmcc

craigmcc01/05/03 16:04:17

  Modified:catalina/src/share/org/apache/catalina/core
ApplicationDispatcher.java
  Log:
  Update handling or a servlet that is included or forwarded to via a
  RequestDispatcher, and uses a jsp-file declaration to map the definition
  to a JSP page.
  
  Revision  ChangesPath
  1.14  +19 -7 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
  
  Index: ApplicationDispatcher.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- ApplicationDispatcher.java2001/02/06 02:39:43 1.13
  +++ ApplicationDispatcher.java2001/05/03 23:04:15 1.14
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
 1.13 2001/02/06 02:39:43 craigmcc Exp $
  - * $Revision: 1.13 $
  - * $Date: 2001/02/06 02:39:43 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
 1.14 2001/05/03 23:04:15 craigmcc Exp $
  + * $Revision: 1.14 $
  + * $Date: 2001/05/03 23:04:15 $
*
* 
*
  @@ -81,6 +81,7 @@
   import javax.servlet.http.HttpServletResponse;
   import org.apache.catalina.Context;
   import org.apache.catalina.Globals;
  +import org.apache.catalina.HttpRequest;
   import org.apache.catalina.Logger;
   import org.apache.catalina.Wrapper;
   import org.apache.catalina.util.StringManager;
  @@ -97,7 +98,7 @@
* codejavax.servlet.ServletResponseWrapper/code.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.13 $ $Date: 2001/02/06 02:39:43 $
  + * @version $Revision: 1.14 $ $Date: 2001/05/03 23:04:15 $
*/
   
   final class ApplicationDispatcher
  @@ -174,6 +175,15 @@
this.pathInfo + , queryString= + queryString +
   , name= + this.name);
   
  +// If this is a wrapper for a JSP page (jsp-file), tweak
  +// the request parameters appropriately
  +String jspFile = wrapper.getJspFile();
  +if (jspFile != null) {
  +if (debug = 1)
  +log(--servletPath= + jspFile);
  +this.servletPath = jspFile;
  +}
  +
   }
   
   
  @@ -189,7 +199,7 @@
   /**
* The debugging detail level for this component.
*/
  -private int debug = 0;
  +private int debug = 1;
   
   
   /**
  @@ -292,8 +302,8 @@
// Handle an HTTP named dispatcher forward
else if ((servletPath == null)  (pathInfo == null)) {
   
  - if (debug = 1)
  - log( Named Dispatcher Forward);
  +if (debug = 1)
  +log( Named Dispatcher Forward);
   invoke(request, response);
   
}
  @@ -411,6 +421,8 @@
ApplicationHttpRequest wrequest =
new ApplicationHttpRequest((HttpServletRequest) request);
   wrequest.setAttribute(Globals.NAMED_DISPATCHER_ATTR, name);
  +if (servletPath != null)
  +wrequest.setServletPath(servletPath);
   invoke(wrequest, wresponse);
   
}
  
  
  



cvs commit: jakarta-tomcat-4.0/tester/web/WEB-INF web.xml

2001-05-03 Thread craigmcc

craigmcc01/05/03 16:06:36

  Modified:tester/src/bin tester.xml
   tester/web/WEB-INF web.xml
  Added:   tester/src/tester/org/apache/tester Forward00.java
Forward00a.java Forward00d.java Include00.java
Include00a.java Include00d.java
   tester/web Forward00b.jsp Forward00c.jsp Forward00e.jsp
Include00b.jsp Include00c.jsp Include00e.jsp
  Log:
  Add unit tests to cover the combinations of include vs forward, servlet
  vs JSP page vs jsp-file, and named versus path-based dispatching.
  
  Revision  ChangesPath
  1.39  +82 -0 jakarta-tomcat-4.0/tester/src/bin/tester.xml
  
  Index: tester.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-4.0/tester/src/bin/tester.xml,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- tester.xml2001/05/03 18:41:30 1.38
  +++ tester.xml2001/05/03 23:06:28 1.39
  @@ -331,6 +331,88 @@
   
 target name=RequestDispatcher
   
  +!-- == Basic Forward and Include Functionality === --
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Forward00?path=/Forward00a
  +  outContent=Forward00a PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedForward00?path=/Forward00a
  +  outContent=Forward00a PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Forward00?path=/Forward00b
  +  outContent=Forward00b PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedForward00?path=/Forward00b
  +  outContent=Forward00b PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Forward00?path=/Forward00c.jsp
  +  outContent=Forward00c PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedForward00?path=/Forward00c.jsp
  +  outContent=Forward00c PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Forward00?path=!Forward00d
  +  outContent=Forward00d PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedForward00?path=!Forward00d
  +  outContent=Forward00d PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Forward00?path=!Forward00e
  +  outContent=Forward00e PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedForward00?path=!Forward00e
  +  outContent=Forward00e PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Include00?path=/Include00a
  +  outContent=Include00a PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedInclude00?path=/Include00a
  +  outContent=Include00a PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Include00?path=/Include00b
  +  outContent=Include00b PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedInclude00?path=/Include00b
  +  outContent=Include00b PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Include00?path=/Include00c.jsp
  +  outContent=Include00c PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedInclude00?path=/Include00c.jsp
  +  outContent=Include00c PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Include00?path=!Include00d
  +  outContent=Include00d PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedInclude00?path=!Include00d
  +  outContent=Include00d PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/Include00?path=!Include00e
  +  outContent=Include00e PASSED debug=${debug}/
  +
  +tester host=${host} port=${port} protocol=${protocol}
  + request=${context.path}/WrappedInclude00?path=!Include00e
  +  outContent=Include00e PASSED debug=${debug}/
  +
   !-- == Forward and Include to Static Resource  

Re: Nagoya.apache.org

2001-05-03 Thread horwat

Pier is in charge of maintaining bugzilla on nagoya. I'm sure he is looking
into the various security issues.

When is Scarab coming out? I'd like an alternative instead of simply hearing
complaints about the current and well utilized bug tracking system.

Justy

- Original Message -
 on 5/3/01 11:42 AM, Craig R. McClanahan [EMAIL PROTECTED] wrote:

  http://nagoya.apache.org/bugzilla/

 http://nagoya.apache.org/bugzilla/globals.pl

 When is someone going to secure that box?

 This is really pitiful that this has been open like this for this long now
 and on top of it, it is running an old version of bugzilla (2.10 and 2.12
is
 latest). There have been security advisories regarding the recent holes
 discovered in Bugzilla and no one managing nagoya has taken care of the
 situation.

 I don't think we (the ASF) should give out apache.org domains to boxes
that
 are not being managed properly. I also don't think that we should rely on
a
 box as our primary issue tracking system if security is also not going to
be
 taken seriously.

 thanks,

 -jon






Re: JSP re-compile performance under heavy load

2001-05-03 Thread Glenn Nielsen

You might consider changing the design of how you cache your data.
There are several JSP taglibs out that implement caching of data.
You can also do a runtime include of a static file instead of a JSP.

Regards,

Glenn

[EMAIL PROTECTED] wrote:
 
 Hi All,
 
 I'm curious if any of you have code that tests the performance of JSP
 recompiles while tomcat is under load.  I've read that some changes were
 made in this area recently, and it directly effects a design I'm
 considering.
 
 If performance testing code exists, could someone send it to me?
 
   Thanks,
 
   Jason Henriksen
 
 P.S.:  (If you're curious how I got into this sitation, here's the
 rationale: )
 
 Basically, I'm treating the disk drive as a cache.  I expect to have well
 over 5,000 different query result pages, each of which could take over a
 minute to generate because they require some fairly thick SQL.  The good
 news is that only about 100 of them will be 'active' at any given time.
 The non-active pages, can be built, saved on disk and then safely ignored
 (Thus being served with no database hit). However, when the object in the
 DB changes I should be able to show the update on the JSP page within 15
 minutines of the database change occuring.
 
 My plan is to generate a page for each of my 5,000 objects up front and
 then wait until a DB object changes.  When it does, I'll regenerate the
 page for just that object.  That way everyone see's the new static page,
 and the database can continue doing it's regular job of managing user
 accounts, and other such non-cacheable business.  (The disk cache is also
 preferable to holding the results for all 5000 object queries in memory
 because the results will be fairly large.  My disk space is near infinite,
 but my memory is not).
 
 So if I have 1000 people looking at the results for Object A when it needs
 to be re-compiled how will Tomcat respond?  I know it does fine job
 handling updated JSPs in a development environment, I'm curious how it's
 expected to perform doing that kind of operation under load.  (I understand
 that my mileage my vary, I'm just looking for what you guys would expect to
 happen, or do you suggest some other desgin?)  Thus, I'm look for test-code
 and/or result numbers.
 
 --
 Warning : The information contained in this message may be privileged and 
confidential and protected from disclosure. If the reader of this message is not the 
intended recipient, you are hereby notified that any dissemination, distribution or 
copying of this communication is strictly prohibited. If you have received this 
communication in error, please notify us immediately by replying to this message and 
then delete it from your computer. All e-mail sent to this address will be received 
by the Providian Financial corporate e-mail system and is subject to archiving and 
review by someone other than the recipient.
 
 ==

-- 
--
Glenn Nielsen [EMAIL PROTECTED] | /* Spelin donut madder|
MOREnet System Programming   |  * if iz ina coment.  |
Missouri Research and Education Network  |  */   |
--



Re: Nagoya.apache.org

2001-05-03 Thread Jon Stevens

on 5/3/01 4:20 PM, horwat [EMAIL PROTECTED] wrote:

 When is Scarab coming out? I'd like an alternative instead of simply hearing
 complaints about the current and well utilized bug tracking system.
 
 Justy

Actually, Scarab is back on the high track within CollabNet now that
SourceCast 1.0 is released, so more resources are being dedicated to getting
it done which will help greatly on the progress towards completion. The
final ETA is still incomplete as the new project manager hasn't finished the
schedule yet, so all I can say is that things are looking up...

When I have more information that I can make public, it will be available on
the scarab.tigris.org website.

Of course if you would like to volunteer to help out, that will also help
with the progress of the project. So far, getting volunteers has been
somewhat of a struggle. People will volunteer to do something and then they
don't do it. :-( I recently posted a couple TODO items for work that people
could start on and no one has really picked them up...

-jon




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLStreamHandler.java

2001-05-03 Thread remm

remm01/05/03 17:30:02

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLStreamHandler.java
  Log:
  - Add possibility to bind threads in addition to classloaders.
  
  Revision  ChangesPath
  1.4   +37 -6 
jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java
  
  Index: DirContextURLStreamHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DirContextURLStreamHandler.java   2001/03/21 05:05:44 1.3
  +++ DirContextURLStreamHandler.java   2001/05/04 00:30:01 1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java,v
 1.3 2001/03/21 05:05:44 remm Exp $
  - * $Revision: 1.3 $
  - * $Date: 2001/03/21 05:05:44 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java,v
 1.4 2001/05/04 00:30:01 remm Exp $
  + * $Revision: 1.4 $
  + * $Date: 2001/05/04 00:30:01 $
*
* 
*
  @@ -75,7 +75,7 @@
* Stream handler to a JNDI directory context.
* 
* @author a href=mailto:[EMAIL PROTECTED];Remy Maucherat/a
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
*/
   public class DirContextURLStreamHandler 
   extends URLStreamHandler {
  @@ -102,6 +102,12 @@
   private static Hashtable clBindings = new Hashtable();
   
   
  +/**
  + * Bindings thread - directory context. Keyed by thread id.
  + */
  +private static Hashtable threadBindings = new Hashtable();
  +
  +
   // - Instance Variables
   
   
  @@ -156,12 +162,29 @@
   
   
   /**
  + * Binds a directory context to a thread.
  + */
  +public static void bindThread(DirContext dirContext) {
  +threadBindings.put(Thread.currentThread(), dirContext);
  +}
  +
  +
  +/**
  + * Unbinds a directory context to a thread.
  + */
  +public static void unbindThread() {
  +threadBindings.remove(Thread.currentThread());
  +}
  +
  +
  +/**
* Get the bound context.
*/
   public static DirContext get() {
  -ClassLoader currentCL = 
  -Thread.currentThread().getContextClassLoader();
   DirContext result = null;
  +Thread currentThread = Thread.currentThread();
  +result = (DirContext) threadBindings.get(currentThread);
  +ClassLoader currentCL = currentThread.getContextClassLoader();
   while ((result == null)  (currentCL != null)) {
   result = (DirContext) clBindings.get(currentCL);
   if (result == null)
  @@ -194,6 +217,14 @@
*/
   public static DirContext get(ClassLoader cl) {
   return (DirContext) clBindings.get(cl);
  +}
  +
  +
  +/**
  + * Get the bound context.
  + */
  +public static DirContext get(Thread thread) {
  +return (DirContext) threadBindings.get(thread);
   }
   
   
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader StandardLoader.java

2001-05-03 Thread remm

remm01/05/03 17:57:07

  Modified:catalina/src/share/org/apache/catalina/loader
StandardLoader.java
  Log:
  - Bind the thread in charge of checking for a modified class.
  
  Revision  ChangesPath
  1.24  +11 -6 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardLoader.java
  
  Index: StandardLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardLoader.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- StandardLoader.java   2001/04/25 04:15:03 1.23
  +++ StandardLoader.java   2001/05/04 00:57:06 1.24
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardLoader.java,v
 1.23 2001/04/25 04:15:03 glenn Exp $
  - * $Revision: 1.23 $
  - * $Date: 2001/04/25 04:15:03 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardLoader.java,v
 1.24 2001/05/04 00:57:06 remm Exp $
  + * $Revision: 1.24 $
  + * $Date: 2001/05/04 00:57:06 $
*
* 
*
  @@ -116,7 +116,7 @@
*
* @author Craig R. McClanahan
* @author Remy Maucherat
  - * @version $Revision: 1.23 $ $Date: 2001/04/25 04:15:03 $
  + * @version $Revision: 1.24 $ $Date: 2001/05/04 00:57:06 $
*/
   
   public final class StandardLoader
  @@ -592,9 +592,10 @@
started = true;
   
   // Register a stream handler factory for the JNDI protocol
  +URLStreamHandlerFactory streamHandlerFactory = 
  +new DirContextURLStreamHandlerFactory();
   try {
  -URL.setURLStreamHandlerFactory
  -(new DirContextURLStreamHandlerFactory());
  +URL.setURLStreamHandlerFactory(streamHandlerFactory);
   } catch (Throwable t) {
   // Ignore the error here.
   }
  @@ -1283,6 +1284,8 @@
if (debug = 1)
log(BACKGROUND THREAD Starting);
   
  +DirContextURLStreamHandler.bindThread(this.container.getResources());
  +
// Loop until the termination semaphore is set
while (!threadDone) {
   
  @@ -1298,6 +1301,8 @@
break;
   
}
  +
  +DirContextURLStreamHandler.unbindThread();
   
if (debug = 1)
log(BACKGROUND THREAD Stopping);
  
  
  



cvs commit: jakarta-tomcat/src/share/org/apache/jasper/compiler GetPropertyGenerator.java

2001-05-03 Thread nacho

nacho   01/05/03 17:57:11

  Modified:src/share/org/apache/jasper/compiler
GetPropertyGenerator.java
  Log:
  Another Occurence of JspRuntimeLibrary without package in code generator.
  
  Revision  ChangesPath
  1.6   +7 -6  
jakarta-tomcat/src/share/org/apache/jasper/compiler/GetPropertyGenerator.java
  
  Index: GetPropertyGenerator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/GetPropertyGenerator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- GetPropertyGenerator.java 2001/04/28 21:13:36 1.5
  +++ GetPropertyGenerator.java 2001/05/04 00:57:11 1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/GetPropertyGenerator.java,v
 1.5 2001/04/28 21:13:36 costin Exp $
  - * $Revision: 1.5 $
  - * $Date: 2001/04/28 21:13:36 $
  + * $Header: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/GetPropertyGenerator.java,v
 1.6 2001/05/04 00:57:11 nacho Exp $
  + * $Revision: 1.6 $
  + * $Date: 2001/05/04 00:57:11 $
*
* 
* 
  @@ -109,10 +109,11 @@
} else {
   // Get the class name and then introspect at runtime.
writer.println(out.print( +
  -Constants.JSP_RUNTIME_PACKAGE +
  -.JspRuntimeLibrary.toString(JspRuntimeLibrary. +
  +Constants.JSP_RUNTIME_PACKAGE + 
.JspRuntimeLibrary.toString( +
  +Constants.JSP_RUNTIME_PACKAGE + .JspRuntimeLibrary. +
   handleGetProperty(pageContext.findAttribute( +
  -\ + name + \), \ + property + \))););
  +\ + name + \), \ + property + \)));
  + );
}
   }
   
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader StandardClassLoader.java

2001-05-03 Thread remm

remm01/05/03 19:01:13

  Modified:catalina/src/share/org/apache/catalina/loader
StandardClassLoader.java
  Log:
  - Correctly register repositories based on non file protocols.
  - That fixes class reloading, which before could only handle file based URLs.
  
  Revision  ChangesPath
  1.16  +70 -25
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
  
  Index: StandardClassLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- StandardClassLoader.java  2001/04/25 04:14:47 1.15
  +++ StandardClassLoader.java  2001/05/04 02:01:13 1.16
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
 1.15 2001/04/25 04:14:47 glenn Exp $
  - * $Revision: 1.15 $
  - * $Date: 2001/04/25 04:14:47 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
 1.16 2001/05/04 02:01:13 remm Exp $
  + * $Revision: 1.16 $
  + * $Date: 2001/05/04 02:01:13 $
*
* 
*
  @@ -110,7 +110,7 @@
*
* @author Craig R. McClanahan
* @author Remy Maucherat
  - * @version $Revision: 1.15 $ $Date: 2001/04/25 04:14:47 $
  + * @version $Revision: 1.16 $ $Date: 2001/05/04 02:01:13 $
*/
   
   public class StandardClassLoader
  @@ -561,8 +561,8 @@
   return (true);
   }
   } else if (entries[i].origin instanceof URL) {
  +URL url = (URL) entries[i].origin;
   try {
  -URL url = (URL) entries[i].origin;
   URLConnection urlConn = url.openConnection();
   if (entries[i].lastModified != urlConn.getLastModified()) {
   if (debug = 2)
  @@ -572,6 +572,7 @@
   return (true);
   }
   } catch (IOException e) {
  +log(Failed tracking modifications of ' + url + ');
   }
   }
   }
  @@ -687,27 +688,71 @@
   repositories[i].substring(0, repositories[i].length() - 1);
if (debug = 4)
log(  Checking repository  + pathname);
  -if (pathname.startsWith(file://))
  -pathname = pathname.substring(7);
  -else if (pathname.startsWith(file:))
  -pathname = pathname.substring(5);
  -pathname += File.separatorChar +
  -name.replace('.', File.separatorChar) + .class;
  - try {
  -File file = new File(pathname);
  -if (file.exists()  file.canRead()) {
  -if (debug = 3)
  -log(Caching from ' + file.getAbsolutePath() +
  +if ((pathname.startsWith(file://)) 
  +|| (pathname.startsWith(file:))) {
  +
  +if (pathname.startsWith(file://)) {
  +pathname = pathname.substring(7);
  +} else if (pathname.startsWith(file:)) {
  +pathname = pathname.substring(5);
  +}
  +pathname += File.separatorChar 
  ++ name.replace('.', File.separatorChar) + .class;
  +
  +try {
  +File file = new File(pathname);
  +if (file.exists()  file.canRead()) {
  +if (debug = 3)
  +log(Caching from ' + file.getAbsolutePath() +
  +' modified ' +
  +(new java.sql.Timestamp(file.lastModified())) +
  +');
  +classCache.put(name, new ClassCacheEntry
  +(clazz, file, file.lastModified()));
  +}
  +
  +} catch(AccessControlException ace) {
  +// Don't worry about caching the class last modified
  +// if ClassLoader doesn't have permission to read file
  +}
  +
  +} else {
  +
  +pathname += / + name.replace('.', '/') + .class;
  +
  +try {
  +URLStreamHandler streamHandler = null;
  +String protocol = parseProtocol(pathname);
  +if (factory != null)
  +streamHandler = 
  +factory.createURLStreamHandler(protocol);
  +URL classUrl = new URL(null, 

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core ApplicationDispatcher.java

2001-05-03 Thread craigmcc

craigmcc01/05/03 20:41:10

  Modified:catalina/src/share/org/apache/catalina/core
ApplicationDispatcher.java
  Log:
  Reset debugging detail level.
  
  Revision  ChangesPath
  1.15  +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
  
  Index: ApplicationDispatcher.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ApplicationDispatcher.java2001/05/03 23:04:15 1.14
  +++ ApplicationDispatcher.java2001/05/04 03:41:10 1.15
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
 1.14 2001/05/03 23:04:15 craigmcc Exp $
  - * $Revision: 1.14 $
  - * $Date: 2001/05/03 23:04:15 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
 1.15 2001/05/04 03:41:10 craigmcc Exp $
  + * $Revision: 1.15 $
  + * $Date: 2001/05/04 03:41:10 $
*
* 
*
  @@ -98,7 +98,7 @@
* codejavax.servlet.ServletResponseWrapper/code.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.14 $ $Date: 2001/05/03 23:04:15 $
  + * @version $Revision: 1.15 $ $Date: 2001/05/04 03:41:10 $
*/
   
   final class ApplicationDispatcher
  @@ -199,7 +199,7 @@
   /**
* The debugging detail level for this component.
*/
  -private int debug = 1;
  +private int debug = 0;
   
   
   /**
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core FastEngineMapper.java ContainerBase.java LocalStrings.properties StandardEngine.java StandardEngineValve.java

2001-05-03 Thread craigmcc

craigmcc01/05/03 22:07:09

  Modified:catalina/src/share/org/apache/catalina/core
ContainerBase.java LocalStrings.properties
StandardEngine.java StandardEngineValve.java
  Added:   catalina/src/share/org/apache/catalina/core
FastEngineMapper.java
  Log:
  Make it possible to dynamically select the Mapper implementation class to use
  for the StandardEngine implementation.  This is done by setting the
  mapperClass attribute of the Engine element.
  
  Add a new Mapper implementation for StandardEngine that is optimized for
  performance.  Among other things, it caches mappings for all define host names
  and aliases, and remembers each mapping to the default host (if any) after
  the first time.  No object creations occur during request processing.
  
  The default mapper is still the previous standard one.  If you wish to
  experiment, select the new implementation by the following in your
  server.xml file:
  
  Engine ... mapperClass=org.apache.catalina.core.FastEngineMapper .../
  
  When we are satisfied that this class works correctly, it will become the
  default.
  
  Revision  ChangesPath
  1.11  +5 -7  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ContainerBase.java
  
  Index: ContainerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ContainerBase.java2001/04/10 01:37:08 1.10
  +++ ContainerBase.java2001/05/04 05:07:07 1.11
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v
 1.10 2001/04/10 01:37:08 craigmcc Exp $
  - * $Revision: 1.10 $
  - * $Date: 2001/04/10 01:37:08 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v
 1.11 2001/05/04 05:07:07 craigmcc Exp $
  + * $Revision: 1.11 $
  + * $Date: 2001/05/04 05:07:07 $
*
* 
*
  @@ -153,7 +153,7 @@
* class comments of the implementation class.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.10 $ $Date: 2001/04/10 01:37:08 $
  + * @version $Revision: 1.11 $ $Date: 2001/05/04 05:07:07 $
*/
   
   public abstract class ContainerBase
  @@ -1031,6 +1031,7 @@
if (started)
throw new LifecycleException
(sm.getString(containerBase.alreadyStarted, logName()));
  + addDefaultMapper(this.mapperClass);
started = true;
   
// Start our subordinate components, if any
  @@ -1044,9 +1045,6 @@
((Lifecycle) realm).start();
if ((resources != null)  (resources instanceof Lifecycle))
((Lifecycle) resources).start();
  -
  - // Add a default Mapper if none have been defined
  - addDefaultMapper(this.mapperClass);
   
// Start our Mappers, if any
Mapper mappers[] = findMappers();
  
  
  
  1.32  +3 -185
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/LocalStrings.properties,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- LocalStrings.properties   2001/04/25 02:20:48 1.31
  +++ LocalStrings.properties   2001/05/04 05:07:07 1.32
  @@ -1,370 +1,188 @@
   applicationContext.attributeEvent=Exception thrown by attributes event listener
  -
   applicationContext.requestDispatcher.iae=Path {0} does not start with a / 
character
  -
   applicationDispatcher.allocateException=Allocate exception for servlet {0}
  -
   applicationDispatcher.deallocateException=Deallocate exception for servlet {0}
  -
   applicationDispatcher.forward.ise=Cannot forward after response has been committed
  -
   applicationDispatcher.forward.throw=Forwarded resource threw an exception
  -
   applicationDispatcher.include.throw=Included resource threw an exception
  -
   applicationDispatcher.isUnavailable=Servlet {0} is currently unavailable
  -
   applicationDispatcher.serviceException=Servlet.service() for servlet {0} threw 
exception
  -
   applicationRequest.badParent=Cannot locate parent Request implementation
  -
   applicationRequest.badRequest=Request is not a javax.servlet.ServletRequestWrapper
  -
   applicationResponse.badParent=Cannot locate parent Response implementation
  -
   applicationResponse.badResponse=Response is not a 
javax.servlet.ServletResponseWrapper
  -
   containerBase.addDefaultMapper=Exception configuring default mapper of class {0}
  -
   

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core StandardContext.java StandardHost.java

2001-05-03 Thread craigmcc

craigmcc01/05/03 22:30:01

  Modified:catalina/src/share/org/apache/catalina/core
StandardContext.java StandardHost.java
  Log:
  Enable configuration of the default mapper class for StandardHost and
  StandardContext as well, in preparation for future optimized versions.
  
  Revision  ChangesPath
  1.57  +29 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java
  
  Index: StandardContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- StandardContext.java  2001/04/30 21:55:07 1.56
  +++ StandardContext.java  2001/05/04 05:30:00 1.57
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
 1.56 2001/04/30 21:55:07 craigmcc Exp $
  - * $Revision: 1.56 $
  - * $Date: 2001/04/30 21:55:07 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
 1.57 2001/05/04 05:30:00 craigmcc Exp $
  + * $Revision: 1.57 $
  + * $Date: 2001/05/04 05:30:00 $
*
* 
*
  @@ -141,7 +141,7 @@
*
* @author Craig R. McClanahan
* @author Remy Maucherat
  - * @version $Revision: 1.56 $ $Date: 2001/04/30 21:55:07 $
  + * @version $Revision: 1.57 $ $Date: 2001/05/04 05:30:00 $
*/
   
   public class StandardContext
  @@ -1067,6 +1067,31 @@
   }
   jasperLoader = newLoader;
   return (jasperLoader);
  +
  +}
  +
  +
  +/**
  + * Return the default Mapper class name.
  + */
  +public String getMapperClass() {
  +
  +return (this.mapperClass);
  +
  +}
  +
  +
  +/**
  + * Set the default Mapper class name.
  + *
  + * @param mapperClass The new default Mapper class name
  + */
  +public void setMapperClass(String mapperClass) {
  +
  +String oldMapperClass = this.mapperClass;
  +this.mapperClass = mapperClass;
  +support.firePropertyChange(mapperClass,
  +   oldMapperClass, this.mapperClass);
   
   }
   
  
  
  
  1.13  +30 -5 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardHost.java
  
  Index: StandardHost.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardHost.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- StandardHost.java 2001/04/10 01:37:08 1.12
  +++ StandardHost.java 2001/05/04 05:30:00 1.13
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardHost.java,v
 1.12 2001/04/10 01:37:08 craigmcc Exp $
  - * $Revision: 1.12 $
  - * $Date: 2001/04/10 01:37:08 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardHost.java,v
 1.13 2001/05/04 05:30:00 craigmcc Exp $
  + * $Revision: 1.13 $
  + * $Date: 2001/05/04 05:30:00 $
*
* 
*
  @@ -100,7 +100,7 @@
* requests directed to a particular web application.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.12 $ $Date: 2001/04/10 01:37:08 $
  + * @version $Revision: 1.13 $ $Date: 2001/05/04 05:30:00 $
*/
   
   public class StandardHost
  @@ -279,6 +279,31 @@
   
   
   /**
  + * Return the default Mapper class name.
  + */
  +public String getMapperClass() {
  +
  +return (this.mapperClass);
  +
  +}
  +
  +
  +/**
  + * Set the default Mapper class name.
  + *
  + * @param mapperClass The new default Mapper class name
  + */
  +public void setMapperClass(String mapperClass) {
  +
  +String oldMapperClass = this.mapperClass;
  +this.mapperClass = mapperClass;
  +support.firePropertyChange(mapperClass,
  +   oldMapperClass, this.mapperClass);
  +
  +}
  +
  +
  +/**
* Return the canonical, fully qualified, name of the virtual host
* this Container represents.
*/
  @@ -775,7 +800,7 @@
   }
   
   
  -//  Private Methods
  +// -- Protected Methods
   
   
   /**