[Dovecot] ACL plugin, public namespace, erroneous \HasNoChildren
Stefan Förster
cite+dovecot-users at incertum.net
Thu Aug 6 06:08:25 EEST 2009
Hi,
dovecot 1.2.2 with a second namespace called "Public", mapped to
"/export/vmailboxes/public", LIST returning \HasNoChildren:
root at testvm06:~# cat /export/vmailboxes/public/dovecot-acl
user=cite lrwstiekxa
authenticated lrs
anyone lrs
root at testvm06:~# ls -l /export/vmailboxes/public/.announcements/dovecot-acl
lrwxrwxrwx 1 root root 14 Aug 6 03:50 /export/vmailboxes/public/.announcements/dovecot-acl -> ../dovecot-acl
With ACL plugin enabled (notice the \HasNoChildren):
root at testvm06:~# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5] Dovecot ready.
. login cite secret
. OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH ACL RIGHTS=texk QUOTA] Logged in
. list "" Public
* LIST (\Noselect \HasNoChildren) "." "Public"
. OK List completed.
. select Public.announcements
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1249522417] UIDs valid
* OK [UIDNEXT 1] Predicted next UID
* OK [HIGHESTMODSEQ 1]
. OK [READ-WRITE] Select completed.
I included the select to show that filesystem permissions are OK.
Without ACL plugin (notice the \HasChildren here):
root at testvm06:~# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5] Dovecot ready.
. login cite secret
. OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH QUOTA] Logged in
. list "" Public
* LIST (\Noselect \HasChildren) "." "Public"
. OK List completed.
Is this intended behaviour, am I just too stupid for ACLs or something
completely different? I wonder how clients are supposed to get a
listing of a public namespace...
dovecot -n:
# 1.2.2: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-2-amd64 x86_64 Debian 5.0.2
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap imaps managesieve
listen(default): *:143
listen(imap): *:143
listen(managesieve): *
ssl_listen(default): *:993
ssl_listen(imap): *:993
ssl_listen(managesieve):
ssl_cert_file: /etc/ssl/owncerts/snakeoil.crt
ssl_key_file: /etc/ssl/private/snakeoil.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(managesieve): /usr/lib/dovecot/managesieve-login
verbose_proctitle: yes
mail_privileged_group: vmail
mail_location: maildir:~/Maildir
mbox_write_locks: fcntl dotlock
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(managesieve): /usr/lib/dovecot/managesieve
mail_process_size: 1024
mail_plugins(default): quota imap_quota fts fts_squat acl
mail_plugins(imap): quota imap_quota fts fts_squat acl
mail_plugins(managesieve):
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve
namespace:
type: private
separator: .
inbox: yes
list: yes
subscriptions: yes
namespace:
type: public
separator: .
prefix: Public.
location: maildir:/export/vmailboxes/public
list: yes
lda:
postmaster_address: postmaster at test.cite.lan
hostname: testvm06.test.cite.lan
mail_plugins: quota sieve
auth_socket_path: /var/run/dovecot/auth-master
auth default:
mechanisms: plain login cram-md5
passdb:
driver: sql
args: /etc/dovecot/dovecot-sql.conf
userdb:
driver: sql
args: /etc/dovecot/dovecot-sql.conf
socket:
type: listen
client:
path: /var/spool/postfix/private/auth
mode: 432
user: postfix
group: sasl
master:
path: /var/run/dovecot/auth-master
mode: 384
user: vmail
group: vmail
plugin:
quota: maildir:User quota
quota_warning: storage=80%% /usr/local/bin/quota-warning.sh 80
quota_warning: storage=95%% /usr/local/bin/quota-warning.sh 95
sieve: ~/.dovecot.sieve
sieve_storage: ~/sieve
sieve_extensions: +imapflags
fts: squat
fts_squat: partial=4 full=10
acl: vfile
Cheers
Stefan
More information about the dovecot
mailing list