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)