MAVIS Daemon

Marc Huber

$Id: a9ec2b985fb54c0272eb87655fbef96fdf558cb7 $

Table of Contents
1. Introduction
1.1. Download
2. Command line syntax
3. Event mechanism selection
4. Configuration file syntax
4.1. Railroad Diagrams
5. Sample configuration
6. Copyrights and Acknowledgements

1. Introduction

In conjunction with the remote module, this daemon allows extending MAVIS (modular attribute-value interchange system) functionality over the network, using UDP packets for communication with clients and/or other MAVIS daemons.


1.1. Download

You can download the source code from the GitHub repository at https://github.com/MarcJHuber/event-driven-servers/. On-line documentation is available via https://projects.pro-bono-publico.de/event-driven-servers/doc/, too.


2. Command line syntax

Command line syntax is:

mavisd [ -P ] [ -d level ] configuration-file [ id ]

The path to the configuration file is the only command line argument mandatory. id defaults to tac_plus and may be used to select a non-default section of the configuration file.

The -P option enables config parse mode. Keep this one in mind; it is imperative that the configuration file supplied is syntactically correct, as the daemon won't start if there are any parsing errors at start-up.

The -d switch enables debugging. You most likely don't want to use this. Read the source if you need to.


3. Event mechanism selection

Several level-triggered event mechanisms are supported. By default, the one best suited for your operating system will be used. However, you may set the environment variable IO_POLL_MECHANISM to select a specific one.

The following event mechanisms are supported (in order of preference):


4. Configuration file syntax

A typical mavisd configuration file consists of a single id section:

section = mavisd { ... }

Default section ID is mavisd, but that a different ID may be selected via the command line.

Configuration directives are:


4.1. Railroad Diagrams

Railroad diagram: TcprelayConfig

Railroad diagram: CIDR

Railroad diagram: SyslogDecl


5. Sample configuration

module-path /some/where/lib/mavis

module-add log

module-add limit
module-conf limit blacklist count 5 time 60
module-conf limit ipreg time 60

module-add auth

module-add cache
module-conf cache expire * 60

module-add external id whatever
module-conf ext1 program /where/ever/script.pl

bind address 127.0.0.1 port 9001

6. Copyrights and Acknowledgements

Please see the source for copyright and licensing information of individual files.