diff options
-rw-r--r-- | src/controller.c | 4 | ||||
-rw-r--r-- | src/libserver/protocol.c | 4 | ||||
-rw-r--r-- | src/rspamd.c | 7 |
3 files changed, 9 insertions, 6 deletions
diff --git a/src/controller.c b/src/controller.c index b287f89d8..063c1c163 100644 --- a/src/controller.c +++ b/src/controller.c @@ -1682,7 +1682,7 @@ rspamd_controller_handle_history(struct rspamd_http_connection_entry *conn_ent, L = ctx->cfg->lua_state; - if (!ctx->srv->history->disabled) { + if (ctx->srv->history && !ctx->srv->history->disabled) { rspamd_controller_handle_legacy_history(session, ctx, conn_ent, msg); } else { @@ -1765,7 +1765,7 @@ rspamd_controller_handle_history_reset(struct rspamd_http_connection_entry *conn return 0; } - if (!ctx->srv->history->disabled) { + if (ctx->srv->history && !ctx->srv->history->disabled) { /* Clean from start to the current row */ completed_rows = g_atomic_int_get(&ctx->srv->history->cur_row); diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c index 5de980352..c8c7bc76a 100644 --- a/src/libserver/protocol.c +++ b/src/libserver/protocol.c @@ -1666,7 +1666,9 @@ void rspamd_protocol_http_reply(struct rspamd_http_message *msg, } if (!(task->flags & RSPAMD_TASK_FLAG_NO_LOG)) { - rspamd_roll_history_update(task->worker->srv->history, task); + if (task->worker->srv->history) { + rspamd_roll_history_update(task->worker->srv->history, task); + } } else { msg_debug_protocol("skip history update due to no log flag"); diff --git a/src/rspamd.c b/src/rspamd.c index 8d4c83a28..dc5535f0c 100644 --- a/src/rspamd.c +++ b/src/rspamd.c @@ -1532,7 +1532,8 @@ int main(int argc, char **argv, char **env) /* Create rolling history */ rspamd_main->history = rspamd_roll_history_new(rspamd_main->server_pool, - rspamd_main->cfg->history_rows, rspamd_main->cfg); + rspamd_main->cfg->history_rows, + rspamd_main->cfg); msg_info_main("rspamd " RVERSION " is starting, build id: " RID); @@ -1609,7 +1610,7 @@ int main(int argc, char **argv, char **env) } /* Maybe read roll history */ - if (rspamd_main->cfg->history_file) { + if (rspamd_main->history && rspamd_main->cfg->history_file) { rspamd_roll_history_load(rspamd_main->history, rspamd_main->cfg->history_file); } @@ -1692,7 +1693,7 @@ int main(int argc, char **argv, char **env) ev_loop(event_loop, 0); /* Maybe save roll history */ - if (rspamd_main->cfg->history_file) { + if (rspamd_main->history && rspamd_main->cfg->history_file) { rspamd_roll_history_save(rspamd_main->history, rspamd_main->cfg->history_file); } |