NAME

cfgfiles - Agent configuration file format

DESCRIPTION

This page gives information explaining the configuration settings for Agents and the Base System framework.

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.

Configuration file structure

The configuration files have extension .cfg and are located in

        $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.

Configuration file format

Comments are denoted by the hash character (#). All characters from the '#' to the end of a line are regarded as a comment. Comments and blank lines are ignored.

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"

EXAMPLE

The following is an example of a global configuration file. Observe that the node labels (``boks:'' etc) must not be indented.

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

SEE ALSO

cat, catinfo, catgen