Fix transport_maps function for non-existent domains
The postfix_transport_maps function had a bug causing
2012-04-15 17:40:22 CEST LOG: statement: SELECT transport FROM postfix_transport_map('logcheck', 'domine.madduck.net');
2012-04-15 17:40:22 CEST ERROR: query returned no rows
when the domain was not in the database. This would make did be NULL and make
the query fail.
This patch moves the tid query until after a check for did. If the latter is
NULL, the function RETURNs (rather than fails).
# This is the vmm (a virtual mail manager) configuration file.
# default location: /usr/local/etc/vmm.cfg
#
#
# Database settings
#
[database]
; The Python PostgreSQL database adapter module to be used (String)
; Supported modules are:
; * psycopg2
; * pyPgSQL
module = psycopg2
; Hostname or IP address of the database server (String)
host = localhost
; The TCP port, on which the database server is listening for connections (Int)
port = 5432
; SSL mode for the database connection (String)
; Possible values are:
; * disabled
; * allow
; * prefer (default)
; * require
; * verify-ca (PostgreSQL >= 8.4)
; * verify-full (PostgreSQL >= 8.4)
sslmode = prefer
; Database user name (String)
user = dbuser
; Database password (String)
pass = dbpassword
; Database name (String)
name = mailsys
#
# mailbox settings
#
[mailbox]
; The mailbox format to be used for user's mailboxes. (String)
; Depending on the used Dovecot version there are up to 3 supported formats:
; * maildir - since Dovecot v1.0.0
; * mdbox - since Dovecot v2.0.beta5
; * sdbox - since Dovecot v2.0.rc3
format = maildir
; A colon separated list of mailbox names, that should be created (String)
; e.g.: folders = Drafts:Sent:Templates:Trash:Lists.Dovecot:Lists.Postfix
folders = Drafts:Sent:Templates:Trash
; Name of the mailbox root directory in a user's home. (String)
; Usually used names (format: name):
; * maildir: Maildir
; * mdbox: mdbox
; * sdbox: sdbox
root = Maildir
; Set to true if the mailboxes from the folders option should be listed in
; the subscriptions file. (Boolean)
subscribe = true
#
# Domain settings
#
[domain]
; Should vmm create the postmaster account when a new domain is created?
; (Boolean)
auto_postmaster = true
; Delete domain directory recursive when deleting a domain? (Boolean)
delete_directory = false
; Permissions for domain directories (Int)
; octal 0770 -> decimal 504
directory_mode = 504
; Force deletion of accounts and aliases when deleting a domain (Boolean)
force_deletion = false
;
; The service settings will be evaluated and applied when a domain is
; created. The service settings of the domain will be applied when you
; create a new account.
; Use the subcommand domainservices to modify a domain's service settings.
; Or userservices in order to update the service setting of an account.
; Allow smtp by default? (Boolean)
smtp = true
; Allow pop3 by default? (Boolean)
pop3 = true
; Allow imap by default? (Boolean)
imap = true
; Allow managesieve by default? (Boolean)
sieve = true
;
; The quota_* settings will be evaluated and applied when a domain is
; created. The domain's quota_* settings will be applied when an account
; is added to a domain.
; Use the subcommand domainquota to modify a domain's quota limits.
; Or userquota in order to update an account's quota limits.
; Quota limit in bytes. 0 means unlimited (String)
; The value can have one of the suffixes:
; * b: bytes
; * k: kilobytes
; * M: megabytes
; * G: gigabytes
; 1024 is the same as 1024b or 1k
quota_bytes = 0
; Quota limit in number of messages. 0 means unlimited (Int)
quota_messages = 0
;
; The transport setting will be evaluated and applied when a domain is
; created. The domain's transport setting will be applied when an account
; is added to a domain.
; Use the subcommand domaintransport to modify the transport of a domain.
; Or usertransport in order to update an account's transport setting.
; default transport for domains and accounts (String)
transport = dovecot:
#
# Account settings
#
[account]
; Delete the user's home directory recursive when deleting an account? (Boolean)
delete_directory = false
; Permissions for the user's home directory and mail directories (Int)
; octal 0700 -> decimal 448
directory_mode = 448
; Display disk usage in account info by default? (Boolean)
disk_usage = false
; Should vmm generate a random password when no password was given for the
; useradd subcommand? (Boolean)
random_password = false
; How many characters to include in the generated passwords? (Int)
password_length = 8
#
# external binaries
#
[bin]
; location of dovecotpw (String)
dovecotpw = /usr/sbin/dovecotpw
; location of disk usage (String)
du = /usr/bin/du
; location of postconf (String)
postconf = /usr/sbin/postconf
#
# misc settings
#
[misc]
; The base directory for all domains/accounts (String)
base_directory = /srv/mail
; Number of encryption rounds for the password_scheme BLF-CRYPT (Int)
crypt_blowfish_rounds = 5
; Number of encryption rounds for the password_scheme SHA256-CRYPT (Int)
crypt_sha256_rounds = 5000
; Number of encryption rounds for the password_scheme SHA512-CRYPT (Int)
crypt_sha512_rounds = 5000
; the version number from `dovecot --version` (String)
; e.g. 1.1.18; 1.2.11; 2.0.beta4
dovecot_version = 1.2.11
; Password scheme to use (see also: dovecotpw -l) (String)
password_scheme = CRAM-MD5