Piotr Wadas wrote:
> 
> http://www.mail-archive.com/[email protected]/msg12339.html
> 
> Is it  '~/.dbmail.db' ( or '/var/mail/$USER' or similar trick) available
> with 2.3.6 ? 

The first one is, but it´s less useful than you would think because the
user is resolved to the effective uid of the dbmail process - not the
authenticated user.

It would be nice if dbmail would be able to switch backend after
authentication, but currently only one global database connection pool
is used per dbmail process.

What you need is however a planned feature: being able to connect to
multiple backends to allow grouping users on separate backends. Allowing
per-user sqlite databases is one of the leading use-cases for that project.

> And, if yes, what more symbols are resolved in db file name
> with sqlite driver?

Currently, a getenv("HOME") is done to expand the tilde char (~) in the
database name.

> Doesn't it require some setuid to deliver a message? 

That not a problem: use a procmail->dbmail-deliver pipe. How to run a
setuid dbmail-imapd process is something I've never been able to figure
out. At least using the current design.

The planned design for project 'hydra' is to use one global database
that holds either the authentication tokens (authsql) or shadow records
(authldap). This global database will allow setting a database URI per user.

Dbmail will maintain one global connection pool for either the URI
delegations or for the fallback mailstorage for those users that have
not been delegated.

Transient connection pools will be created and collected as needed. Some
kind of garbage collection on idle connection pools will be needed to
avoid excessive (re)opening and closing of connections - especially if
you're using per-user sqlite databases with a lot of users and lots of
connections. If you're using a handful of postgresql/mysql backends
(mixed?) such garbage collection would probably not be needed at all.

So, the basic idea is to allow userbased backend delegation where the
actual granularity is decided by the administrator. You can use an
overflow model, per email-domain grouping, or even a dedicated database
per user.

Steps needed to make this happen are pretty much worked out by now. All
that is needed is some spare time to actually code it.

-- 
  ________________________________________________________________
  Paul Stevens                                      paul at nfg.nl
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands________________________________http://www.nfg.nl
_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail

Reply via email to