The following reply was made to PR mod_jserv/5235; it has been noted by GNATS.
From: "Swaminathan" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Subject: jserv/5235
Date: Thu, 11 Nov 1999 10:40:38 +0800
This is a multi-part message in MIME format.
------=_NextPart_000_0007_01BF2C31.317C42B0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
>Number: 5235
>Category: mod_jserv
>Synopsis: Unknow Error
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: jserv
>State: open
>Class: sw-bug
>Submitter-Id: apache
>Arrival-Date: Wed Nov 3 01:20:01 PST 1999
>Last-Modified: Wed Nov 3 07:13:00 PST 1999
>Originator: [EMAIL PROTECTED]
>Organization:
>Release: ApacheJServ1.3b
>Environment:
Windows NT, jdk1.2, JSDK2.0
>Description:
Exception in thread "main" java.lang.ClassCastException: root.properties =
doesn't
map to a String object
at =
org.apache.java.util.Configurations.getString(Configurations.java:186
)
at =
org.apache.java.util.Configurations.getString(Configurations.java:161
)
at org.apache.jserv.JServ.start(JServ.java, Compiled Code)
at org.apache.jserv.JServ.main(JServ.java, Compiled Code)
>How-To-Repeat:
The following is the jserv.properties config file I used
#########################################################################=
######
# Apache JServ Configuration File =
#
#########################################################################=
######
################################ W A R N I N G =
################################
# Unlike normal Java properties, JServ configurations have some =
important=20
# extentions:
#
# 1) commas are used as token separators
# 2) multiple definitions of the same key are concatenated in a=20
# comma-separated list.
#########################################################################=
######
#
# Execution parameters
#######################
# The Java Virtual Machine interpreter.
# Syntax: wrapper.bin=3D[filename] (String)
# Note: specify a full path if the interpreter is not visible in your =
path.
wrapper.bin=3Dd:\jdk1.1.8\bin\java.exe
# Arguments passed to Java interpreter (optional)
# Syntax: wrapper.bin.parameters=3D[parameters] (String)
# Default: NONE
# Apache JServ entry point class (should not be changed)
# Syntax: wrapper.class=3D[classname] (String)
# Default: "org.apache.jserv.JServ"
# Arguments passed to main class after the properties filename (not =
used)
# Syntax: wrapper.class.parameters=3D[parameters] (String)
# Default: NONE
# Note: currently not used
# PATH environment value passed to the JVM
# Syntax: wrapper.path=3D[path] (String)
# Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems
# "c:\(windows-dir);c:\(windows-system-dir)" for Win32 systems
# Notes: if more than one line is supplied these will be concatenated =
using
# ":" or ";" (depending wether Unix or Win32) characters
# Under Win32 (windows-dir) and (windows-system-dir) will be
# automatically evaluated to match your system requirements
# CLASSPATH environment value passed to the JVM
# Syntax: wrapper.classpath=3D[path] (String)
# Default: NONE (Sun's JDK/JRE already have a default classpath)
# Note: if more than one line is supplied these will be concatenated =
using
# ":" or ";" (depending wether Unix or Win32) characters. JVM must =
be
# able to find JSDK and JServ classes and any utility classes used =
by
# your servlets.
# Note: the classes you want to be automatically reloaded upon =
modification
# MUST NOT be in this classpath or the classpath of the shell
# you start the Apache from.
wrapper.classpath=3Dd:\apachegroup\ApacheJServ\ApacheJServ.jar
wrapper.classpath=3Dd:\jsdk2.0\lib\jsdk.jar
wrapper.classpath=3DD:\ApacheGroup\ApacheJServ\sol\ssl.zip
wrapper.classpath=3DD:\ApacheGroup\ApacheJServ\sol\
# An environment name with value passed to the JVM
# Syntax: wrapper.env=3D[name]=3D[value] (String)
# Default: NONE on Unix Systems
# SystemDrive and SystemRoot with appropriate values on Win32 =
systems
# An environment name with value copied from caller to Java Virtual =
Machine
# Syntax: wrapper.env.copy=3D[name] (String)
# Default: NONE
# Copies all environment from caller to Java Virtual Machine
# Syntax: wrapper.env.copyall=3D[true|false] (boolean)
# Default: false
# Protocol used for signal handling
# Syntax: wrapper.protocol=3D[name] (String)
# Default: ajpv12
#
# General parameters
######################
# Set the default IP address or hostname Apache JServ binds (or listens) =
to.
#
# If you have a machine with multiple IP addresses, this address
# will be the one used. If you set the value to localhost, it
# will be resolved to the IP address configured for the locahost
# on your system (generally this is 127.0.0.1). This feature is so=20
# that one can have multiple instances of Apache JServ listening on=20
# the same port number, but different IP addresses on the same machine.
#
# Syntax: bindaddress=3D[ipaddress] or [localhost]
# Default: localhost
bindaddress=3Dlocalhost
# Set the port Apache JServ listens to.
# Syntax: port=3D[1024,65535] (int)
# Default: 8007
port=3D8007
#
# Servlet Zones parameters
###########################
# List of servlet zones Apache JServ manages
# Syntax: zones=3D[servlet zone],[servlet zone]... (Comma separated list =
of String)
# Default: NONE
#zones=3DCertReg
#zones=3DGlobalID
#zones=3DCertRet
zones=3Droot
# Configuration file for each servlet zone (one per servlet zone)
# Syntax: [servlet zone name as on the zones list].properties=3D[full =
path to configFile] (String)
# Default: NONE
# Note: if the file could not be opened, try using absolute paths.
root.properties=3Dd:/apachegroup/ApacheJServ/servlets/zone.properties
CertReg.properties=3Dd:/ApacheGroup/ApacheJServ/conf/CertReg.properties
GlobalID.properties=3Dd:/ApacheGroup/ApacheJServ/conf/GlobalID.properties=
CertRet.properties=3Dd:/ApacheGroup/ApacheJServ/conf/CertRet.properties
#
# Thread Pool parameters
#########################
# Enables or disables the use of the thread pool.
# Syntax: pool=3D[true|false] (boolean)
# Default: false
# WARNING: the pool has not been extensively tested and may generate =
deadlocks.=20
# For this reason, we advise against using this code in production =
environments.
pool=3Dfalse
# Indicates the number of idle threads that the pool may contain.
# Syntax: pool.capacity=3D(int)>0
# Default: 10
# NOTE: depending on your system load, this number should be low for =
contantly
# loaded servers and should be increased depending on load bursts.
pool.capacity=3D10
# Indicates the pool controller that should be used to control the=20
# level of the recycled threads.
# Syntax: pool.controller=3D[full class of controller] (String)
# Default: org.apache.java.recycle.DefaultController
# NOTE: it is safe to leave this unchanged unless special recycle =
behavior
# is needed. Look at the "org.apache.java.recycle" package javadocs for =
more
# info on other pool controllers and their behavior.
pool.controller=3Dorg.apache.java.recycle.DefaultController
root.properties=3DD:\ApacheGroup\ApacheJServ\conf\zone.properties
CertReg.properties=3DD:\ApacheGroup\ApacheJServ\conf\CertReg.properties
GlobalID.properties=3DD:\ApacheGroup\ApacheJServ\conf\GlobalID.properties=
CertRet.properties=3DD:\ApacheGroup\ApacheJServ\conf\CertRet.properties
#
# Security parameters
#####################
# Enable/disable the execution of org.apache.jserv.JServ as a servlet.
# This is disabled by default because it may give informations that =
should
# be restricted.
# Note that the execution of Apache JServ as a servlet is filtered by =
the web
# server modules by default so that both sides should be enabled to let =
this=20
# service work.
# This service is useful for installation and configuration since it =
gives=20
# feedback about the exact configurations Apache JServ is using, but it =
should
# be disabled when both installation and configuration processes are =
done.
# Syntax: security.selfservlet=3D[true|false] (boolean)
# Default: false
# WARNING: disable this in a production environment since may give =
reserved
# information to untrusted users.
security.selfservlet=3Dtrue
# Set the maximum number of socket connections Apache JServ may handle=20
# simultaneously. Make sure your operating environment has enough file
# descriptors to allow this number.
# Syntax: security.maxConnections=3D(int)>1
# Default: 50
security.maxConnections=3D50
# Backlog setting for very fine performance tunning of JServ.
# Unless you are familiar to sockets leave this value commented out.
# security.backlog=3D5
# List of IP addresses allowed to connect to Apache JServ. This is a =
first=20
# security filtering to reject possibly unsecure connections and avoid =
the=20
# overhead of connection authentication.
# Syntax: security.allowedAddresses=3D[IP address],[IP Address]... =
(Comma separated list of IP addresses)
# Default: 127.0.0.1
#security.allowedAddresses=3D127.0.0.1
security.allowedAddresses=3D127.0.0.1, 203.127.198.229
# Enable/disable connection authentication.=20
# NOTE: unauthenticated connections are a little faster since =
authentication=20
# handshake is not performed at connection creation.
# WARNING: authentication is disabled by default because we believe that
# connection restriction from all IP addresses but localhost reduces =
your
# time to get Apache JServ to run. If you allow other addresses to =
connect and
# you don't trust it, you should enable authentication to prevent =
untrusted
# execution of your servlets. Beware: if authentication is disabled and =
the
# IP address is allowed, everyone on that machine can execute your =
servlets!
# Syntax: security.authentication=3D[true,false] (boolean)
# Default: true
security.authentication=3Dfalse
# Authentication secret key.
# The secret key is passed as a file that must be kept secure and must
# be exactly the same of those used by clients to authenticate =
themselves.
# Syntax: security.secretKey=3D[secret key path and filename] (String)
# Default: NONE
# Note: if the file could not be opened, try using absolute paths.
#security.secretKey=3DD:/ApacheJServ/servlets/jserv.secret.key
# Length of the randomly generated challenge string (in bytes) used to
# authenticate connections. 5 is the lowest possible choice to force a =
safe
# level of security and reduce connection creation overhead.
# Syntax: security.challengeSize=3D(int)>5
# Default: 5
#security.challengeSize=3D5
#
# Logging parameters
####################
# Enable/disable Apache JServ logging.
# WARNING: logging is a very expensive operation in terms of =
performance. You
# should reduced the generated log to a minumum or even disable it if =
fast=20
# execution is an issue. Note that if all log channels (see below) are
# enabled, the log may become really big since each servlet request may
# generate many Kb of log. Some log channels are mainly for debugging
# purposes and should be disabled in a production environment.
# Syntax: log=3D[true,false] (boolean)
# Default: true
log=3Dtrue
# Set the name of the trace/log file. To avoid possible confusion about
# the location of this file, an absolute pathname is recommended.
#=20
# This log file is different than the log file that is in the
# jserv.conf file. This is the log file for the Java portion of Apache
# JServ.
#
# On Unix, this file must have write permissions by the owner of the JVM
# process. In other words, if you are running Apache JServ in manual =
mode
# and Apache is running as user nobody, then the file must have its
# permissions set so that that user can write to it.
# Syntax: log.file=3D[log path and filename] (String)
# Default: NONE
# Note: if the file could not be opened, try using absolute paths.
log.file=3Dd:\apachegroup\ApacheJServ\logs\jserv.log
# Enable the timestamp before the log message
# Syntax: log.timestamp=3D[true,false] (boolean)
# Default: true
log.timestamp=3Dtrue
# Use the given string as a data format=20
# (see java.text.SimpleDateFormat for the list of options)
# Syntax: log.dateFormat=3D(String)
# Default: [dd/MM/yyyy HH:mm:ss:SSS zz]
log.dateFormat=3D[dd/MM/yyyy HH:mm:ss:SSS zz]
=20
# Since all the messages logged are processed by a thread running with
# minimum priority, it's of vital importance that this thread gets a =
chance
# to run once in a while. If it doesn't, the log queue overflow occurs,
# usually resulting in the OutOfMemoryError.
#
# To prevent this from happening, two parameters are used: =
log.queue.maxage
# and log.queue.maxsize. The former defines the maximum time for the =
logged
# message to stay in the queue, the latter defines maximum number of
# messages in the queue.
#
# If one of those conditions becomes true (age > maxage || size > =
maxsize),
# the log message stating that fact is generated and the log queue is
# flushed in the separate thread.
#
# If you ever see such a message, either your system doesn't live up to =
its
# expectations or you have a runaway loop (probably, but not =
necessarily,
# generating a lot of log messages).
#
# WARNING: Default values are lousy, you probably want to tweak them and
# report the results back to the development team.
# Syntax: log.queue.maxage =3D [milliseconds]
# Default: 5000
log.queue.maxage =3D 5000
# Syntax: log.queue.maxsize =3D [integer]
# Default: 1000
log.queue.maxsize =3D 1000
# Enable/disable logging the channel name
# Default: false
# log.channel=3Dfalse
# Enable/disable channels, each logging different actions.
# Syntax: log.channel.[channel name]=3D[true,false] (boolean)
# Default: false
# Info channel - quite a lot of informational messages
# hopefully you don't need them under normal circumstances
# log.channel.info=3Dtrue
# Servlets exception, i.e. exception caught during=20
# servlet.service() processing are monitored here
# you probably want to have this one switched on
log.channel.servletException=3Dtrue
# JServ exception, caught internally in jserv
# we suggest to leave it on
log.channel.jservException=3Dtrue
# Warning channel, it catches all the important
# messages that don't cause JServ to stop, leave it on
log.channel.warning=3Dtrue
# Servlet log
# All messages logged by servlets. Probably you want=20
# this one to be switched on.
log.channel.servletLog=3Dtrue
# Critical errors
# Messages produced by critical events causing jserv to stop
log.channel.critical=3Dtrue
# Debug channel
# Only for internal debugging purposes
# log.channel.debug=3Dtrue
>Fix:
--
>Audit-Trail:
Responsible-Changed-From-To: apache-jserv
Responsible-Changed-By: marc
Responsible-Changed-When: Wed Nov 3 07:12:59 PST 1999
Responsible-Changed-Why:
jserv issue, not Apache.
Category-Changed-From-To: config-mod_jserv
Category-Changed-By: marc
Category-Changed-When: Wed Nov 3 07:12:59 PST 1999
>Unformatted:
[In order for any reply to be added to the PR database, you need]
[to include <[EMAIL PROTECTED]> in the Cc line and make sure the]
[subject line starts with the report component and number, with ]
[or without any 'Re:' prefixes (such as "general/1098:" or ]
["Re: general/1098:"). If the subject doesn't match this ]
[pattern, your message will be misfiled and ignored. The ]
["apbugs" address is not added to the Cc line of messages from ]
[the database automatically because of the potential for mail ]
[loops. If you do not include this Cc, your reply may be ig- ]
[nored unless you are responding to an explicit request from a ]
[developer. Reply only with text; DO NOT SEND ATTACHMENTS! ]
------=_NextPart_000_0007_01BF2C31.317C42B0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2314.1000" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial=20
size=3D2>>Number: =20
5235<BR>>Category: =20
mod_jserv<BR>>Synopsis: Unknow=20
Error<BR>>Confidential: =20
no<BR>>Severity: =20
critical<BR>>Priority: =20
medium<BR>>Responsible: =20
jserv<BR>>State: =
=20
open<BR>>Class: =
sw-bug<BR>>Submitter-Id: =
apache<BR>>Arrival-Date: =20
Wed Nov 3 01:20:01 PST 1999<BR>>Last-Modified: Wed =
Nov 3=20
07:13:00 PST 1999<BR>>Originator: =20
[EMAIL PROTECTED]<BR>>Organization:<BR>>Release: =
=20
ApacheJServ1.3b<BR>>Environment:<BR>Windows NT, jdk1.2,=20
JSDK2.0<BR>>Description:<BR>Exception in thread "main"=20
java.lang.ClassCastException: root.properties doesn't<BR> map to a =
String=20
object<BR> at=20
org.apache.java.util.Configurations.getString(Configurations.java:186<BR>=
)<BR> =20
at=20
org.apache.java.util.Configurations.getString(Configurations.java:161<BR>=
)<BR> =20
at org.apache.jserv.JServ.start(JServ.java, Compiled=20
Code)<BR> at=20
org.apache.jserv.JServ.main(JServ.java, Compiled=20
Code)<BR>>How-To-Repeat:<BR>The following is the jserv.properties =
config file=20
I=20
used<BR><BR>#############################################################=
##################<BR># &n=
bsp; &nb=
sp; =20
Apache JServ Configuration=20
File &nb=
sp; =20
#<BR>####################################################################=
###########<BR><BR>################################=20
W A R N I N G ################################<BR># Unlike normal Java=20
properties, JServ configurations have some important <BR>#=20
extentions:<BR>#<BR># 1) commas are used as token=20
separators<BR># 2) multiple definitions of the same =
key are=20
concatenated in a <BR># =
comma-separated=20
list.<BR>################################################################=
###############<BR><BR>#<BR>#=20
Execution parameters<BR>#######################<BR><BR># The Java =
Virtual=20
Machine interpreter.<BR># Syntax: wrapper.bin=3D[filename] (String)<BR># =
Note:=20
specify a full path if the interpreter is not visible in your=20
path.<BR>wrapper.bin=3Dd:\jdk1.1.8\bin\java.exe<BR><BR># Arguments =
passed to Java=20
interpreter (optional)<BR># Syntax: =
wrapper.bin.parameters=3D[parameters]=20
(String)<BR># Default: NONE<BR><BR># Apache JServ entry point class =
(should not=20
be changed)<BR># Syntax: wrapper.class=3D[classname] (String)<BR># =
Default:=20
"org.apache.jserv.JServ"<BR><BR># Arguments passed to main class after =
the=20
properties filename (not used)<BR># Syntax:=20
wrapper.class.parameters=3D[parameters] (String)<BR># Default: NONE<BR># =
Note:=20
currently not used<BR><BR># PATH environment value passed to the =
JVM<BR>#=20
Syntax: wrapper.path=3D[path] (String)<BR># Default:=20
"/bin:/usr/bin:/usr/local/bin" for Unix=20
systems<BR># =20
"c:\(windows-dir);c:\(windows-system-dir)" for Win32 systems<BR># Notes: =
if more=20
than one line is supplied these will be concatenated=20
using<BR># ":" or ";" =
(depending=20
wether Unix or Win32) =
characters<BR># =20
Under Win32 (windows-dir) and (windows-system-dir) will=20
be<BR># automatically =
evaluated to=20
match your system requirements<BR><BR># CLASSPATH environment value =
passed to=20
the JVM<BR># Syntax: wrapper.classpath=3D[path] (String)<BR># Default: =
NONE (Sun's=20
JDK/JRE already have a default classpath)<BR># Note: if more than one =
line is=20
supplied these will be concatenated=20
using<BR># ":" or ";" (depending =
wether Unix=20
or Win32) characters. JVM must =
be<BR># able=20
to find JSDK and JServ classes and any utility classes used=20
by<BR># your servlets.<BR># Note: =
the=20
classes you want to be automatically reloaded upon=20
modification<BR># MUST NOT be in =
this=20
classpath or the classpath of the =
shell<BR># =20
you start the Apache=20
from.<BR><BR>wrapper.classpath=3Dd:\apachegroup\ApacheJServ\ApacheJServ.j=
ar<BR>wrapper.classpath=3Dd:\jsdk2.0\lib\jsdk.jar<BR>wrapper.classpath=3D=
D:\ApacheGroup\ApacheJServ\sol\ssl.zip<BR>wrapper.classpath=3DD:\ApacheGr=
oup\ApacheJServ\sol\<BR><BR>#=20
An environment name with value passed to the JVM<BR># Syntax:=20
wrapper.env=3D[name]=3D[value] (String)<BR># Default: NONE on Unix=20
Systems<BR># =
SystemDrive=20
and SystemRoot with appropriate values on Win32 systems<BR><BR># An =
environment=20
name with value copied from caller to Java Virtual Machine<BR># Syntax:=20
wrapper.env.copy=3D[name] (String)<BR># Default: NONE<BR><BR># Copies =
all=20
environment from caller to Java Virtual Machine<BR># Syntax:=20
wrapper.env.copyall=3D[true|false] (boolean)<BR># Default: =
false<BR><BR># Protocol=20
used for signal handling<BR># Syntax: wrapper.protocol=3D[name] =
(String)<BR>#=20
Default: ajpv12<BR><BR>#<BR># General=20
parameters<BR>######################<BR><BR># Set the default IP address =
or=20
hostname Apache JServ binds (or listens) to.<BR>#<BR># If you have a =
machine=20
with multiple IP addresses, this address<BR># will be the one used. If =
you set=20
the value to localhost, it<BR># will be resolved to the IP address =
configured=20
for the locahost<BR># on your system (generally this is 127.0.0.1). This =
feature=20
is so <BR># that one can have multiple instances of Apache JServ =
listening on=20
<BR># the same port number, but different IP addresses on the same=20
machine.<BR>#<BR># Syntax: bindaddress=3D[ipaddress] or [localhost]<BR># =
Default:=20
localhost<BR>bindaddress=3Dlocalhost<BR><BR># Set the port Apache JServ =
listens=20
to.<BR># Syntax: port=3D[1024,65535] (int)<BR># Default:=20
8007<BR>port=3D8007<BR><BR>#<BR># Servlet Zones=20
parameters<BR>###########################<BR><BR># List of servlet zones =
Apache=20
JServ manages<BR># Syntax: zones=3D[servlet zone],[servlet zone]... =
(Comma=20
separated list of String)<BR># Default:=20
NONE<BR><BR>#zones=3DCertReg<BR>#zones=3DGlobalID<BR>#zones=3DCertRet<BR>=
zones=3Droot<BR><BR>#=20
Configuration file for each servlet zone (one per servlet zone)<BR># =
Syntax:=20
[servlet zone name as on the zones list].properties=3D[full path to =
configFile]=20
(String)<BR># Default: NONE<BR># Note: if the file could not be opened, =
try=20
using absolute=20
paths.<BR>root.properties=3Dd:/apachegroup/ApacheJServ/servlets/zone.prop=
erties<BR>CertReg.properties=3Dd:/ApacheGroup/ApacheJServ/conf/CertReg.pr=
operties<BR>GlobalID.properties=3Dd:/ApacheGroup/ApacheJServ/conf/GlobalI=
D.properties<BR>CertRet.properties=3Dd:/ApacheGroup/ApacheJServ/conf/Cert=
Ret.properties<BR><BR><BR>#<BR>#=20
Thread Pool parameters<BR>#########################<BR><BR># Enables or =
disables=20
the use of the thread pool.<BR># Syntax: pool=3D[true|false] =
(boolean)<BR>#=20
Default: false<BR># WARNING: the pool has not been extensively tested =
and may=20
generate deadlocks. <BR># For this reason, we advise against using this =
code in=20
production environments.<BR>pool=3Dfalse<BR><BR># Indicates the number =
of idle=20
threads that the pool may contain.<BR># Syntax: =
pool.capacity=3D(int)>0<BR>#=20
Default: 10<BR># NOTE: depending on your system load, this number should =
be low=20
for contantly<BR># loaded servers and should be increased depending on =
load=20
bursts.<BR>pool.capacity=3D10<BR><BR># Indicates the pool controller =
that should=20
be used to control the <BR># level of the recycled threads.<BR># Syntax: =
pool.controller=3D[full class of controller] (String)<BR># Default:=20
org.apache.java.recycle.DefaultController<BR># NOTE: it is safe to leave =
this=20
unchanged unless special recycle behavior<BR># is needed. Look at the=20
"org.apache.java.recycle" package javadocs for more<BR># info on other =
pool=20
controllers and their=20
behavior.<BR>pool.controller=3Dorg.apache.java.recycle.DefaultController<=
BR>root.properties=3DD:\ApacheGroup\ApacheJServ\conf\zone.properties<BR>C=
ertReg.properties=3DD:\ApacheGroup\ApacheJServ\conf\CertReg.properties<BR=
>GlobalID.properties=3DD:\ApacheGroup\ApacheJServ\conf\GlobalID.propertie=
s<BR>CertRet.properties=3DD:\ApacheGroup\ApacheJServ\conf\CertRet.propert=
ies<BR><BR>#<BR>#=20
Security parameters<BR>#####################<BR><BR># Enable/disable the =
execution of org.apache.jserv.JServ as a servlet.<BR># This is disabled =
by=20
default because it may give informations that should<BR># be =
restricted.<BR>#=20
Note that the execution of Apache JServ as a servlet is filtered by the =
web<BR>#=20
server modules by default so that both sides should be enabled to let =
this <BR>#=20
service work.<BR># This service is useful for installation and =
configuration=20
since it gives <BR># feedback about the exact configurations Apache =
JServ is=20
using, but it should<BR># be disabled when both installation and =
configuration=20
processes are done.<BR># Syntax: security.selfservlet=3D[true|false]=20
(boolean)<BR># Default: false<BR># WARNING: disable this in a production =
environment since may give reserved<BR># information to untrusted=20
users.<BR>security.selfservlet=3Dtrue<BR><BR># Set the maximum number of =
socket=20
connections Apache JServ may handle <BR># simultaneously. Make sure your =
operating environment has enough file<BR># descriptors to allow this=20
number.<BR># Syntax: security.maxConnections=3D(int)>1<BR># Default:=20
50<BR>security.maxConnections=3D50<BR><BR># Backlog setting for very =
fine=20
performance tunning of JServ.<BR># Unless you are familiar to sockets =
leave this=20
value commented out.<BR># security.backlog=3D5<BR><BR># List of IP =
addresses=20
allowed to connect to Apache JServ. This is a first <BR># security =
filtering to=20
reject possibly unsecure connections and avoid the <BR># overhead of =
connection=20
authentication.<BR># Syntax: security.allowedAddresses=3D[IP =
address],[IP=20
Address]... (Comma separated list of IP addresses)<BR># Default:=20
127.0.0.1<BR>#security.allowedAddresses=3D127.0.0.1<BR>security.allowedAd=
dresses=3D127.0.0.1,=20
203.127.198.229<BR><BR># Enable/disable connection authentication. <BR># =
NOTE:=20
unauthenticated connections are a little faster since authentication =
<BR>#=20
handshake is not performed at connection creation.<BR># WARNING: =
authentication=20
is disabled by default because we believe that<BR># connection =
restriction from=20
all IP addresses but localhost reduces your<BR># time to get Apache =
JServ to=20
run. If you allow other addresses to connect and<BR># you don't trust =
it, you=20
should enable authentication to prevent untrusted<BR># execution of your =
servlets. Beware: if authentication is disabled and the<BR># IP address =
is=20
allowed, everyone on that machine can execute your servlets!<BR># =
Syntax:=20
security.authentication=3D[true,false] (boolean)<BR># Default:=20
true<BR>security.authentication=3Dfalse<BR><BR># Authentication secret =
key.<BR>#=20
The secret key is passed as a file that must be kept secure and =
must<BR># be=20
exactly the same of those used by clients to authenticate =
themselves.<BR>#=20
Syntax: security.secretKey=3D[secret key path and filename] =
(String)<BR># Default:=20
NONE<BR># Note: if the file could not be opened, try using absolute=20
paths.<BR>#security.secretKey=3DD:/ApacheJServ/servlets/jserv.secret.key<=
BR><BR>#=20
Length of the randomly generated challenge string (in bytes) used =
to<BR>#=20
authenticate connections. 5 is the lowest possible choice to force a =
safe<BR>#=20
level of security and reduce connection creation overhead.<BR># Syntax:=20
security.challengeSize=3D(int)>5<BR># Default:=20
5<BR>#security.challengeSize=3D5<BR><BR>#<BR># Logging=20
parameters<BR>####################<BR><BR># Enable/disable Apache JServ=20
logging.<BR># WARNING: logging is a very expensive operation in terms of =
performance. You<BR># should reduced the generated log to a minumum or =
even=20
disable it if fast <BR># execution is an issue. Note that if all =
log=20
channels (see below) are<BR># enabled, the log may become really big =
since each=20
servlet request may<BR># generate many Kb of log. Some log channels are =
mainly=20
for debugging<BR># purposes and should be disabled in a production=20
environment.<BR># Syntax: log=3D[true,false] (boolean)<BR># Default:=20
true<BR>log=3Dtrue<BR><BR># Set the name of the trace/log file. To =
avoid=20
possible confusion about<BR># the location of this file, an absolute =
pathname is=20
recommended.<BR># <BR># This log file is different than the log file =
that is in=20
the<BR># jserv.conf file. This is the log file for the Java portion of=20
Apache<BR># JServ.<BR>#<BR># On Unix, this file must have write =
permissions by=20
the owner of the JVM<BR># process. In other words, if you are running =
Apache=20
JServ in manual mode<BR># and Apache is running as user nobody, then the =
file=20
must have its<BR># permissions set so that that user can write to =
it.<BR>#=20
Syntax: log.file=3D[log path and filename] (String)<BR># Default: =
NONE<BR># Note:=20
if the file could not be opened, try using absolute=20
paths.<BR>log.file=3Dd:\apachegroup\ApacheJServ\logs\jserv.log<BR><BR># =
Enable the=20
timestamp before the log message<BR># Syntax: =
log.timestamp=3D[true,false]=20
(boolean)<BR># Default: true<BR>log.timestamp=3Dtrue<BR><BR># Use the =
given string=20
as a data format <BR># (see java.text.SimpleDateFormat for the list of=20
options)<BR># Syntax: log.dateFormat=3D(String)<BR># Default: =
[dd/MM/yyyy=20
HH:mm:ss:SSS zz]<BR>log.dateFormat=3D[dd/MM/yyyy HH:mm:ss:SSS zz]<BR> =
<BR># Since=20
all the messages logged are processed by a thread running with<BR># =
minimum=20
priority, it's of vital importance that this thread gets a chance<BR># =
to run=20
once in a while. If it doesn't, the log queue overflow occurs,<BR># =
usually=20
resulting in the OutOfMemoryError.<BR>#<BR># To prevent this from =
happening, two=20
parameters are used: log.queue.maxage<BR># and log.queue.maxsize. The =
former=20
defines the maximum time for the logged<BR># message to stay in the =
queue, the=20
latter defines maximum number of<BR># messages in the queue.<BR>#<BR># =
If one of=20
those conditions becomes true (age > maxage || size > =
maxsize),<BR># the=20
log message stating that fact is generated and the log queue is<BR># =
flushed in=20
the separate thread.<BR>#<BR># If you ever see such a message, either =
your=20
system doesn't live up to its<BR># expectations or you have a runaway =
loop=20
(probably, but not necessarily,<BR># generating a lot of log=20
messages).<BR>#<BR># WARNING: Default values are lousy, you probably =
want to=20
tweak them and<BR># report the results back to the development =
team.<BR><BR>#=20
Syntax: log.queue.maxage =3D [milliseconds]<BR># Default: =
5000<BR>log.queue.maxage=20
=3D 5000<BR><BR># Syntax: log.queue.maxsize =3D [integer]<BR># Default:=20
1000<BR>log.queue.maxsize =3D 1000<BR><BR># Enable/disable logging the =
channel=20
name<BR># Default: false<BR># log.channel=3Dfalse<BR><BR># =
Enable/disable=20
channels, each logging different actions.<BR># Syntax: =
log.channel.[channel=20
name]=3D[true,false] (boolean)<BR># Default: false<BR><BR># Info channel =
- quite a=20
lot of informational messages<BR># hopefully you don't need them under =
normal=20
circumstances<BR># log.channel.info=3Dtrue<BR><BR># Servlets exception, =
i.e.=20
exception caught during <BR># servlet.service() processing are monitored =
here<BR># you probably want to have this one switched=20
on<BR>log.channel.servletException=3Dtrue<BR><BR># JServ exception, =
caught=20
internally in jserv<BR># we suggest to leave it=20
on<BR>log.channel.jservException=3Dtrue<BR><BR># Warning channel, it =
catches all=20
the important<BR># messages that don't cause JServ to stop, leave it=20
on<BR>log.channel.warning=3Dtrue<BR><BR># Servlet log<BR># All messages =
logged by=20
servlets. Probably you want <BR># this one to be switched=20
on.<BR>log.channel.servletLog=3Dtrue<BR><BR># Critical errors<BR># =
Messages=20
produced by critical events causing jserv to=20
stop<BR>log.channel.critical=3Dtrue<BR><BR># Debug channel<BR># Only for =
internal=20
debugging purposes<BR>#=20
log.channel.debug=3Dtrue<BR>>Fix:<BR>--<BR>>Audit-Trail:<BR>Respons=
ible-Changed-From-To:=20
apache-jserv<BR>Responsible-Changed-By: =
marc<BR>Responsible-Changed-When: Wed=20
Nov 3 07:12:59 PST 1999<BR>Responsible-Changed-Why:<BR>jserv =
issue, not=20
Apache.<BR>Category-Changed-From-To: =
config-mod_jserv<BR>Category-Changed-By:=20
marc<BR>Category-Changed-When: Wed Nov 3 07:12:59 PST=20
1999<BR><BR>>Unformatted:<BR>[In order for any reply to be added to =
the PR=20
database, you need]<BR>[to include <[EMAIL PROTECTED]> in the Cc =
line and=20
make sure the]<BR>[subject line starts with the report component and =
number,=20
with ]<BR>[or without any 'Re:' prefixes (such as "general/1098:"=20
or ]<BR>["Re: general/1098:"). If =
the=20
subject doesn't match this =
]<BR>[pattern,=20
your message will be misfiled and ignored. =20
The ]<BR>["apbugs" address is not =
added to=20
the Cc line of messages from ]<BR>[the database automatically =
because of=20
the potential for mail ]<BR>[loops. If you do not =
include this=20
Cc, your reply may be ig- ]<BR>[nored unless you are =
responding to=20
an explicit request from a ]<BR>[developer. Reply only with =
text; DO=20
NOT SEND ATTACHMENTS! =20
]<BR><BR><BR></FONT></DIV></BODY></HTML>
------=_NextPart_000_0007_01BF2C31.317C42B0--