@@ -3942,8 +3942,8 @@ start_controller_worker (struct rspamd_worker *worker) | |||
g_hash_table_unref (ctx->plugins); | |||
g_hash_table_unref (ctx->custom_commands); | |||
rspamd_http_context_free (ctx->http_ctx); | |||
REF_RELEASE (ctx->cfg); | |||
rspamd_http_context_free (ctx->http_ctx); | |||
rspamd_log_close (worker->srv->logger, TRUE); | |||
exit (EXIT_SUCCESS); |
@@ -3235,8 +3235,8 @@ start_fuzzy (struct rspamd_worker *worker) | |||
rspamd_keypair_cache_destroy (ctx->keypair_cache); | |||
} | |||
rspamd_http_context_free (ctx->http_ctx); | |||
REF_RELEASE (ctx->cfg); | |||
rspamd_http_context_free (ctx->http_ctx); | |||
rspamd_log_close (worker->srv->logger, TRUE); | |||
exit (EXIT_SUCCESS); |
@@ -176,6 +176,14 @@ rspamd_http_context_free (struct rspamd_http_context *ctx) | |||
rspamd_keypair_cache_destroy (ctx->server_kp_cache); | |||
} | |||
if (ctx->config.client_key_rotate_time > 0) { | |||
event_del (&ctx->client_rotate_ev); | |||
if (ctx->client_kp) { | |||
rspamd_keypair_unref (ctx->client_kp); | |||
} | |||
} | |||
g_free (ctx); | |||
} | |||
@@ -2213,8 +2213,8 @@ start_rspamd_proxy (struct rspamd_worker *worker) | |||
rspamd_stat_close (); | |||
} | |||
rspamd_http_context_free (ctx->http_ctx); | |||
REF_RELEASE (ctx->cfg); | |||
rspamd_http_context_free (ctx->http_ctx); | |||
rspamd_log_close (worker->srv->logger, TRUE); | |||
exit (EXIT_SUCCESS); |
@@ -703,8 +703,8 @@ start_worker (struct rspamd_worker *worker) | |||
rspamd_worker_block_signals (); | |||
rspamd_stat_close (); | |||
rspamd_http_context_free (ctx->http_ctx); | |||
REF_RELEASE (ctx->cfg); | |||
rspamd_http_context_free (ctx->http_ctx); | |||
rspamd_log_close (worker->srv->logger, TRUE); | |||
exit (EXIT_SUCCESS); |