Explorar el Código

[Fix] Allow to set 0 as number of rows to disable roll history

Issue: #4947
Closes: #4947
pull/4953/head
Vsevolod Stakhov hace 2 semanas
padre
commit
12f965bf98
No account linked to committer's email address
Se han modificado 3 ficheros con 9 adiciones y 6 borrados
  1. 2
    2
      src/controller.c
  2. 3
    1
      src/libserver/protocol.c
  3. 4
    3
      src/rspamd.c

+ 2
- 2
src/controller.c Ver fichero

@@ -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);


+ 3
- 1
src/libserver/protocol.c Ver fichero

@@ -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");

+ 4
- 3
src/rspamd.c Ver fichero

@@ -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);
}

Cargando…
Cancelar
Guardar