>Number:         5235
>Category:       config
>Synopsis:       Unknow Error
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Wed Nov  3 01:20:01 PST 1999
>Last-Modified:
>Originator:     [EMAIL PROTECTED]
>Organization:
apache
>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 
# 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] (String)
# Note: specify a full path if the interpreter is not visible in your path.
wrapper.bin=d:\jdk1.1.8\bin\java.exe

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

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

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

# PATH environment value passed to the JVM
# Syntax: wrapper.path=[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=[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=d:\apachegroup\ApacheJServ\ApacheJServ.jar
wrapper.classpath=d:\jsdk2.0\lib\jsdk.jar
wrapper.classpath=D:\ApacheGroup\ApacheJServ\sol\ssl.zip
wrapper.classpath=D:\ApacheGroup\ApacheJServ\sol\

# An environment name with value passed to the JVM
# Syntax: wrapper.env=[name]=[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=[name] (String)
# Default: NONE

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

# Protocol used for signal handling
# Syntax: wrapper.protocol=[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 
# 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 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=CertReg
#zones=GlobalID
#zones=CertRet
zones=root

# 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.
root.properties=d:/apachegroup/ApacheJServ/servlets/zone.properties
CertReg.properties=d:/ApacheGroup/ApacheJServ/conf/CertReg.properties
GlobalID.properties=d:/ApacheGroup/ApacheJServ/conf/GlobalID.properties
CertRet.properties=d:/ApacheGroup/ApacheJServ/conf/CertRet.properties


#
# Thread Pool parameters
#########################

# Enables or disables the use of the thread pool.
# Syntax: pool=[true|false] (boolean)
# Default: false
# WARNING: the pool has not been extensively tested and may generate deadlocks. 
# For this reason, we advise against using this code in production environments.
pool=false

# Indicates the number of idle threads that the pool may contain.
# Syntax: pool.capacity=(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=10

# Indicates the pool controller that should be used to control the 
# level of the recycled threads.
# Syntax: pool.controller=[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=org.apache.java.recycle.DefaultController
root.properties=D:\ApacheGroup\ApacheJServ\conf\zone.properties
CertReg.properties=D:\ApacheGroup\ApacheJServ\conf\CertReg.properties
GlobalID.properties=D:\ApacheGroup\ApacheJServ\conf\GlobalID.properties
CertRet.properties=D:\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 
# 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=true

# 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

# Backlog setting for very fine performance tunning of JServ.
# Unless you are familiar to sockets leave this value commented out.
# security.backlog=5

# 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=127.0.0.1
security.allowedAddresses=127.0.0.1, 203.127.198.229

# 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=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=D:/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=(int)>5
# Default: 5
#security.challengeSize=5

#
# 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 
# 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=true

# 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 path and filename] (String)
# Default: NONE
# Note: if the file could not be opened, try using absolute paths.
log.file=d:\apachegroup\ApacheJServ\logs\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]
 
# 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 = [milliseconds]
# Default: 5000
log.queue.maxage = 5000

# Syntax: log.queue.maxsize = [integer]
# Default: 1000
log.queue.maxsize = 1000

# 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
>Fix:
--
>Audit-Trail:
>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!     ]



Reply via email to