zDBASES.CONF(5zm) zDBASES.CONF(5zm)
NAME
TBW: dbases.conf - Centralized database setup for the ZMailer's
router(8zm).
SYNOPSIS
The file is usually located into ZMailer's MAILSHARE/db/ directory, and
has name: dbases.conf
This file is intended to be processed with command:
zmailer newdb
DESCRIPTION
Some ideas about functionality can be had from this sample file:
#|
#| This configuration file is used to translate a semi-vague idea
#| about what database sources (in what forms) are mapped together
#| under which lookup names, and what format they are, etc..
#|
#| This is used by 'zmailer newdb' command to generate all databases
#| described here, and to produce relevant .zmsh scripts for the
#| router to use things. The 'zmailer newdb' invocation does not mandate
#| router restart in case the database definitions have not changed,
#| mere database recompilation is handled without restarts.
#| (reverse is true: If definitions are added/modified/removed, the router
#| MUST be restarted)
#|
#|Fields:
#| relation-name
#| dbtype(,subtype)
#| dbpriv control data (or "-")
#| newdb_compile_options (-a for aliases! -r = read-only)
#| dbfile (or "-")
#| dbflags (or "-") ... (until end of line)
#|
#| The 'relation-name' are a set of magic tokens (listed below), which
#| system scripts support. There can be any number of databases for
#| any given 'relation-name'. Those are scanned in order, first match
#| wins. (E.g. you can have multiple 'aliases' relations.)
#|
#| The dbtype can be "magic" '$DBTYPE', or any other valid database
#| type for the Router. Somewhat magic treatment (newdb runs) are
#| done when the dbtype is any of: *DBTYPE/dbm/gdbm/ndbm/btree
#|
#| The newdb_compile_options are used when recompiling the database
#| with 'newdb' command.
#|
#| The "dbfile" need not be located underneath of $MAILVAR, as long as
#| it is in system local filesystem (for performance reasons.) E.g.
#| one can place one of e.g. aliases files to some persons directory.
#| Implicite assumption is, that the 'newdb' produces the database
#| with same name, as what the "dbfile" fields says -- appending only
#| database type specific magic tail(s).
#|
#| At dbflags (until end of the line), characters ':' and '%' have special
#| meaning as their existence generates lookup routines which pass user's
#| optional parameters. See documentation about 'dblookup'.
#|
#|Example:
#|
#|Security sensitive ones ("dbpriv" must be defined!)
#| aliases $DBTYPE 0:0:644 -la $MAILVAR/db/aliases -lm
#| aliases $DBTYPE root:0:644 -la $MAILVAR/db/aliases-2 -lm
#| fqdnaliases $DBTYPE root:0:644 -la $MAILVAR/db/fqdnaliases -lm
#| fqdnroutes $DBTYPE root:0:644 -la $MAILVAR/db/fqdnroutes -lm%:
#| userdb $DBTYPE root:0:644 -l $MAILVAR/db/userdb -lm
#|
#|Security insensitive ones ("dbpriv" need not be defined!)
#| fqdnaliasesldap ldap - - $MAILVAR/db/fqdnalias.ldap -lm -e 2000 -s 9000
#| fullnamemap $DBTYPE - -l $MAILVAR/db/fullnames -lm
#| mboxmap $DBTYPE - -l $MAILSHARE/db/mboxmap -lm
#| expired $DBTYPE - -l $MAILVAR/db/expiredaccts -lm
#| iproutesdb $DBTYPE - -l $MAILVAR/db/iproutes -lmd longestmatch
#| routesdb $DBTYPE - -l $MAILVAR/db/routes -lm%:d pathalias
#| thishost $DBTYPE - -l $MAILVAR/db/localnames -lm%d pathalias
#| thishost unordered - - $MAILVAR/db/localnames -ld pathalias
#| thishost bind,mxlocal - - - -ld pathalias
#| otherservers unordered - - $MAILVAR/db/otherservers -lmd pathalias
#| newsgroup $DBTYPE - -l $MAILVAR/db/active -lm
aliases $DBTYPE 0:0:644 -la $MAILVAR/db/aliases -lm
fqdnaliases $DBTYPE root:0:644 -la $MAILVAR/db/fqdnaliases -lm%
userdb $DBTYPE root:0:644 -l $MAILVAR/db/userdb -lm
routesdb $DBTYPE - -l $MAILVAR/db/routes -lm%:d pathalias
thishost $DBTYPE - -l $MAILVAR/db/localnames -lm%d pathalias
#| =================================================================
#| Set of boilerplate tail-keepers, these lookups fail ALWAYS.
#| These are given because if user ever removes any of the relations
#| mentioned above, the generated "RELATIONNAME.zmsh" script won't
#| just magically disappear!
#| =================================================================
aliases NONE - - - -
expired NONE - - - -
fqdnaliasesldap NONE - - - -
fqdnaliases NONE - - - -
fqdnroutes NONE - - - -
fullnamemap NONE - - - -
iproutesdb NONE - - - -
newsgroup NONE - - - -
otherservers NONE - - - -
routesdb NONE - - - -
thishost NONE - - - -
userdb NONE - - - -
#| NOTE: mboxmap MUST NOT exist at all if its secondary-effects
#| are to be avoided!
HISTORY
ENVIRONMENT VARIABLES
ZCONFIG
This environment variable is expected to be inherited from the
scheduler(8zm), and it tells where scheduler's idea of ZENV-
variables are located at.
Z-ENVIRONMENT VARIABLES
TBW: many variables!
FILES
/opt/mail/zmailer.conf (ZCONFIG)
/var/spool/postoffice (POSTOFFICE)
SEE ALSO
router(8zm), scheduler(8zm), zmailer.conf(5zm).
AUTHOR
This software authored and copyright by:
Matti Aarnio <mea@nic.funet.fi>
2003-Aug-28 zDBASES.CONF(5zm)