It looks like not all of the dbmail-* binaries are calling auth_connect().
Grepping for auth_connect yields this:

injector.c:  if (db_connect() != 0 || auth_connect() != 0)
smtp-convert.c:  if (db_connect() != 0 || auth_connect() != 0)
user.c:  if (auth_connect()==-1)
vut2dbmail.c:  if (auth_connect() == -1)

While grepping for db_connect yields this:

dbtest.c:  db_connect();
injector.c:  if (db_connect() != 0 || auth_connect() != 0)
main.c:  if (db_connect() < 0)
maintenance.c:  if (db_connect()==-1)
mini-injector.c:  if (db_connect() != 0)
raw-convert.c:  if (db_connect() != 0)
serverchild.c:  if ( db_connect() != 0)
settings.c:  if (db_connect()==-1)
smtp-convert.c:  if (db_connect() != 0 || auth_connect() != 0)
user.c:  if (db_connect()==-1)
vut2dbmail.c:  if (db_connect() == -1)

What I'm left to conclude is that main.c, maintenance.c, mini-injector.c,
raw-convert.c, serverchild.c and settings.c do not connect to the auth
services.

Unfortunately, I can say conclusively that serverchild.c MUST call
auth_connect() or else the only available authentication option is sharing
a db connection. LDAP or a non-shared connection are not initialized, and
the server dies upon calling any auth-related command.

I suspect, though, that every place where db_connect() is called, an
auth_connect() ought also be called...

Aaron

Reply via email to