The cvm-qmail Module
Synopsis:
qmail configuration lookup module
Credentials:
None, only operates as a lookup module.
Description:
This module uses the standard qmail configuration files to determine
if an address is valid, using the same lookups that qmail would. It
first checks control/locals and then
control/virtualdomains to determine if the domain is valid, and
to determine the prefix to add to virtual domain usernames. If the
domain is not found, it fails with OUTOFSCOPE
set to true. It then looks up the resulting username
in users/cdb (or the system password table if the CDB does not
exist) to determine the correct home directory. If the address would
require a .qmail-something file, it ensures that that file
exists as well, doing -default checks as necessary. If the
address is not deliverable based on these checks, it fails
with OUTOFSCOPE set to false.
Configuration Variables:
- $CVM_QMAIL_ASSUME_LOCAL (optional)
- If set, all
domains not found in control/virtualdomains are assumed to be
local domains.
- $CVM_QMAIL_CHECK_PERMS (optional)
- If set, the CVM
will check that the .qmail file is accessible by temporarily
switching to the target user ID. If $CVM_QMAIL_CHECK_PERMS
starts with a "-" and the lookup fails because access was
denied, then the lookup is rejected with a permanent error, otherwise a
temporary I/O error is returned.
- $CVM_QMAIL_LOOKASIDE (optional)
- This variable
contains a list of program names, separated by spaces. If one of these
program names is found as a program delivery in the .qmail
file, cvm-qmail will fail the lookup with
OUTOFSCOPE set to true. This is useful for
chaining lookups to cvm-vmailmgr or
other modules that correspond to programs that are executed
from .qmail-default files.
- $CVM_QMAIL_MISSINGDOMAIN (optional)
- If this is set
and the domain name is not a local or virtual qmail domain, this domain
name is substituted and the lookup succeeds. This allows for setups
where domains listed in control/rcpthosts and
control/morercpthosts.cdb (which are accepted by the SMTP
receiver) are not listed as local or virtual domains. If this is set to
an empty value, "localhost" is substituted. This has no effect
if $CVM_QMAIL_ASSUME_LOCAL is set.
- $CVM_QMAIL_MISSINGUSER (optional)
- When missing
domain substitution is being done, the value of this variable is used to
replace the username. The value must exist as a valid system user.
Defaults to "alias" which will normally exist on all qmail
systems.
- $QMAIL_ROOT (optional)
- The root directory under
which all the qmail configuration files are expected to be found.
Defaults to "/var/qmail", which is the normal qmail install
path.