Accessing Shared Mailbox, FQDN not appended to user

Ed Nitido ednitido at gmail.com
Sat Apr 15 10:39:32 EEST 2017


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=(&(|(uid=
vsun 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 user=
vsun 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=(&(|(uid=
vsun 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 args=
Apr 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, alt=
Apr 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=, alt=
Apr 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 args=
Apr 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, alt=
Apr 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


More information about the dovecot mailing list