[Dovecot] Authenfication on 2 databases

Lorens dovecot.fdop at tagged.lorens.org
Sat Sep 10 02:46:12 EEST 2005

On Fri, Sep 09, 2005 at 06:41:10PM +0200, LeeJaY wrote:
> > On Fri, Sep 09, 2005 at 01:06:42PM +0200, LeeJaY wrote:
> > > Hello,
> > > 
> > > I have 2 databases MySQL. I would like to do that:
> > > 
> > On my 1.0 (logs "Dovecot v1.0-stable starting up")
> > 
> > auth default {
> >   mechanisms = plain
> >   passdb = sql /etc/dovecot/dovecot-sql.conf
> >   passdb = sql /etc/dovecot/dovecot-sql-crypt.conf
> >   userdb = sql /etc/dovecot/dovecot-sql.conf
> > }
> > 
> > works as expected and desired.
> > 
> Why there is one userdb = and two passdb ?

I have a database with mixed MD5 and crypt passwords, this
worked with Courier and not with dovecot, so I tell dovecot to
look in two databases, one containing md5 and the other crypt,
but the SQL databases are the same, only the password encryption
definition in the dovecot config file changes.

> Mon accent sonne si français que ça ou les headers du mail vous ont
> aidé ?


> > > If the user does not existe in the first base, it goes in the second
> > > my version est 1.0.alpha1

+ libremail, plus I did check the headers when I decided to
throw in some French :-)

> Si vous comprennez le français, c'est plus simple pour exposer mon
> problème. 

It was perfectly comprehensible first time around :-) (I hope my
English is as comprehensible to you, it feels unnatural to me to
write French on an English-language mailing-list).

The thing is that if it isn't a syntax problem, then I don't
know. It seems from the logs as if there is only one sql request
made, when there should be two, but the fact that an sql request
*is* made means that the file is parsed correctly.

If I were you I'd play with it: logs show only one SQL request,
but is that because the second is not taken into account by
dovecot, or because the secod definition is wrong in some way?
Do users in the first database (db1) authenticate correctly?  If
so, what happens when you invert the lines, so db2 is before
db1?  If users in db1 continue to authenticate correctly that
means that the problem is in the definition of db2, if users in
db1 do not auth OK any more but users in db2 do auth OK that
means the problem is with dovecot only taking first database.

In the second case, you *did* take the example direct from the
docs, so . . . Anybody have any ideas?

By the way, do you *have* to have two distinct database
definitions?  Select from union, select join?

More information about the dovecot mailing list