From 9b6d7f600997f17d4e664b854f11890f13f5f6cb Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Fri, 14 Mar 2025 10:40:23 +0200 Subject: [PATCH] auth: Fix using passdb_fields with passdb_ldap_bind_userdn=yes --- src/auth/passdb-ldap.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/auth/passdb-ldap.c b/src/auth/passdb-ldap.c index 1a21602599..34ebc00503 100644 --- a/src/auth/passdb-ldap.c +++ b/src/auth/passdb-ldap.c @@ -52,9 +52,11 @@ ldap_query_save_result(struct ldap_connection *conn, { struct db_ldap_field_expand_context ctx = { .event = authdb_event(auth_request), - .fields = ldap_query_get_fields(auth_request->pool, conn, - ldap_request, res, FALSE) }; + if (res != NULL) { + ctx.fields = ldap_query_get_fields(auth_request->pool, conn, + ldap_request, res, FALSE); + } const char *default_password_scheme = auth_request->passdb->set->default_password_scheme; @@ -347,6 +349,8 @@ ldap_verify_plain_auth_bind_userdn(struct auth_request *auth_request, struct ldap_connection *conn = module->conn; struct ldap_request_bind *brequest = &request->request.bind; + ldap_query_save_result(conn, auth_request, NULL, NULL); + brequest->request.type = LDAP_REQUEST_TYPE_BIND; brequest->dn = p_strdup(auth_request->pool, ldap_set->passdb_ldap_bind_userdn); ldap_auth_bind(conn, brequest); -- 2.47.2