commit 76a3ba9: [Minor] Fix processing of the skipped tasks (e.g. ping)
Vsevolod Stakhov
vsevolod at highsecure.ru
Sun Aug 18 10:07:03 UTC 2019
Author: Vsevolod Stakhov
Date: 2019-08-18 11:05:32 +0100
URL: https://github.com/rspamd/rspamd/commit/76a3ba9cdff99c6b7de8ac4334a7955f80a7361b (HEAD -> master)
[Minor] Fix processing of the skipped tasks (e.g. ping)
---
src/libserver/composites.c | 2 +-
src/libserver/protocol.c | 2 ++
src/libserver/rspamd_symcache.c | 4 ++++
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/libserver/composites.c b/src/libserver/composites.c
index 33926f6e5..8471d0e93 100644
--- a/src/libserver/composites.c
+++ b/src/libserver/composites.c
@@ -695,7 +695,7 @@ composites_metric_callback (struct rspamd_scan_result *metric_res,
void
rspamd_make_composites (struct rspamd_task *task)
{
- if (task->result) {
+ if (task->result && !RSPAMD_TASK_IS_SKIPPED (task)) {
composites_metric_callback (task->result, task);
}
}
diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c
index ef8700340..a7abc5947 100644
--- a/src/libserver/protocol.c
+++ b/src/libserver/protocol.c
@@ -177,6 +177,8 @@ rspamd_protocol_handle_url (struct rspamd_task *task,
if (COMPARE_CMD (p, MSG_CMD_PING, pathlen)) {
msg_debug_protocol ("got ping command");
task->cmd = CMD_PING;
+ task->flags |= RSPAMD_TASK_FLAG_SKIP;
+ task->processed_stages |= RSPAMD_TASK_STAGE_DONE; /* Skip all */
}
else if (COMPARE_CMD (p, MSG_CMD_PROCESS, pathlen)) {
msg_debug_protocol ("got process -> old check command");
diff --git a/src/libserver/rspamd_symcache.c b/src/libserver/rspamd_symcache.c
index a484c738b..71b8a4c6a 100644
--- a/src/libserver/rspamd_symcache.c
+++ b/src/libserver/rspamd_symcache.c
@@ -3124,6 +3124,10 @@ rspamd_symcache_composites_foreach (struct rspamd_task *task,
struct rspamd_symcache_item *item;
struct rspamd_symcache_dynamic_item *dyn_item;
+ if (task->checkpoint == NULL) {
+ return;
+ }
+
PTR_ARRAY_FOREACH (cache->composites, i, item) {
dyn_item = rspamd_symcache_get_dynamic (task->checkpoint, item);
More information about the Commits
mailing list