From: Martti Rannanjärvi Date: Mon, 11 Dec 2017 10:52:38 +0000 (+0200) Subject: auth: Debug log an LDAP request result only once X-Git-Tag: 2.3.0.rc1~160 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53e4a0d5cb048ea2bdf598ca56120b626b8615f5;p=thirdparty%2Fdovecot%2Fcore.git auth: Debug log an LDAP request result only once --- diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c index 3b3eb52dea..a841664bd0 100644 --- a/src/auth/db-ldap.c +++ b/src/auth/db-ldap.c @@ -1807,6 +1807,9 @@ db_ldap_result_finish_debug(struct db_ldap_result_iterate_context *ctx) unsigned int unused_count = 0; size_t orig_len; + if (ctx->ldap_request->result_logged) + return; + orig_len = str_len(ctx->debug); if (orig_len == 0) { auth_request_log_debug(ctx->ldap_request->auth_request, @@ -1834,6 +1837,8 @@ db_ldap_result_finish_debug(struct db_ldap_result_iterate_context *ctx) } auth_request_log_debug(ctx->ldap_request->auth_request, AUTH_SUBSYS_DB, "result: %s", str_c(ctx->debug) + 1); + + ctx->ldap_request->result_logged = TRUE; } void db_ldap_result_iterate_deinit(struct db_ldap_result_iterate_context **_ctx) diff --git a/src/auth/db-ldap.h b/src/auth/db-ldap.h index 53b2e5cb52..ca40a9656d 100644 --- a/src/auth/db-ldap.h +++ b/src/auth/db-ldap.h @@ -104,7 +104,9 @@ struct ldap_request { /* timestamp when request was created */ time_t create_time; - bool failed; + bool failed:1; + /* This is to prevent double logging the result */ + bool result_logged:1; db_search_callback_t *callback; struct auth_request *auth_request;