[Dovecot] Shared Mailbox Questions

Chris Hobbs chobbs at nhusd.k12.ca.us
Thu Jun 10 08:19:02 EEST 2010


Hi All, 

I've pored over the wiki, read through the archive, and have what I believe should be a working set-up, but I can't seem to get my shared namespace to work correctly. Any guidance would be much appreciated. 

I started off using a flat file for acl_shared_dict and ran into the same problem recently reported with the shared-database file getting chown'd to the first user to touch it with 0600 permissions. So I thought I'd give it a whirl with sqlite. 

Here are the (hopefully) relevant bits from dovecot -n (the entire output is posted below). This is dovecot 1.2.9 running on a freshly installed ubuntu 10.4 server: 

namespace: 
  type: shared 
  separator: / 
  prefix: shared/%%u/ 
  location: maildir:/home/staff/%%n/Maildir:INDEX=~/Maildir/shared/%%u 
  list: children 
plugin: 
  acl_shared_dict: proxy::acl 
dict: 
  acl: sqlite:/etc/dovecot/acl-shared-dict.conf 

acl-shared-dict.conf looks like this: 

connect = /home/staff/dovecot/acl-shared-ns.sqlite 

map { 
  table = acl_shared_ns 
  pattern = shared/shared-boxes/user/$to/$from 
  value_field = has_visible_folders 
  fields { 
    from_user = $from 
    to_user = $to 
  } 
} 

/home/staff/dovecot/acl-shared-ns.sqlite is set 0666, and I can add records to it from the sqlite command line as a normal user. The table was created with: 

CREATE TABLE acl_shared_ns (from_user, to_user, has_visible_folders, PRIMARY KEY (from_user) ON CONFLICT REPLACE); 

When I attempt to SETACL from a telnet imap session, I get the following errors in mail.err: 

Jun  9 22:10:23 imap2 dovecot: dict: dict sql iterate failed: file is encrypted or is not a database 
Jun  9 22:10:23 imap2 dovecot: dict: dict sql iterate failed: file is encrypted or is not a database 
Jun  9 22:10:23 imap2 dovecot: dict: sqlite: exec(INSERT INTO acl_shared_ns (has_visible_folders,to_user,from_user) VALUES ('1','chobbs','IOchoa')) failed: file is encrypted or is not a database (26) 
Jun  9 22:10:23 imap2 dovecot: IMAP(IOchoa): read(/var/run/dovecot/dict-server) failed: Remote disconnected 
Jun  9 22:10:23 imap2 dovecot: IMAP(IOchoa): acl: dict commit failed 
Jun  9 22:10:23 imap2 dovecot: dovecot: child 8268 (dict) killed with signal 11 (core dumps disabled) 

Running that same "INSERT INTO..." as the IOchoa user from the sqlite command line works just fine. 

At this point any further deleteacl or setacl commands simply hang, presumably because there's no longer a running dict process. 

Here is the entire output of dovecot -n: 

# 1.2.9: /etc/dovecot/dovecot.conf 
# OS: Linux 2.6.32-22-server x86_64 Ubuntu 10.04 LTS 
log_timestamp: %Y-%m-%d %H:%M:%S 
protocols: imap imaps pop3 pop3s managesieve 
listen(default): * 
listen(imap): * 
listen(pop3): * 
listen(managesieve): *:2000 
disable_plaintext_auth: no 
login_dir: /var/run/dovecot/login 
login_executable(default): /usr/lib/dovecot/imap-login 
login_executable(imap): /usr/lib/dovecot/imap-login 
login_executable(pop3): /usr/lib/dovecot/pop3-login 
login_executable(managesieve): /usr/lib/dovecot/managesieve-login 
mail_privileged_group: mail 
mail_uid: mail 
mail_gid: mail 
mail_location: maildir:~/Maildir 
mmap_disable: yes 
mail_nfs_storage: yes 
mail_nfs_index: yes 
mbox_write_locks: fcntl dotlock 
mail_executable(default): /usr/lib/dovecot/imap 
mail_executable(imap): /usr/lib/dovecot/imap 
mail_executable(pop3): /usr/lib/dovecot/pop3 
mail_executable(managesieve): /usr/lib/dovecot/managesieve 
mail_plugins(default): acl imap_acl 
mail_plugins(imap): acl imap_acl 
mail_plugins(pop3): 
mail_plugins(managesieve): 
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap 
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap 
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3 
mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve 
namespace: 
  type: private 
  separator: / 
  inbox: yes 
  list: yes 
  subscriptions: yes 
namespace: 
  type: shared 
  separator: / 
  prefix: shared/%%u/ 
  location: maildir:/home/staff/%%n/Maildir:INDEX=~/Maildir/shared/%%u 
  list: children 
lda: 
  deliver_log_format: %$ -- FROM=%f SUBJECT=%s 
  mail_plugins: cmusieve acl 
  log_path: 
  info_log_path: 
  syslog_facility: mail 
  postmaster_address: postmaster at nhusd.k12.ca.us 
  hostname: mail.nhusd.k12.ca.us 
auth default: 
  passdb: 
    driver: pam 
  passdb: 
    driver: ldap 
    args: /etc/dovecot/dovecot-ldap.conf 
  userdb: 
    driver: passwd 
  userdb: 
    driver: ldap 
    args: /etc/dovecot/dovecot-ldap.conf 
plugin: 
  acl: vfile 
  acl_shared_dict: proxy::acl 
  sieve: ~/.dovecot.sieve 
  sieve_dir: ~/sieve 
dict: 
  acl: sqlite:/etc/dovecot/acl-shared-dict.conf 
Chris Hobbs
Director, Technology
New Haven Unified School District




--
This message was scanned by ESVA and is believed to be clean.



More information about the dovecot mailing list