commit 862123f: [Fix] Update stats before encryption...

Vsevolod Stakhov vsevolod at rspamd.com
Fri May 12 10:07:04 UTC 2023


Author: Vsevolod Stakhov
Date: 2023-05-12 10:50:14 +0100
URL: https://github.com/rspamd/rspamd/commit/862123f88a73517b4c994b66dd8a5263f80a54dd

[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);
+			}
 		}
 	}
 


More information about the Commits mailing list