[Dovecot] Trouble with case-sensitive LDAP user logins

Jason Discount dovecot.org at practiceofcode.com
Wed Aug 28 04:09:52 EEST 2013


Hi All,

I have a client running Dovecot-Postfix on Debian Squeeze. I'm using Dovecot from the Squeeze repository.

# dovecot --version
1.2.15

I've implemented a central mail_location and am using one vmail user, as I thought this would be be the best approach for when it came time to implement Shared and Public Mailboxes.

# dovecot -n
# 1.2.15: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-xen-686 i686 Debian 6.0.7 ext3
log_timestamp: %Y-%m-%d %H:%M:%S 
protocols: imap imaps pop3s managesieve
listen(default): 127.0.0.1:143
listen(imap): 127.0.0.1:143
listen(pop3): 127.0.0.1:110
listen(managesieve): *
ssl_listen(default): *:993
ssl_listen(imap): *:993
ssl_listen(pop3): *:995
ssl_listen(managesieve): 
ssl_ca_file: /etc/ssl/certs/RapidSSL_CA_bundle.pem
ssl_cert_file: /etc/ssl/certs/mail.example.com.2013.chain.pem
ssl_key_file: /etc/ssl/private/example.2013.key
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/pop3-login
login_executable(managesieve): /usr/lib/dovecot/managesieve-login
mail_max_userip_connections(default): 40
mail_max_userip_connections(imap): 40
mail_max_userip_connections(pop3): 10
mail_max_userip_connections(managesieve): 10
mail_privileged_group: mail
mail_uid: vmail
mail_gid: vmail
mail_location: maildir:/var/spool/dovecot/%d/%u
mbox_write_locks: fcntl dotlock
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/pop3
mail_executable(managesieve): /usr/lib/dovecot/managesieve
mail_plugins(default): quota imap_quota
mail_plugins(imap): quota imap_quota
mail_plugins(pop3): 
mail_plugins(managesieve): 
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve
namespace:
  type: private
  separator: /
  inbox: yes
  list: yes
  subscriptions: yes
lda:
  postmaster_address: postmaster at example.com
  mail_plugins: sieve quota
  log_path: /var/log/dovecot-deliver.log
  info_log_path: /var/log/dovecot-deliver.log
auth default:
  mechanisms: plain login
  passdb:
    driver: ldap
    args: /etc/dovecot/dovecot-ldap.conf
  userdb:
    driver: ldap
    args: /etc/dovecot/dovecot-ldap-userdb.conf
  socket:
    type: listen
    client:
      path: /var/spool/postfix/private/auth
      mode: 432
      user: postfix
      group: postfix
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
      user: vmail
      group: vmail
plugin:
  quota: maildir:User
  quota_rule: *:storage=1200M
  quota_rule2: Deleted Messages:storage=10%%
  quota_rule3: Deleted Items:storage=10%%
  quota_rule4: Trash:storage=10%%
  sieve: /var/spool/sieve/%d/%u/.dovecot.sieve
  sieve_dir: /var/spool/sieve/%d/%u

All of the mail users are LDAP users only (not local UNIX users - not using nsswitch). dovecot-ldap-userdb.conf is a symbolic link to dovecot-ldap.conf

# grep -v '^ *\(#.*\)\?$' /etc/dovecot/dovecot-ldap.conf 
uris = ldaps://mail.example.com/
dn = uid=mail,ou=Services,dc=example,dc=com
dnpass = ******************
tls_require_cert = hard
auth_bind = yes
base = ou=People,dc=example,dc=com
user_attrs = quota=quota_rule=*:storage=%$M
user_filter = (&(objectClass=posixAccount)(mail=%u))
pass_attrs = uid=mail,userPassword=password
pass_filter = (&(objectClass=posixAccount)(mail=%u))

Now, mail addressed to user at example.com and user at EXAMPLE.com correctly gets delivered to the correct mail location of /var/spool/dovecot/example.com/user, but the problem occurs when the user creates their account with uppercase characters in their username, e.g. user at exaMPLE.com. This creates a new directory at /var/spool/dovecot/exaMPLE.com/user, which ever receives any mail. Is it possible to ignore the case the user enters in their mail client and always land them at the lowercase mail directory? Where would this be done?

Thank you,

Jay



More information about the dovecot mailing list