From 862123f88a73517b4c994b66dd8a5263f80a54dd Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 12 May 2023 10:50:14 +0100 Subject: [PATCH] [Fix] Update stats before encryption... --- src/fuzzy_storage.c | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/fuzzy_storage.c b/src/fuzzy_storage.c index 347130c41..4146d636f 100644 --- a/src/fuzzy_storage.c +++ b/src/fuzzy_storage.c @@ -859,6 +859,20 @@ rspamd_fuzzy_make_reply (struct rspamd_fuzzy_cmd *cmd, len = sizeof (session->reply.rep.v1); } + /* Update stats before encryption */ + if (cmd->cmd != FUZZY_STAT && cmd->cmd <= FUZZY_CLIENT_MAX) { + rspamd_fuzzy_update_stats(session->ctx, + session->epoch, + session->reply.rep.v1.prob > 0.5f, + flags & RSPAMD_FUZZY_REPLY_SHINGLE, + flags & RSPAMD_FUZZY_REPLY_DELAY, + session->key, + session->ip_stat, + cmd->cmd, + &session->reply.rep, + session->timestamp); + } + rspamd_cryptobox_encrypt_nm_inplace ((guchar *)&session->reply.rep, len, session->reply.hdr.nonce, @@ -873,18 +887,19 @@ rspamd_fuzzy_make_reply (struct rspamd_fuzzy_cmd *cmd, session->reply.rep.v1.value = 0; session->reply.rep.v1.flag = 0; } - - if (cmd->cmd != FUZZY_STAT && cmd->cmd <= FUZZY_CLIENT_MAX) { - rspamd_fuzzy_update_stats(session->ctx, - session->epoch, - session->reply.rep.v1.prob > 0.5f, - flags & RSPAMD_FUZZY_REPLY_SHINGLE, - flags & RSPAMD_FUZZY_REPLY_DELAY, - session->key, - session->ip_stat, - cmd->cmd, - &session->reply.rep, - session->timestamp); + if (!(flags & RSPAMD_FUZZY_REPLY_ENCRYPTED)) { + if (cmd->cmd != FUZZY_STAT && cmd->cmd <= FUZZY_CLIENT_MAX) { + rspamd_fuzzy_update_stats(session->ctx, + session->epoch, + session->reply.rep.v1.prob > 0.5f, + flags & RSPAMD_FUZZY_REPLY_SHINGLE, + flags & RSPAMD_FUZZY_REPLY_DELAY, + session->key, + session->ip_stat, + cmd->cmd, + &session->reply.rep, + session->timestamp); + } } } -- 2.39.5