]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Debug log an LDAP request result only once
authorMartti Rannanjärvi <martti.rannanjarvi@dovecot.fi>
Mon, 11 Dec 2017 10:52:38 +0000 (12:52 +0200)
committerMartti Rannanjärvi <martti.rannanjarvi@dovecot.fi>
Mon, 11 Dec 2017 10:52:38 +0000 (12:52 +0200)
src/auth/db-ldap.c
src/auth/db-ldap.h

index 3b3eb52dea7f9ae409c3a6ca319bc58282cdce54..a841664bd0e88ef0f6738165f4a2ae232f1be058 100644 (file)
@@ -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)
index 53b2e5cb524a5b95396d77e98ef0ceb40ae94681..ca40a9656ddacba695b141dc6b9d6a7b59f6f547 100644 (file)
@@ -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;