aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/controller.c4
-rw-r--r--src/libserver/protocol.c4
-rw-r--r--src/rspamd.c7
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);
}