[Dovecot] 1.0beta1: bullet-proofing dovecot-example.conf

Jeff A. Earickson jaearick at colby.edu
Tue Jan 17 15:59:19 EET 2006


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 = 
    #}
  


More information about the dovecot mailing list