--- src/gsasl_srv.c 2008-12-18 17:59:48.000000000 +0100 +++ src/gsasl_srv.c 2009-03-07 21:44:47.638743630 +0100 @@ -243,7 +243,11 @@ return GSASL_NO_PASSWORD; if (usr->smtp_authid == NULL - || strcmp (usr->smtp_authid, authentication_id) + && anubis_get_db_record (authid, usr) != ANUBIS_DB_SUCCESS) + return GSASL_AUTHENTICATION_ERROR; + + if (usr->smtp_authid == NULL + || strcmp (usr->smtp_authid, authid) || strcmp (usr->smtp_passwd, pass)) return GSASL_AUTHENTICATION_ERROR; return GSASL_OK;