###############################################################################
#                        Apache JServ Configuration File                      #
###############################################################################

################################ W A R N I N G ################################
# Unlike normal Java properties, JServ configurations have some important 
# extentions:
#
#    1) commas are used as token separators
#    2) multiple definitions of the same key are concatenated in a 
#       comma-separated list.
###############################################################################

# Execution parameters
#######################

# The Java Virtual Machine interpreter.
# Syntax: wrapper.bin=[filename]
# Note: specify a full path if the interpreter is not visible in your path.
wrapper.bin=h:/java11/bin/javapm

# Arguments passed to Java interpreter (optional)
# Syntax: wrapper.bin.parameters=[string]
# Default: NONE

# Apache JServ entry point class (should not be changed)
# Syntax: wrapper.class=[classname]
# Default: "org.apache.jserv.JServ"
wrapper.class=org.apache.jserv.JServ

# Arguments passed to main class after the properties filename (not used)
# Syntax: wrapper.class.parameters=[string]
# Default: NONE
# Note: currently not used

# PATH environment value passed to the JVM
# Syntax: wrapper.path=[path]
# 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
wrapper.path=h:/java11/bin

# CLASSPATH environment value passed to the JVM
# Syntax: wrapper.classpath=[path]
# Default: NONE (Sun's JDK/JRE already have a default classpath)
# Notes: 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.
wrapper.classpath=h:/java11/lib/classes.zip
wrapper.classpath=i:/OS2Httpd/jserv/servclasses.zip
wrapper.classpath=i:/OS2Httpd/jserv
wrapper.classpath=g:/sqllib/java/db2java.zip
wrapper.classpath=i:/OS2Httpd/jserv/iasp/lib/iasplib.jar
wrapper.classpath=i:/Public/javaClass

# An environment name with value passed to the JVM
# Syntax: wrapper.env=[name]=[value]
# Default: NONE on Unix Systems
#          SystemDrive and SystemRoot with appropriate values on Win32 systems
wrapper.env=DB2PATH=g:/sqllib

# An environment name with value copied from caller to Java Virtual Machine
# Syntax: wrapper.env.copy=[name]
# Default: NONE

# Copies all environment from caller to Java Virtual Machine
# Syntax: wrapper.env.copyall=[true,false]
# Default: false

# Protocol used for signal handling
# Syntax: wrapper.protocol=[name]
# Default: ajpv11
# wrapper.protocol=ajpv11

# General parameters
######################

# Set the port Apache JServ listens to.
# Syntax: port=[1024,65535] (int)
# Default: 8007
port=8007

# Servlet Zones parameters
###########################

# List of servlet zones Apache JServ manages
# Syntax: zones=[servlet zone],[servlet zone]... (Comma separated list of String)
# Default: NONE
zones=dehua,system,iasp

# Configuration file for each servlet zone (one per servlet zone)
# Syntax: [servlet zone name as on the zones list].properties=[full path to configFile] (String)
# Default: NONE
# Note: if the file could not be opened, try using absolute paths.
dehua.properties=/OS2Httpd/conf/dehua.properties
system.properties=/OS2Httpd/conf/system.properties
iasp.properties=/OS2Httpd/conf/iasp.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 
# service work.
# This service is useful for installation and configuration since it gives 
# 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=[true,false] (boolean)
# Default: false
# WARNING: disable this in a production environment since may give reserved
# information to untrusted users.
security.selfservlet=false

# Set the maximum number of socket connections Apache JServ may handle 
# simultaneously. Make sure your operating environment has enough file
# descriptors to allow this number.
# Syntax: security.maxConnections=(int)>1
# Default: 50
security.maxConnections=50

# List of IP addresses allowed to connect to Apache JServ. This is a first 
# security filtering to reject possibly unsecure connections and avoid the 
# overhead of connection authentication.
# Syntax: security.allowedAddresses=[IP address],[IP Address]... (Comma separated list of IP addresses)
# Default: 127.0.0.1
security.allowedAddresses=202.120.182.10,202.120.182.100,202.120.182.101,127.0.0.1

# Enable/disable connection authentication. 
# NOTE: unauthenticated connections are a little faster since authentication 
# 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=[true,false] (boolean)
# Default: true
# security.authentication=true
security.authentication=false

# 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=[secret key path and filename] (String)
# Default: NONE
# Note: if the file could not be opened, try using absolute paths.
# security.secretKey=/OS2Httpd/conf/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=(int)>5
# Default: 5
security.challengeSize=5

# Logging parameters
#####################

# Enable/disable Apache JServ log.
# WARNING: logging is a very expensive operation in terms of performance. You
# should reduced the generated log to a minumum or even disable if fast 
# 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=[true,false] (boolean)
# Default: true
log=false
# log=true

# Set the name of the log file.
# Syntax: trace.file=[log path and filename] (String)
# Default: NONE
# Note: if the file could not be opened, try using absolute paths.
log.file=/OS2Httpd/logs/mod_jserv.log

# Enable the timestamp before the trace message
# Syntax: trace.timestamp=[true,false] (boolean)
# Default: true
log.timestamp=false

# Use the given string as a data format 
# (see java.text.SimpleDateFormat for the list of options)
# Syntax: log.dateFormat=(String)
# Default: [dd/MM/yyyy HH:mm:ss:SSS zz]
# log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz] 

# Enable/disable channels, each tracing different actions.
# Syntax: log.channel.[channel name]=[true,false] (boolean)
# Default: false
log.channel.init=true
log.channel.terminate=true
log.channel.serviceRequest=true
log.channel.authentication=true
log.channel.signal=true
log.channel.exceptionTracing=true
log.channel.servletLog=true

# These channels are mainly for internatl debugging purposes.
log.channel.requestData=true
log.channel.responseHeaders=true
log.channel.servletManager=true
log.channel.singleThreadModel=true