# HG changeset patch # User Timo Sirainen # Date 1453131502 -7200 # Node ID 0a913308fdf28dc81daa86554c8eed34b60958ae # Parent 3ad2efd7e247423452bc75c8834a1c2a747e4b87 auth: If passdbs are required, don't allow only master=yes passdbs. This fixes a crash: Panic: file auth-request.c: line 743 (auth_request_is_disabled_master_user): assertion failed: (request->requested_login_user != NULL) Which would happen because request->passdb=NULL because there are only master passdbs. Even if only master passdb is actually needed, there should still be a non-master passdb for non-master logins to specify what happens to them. diff -r 3ad2efd7e247 -r 0a913308fdf2 src/auth/auth.c --- a/src/auth/auth.c Mon Jan 18 17:08:04 2016 +0200 +++ b/src/auth/auth.c Mon Jan 18 17:38:22 2016 +0200 @@ -114,10 +114,6 @@ { const struct auth_passdb *passdb; - for (passdb = auth->masterdbs; passdb != NULL; passdb = passdb->next) { - if (passdb->passdb->iface.verify_plain != NULL) - return TRUE; - } for (passdb = auth->passdbs; passdb != NULL; passdb = passdb->next) { if (passdb->passdb->iface.verify_plain != NULL) return TRUE; @@ -129,10 +125,6 @@ { const struct auth_passdb *passdb; - for (passdb = auth->masterdbs; passdb != NULL; passdb = passdb->next) { - if (passdb->passdb->iface.lookup_credentials != NULL) - return TRUE; - } for (passdb = auth->passdbs; passdb != NULL; passdb = passdb->next) { if (passdb->passdb->iface.lookup_credentials != NULL) return TRUE;