Table of Contents

Name

logiweb.conf - configuration file for Logiweb

Description

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

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 option=value.

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 server (logiweb(1) ) and the Pyk compiler (pyk(1) ).

Types

Boolean
The strings 'yes', 'true', and 't' represent truth. The strings 'no', 'false', 'f', and the empty string represent falsehood.

Chain
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


level:ip/mask

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

Early trust entries shadow later ones. As an example,


udpchain=
- 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.

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

Duration
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 Y (yoto).

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.

List
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


udpchain=
- 1: my.domain
- 1: another.domain

Server-address,
Server addresses have form <protocol>/<ip>/<port>/relay. As examples, udp/logiweb.eu/65535/http://logiweb.eu/logiweb/server/relay and udp/80.163.222.238/65535/http://logiweb.eu/logiweb/server/relay 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).

Files

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 following places:


Site file:  /etc/logiweb/logiweb.conf
User file:  $HOME/.logiweb/logiweb.conf
Local file: $PWD/logiweb.conf

Example

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

Author

Klaus Grue, http://logiweb.eu/

See Also

logiweb(1) , pyk(1)


Table of Contents