Hey all long time, I recently upgraded Dovecot from 2.1.15 to 2.2.29.1 on my Debian Wheezy box and thought I'd tackle shared mailboxes. I can grant fine, using SETACL in telnet . SETACL mine vsun at test.domain.com lr . OK Setacl complete (0.596 + 0.000 + 0.595 secs). . GETACL mine * ACL mine vsun at test.domain.com lr edward at test.domain.com lrwstipekxacd However, logging in as vsun at test.domain.com, the logs shows the MASTER IN user doesn't get FQDN. Instead of edward at test.domain.com it just shows edward at test How come it only show's a partial domain? Thanks! Here's my config: # 2.2.29.1 (e0b76e3): /usr/local/etc/dovecot/dovecot.conf # Pigeonhole version 0.4.18 (29cc74d) # OS: Linux 2.6.32-5-openvz-amd64 i686 Debian 7.11 auth_debug = yes auth_master_user_separator = * auth_mechanisms = plain login auth_socket_path = /usr/local/var/run/dovecot/auth-userdb debug_log_path = /var/log/dovecot-debug.log disable_plaintext_auth = no info_log_path = /var/log/dovecot-debug.log listen = * log_path = /var/log/dovecot-debug.log mail_debug = yes mail_gid = vmail mail_location = maildir:%h/Maildir mail_plugins = " quota" mail_uid = vmail managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext namespace { list = children location = maildir:%%h/Maildir:INDEX=%h/Maildir/shared/%%u prefix = shared.%%u. separator = . subscriptions = no type = shared } namespace inbox { hidden = no inbox = yes list = yes location mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix separator = . subscriptions = yes type = private } passdb { args = /usr/local/etc/dovecot/master-users driver = passwd-file master = yes pass = yes } passdb { args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { acl = vfile acl_shared_dict = file:/home/%d/shared-mailboxes quota = maildir:User quota quota_rule = *:storage=1G quota_warning = storage=95%% quota-warning 95 %u %d quota_warning2 = storage=80%% quota-warning 80 %u %d sieve = file:~/sieve;active=~/.dovecot.sieve sieve_after = /usr/local/etc/dovecot/sieve.d/after/ sieve_max_actions = 32 sieve_max_redirects = 4 sieve_max_script_size = 1M sieve_quota_max_scripts = 0 sieve_quota_max_storage = 0 } postmaster_address = postmaster at test.domain.com protocols = imap pop3 lmtp sieve quota_full_tempfail = yes service auth { inet_listener { port = 12345 } unix_listener auth-userdb { group = vmail mode = 0600 user = vmail } } service imap-login { inet_listener imap { port = 143 } } service imap-postlogin { executable = script-login /usr/local/bin/postlogin.sh } service imap { executable = imap imap-postlogin } service lmtp { inet_listener lmtp { port = 24 } unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service pop3-login { inet_listener pop3 { port = 110 } } service quota-warning { executable = script /usr/local/bin/quota-warning.sh unix_listener quota-warning { user = vmail } user = dovecot } ssl = no userdb { args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext driver = ldap } verbose_proctitle = yes protocol lmtp { mail_plugins = " quota quota sieve" } protocol lda { mail_plugins = " quota sieve" } protocol imap { mail_max_userip_connections = 20 mail_plugins = " quota imap_quota imap_acl acl" } protocol sieve { mail_debug = yes mail_max_userip_connections = 10 mail_plugins managesieve_implementation_string = Dovecot Pigeonhole managesieve_logout_format = bytes=%i/%o managesieve_max_compile_errors = 5 managesieve_max_line_length = 65536 managesieve_notify_capability managesieve_sieve_capability } protocol pop3 { mail_max_userip_connections = 20 mail_plugins = " quota quota" } Here's my log: Apr 15 07:17:44 auth: Debug: client in: AUTH 1 PLAIN service=imap session=7Fq7Wi9N84DAqAzk lip=192.168.12.229 rip=192.168.12.228 lport=143 rport=33011 Apr 15 07:17:44 auth: Debug: client passdb out: CONT 1 Apr 15 07:17:44 auth: Debug: client in: CONT<hidden> Apr 15 07:17:44 auth: Debug: ldap(vsun at test.domain.com,192.168.12.228,<7Fq7Wi9N84DAqAzk>): pass search: base=dc=nitido,dc=com scope=subtree filter=(&(|(uidvsun at test.domain.com)(mailAlternateAddress=vsun at test.domain.com))(nimPimUserStatus=active)) fields=uid,userPassword Apr 15 07:17:44 auth: Debug: ldap(vsun at test.domain.com,192.168.12.228,<7Fq7Wi9N84DAqAzk>): result: userPassword=<hidden> uid=vsun at test.domain.com; uid,userPassword unused Apr 15 07:17:44 auth: Debug: ldap(vsun at test.domain.com,192.168.12.228,<7Fq7Wi9N84DAqAzk>): result: userPassword=<hidden> uid=vsun at test.domain.com Apr 15 07:17:44 auth: Debug: client passdb out: OK 1 uservsun at test.domain.com Apr 15 07:17:44 auth: Debug: master in: REQUEST 2978611201 18284 1 c7599d3e61eb73c5f88a0faa9c510d86 session_pid=18285 request_auth_token Apr 15 07:17:44 auth: Debug: ldap(vsun at test.domain.com,192.168.12.228,<7Fq7Wi9N84DAqAzk>): user search: base=dc=nitido,dc=com scope=subtree filter=(&(|(uidvsun at test.domain.com)(mailAlternateAddress=vsun at test.domain.com))(nimPimUserStatus=active)) fields=homeDirectory,quotaMailSoft Apr 15 07:17:44 auth: Debug: ldap(vsun at test.domain.com,192.168.12.228,<7Fq7Wi9N84DAqAzk>): result: quotaMailSoft=2048 homeDirectory=/home/ test.domain.com/vsun at test.domain.com; homeDirectory,quotaMailSoft unused Apr 15 07:17:44 auth: Debug: ldap(vsun at test.domain.com,192.168.12.228,<7Fq7Wi9N84DAqAzk>): result: quotaMailSoft=2048 homeDirectory=/home/ test.domain.com/vsun at test.domain.com Apr 15 07:17:44 auth: Debug: master userdb out: USER 2978611201 vsun at test.domain.com home=/home/test.domain.com/vsun at test.domain.com quota_rule=*:storage=2048M auth_token=f594cf479e39a82a1175d26368186c2e8c938630 Apr 15 07:17:44 imap-login: Info: Login: user=<vsun at test.domain.com>, method=PLAIN, rip=192.168.12.228, lip=192.168.12.229, mpid=18285, session=<7Fq7Wi9N84DAqAzk> Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Loading modules from directory: /usr/local/lib/dovecot Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Module loaded: /usr/local/lib/dovecot/lib01_acl_plugin.so Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Module loaded: /usr/local/lib/dovecot/lib02_imap_acl_plugin.so Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Module loaded: /usr/local/lib/dovecot/lib10_quota_plugin.so Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Module loaded: /usr/local/lib/dovecot/lib11_imap_quota_plugin.so Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Added userdb setting: plugin/master_user=vsun at test.domain.com Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Added userdb setting: plugin/quota_rule=*:storage=2048M Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Effective uid=1021, gid=1021, home=/home/test.domain.com/vsun at test.domain.com Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota root: name=User quota backend=maildir argsApr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota rule: root=User quota mailbox=* bytes=2147483648 messages=0 Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota warning: bytes=2040109465 (95%) messages=0 reverse=no command=quota-warning 95 vsun at test.domain.com test.domain.com Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota warning: bytes=1717986918 (80%) messages=0 reverse=no command=quota-warning 80 vsun at test.domain.com test.domain.com Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota grace: root=User quota bytes=214748364 (10%) Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Namespace inbox: type=private, prefix=, sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/home/ test.domain.com/vsun at test.domain.com/Maildir Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: maildir++: root=/home/ test.domain.com/vsun at test.domain.com/Maildir, index=, indexpvt=, control=, inbox=/home/test.domain.com/vsun at test.domain.com/Maildir, altApr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl: initializing backend with data: vfile Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl: acl username vsun at test.domain.com Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl: owner = 1 Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl vfile: Global ACLs disabled Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Namespace : type=shared, prefix=shared.%u., sep=., inbox=no, hidden=no, list=children, subscriptions=no location=maildir:%h/Maildir:INDEX=/home/ test.domain.com/vsun at test.domain.com/Maildir/shared/%u Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: shared: root=/usr/local/var/run/dovecot, index=, indexpvt=, control=, inbox=, altApr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl: initializing backend with data: vfile Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl: acl username vsun at test.domain.com Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl: owner = 0 Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl vfile: Global ACLs disabled Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: quota: quota_over_flag check: quota_over_script unset - skipping Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl vfile: file /home/ test.domain.com/vsun at test.domain.com/Maildir/dovecot-acl not found Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl vfile: file /home/ test.domain.com/vsun at test.domain.com/Maildir/.Sent/dovecot-acl not found Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl vfile: file /home/ test.domain.com/vsun at test.domain.com/Maildir/.Sent Messages/dovecot-acl not found Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl vfile: file /home/ test.domain.com/vsun at test.domain.com/Maildir/.Trash/dovecot-acl not found Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl vfile: file /home/ test.domain.com/vsun at test.domain.com/Maildir/.Drafts/dovecot-acl not found Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl vfile: file /home/ test.domain.com/vsun at test.domain.com/Maildir/.Deleted Messages/dovecot-acl not found Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: acl vfile: file /home/ test.domain.com/vsun at test.domain.com/Maildir/.Spam/dovecot-acl not found Apr 15 07:17:44 auth: Debug: master in: USER 1 edward at test service=imap Apr 15 07:17:44 auth: Debug: ldap(edward at test): user search: base=dc=nitido,dc=com scope=subtree filter=(&(|(uid=edward at test )(mailAlternateAddress=edward at test))(nimPimUserStatus=active)) fields=homeDirectory,quotaMailSoft Apr 15 07:17:44 auth: Debug: ldap(edward at test): no fields returned by the server Apr 15 07:17:44 auth: Info: ldap(edward at test): unknown user Apr 15 07:17:44 auth: Debug: userdb out: NOTFOUND 1 Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: auth USER input: Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota root: name=User quota backend=maildir argsApr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota rule: root=User quota mailbox=* bytes=2147483648 messages=0 Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota warning: bytes=2040109465 (95%) messages=0 reverse=no command=quota-warning 95 edward at test test Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota warning: bytes=1717986918 (80%) messages=0 reverse=no command=quota-warning 80 edward at test test Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Quota grace: root=User quota bytes=214748364 (10%) Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: shared: Tried to access mails of nonexistent user edward at test Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: maildir++: root=/usr/local/var/run/dovecot/user-not-found/edward at test, index=, indexpvt=, control=, inbox=/usr/local/var/run/dovecot/user-not-found/edward at test, altApr 15 07:17:44 imap(vsun at test.domain.com): Debug: Namespace : /usr/local/var/run/dovecot/user-not-found/edward at test doesn't exist yet, using default permissions Apr 15 07:17:44 imap(vsun at test.domain.com): Debug: Namespace : Using permissions from /usr/local/var/run/dovecot/user-not-found/edward at test: mode=0700 gid=default