Jeff A. Earickson
2006-Jan-17 15:59 UTC
[Dovecot] 1.0beta1: bullet-proofing dovecot-example.conf
Timo, I got bit last night during my upgrade to beta1 by uncommenting the following part of dovecot.conf for my site: #passdb passwd-file { # File contains a list of usernames, one per line #args = /etc/dovecot.deny #deny = yes #} I did a "s/#//" over this block of code, thereby uncommenting the comment too. Then I wondered why beta1 wouldn't start for me, until I found the conf syntax error. I suggest "bullet-proofing" some of the comments in dovecot-example.conf against this error, like so: #passdb passwd-file { ### File contains a list of usernames, one per line #args = /etc/dovecot.deny #deny = yes #} Attached is a diff against beta1 dovecot-example.conf to fix this kind of dumb mistake. Jeff Earickson Colby College -------------- next part -------------- *** /opt/dovecot/etc/dovecot-example.conf Mon Jan 16 18:46:30 2006 --- dovecot-example.conf Tue Jan 17 08:49:50 2006 *************** *** 226,252 **** # without a location setting. Default namespace is simply done by having a # namespace with empty prefix. #namespace private { ! # Hierarchy separator to use. You should use the same separator for all ! # namespaces or some clients get confused. '/' is usually a good one. #separator = / ! # Prefix required to access this namespace. This needs to be different for ! # all namespaces. For example "Public/". #prefix = ! # Physical location of the mailbox. This is in same format as ! # default_mail_env, which is also the default for it. #location ! # There can be only one INBOX, and this setting defines which namespace ! # has it. #inbox = yes ! # If namespace is hidden, it's not advertised to clients via NAMESPACE ! # extension or shown in LIST replies. This is mostly useful when converting ! # from another server with different namespaces which you want to depricate ! # but still keep working. For example you can create hidden namespaces with ! # prefixes "~/mail/", "~%u/mail/" and "mail/". #hidden = yes #} --- 226,252 ---- # without a location setting. Default namespace is simply done by having a # namespace with empty prefix. #namespace private { ! ### Hierarchy separator to use. You should use the same separator for all ! ### namespaces or some clients get confused. '/' is usually a good one. #separator = / ! ### Prefix required to access this namespace. This needs to be different for ! ### all namespaces. For example "Public/". #prefix = ! ### Physical location of the mailbox. This is in same format as ! ### default_mail_env, which is also the default for it. #location ! ### There can be only one INBOX, and this setting defines which namespace ! ### has it. #inbox = yes ! ### If namespace is hidden, it's not advertised to clients via NAMESPACE ! ### extension or shown in LIST replies. This is mostly useful when converting ! ### from another server with different namespaces which you want to depricate ! ### but still keep working. For example you can create hidden namespaces with ! ### prefixes "~/mail/", "~%u/mail/" and "mail/". #hidden = yes #} *************** *** 620,626 **** # The deny passdb should always be specified before others, so it gets # checked first. Here's an example: #passdb passwd-file { ! # File contains a list of usernames, one per line #args = /etc/dovecot.deny #deny = yes #} --- 620,626 ---- # The deny passdb should always be specified before others, so it gets # checked first. Here's an example: #passdb passwd-file { ! ### File contains a list of usernames, one per line #args = /etc/dovecot.deny #deny = yes #} *************** *** 667,704 **** # BSD authentication. Used by at least OpenBSD. #passdb bsdauth { ! # [cache_key=<key>] - See cache_key in PAM for explanation. #args #} # passwd-like file with specified location #passdb passwd-file { ! # Path for passwd-file #args = #} # checkpassword executable authentication # NOTE: You will probably want to use "userdb prefetch" with this. #passdb checkpassword { ! # Path for checkpassword binary #args = #} # SQL database #passdb sql { ! # Path for SQL configuration file, see doc/dovecot-sql.conf for example #args = #} # LDAP database #passdb ldap { ! # Path for LDAP configuration file, see doc/dovecot-ldap.conf for example #args = #} # vpopmail authentication #passdb vpopmail { ! # [cache_key=<key>] - See cache_key in PAM for explanation. #args #} --- 667,704 ---- # BSD authentication. Used by at least OpenBSD. #passdb bsdauth { ! ### [cache_key=<key>] - See cache_key in PAM for explanation. #args #} # passwd-like file with specified location #passdb passwd-file { ! ### Path for passwd-file #args = #} # checkpassword executable authentication # NOTE: You will probably want to use "userdb prefetch" with this. #passdb checkpassword { ! ### Path for checkpassword binary #args = #} # SQL database #passdb sql { ! ### Path for SQL configuration file, see doc/dovecot-sql.conf for example #args = #} # LDAP database #passdb ldap { ! ### Path for LDAP configuration file, see doc/dovecot-ldap.conf for example #args = #} # vpopmail authentication #passdb vpopmail { ! ### [cache_key=<key>] - See cache_key in PAM for explanation. #args #} *************** *** 718,749 **** # passwd-like file with specified location #userdb passwd-file { ! # Path for passwd-file #args #} # static settings generated from template #userdb static { ! # Template for settings. Can return anything a userdb could normally ! # return, eg.: uid, gid, home, mail, nice ! # ! # A few examples: ! # ! # args = uid=500 gid=500 home=/var/mail/%u ! # args = uid=500 gid=500 home=/home/%u mail=mbox:/home/%u/mail nice=10 ! # #args #} # SQL database #userdb sql { ! # Path for SQL configuration file, see doc/dovecot-sql.conf for example #args = #} # LDAP database #userdb ldap { ! # Path for LDAP configuration file, see doc/dovecot-ldap.conf for example #args = #} --- 718,749 ---- # passwd-like file with specified location #userdb passwd-file { ! ### Path for passwd-file #args #} # static settings generated from template #userdb static { ! ### Template for settings. Can return anything a userdb could normally ! ### return, eg.: uid, gid, home, mail, nice ! ### ! ### A few examples: ! ### ! ### args = uid=500 gid=500 home=/var/mail/%u ! ### args = uid=500 gid=500 home=/home/%u mail=mbox:/home/%u/mail nice=10 ! ### #args #} # SQL database #userdb sql { ! ### Path for SQL configuration file, see doc/dovecot-sql.conf for example #args = #} # LDAP database #userdb ldap { ! ### Path for LDAP configuration file, see doc/dovecot-ldap.conf for example #args = #}