Hello,

I'm trying to set up an alternate user with a different inbox using passwd-file 
and userdb extra fields and the extra field settings don't seem to be taking 
effect. I've used auth_debug and mail_debug and I'm unclear how I can further 
troubleshoot this.

Is it possible to have inbox=yes in one namespace globally and then override 
this for one user by setting inbox=no for that namespace and then inbox=yes for 
another?

My doveconf -n is below. I would like to have inbox=yes for the inbox 
namespace, inbox=no for the virtual namespace, and then be able to invert these 
for selected users using userdb extra fields. My attempt at doing this so far 
looks like

bam-ios:[REDACTED]:500:500::/home/bam::user=bam namespace/inbox/inbox=no 
namespace/virtual/inbox=yes

Changing the user with user= seems to work fine, but the inbox= changes don't. 
Here is some relevant log data.

Aug  2 11:37:29 new-miranda dovecot: auth: Debug: Loading modules from 
directory: /usr/lib/dovecot/modules/auth
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: passwd-file 
/etc/dovecot/users: Read 1 users in 0 secs
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: auth client connected 
(pid=14967)
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: client in: 
AUTH#0111#011PLAIN#011service=imap#011secured#011session=Rgx2MErG4wBAd51y#011lip=216.93.241.245#011rip=64.119.157.114#011lport=993#011rport=38115#011resp=<hidden>
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: 
passwd-file(bam-ios,64.119.157.114,<Rgx2MErG4wBAd51y>): lookup: user=bam-ios 
file=/etc/dovecot/users
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: 
auth(bam-ios,64.119.157.114,<Rgx2MErG4wBAd51y>): username changed bam-ios -> bam
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: client out: 
OK#0111#011user=bam#011namespace/inbox/inbox=no#011namespace/virtual/inbox=yes
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: master in: REQUEST#[REDACTED]
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: 
passwd-file(bam,64.119.157.114,<Rgx2MErG4wBAd51y>): lookup: user=bam 
file=/etc/dovecot/users
Aug  2 11:37:29 new-miranda dovecot: auth: 
passwd-file(bam,64.119.157.114,<Rgx2MErG4wBAd51y>): unknown user
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: 
passwd(bam,64.119.157.114,<Rgx2MErG4wBAd51y>): lookup
Aug  2 11:37:29 new-miranda dovecot: auth: Debug: master out: 
USER#0111425670145#011bam#011system_groups_user=bam#011uid=500#011gid=500#011home=/home/bam
Aug  2 11:37:29 new-miranda dovecot: imap-login: Login: user=<bam>, 
method=PLAIN, rip=64.119.157.114, lip=216.93.241.245, mpid=14970, TLS, 
session=<Rgx2MErG4wBAd51y>
Aug  2 11:37:29 new-miranda dovecot: imap: Debug: Loading modules from 
directory: /usr/lib/dovecot/modules
Aug  2 11:37:29 new-miranda dovecot: imap: Debug: Module loaded: 
/usr/lib/dovecot/modules/lib20_virtual_plugin.so
Aug  2 11:37:29 new-miranda dovecot: imap(bam): Debug: Effective uid=500, 
gid=500, home=/home/bam
Aug  2 11:37:29 new-miranda dovecot: imap(bam): Debug: Namespace inbox: 
type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes 
location=mdbox:/srv/mail/bam/mdbox
Aug  2 11:37:29 new-miranda dovecot: imap(bam): Debug: fs: 
root=/srv/mail/bam/mdbox, index=, control=, inbox=, alt=
Aug  2 11:37:29 new-miranda dovecot: imap(bam): Debug: Namespace : Using 
permissions from /srv/mail/bam/mdbox: mode=0700 gid=-1
Aug  2 11:37:29 new-miranda dovecot: imap(bam): Debug: Namespace virtual: 
type=private, prefix=virtual/, sep=/, inbox=no, hidden=yes, list=no, 
subscriptions=yes location=virtual:/srv/mail/bam/virtual
Aug  2 11:37:29 new-miranda dovecot: imap(bam): Debug: fs: 
root=/srv/mail/bam/virtual, index=, control=, inbox=, alt=
Aug  2 11:37:29 new-miranda dovecot: imap(bam): Debug: Namespace mdbox: 
type=private, prefix=mdbox/, sep=/, inbox=no, hidden=yes, list=no, 
subscriptions=yes location=mdbox:/srv/mail/bam/mdbox
Aug  2 11:37:29 new-miranda dovecot: imap(bam): Debug: fs: 
root=/srv/mail/bam/mdbox, index=, control=, inbox=, alt=

I also tried not having inbox=yes anywhere in the global configurations, but 
then I get

Aug  2 11:52:22 new-miranda dovecot: imap(bam): Error: user bam: Initialization 
failed: namespace configuration error: inbox=yes namespace missing

I'm having great luck with the virtual plugin, but I only want to use it for 
the inbox on some clients. Any ideas on why my inbox=yes/no overrides aren't 
taking effect?

Thanks,

--Bret


# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.5 ext4
mail_location = mdbox:/srv/mail/%u/mdbox
mail_plugins = " virtual"
namespace inbox {
  inbox = no
  location = 
  prefix = 
}
namespace mdbox {
  hidden = yes
  list = no
  location = 
  prefix = mdbox/
  separator = /
}
namespace virtual {
  hidden = yes
  inbox = yes
  list = no
  location = virtual:/srv/mail/%u/virtual
  prefix = virtual/
  separator = /
}
passdb {
  args = scheme=SSHA512 username_format=%u /etc/dovecot/users
  driver = passwd-file
}
passdb {
  driver = pam
}
protocols = " imap"
service imap-login {
  inet_listener imap {
    port = 0
  }
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  args = username_format=%u /etc/dovecot/users
  driver = passwd-file
}
userdb {
  driver = passwd
}

Reply via email to