Re: [Dovecot] IMAP separator migration

2011-01-28 Thread ian+dovecot



Then you can have userdb set namespace/default/separator=/,
namespace/others/separator=/ and namespace/pub/separator=/. Or a
post-login script to set those in environment.



Thanks, this seems to work fine. In the interests of providing closure 
(for somebody trawling through mailing list archives with the same goal) 
I have:


namespace _private {
   type = private
   separator = .
   prefix =
   inbox = yes
}
namespace _shared {
   type = shared
   separator = .
   prefix = Users.%%n.
   location = 
maildir:/var/mail/virtual/users/%%n/Maildir/:INDEX=~/shared/%%u

   subscriptions = no
   list = children
}
namespace _public {
   type = public
   separator = .
   prefix = Shared.
   location = maildir:/var/mail/virtual/public:INDEX=~/public
   subscriptions = no
}


and I've created a postlogin script looking like:

~~~
#!/bin/sh

case "$USER" in
iant...@example.com|mailt...@example.com)
  ENV="NAMESPACE/_PRIVATE/SEPARATOR=/ 
NAMESPACE/_SHARED/SEPARATOR=/ NAMESPACE/_PUBLIC/SEPARATOR=/ 
NAMESPACE/_SHARED/PREFIX=Users/%n/ NAMESPACE/_PUBLIC/PREFIX=Shared/";;
  export USERDB_KEYS="$USERDB_KEYS 
namespace/_private/separator namespace/_shared/separator 
namespace/_public/separator namespace/_shared/prefix 
namespace/_public/prefix"

 *)
  ENV="";;
esac


exec env $ENV "$@"
~~~

The namespace prefix needs changing too. Note that the %%n seems to have 
been reduced to %n by the time of the postlogin script. The shell seems 
to dislike strange characters in environment variable names so I'm using 
env to set them.


Unmigrated '.' users work. Migrated '/' users work. Migrated users can 
see any user mailboxes. Unmigrated users can only see ones without 
period in them.





[Dovecot] LDAP quota groups

2011-02-09 Thread ian+dovecot
Is there any way to have a per-LDAP-group quota? The OpenLDAP folk's 
suggestions are to hack the source for an overlay (ideal, but it looks 
somewhat involved) or to do it at the application (Dovecot).


I've added an LDAP userattr 'quotaMegaBytes' which is great for allowing 
me to override the server's default quota on a per-user basis, but 
ideally I'd be able to override the quota only for people who are member 
of a certain LDAP group.


Perhaps I could override it for IMAP sessions with a postlogin script, 
but I can't see any way to apply it to deliver.


Thanks for any suggestions,

Ian