[Dovecot] migration dove 2.0 2.1 shared namespace acl broken / shared/%%n/ works

Robert Schetterer robert at schetterer.org
Thu Apr 19 17:45:34 EEST 2012


Am 18.04.2012 19:44, schrieb Robert Schetterer:
> Am 18.04.2012 19:01, schrieb Timo Sirainen:
>> On 17.4.2012, at 17.40, Robert Schetterer wrote:
>>
>>> doveadm acl debug
>>>
>>> shows on both versions
>>>
>>> Fatal: ACL shared dict iteration failed
>>
>> Doesn't it show any other error message before this? Either to terminal or to error log? What's your doveconf -n?
> 
> 
> Hi Timo,
> i didnt found more usefull errors before
> all are  like Debug: acl: No lookup right to mailbox:
> but that istn true, i checked it in the filesystem
> and tried new acls etc
> ( and they working under 2.0.20 )
> 
> to me it looks like some acl check/list problem
> perhaps depend on stuff like in i.e
> http://hg.dovecot.org/dovecot-2.1/rev/65a75939ac2c
> 
> as i said the old 2.0.20 works still fine
> on the other server
> the only change i did was with virtual and namespace inbox
> to get special_use working
> 
>>
> this is from the dove version
> 
> # 2.1.4 (85ad4baedd43): /etc/dovecot/dovecot.conf
> # OS: Linux 2.6.32-37-server x86_64 Ubuntu 10.04.4 LTS
> auth_cache_negative_ttl = 0
> auth_cache_size = 50 M
> auth_debug = yes
> auth_debug_passwords = yes
> auth_master_user_separator = *
> auth_mechanisms = plain login
> auth_socket_path = /var/run/dovecot/auth-userdb
> auth_verbose = yes
> auth_verbose_passwords = plain
> auth_worker_max_count = 300
> dict {
>   acl = mysql:/etc/dovecot/dovecot-dict-acl-sql.conf.ext
>   expire = mysql:/etc/dovecot/dovecot-dict-expire-sql.conf.ext
>   quotadict = mysql:/etc/dovecot/dovecot-dict-quota-sql.conf.ext
> }
> disable_plaintext_auth = no
> first_valid_gid = 1001
> first_valid_uid = 1001
> hostname = mail01.example.com
> last_valid_gid = 1001
> last_valid_uid = 1001
> listen = *
> login_greeting = imap, pop ready
> mail_access_groups = vmail
> mail_debug = yes
> mail_fsync = always
> mail_gid = 1001
> mail_location = maildir:~/
> mail_nfs_index = yes
> mail_nfs_storage = yes
> mail_plugins = " stats zlib expire virtual fts fts_squat mail_log
> autocreate notify acl listescape"
> mail_privileged_group = vmail
> mail_uid = 1001
> 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 ihave imapflags notify
> mmap_disable = yes
> namespace {
>   list = yes
>   location = maildir:/usr/local/virtual/%%d/%%u:INDEX=~/shared/%%d/%%u
>   prefix = shared/%%u/
>   separator = /
>   subscriptions = no
>   type = shared
> }
> namespace inbox {
>   hidden = no
>   list = yes
>   location =
>   mailbox Drafts {
>     auto = subscribe
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     auto = subscribe
>     special_use = \Junk
>   }
>   mailbox Sent {
>     auto = subscribe
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     special_use = \Sent
>   }
>   mailbox Trash {
>     auto = subscribe
>     special_use = \Trash
>   }
>   mailbox name {
>     special_use = \Drafts \Junk \Sent \Trash
>   }
>   prefix =
>   separator = /
>   subscriptions = yes
> }
> namespace real {
>   hidden = yes
>   list = no
>   location =
>   prefix = RealMails/
>   separator = /
> }
> namespace virtual {
>   hidden = yes
>   list = no
>   location = virtual:/etc/dovecot/virtual2:LAYOUT=maildir++:INDEX=~/virtual
>   prefix = virtual/
>   separator = /
> }
> passdb {
>   args = /etc/dovecot/dovecot-sql-master.conf.ext
>   driver = sql
>   master = yes
>   pass = yes
> }
> passdb {
>   args = /etc/dovecot/dovecot-sql.conf.ext
>   driver = sql
> }
> plugin {
>   acl = vfile:/etc/dovecot/global-acls:cache_secs=300
>   acl_shared_dict = proxy::acl
>   autocreate = Trash
>   autocreate2 = Junk
>   autocreate3 = Sent
>   autocreate4 = Drafts
>   autocreate5 = Templates
>   autocreate6 = Hostmaster-Backup
>   autocreate7 = archiv-backup-mailspooler
>   autosubscribe = Trash
>   autosubscribe2 = Junk
>   autosubscribe3 = Sent
>   autosubscribe4 = Drafts
>   autosubscribe5 = Templates
>   expire = Trash
>   expire2 = Trash/*
>   expire3 = Junk
>   expire4 = Junk/*
>   expire5 = Hostmaster-Backup
>   expire6 = Hostmaster-Backup/*
>   expire7 = archiv-backup-mailspooler/*
>   expire_dict = proxy::expire
>   fts = squat
>   home = /usr/local/virtual/%d/%u
>   mail_log_events = delete undelete expunge copy mailbox_delete
> mailbox_rename
>   mail_log_fields = uid box msgid size
>   mail_log_group_events = yes
>   quota = dict:::proxy::quotadict
>   quota_warning = storage=95%% quota-warning 95 %u
>   quota_warning2 = storage=80%% quota-warning 80 %u
>   sieve = /usr/local/virtual/%d/%u/dovecot.sieve
>   sieve_before = /etc/dovecot/sieve/global.sieve
>   sieve_dir = /usr/local/virtual/%d/%u/sieve
>   sieve_execute_bin_dir = /usr/lib/dovecot/sieve-execute
>   sieve_execute_socket_dir = sieve-execute
>   sieve_extensions = +notify +imapflags
>   sieve_filter_bin_dir = /usr/lib/dovecot/sieve-filter
>   sieve_filter_socket_dir = sieve-filter
>   sieve_global_dir = /etc/dovecot/sieve/
>   sieve_global_extensions = +vnd.dovecot.execute +vnd.dovecot.pipe
> +vnd.dovecot.filter
>   sieve_global_path = /etc/dovecot/sieve/global.sieve
>   sieve_pipe_bin_dir = /usr/lib/dovecot/sieve-pipe
>   sieve_pipe_socket_dir = sieve-pipe
>   sieve_plugins = sieve_extprograms
>   stats_refresh = 30 secs
>   stats_track_cmds = yes
>   zlib_save = gz
>   zlib_save_level = 6
> }
> postmaster_address = hostmaster at mail01.example.com
> protocols = imap pop3 lmtp sieve
> sendmail_path = /usr/lib/sendmail
> service anvil {
>   client_limit = 1000
> }
> service auth-worker {
>   user = root
> }
> service auth {
>   client_limit = 1000
>   unix_listener /var/spool/postfix/private/auth {
>     group = postfix
>     mode = 0666
>     user = postfix
>   }
>   unix_listener auth-userdb {
>     group = vmail
>     mode = 0600
>     user = vmail
>   }
> }
> service dict {
>   extra_groups = vmail
>   unix_listener dict {
>     group = vmail
>     mode = 0660
>   }
> }
> service imap-login {
>   inet_listener imap {
>     port = 143
>   }
>   inet_listener imaps {
>     port = 993
>     ssl = yes
>   }
>   process_min_avail = 8
>   service_count = 1
> }
> service imap-postlogin {
>   executable = script-login /usr/local/bin/postlogin_imap.sh
> }
> service imap {
>   executable = imap imap-postlogin
>   process_limit = 1024
>   vsz_limit = 256 M
> }
> service lmtp {
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
>   vsz_limit = 256 M
> }
> service managesieve-login {
>   inet_listener {
>     address = 127.0.0.1 212.52.224.210 212.52.224.205
>     port = 2000
>   }
>   vsz_limit = 256 M
> }
> service pop3-login {
>   inet_listener pop3 {
>     port = 110
>   }
>   inet_listener pop3s {
>     port = 995
>     ssl = yes
>   }
> }
> service pop3-postlogin {
>   executable = script-login /usr/local/bin/postlogin_pop3.sh
> }
> service pop3 {
>   executable = pop3 pop3-postlogin
>   process_limit = 1024
> }
> service quota-warning {
>   executable = script /usr/local/bin/quota-warning.sh
>   unix_listener quota-warning {
>     mode = 0666
>     user = vmail
>   }
>   user = vmail
> }
> service stats {
>   fifo_listener stats-mail {
>     mode = 0600
>     user = vmail
>   }
> }
> ssl_ca = </etc/postfix/wildcard.pem
> ssl_cert = </etc/postfix/wildcard.crt
> ssl_key = </etc/postfix/wildcard.key
> userdb {
>   args = /etc/dovecot/dovecot-sql.conf.ext
>   driver = sql
> }
> userdb {
>   args = /etc/dovecot/dovecot-sql.conf.ext
>   driver = sql
> }
> verbose_proctitle = yes
> protocol lda {
>   mail_plugins = quota sieve virtual acl mail_log notify expire listescape
> }
> protocol imap {
>   imap_client_workarounds = delay-newmail
>   imap_id_log = *
>   imap_id_send = *
>   imap_idle_notify_interval = 2 mins
>   imap_logout_format = bytes=%i/%o
>   imap_max_line_length = 128 k
>   mail_max_userip_connections = 100
>   mail_plugins = imap_acl acl fts fts_squat mail_log autocreate notify
> expire virtual quota imap_quota zlib imap_zlib listescape stats imap_stats
> }
> protocol lmtp {
>   mail_plugins = quota sieve virtual acl fts fts_squat mail_log notify
> expire listescape
> }
> protocol sieve {
>   mail_max_userip_connections = 100
> }
> protocol pop3 {
>   mail_max_userip_connections = 100
>   mail_plugins = expire virtual quota mail_log fts fts_squat notify
> listescape
>   pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
>   pop3_enable_last = yes
>   pop3_fast_size_lookups = yes
>   pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
>   pop3_no_flag_updates = no
>   pop3_reuse_xuidl = no
>   pop3_uidl_format = %g
> }
> 
> 
> 
Hi Timo,
i did some more tests
in shared namespace
prefix

shared/%%u/ is not working


shared/%%n/ is working

i cant use that cause of mutiple domains
naming convention ,users are user at domain.de etc


-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria



More information about the dovecot mailing list