gint
dkim_module_reconfig (struct rspamd_config *cfg)
{
+ struct module_ctx saved_ctx;
+
+ saved_ctx = dkim_module_ctx->ctx;
rspamd_mempool_delete (dkim_module_ctx->dkim_pool);
radix_destroy_compressed (dkim_module_ctx->whitelist_ip);
if (dkim_module_ctx->dkim_domains) {
g_hash_table_destroy (dkim_module_ctx->dkim_domains);
}
- memset (dkim_module_ctx + sizeof (dkim_module_ctx->ctx),
- 0, sizeof (*dkim_module_ctx) - sizeof (dkim_module_ctx->ctx));
+ memset (dkim_module_ctx, 0, sizeof (*dkim_module_ctx));
+ dkim_module_ctx->ctx = saved_ctx;
dkim_module_ctx->dkim_pool = rspamd_mempool_new (
rspamd_mempool_suggest_size ());
gint
fuzzy_check_module_reconfig (struct rspamd_config *cfg)
{
- rspamd_mempool_delete (fuzzy_module_ctx->fuzzy_pool);
+ struct module_ctx saved_ctx;
- memset (fuzzy_module_ctx + sizeof (fuzzy_module_ctx->ctx),
- 0, sizeof (*fuzzy_module_ctx) - sizeof (fuzzy_module_ctx->ctx));
+ saved_ctx = fuzzy_module_ctx->ctx;
+ rspamd_mempool_delete (fuzzy_module_ctx->fuzzy_pool);
+ memset (fuzzy_module_ctx, 0, sizeof (*fuzzy_module_ctx));
+ fuzzy_module_ctx->ctx = saved_ctx;
fuzzy_module_ctx->fuzzy_pool = rspamd_mempool_new (
rspamd_mempool_suggest_size ());
fuzzy_module_ctx->cfg = cfg;
gint
regexp_module_reconfig (struct rspamd_config *cfg)
{
+ struct module_ctx saved_ctx;
+
+ saved_ctx = regexp_module_ctx->ctx;
rspamd_mempool_delete (regexp_module_ctx->regexp_pool);
+ memset (regexp_module_ctx, 0, sizeof (*regexp_module_ctx));
+ regexp_module_ctx->ctx = saved_ctx;
regexp_module_ctx->regexp_pool = rspamd_mempool_new (
rspamd_mempool_suggest_size ());
gint
spf_module_reconfig (struct rspamd_config *cfg)
{
+ struct module_ctx saved_ctx;
+
+ saved_ctx = spf_module_ctx->ctx;
rspamd_mempool_delete (spf_module_ctx->spf_pool);
radix_destroy_compressed (spf_module_ctx->whitelist_ip);
- memset (spf_module_ctx + sizeof (spf_module_ctx->ctx),
- 0, sizeof (*spf_module_ctx) - sizeof (spf_module_ctx->ctx));
+ memset (spf_module_ctx, 0, sizeof (*spf_module_ctx));
+ spf_module_ctx->ctx = saved_ctx;
spf_module_ctx->spf_pool = rspamd_mempool_new (
rspamd_mempool_suggest_size ());