On Windows NT, configuration data is stored in the Windows registry. Configuration files are used only for the initial population of the registry.
On UNIX, configuration files are always used.
$ETCROOT/global.cfg $ETCROOT/services/I<service>.cfg $ETCROOT/tcp/sI<port>.cfg
where $ETCROOT
is the Agent data directory, for example
/opt/etc/SDTI/Agents/etc
.
The global.cfg
file contains data common to all Agents, as well as information needed by catd and catlogger. This file is supplied by the Base System.
The services
directory contains Agent-specific configuration files, where service is the service name of the Agent, for example,
services/pop3_sample-5.0.cfg
. These files are supplied by the Agents. If an Agent does not supply a
file, the Base System will create one using a default template.
The tcp
directory contains information specific to an Agent instance, that is, a
configured port. The name sport.cfg
might, for example, be s110.cfg
, indicating configuration data for port 110. The ``s'' indicates a server
port. These files are typically created by a configuration program when
setting up an Agent for a specific port.
The files have a hierarchical structure in which entries can be values that carry information or nodes that do not carry information.
The ``.'' character is a node/value separator.
A node is written as a list of nodes and optional subnodes, separated from each other by dots. The line must end in a colon (``:'') and must not be indented, for example:
# This comment starts in column zero of the file... node.subnode:
All indented values written under this node until the end of the file or a new non-indented node is encountered will be subordinate to this node.
A value must be indented and is written as a name, possibly containing subnodes, followed by an equals sign character (``='') and a value. The equals sign can be surrounded by spaces and tabs.
If the value is not enclosed in quotes, it consists of the rest of the line with leading and trailing whitespace removed. If the value is enclosed in double quotes, it continues to the next unescaped double quote on the same line and is subject to the parsing of embedded Escape sequences.
Supported Escape sequences are: ``\n'' (New Line), ``\t'' (horizontal tab), ``\\'' (back slash), and ``\octal'' (any character, given as its octal code). A double quote can be included if preceded by a ``\''.
Example:
# This comment starts in column zero.
value = 7 subnode.value = "\"Hello, World!\"\n"
# # global.cfg # # The reason for some values to be commented out with a "#" # is that the configuration program currently cannot add any # new values, it can only change ones that already exist (even if # "deleted" by a comment). #
version = 1 applicationroot = /tmp/agents etcroot = /tmp/agents/etc varroot = /tmp/agents/var
boks: # nodekey = # nodekeyfile = domain = 6500 # servers = # cachettl = # myaddress = logfile = /tmp/agents/var/boks.spool
els: logfile = /tmp/agents/var/els.spool # servers =
hostpsd: # file = # password = # passwordfile = # boks = 0
ca: dbfile = /tmp/agents/etc/ca.cdb
log: # file = pollsleep = 10 failsleep = 60 maxrun = 43200
ssl: # sessioncache = /tmp/agents/var/ssl.cache
dasp: # keycache = /tmp/agents/var/dasp.cache # keyttl =
debug: spec = 3 file = /tmp/agents/var/cat.out
start.logger: start = on program = /tmp/agents/bin/catlogger -BE