Table of Contents
logiweb.conf - configuration file for Logiweb
configuration files are used by the Logiweb server (logiweb(1)
) and the
Pyk compiler (pyk(1)
Lines of a configuration file that consist of blank
characters (i.e. space and tab characters) only are comment lines and are
Lines of a configuration file whose first non-blank character is
a semicolon are comment lines and are ignored.
Lines of a configuration
file whose first non-blank character is a hyphen is a continuation line
and is appended to the previous non-comment line with the hyphen removed
but with a newline character inserted.
After discarding of comment lines
and appending of continuation lines, each remaining line must have form
The options that can be defined in a Logiweb configuration
file are the same that can be given as command line arguments to the Logiweb
) and the Pyk compiler (pyk(1)
- The strings
'yes', 'true', and 't' represent truth. The strings 'no', 'false', 'f', and the empty
string represent falsehood.
- A 'chain' defines a function from ip numbers
to 'trust' levels where a 'trust' level is a cardinal. A trust level of zero
means 'reject'. A trust level of one means 'accept'. Higher trust level indicate
various levels of privileges.
- A chain is a list of 'trust entries' where
each trust entry has form
- The level is a cardinal. The ip can be given as a dotted list or a domain
name. The mask can be given as a dotted list like /255.255.255.0 or as the
number of one bits set like /24. The mask may be omitted and defaults to
- Early trust entries shadow later ones. As an example,
- 2: 127.0.0.1
- 1: 10.1.2.3
- 0: 10.0.0.0/255.0.0.0
- 0: bad.guys.domain
- 1: 0.0.0.0/0
- assigns trust level 2 to 127.0.0.1, trust level 1 to 10.1.2.3, trust level 0
to all ip numbers of form 10.*.*.* except 10.1.2.3, trust level 0 to bad.guys.domain,
and trust level 1 to all other domains.
- The trust level defaults to zero
so that e.g. udpchain=#127.0.0.1 assigns trust level 2 to 127.0.0.1 and trust level
zero to all other ip numbers.
- A decadic value is the same as a
duration (see 'Duration' below) except that it cannot have the suffixes second,
seconds, minute, minutes, hour, hours, day, days, week, weeks, month, months,
year, and years.
- A duration is a non-negative integer, optionally
followed by a suffix. In configuration files, there may be space characters
between the integer and the suffix. Valid suffixes are:
- m (milli), u (micro),
n (nano), p (pico), f (femto), a (atto), z (zepto), and y (yocto).
- U (Unit),
k (kilo), M (mege), G (giga), T (tera), P (peta), E (exa), Z (zeta), and
- Second, seconds, minute, minutes, hour, hours, day, days, week,
weeks, month, months, year, years.
- One letter suffixes (like m and M) are
case sensitive. Longer suffixes (like Year and Day) are case insensitive).
- Examples: 4, 4 seconds, 4U, 4000m, and 4000000u all represent 4 seconds.
4 minutes represents 240 seconds.
- The units of months and years are average
values computed from the fact that, in the Gregorian calender, each 400
year period has exactly 97+400*365 days. An average month is exactly 2629746
seconds and an average year is exactly 31556952 seconds.
- The 'list'
type is a generic type used in e.g. the 'roots' and 'udpchain' parameters. For
lists, the first character after the equal sign is used as the list separator
so that e.g.
udpchain=#1: my.domain#1: another.domain
- defines udpchain as the list comprising '1:my.domain' and '1:another.domain'.
- In configuration files, the separator may be the newline character so
that the list above may also be written
- 1: my.domain
- 1: another.domain
- Server addresses have form <protocol>/<ip>/<port>/relay. As examples,
are server addresses. At present, 'udp' is the only supported protocol. A server-address-list
is a list of server addresses (c.f. 'List' above).
The Logiweb server
and the pyk compiler read up to three configuration files, namely a 'site',
a 'user', and a 'local' configuration file; they are typically located the
Site file: /etc/logiweb/logiweb.conf
User file: $HOME/.logiweb/logiweb.conf
Local file: $PWD/logiweb.conf
The configuration file
; This is a comment
level = compile ; this is an option
; This is another comment
verbose = 1 ; this is another option
corresponds to giving the command line options 'level=compile verbose=1'.
Klaus Grue, http://logiweb.eu/
Table of Contents