sql_lookup_pass() calls settings_get_params() with an SQL escape func that
requires a live connection. If the DB is disconnected, the error propagated
as "Failed to parse configuration" instead of a DB connectivity error.
Call sql_connect() first; fail with "Not connected to database" directly
if it returns -1.
Gbp-Pq: Name 0006-auth-passdb_sql-connect-before-expanding-query-varia.patch
const struct passdb_sql_settings *set;
const char *error;
+ if (sql_connect(module->db) < 0) {
+ e_error(authdb_event(sql_request->auth_request),
+ "Not connected to database");
+ sql_request->callback.verify_plain(
+ PASSDB_RESULT_INTERNAL_FAILURE,
+ sql_request->auth_request);
+ return;
+ }
const struct settings_get_params params = {
.escape_func = passdb_sql_escape,
.escape_context = module->db,