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

################################### WARNING ####################################
# 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]
# Default: "/usr/bin/java" for Unix systems
#          "c:\jdk\bin\java.exe" for Win32 systems
wrapper.bin=@JAVA@

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

# Apache JServ entry point class
# Syntax: wrapper.class=[classname]
# Default: "org.apache.jserv.JServ"
wrapper.class=org.apache.jserv.JServ

# Arguments passed to main class after the properties filename
# 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

# 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.
# 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=@JSERV_CLASSES@
wrapper.classpath=@JSDK_CLASSES@

# 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

# 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

# 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 
# that one can have multiple instances of Apache JServ listening on 
# the same port number, but different IP addresses on the same machine.
#
# Syntax: bindaddress=[ipaddress] or [localhost]
# Default: localhost
bindaddress=localhost

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

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

# List of servlet zones JServ manages
# Syntax: zones=<servlet zone>,<servlet zone>... (Comma separated list of String)
# Default: <empty>
zones=example

# Configuration file for each servlet zone
# Syntax: <servlet zone name as on the zones list>.properties=<full path to configFile> (String)
# Default: <empty>
example.properties=@EXAMPLE_DIR@/example.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 JServ as a servlet is filtered by mod_jserv
# 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 JServ is set with, but it should
# be disabled when both installation and configuration processes are done.
# Syntax: security.selfservlet=[true,false] (boolean)
# Default: false
#security.selfservlet=true

# Set the maximum number of socket connections JServ may handle simultaneously.
# (this number does not identify the maximum number of concurrent servlet 
# requests: see the JServ protocol specification for more info on this)
# Syntax: security.maxConnections=(int)>1
# Default: 50
security.maxConnections=50

# List of IP addresses allowed to connect to 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 adresses)
# Default: 127.0.0.1
security.allowedAddresses=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: disable authentication only if you can protect the intrusion on
# the port JServ listens on with other systems or do it at your own risk.
# Syntax: security.authentication=[true,false] (boolean)
# Default: 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 file> (String)
# Default: <empty>
#security.secretKey=

# 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 JServ tracing, used for debugging and development.
# WARNING: tracing is a very costy operation in term of performance and
# its disabled by default. Note that trace logs may become really big
# since each servlet connection may generate many Kb of log.
# Syntax: log=[true,false] (boolean)
# Default: false
log=false

# Set the name of the trace/log file.  To avoid possible confusion about
# the location of this file, an absolute pathname is recommended.
#
# 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=<log file name> (String)
# Default: NONE
log.file=@JSERV_LOG@/jserv.log

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

# 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 logging the channel name
# Default: false
# log.channel=false

# Enable/disable channels, each logging different actions.
# Syntax: log.channel.[channel name]=[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=true

# Servlets exception, i.e. exception caught during 
# servlet.service() processing are monitored here
# you probably want to have this one switched on
log.channel.servletException=true

# JServ exception, caught internally in jserv
# we suggest to leave it on
log.channel.jservException=true

# Warning channel, it catches all the important
# messages that don't cause JServ to stop, leave it on
log.channel.warning=true

# Servlet log
# All messages logged by servlets. Probably you want 
# this one to be switched on.
log.channel.servletLog=true

# Critical errors
# Messages produced by critical events causing jserv to stop
log.channel.critical=true

# Debug channel
# Only for internal debugging purposes
# log.channel.debug=true
