2010/10/14 Timo Sirainen <t...@iki.fi>: > On Thu, 2010-10-14 at 19:40 +0200, Johan Hendriks wrote: >> e select shared/domain.com/johan/INBOX >> e NO Character not allowed in mailbox name: '.' > > This looks as if it's not even seeing the shared namespace. What does it > log with mail_debug=yes? > >> namespace { >> inbox = no >> list = children >> location = maildir:/usr/local/virtual/%%d/%%n/shared/:INDEX=/shared/%%n >> prefix = shared/%%d/%%u/ > > Also the :INDEX= path is now identical for two users in different > domains. You should use %%u or %%d/%%n there as well. > > > Ok i did the following.
edit the dovecot.conf file also the dovecot-dict-acl.sql file. telnet 192.168.50.200 143 Trying 192.168.50.200... Connected to beasty.localdomain.local. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready. a login jo...@domain.com a BAD Error in IMAP command received by server. a login jo...@domain.com johanpass a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS QUOTA ACL RIGHTS=texk] Logged in b DELETEACL INBOX h...@domain.com b OK Deleteacl complete. c GETACL INBOX * ACL "INBOX" "jo...@domain.com" lrwstipekxacd c OK Getacl completed. d SETACL INBOX h...@domain.com lr d OK Setacl complete. e GETACL INBOX * ACL "INBOX" "h...@domain.com" lr "jo...@domain.com" lrwstipekxacd e OK Getacl completed. ^C^] telnet> quit Connection closed. Then i login as hans telnet 192.168.50.200 143 Trying 192.168.50.200... Connected to beasty.localdomain.local. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready. a login h...@domain.com hanspass a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS QUOTA ACL RIGHTS=texk] Logged in b list "" /shared/* b OK List completed. c list "" shared/domain.com/johan/* c OK List completed. d select shared/domain.com/johan/INBOX d NO Character not allowed in mailbox name: '.' i got the following log in /var/log/maillog Oct 14 19:56:56 beasty dovecot: dict: mysql: Connected to localhost (postfix) Oct 14 19:58:03 beasty dovecot: imap(jo...@domain.com): Connection closed bytes=112/536 Oct 14 19:58:29 beasty dovecot: auth: mysql: Connected to localhost (postfix) Oct 14 19:58:29 beasty dovecot: imap-login: Login: user=<h...@domain.com>, method=PLAIN, rip=192.168.50.200, lip=192.168.50.200, mpid=6615, secured Oct 14 19:59:53 beasty dovecot: dict: Error: sql dict iterate: Invalid/unmapped path: shared/shared-boxes/anyone/ Oct 14 19:59:53 beasty dovecot: dict: mysql: Connected to localhost (postfix) dovecot -n is now - Tekst uit oorspronkelijke bericht weergeven - # 2.0.5: /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 8.1-STABLE amd64 ufs auth_debug = yes auth_debug_passwords = yes auth_mechanisms = plain login auth_verbose = yes dict { acl = mysql:/usr/local/etc/dovecot/dovecot-dict-acl-sql.conf quotadict = mysql:/usr/local/etc/dovecot/dovecot-dict-quota.conf } disable_plaintext_auth = no first_valid_gid = 1004 first_valid_uid = 1004 last_valid_gid = 1004 last_valid_uid = 1004 log_timestamp = .%Y-%m-%d %H:%M:%S . mail_access_groups = vmail mail_debug = yes mail_gid = 1004 mail_location = maildir:/usr/local/virtual/%d/%n mail_uid = 1004 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 mbox_write_locks = fcntl namespace { hidden = no inbox = yes list = yes location = prefix = separator = / subscriptions = yes type = private } namespace { inbox = no list = children location = maildir:/usr/local/virtual/%%d/%%n/shared/:INDEX=/shared/%%d/%%n prefix = shared/%%d/%%u/ - Tekst uit oorspronkelijke bericht weergeven - separator = / subscriptions = no type = shared } passdb { args = /usr/local/etc/dovecot/dovecot-mysql.conf driver = sql } plugin { acl = vfile acl_anyone = allow acl_shared_dict = proxy::acl autocreate = Trash autocreate2 = Junk autocreate3 = Sent autocreate4 = Drafts autocreate5 = Templates autosubscribe = Trash autosubscribe2 = Junk autosubscribe3 = Sent autosubscribe4 = Drafts autosubscribe5 = Templates quota = dict:::proxy::quotadict quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95 quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80 } protocols = imap pop3 service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-master { group = vmail mode = 0660 user = vmail } } service dict { unix_listener dict { mode = 0600 user = vmail } } service imap-login { inet_listener imap { address = 192.168.50.200 port = 143 } } service pop3-login { inet_listener pop3 { address = 192.168.50.200 port = 110 } } ssl = no userdb { args = /usr/local/etc/dovecot/dovecot-mysql.conf driver = sql } protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep imap_idle_notify_interval = 2 mins imap_logout_format = bytes=%i/%o imap_max_line_length = 64 k mail_plugins = quota imap_quota autocreate acl imap_acl mail_log notify } protocol pop3 { mail_plugins = quota trash pop3_client_workarounds = outlook-no-nuls oe-ns-eoh pop3_uidl_format = %08Xu%08Xv } protocol lda { auth_socket_path = /var/run/dovecot/auth-master mail_plugins = quota acl mail_log notify postmaster_address = postmas...@test.com sendmail_path = /usr/local/sbin/sendmail } My dovecot-dict-acl-sql.conf file looks like the following connect = host=localhost dbname=postfix user=postfix password=postfix map { pattern = shared/shared-boxes/user/$to/$from table = user_shares value_field = dummy fields { from_user = $from to_user = $to } } In my table from mysql i see the following mysql> select * from user_shares; +-----------------------+----------------------+-------+ | from_user | to_user | dummy | +-----------------------+----------------------+-------+ | jo...@domain.com | h...@domain.com | 1 | +-----------------------+----------------------+-------+ 1 row in set (0.00 sec) regards, Johan Hendriks