Import release 0.08
[secnet] / README
CommitLineData
df1b18fc
SE
1XXX under construction. For now, here are the comments that used to be
2at the top of the example configuration file:
3
4# This file defines a dictionary full of configuration information for
5# secnet. Two keys must be defined in this file for secnet to
6# start. One is "system", a dictionary containing systemwide control
7# parameters. The other is "sites", a list of all the sites that you
8# intend to communicate with.
9
10# Other files can be included inline by writing "include filename" at
11# the start of a line.
12
13# The configuration file has a fairly simple syntax:
14# key definition; or key = definition; (the "=" is optional)
15# ...sets 'key' in the current dictionary to 'definition'.
16#
17# "key" is [[:alpha:]_][[:alnum:]\-_]*
18#
19# definition may be one of the following:
20# a string, in quotes
21# a number, in decimal
22# a dictionary, in { }
23# a path to a key that already exists, to reference that definition
24# a "closure", followed by arguments
25#
26# paths are key1/key2/key3... (starting from wherever we find key1, i.e. in
27# the current dictionary or any of its parents)
28# alternatively /key1/key2/key3... (to start from the root)
29#
30# closures are followed by an argument list in ( ), and may return
31# whatever type they like (including other closures)
32#
33# closure { definitions } is short for closure({definitions}).
34#
35# Whenever secnet looks for a key it checks the (lexical) parent dictionaries
36# as well until it finds it or reaches the root. This is useful for setting
37# defaults for large collections of dictionaries (eg. defining sites).
38#
39# It is also permissible to list other dictionaries before a dictionary
40# definition, eg. <defaults,otherdefaults>{definitions}. These will be
41# searched in order for keys, before the lexical parent. (Not yet implemented)
42#
43# secnet predefines some keys in the root dictionary; some useful ones are:
44# yes, true, True, TRUE: the boolean value True
45# no, false, False, FALSE: the boolean value False
46# makelist: turns a dictionary (arg1) into a list (return value)
47# readfile: reads a file (arg1) and returns it as a string
48#
49# secnet modules also predefine keys, eg. "adns", "randomfile", etc.
50# See the module documentation for more information.
51
52# After the configuration file is read, secnet looks for particular keys
53# in configuration space to tell it what to do:
54# system: system-wide parameters (control, logging, etc.)
55# sites: a list of sites with which to communicate