]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Add tags to rspamd_mempool.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 27 Aug 2015 16:31:29 +0000 (17:31 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 27 Aug 2015 16:36:29 +0000 (17:36 +0100)
27 files changed:
src/controller.c
src/libserver/buffer.c
src/libserver/cfg_utils.c
src/libserver/symbols_cache.c
src/libserver/task.c
src/libstat/backends/mmaped_file.c
src/libutil/logger.c
src/libutil/map.c
src/libutil/mem_pool.c
src/libutil/mem_pool.h
src/libutil/radix.c
src/lua/lua_mempool.c
src/lua/lua_regexp.c
src/lua/lua_util.c
src/main.c
src/plugins/chartable.c
src/plugins/dkim_check.c
src/plugins/fuzzy_check.c
src/plugins/regexp.c
src/plugins/spf.c
src/plugins/surbl.c
src/smtp_proxy.c
test/rspamd_dns_test.c
test/rspamd_http_test.c
test/rspamd_mem_pool_test.c
test/rspamd_test_suite.c
test/rspamd_upstream_test.c

index 2c9cfae3eee783e6283eb4be0b8837500098cb47..b92f1e5ff6116cd7f42b850f596c3fcb656b2de4 100644 (file)
@@ -1811,7 +1811,7 @@ rspamd_controller_accept_socket (gint fd, short what, void *arg)
        }
 
        nsession = g_slice_alloc0 (sizeof (struct rspamd_controller_session));
-       nsession->pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       nsession->pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        nsession->ctx = ctx;
 
        nsession->from_addr = addr;
index f67eacbe0e063871f6bd8c4568fc81a9c1b42c4c..7c0311e5b9c211bd108b9ad832f3c1e47f96fbb6 100644 (file)
@@ -603,7 +603,7 @@ rspamd_create_dispatcher (struct event_base *base,
 
        new = g_slice_alloc0 (sizeof (rspamd_io_dispatcher_t));
 
-       new->pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       new->pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        if (tv != NULL) {
                new->tv = rspamd_mempool_alloc (new->pool, sizeof (struct timeval));
                memcpy (new->tv, tv, sizeof (struct timeval));
index 7246ab4a1dead8540b68d9defcafff48e2053b82..630ee13443b224cb471ea22ba43441d18289fd5c 100644 (file)
@@ -942,8 +942,7 @@ rspamd_init_filters (struct rspamd_config *cfg, bool reconfig)
 void
 rspamd_init_cfg (struct rspamd_config *cfg, gboolean init_lua)
 {
-       cfg->cfg_pool = rspamd_mempool_new (
-                       rspamd_mempool_suggest_size ());
+       cfg->cfg_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        rspamd_config_defaults (cfg);
 
        if (init_lua) {
index 30b146a4e06394511d8efa4972d39ff830584e1b..7f58922f38db0c1b07d39f922be09d7f9db87c64 100644 (file)
@@ -594,7 +594,7 @@ rspamd_symbols_cache_new (void)
 
        cache = g_slice_alloc0 (sizeof (struct symbols_cache));
        cache->static_pool =
-                       rspamd_mempool_new (rspamd_mempool_suggest_size ());
+                       rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        cache->items_by_symbol = g_hash_table_new (rspamd_str_hash,
                        rspamd_str_equal);
        cache->items_by_order = g_ptr_array_new ();
index 3740e332344af13a8c68c62bd12f7eaf4755dc47..96ad7f5c437a44ac0e1ad8090d771bb78ccad42e 100644 (file)
@@ -59,7 +59,7 @@ rspamd_task_new (struct rspamd_worker *worker)
        new_task->time_real = rspamd_get_ticks ();
        new_task->time_virtual = rspamd_get_virtual_ticks ();
 
-       new_task->task_pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       new_task->task_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        new_task->results = g_hash_table_new (rspamd_str_hash, rspamd_str_equal);
        rspamd_mempool_add_destructor (new_task->task_pool,
index e0cb528e559726e80c97c52372fc81b3e0c276de..e8de381ad6af692163449d6a27e9eab0dd00978a 100644 (file)
@@ -848,7 +848,7 @@ rspamd_mmaped_file_init (struct rspamd_stat_ctx *ctx, struct rspamd_config *cfg)
        gsize size;
 
        new = rspamd_mempool_alloc0 (cfg->cfg_pool, sizeof (rspamd_mmaped_file_ctx));
-       new->pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       new->pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        new->lock = rspamd_mempool_get_mutex (new->pool);
        new->mlock_ok = cfg->mlock_statfile_pool;
        new->files = g_hash_table_new (g_direct_hash, g_direct_equal);
index 1cf3484892768259965c54b0bbed0321de6fdf50..87a8781e89ec7993875a237445a30a21a87f387f 100644 (file)
@@ -294,7 +294,7 @@ rspamd_set_logger (struct rspamd_config *cfg,
                rspamd->logger = g_malloc (sizeof (rspamd_logger_t));
                memset (rspamd->logger, 0, sizeof (rspamd_logger_t));
                /* Small pool for interlocking */
-               rspamd->logger->pool = rspamd_mempool_new (512);
+               rspamd->logger->pool = rspamd_mempool_new (512, NULL);
                rspamd->logger->mtx = rspamd_mempool_get_mutex (rspamd->logger->pool);
        }
 
index 72f3a78b32b10bf9f535e79cb761f679b95c63b5..65ebb076e532898b789c5bf4eb456d984067db63 100644 (file)
@@ -471,7 +471,7 @@ rspamd_map_add (struct rspamd_config *cfg,
        }
        /* Constant pool */
        if (cfg->map_pool == NULL) {
-               cfg->map_pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+               cfg->map_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        }
        new_map = rspamd_mempool_alloc0 (cfg->map_pool, sizeof (struct rspamd_map));
        new_map->read_callback = read_callback;
@@ -588,7 +588,7 @@ rspamd_map_add (struct rspamd_config *cfg,
                new_map->map_data = hdata;
        }
        /* Temp pool */
-       new_map->pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       new_map->pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        cfg->maps = g_list_prepend (cfg->maps, new_map);
 
index 81487e49c7e6b9ae7d3c641bbb596eaba199b4f6..084b4400b291bd8d8ec29a5e3924152ccd383db3 100644 (file)
@@ -29,6 +29,7 @@
 #include "util.h"
 #include "main.h"
 #include "utlist.h"
+#include "ottery.h"
 
 /* Sleep time for spin lock in nanoseconds */
 #define MUTEX_SLEEP_TIME 10000000L
@@ -152,10 +153,13 @@ pool_chain_new_shared (gsize size)
  * @return new memory pool object
  */
 rspamd_mempool_t *
-rspamd_mempool_new (gsize size)
+rspamd_mempool_new (gsize size, const gchar *tag)
 {
        rspamd_mempool_t *new;
        gpointer map;
+       unsigned char uidbuf[10];
+       const gchar hexdigits[] = "0123456789abcdef";
+       unsigned i;
 
        g_return_val_if_fail (size > 0, NULL);
        /* Allocate statistic structure if it is not allocated before */
@@ -215,6 +219,22 @@ rspamd_mempool_new (gsize size)
        /* Set it upon first call of set variable */
        new->variables = NULL;
        new->elt_len = size;
+
+       if (tag) {
+               rspamd_strlcpy (new->tag.tagname, tag, sizeof (new->tag.tagname));
+       }
+       else {
+               new->tag.tagname[0] = '\0';
+       }
+
+       /* Generate new uid */
+       ottery_rand_bytes (uidbuf, sizeof (uidbuf));
+       for (i = 0; i < G_N_ELEMENTS (uidbuf); i ++) {
+               new->tag.uid[i * 2] = hexdigits[(uidbuf[i] >> 4) & 0xf];
+               new->tag.uid[i * 2 + 2] = hexdigits[uidbuf[i] & 0xf];
+       }
+       new->tag.uid[19] = '\0';
+
        mem_pool_stat->pools_allocated++;
 
        return new;
index 1befd8445b0e466f7953e2ecfe4f7ab677620270..42df3014872bfdab0d305bb90042911b419acda4 100644 (file)
@@ -81,6 +81,14 @@ struct _pool_destructors {
        struct _pool_destructors *prev;         /**< chain link                                                         */
 };
 
+/**
+ * Tag to use for logging purposes
+ */
+struct rspamd_mempool_tag {
+       gchar tagname[20];                      /**< readable name                                                      */
+       gchar uid[20];                          /**< unique id                                                          */
+};
+
 /**
  * Memory pool type
  */
@@ -92,6 +100,7 @@ typedef struct memory_pool_s {
        struct _pool_destructors *destructors;  /**< destructors chain                                          */
        GHashTable *variables;                  /**< private memory pool variables                      */
        gsize elt_len;                                                  /**< size of an element                                         */
+       struct rspamd_mempool_tag tag;          /**< memory pool tag                                            */
 } rspamd_mempool_t;
 
 /**
@@ -114,7 +123,7 @@ typedef struct memory_pool_stat_s {
  * @param size size of pool's page
  * @return new memory pool object
  */
-rspamd_mempool_t * rspamd_mempool_new (gsize size);
+rspamd_mempool_t *rspamd_mempool_new (gsize size, const gchar *tag);
 
 /**
  * Get memory from pool
index 39fc39445b4ef02f9dcc24716cf552333afe6dca..0d51d77f73bc7bc81f7454972fc426605bd9deb5 100644 (file)
@@ -527,7 +527,7 @@ radix_create_compressed (void)
                return NULL;
        }
 
-       tree->pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       tree->pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        tree->size = 0;
        tree->root = NULL;
 
index 8f2ad2f426c990dbee3265e0edfedab3f3e4bc2d..1a7b227428e8207edc9a8df23810805be48b5905 100644 (file)
@@ -140,8 +140,7 @@ rspamd_lua_check_mempool (lua_State * L, gint pos)
 static int
 lua_mempool_create (lua_State *L)
 {
-       struct memory_pool_s *mempool = rspamd_mempool_new (
-               rspamd_mempool_suggest_size ()), **pmempool;
+       struct memory_pool_s *mempool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL), **pmempool;
 
        if (mempool) {
                pmempool = lua_newuserdata (L, sizeof (struct memory_pool_s *));
index 75e54bab5c0aec00ab550f25c6748be4bd9f3c37..594b42bbee017891cf13b59f1ccc46b6ff12f2e5 100644 (file)
@@ -665,5 +665,5 @@ luaopen_regexp (lua_State * L)
        luaL_register (L, NULL, regexplib_m);
        rspamd_lua_add_preload (L, "rspamd_regexp", lua_load_regexp);
 
-       regexp_static_pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       regexp_static_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 }
index 5b57c91583daf49d81daa9b9342b22ea5b3d3394..260ec7b302ee3e22454c1909c8ae5dff72b7bd88 100644 (file)
@@ -505,7 +505,7 @@ lua_util_parse_html (lua_State *L)
        }
 
        if (start != NULL) {
-               pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+               pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
                hc = rspamd_mempool_alloc0 (pool, sizeof (*hc));
                in = g_byte_array_sized_new (len);
                g_byte_array_append (in, start, len);
index fb2a362df5c580638362444b68bd411cf74d76ec..17ee7334d10f9710acc65bae5a46c17237f1c51f 100644 (file)
@@ -1029,8 +1029,7 @@ do_encrypt_password (void)
 static void
 rspamd_init_main (struct rspamd_main *rspamd)
 {
-       rspamd->server_pool = rspamd_mempool_new (
-               rspamd_mempool_suggest_size ());
+       rspamd->server_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        rspamd_main->stat = rspamd_mempool_alloc0_shared (rspamd_main->server_pool,
                sizeof (struct rspamd_stat));
        /* Create rolling history */
index 1cb1c7ed7264d24f85d029bbc5950f68dc64940a..2cd12b68dacb3939c8d5fdfcfd21607979da138f 100644 (file)
@@ -67,8 +67,7 @@ chartable_module_init (struct rspamd_config *cfg, struct module_ctx **ctx)
 {
        chartable_module_ctx = g_malloc (sizeof (struct chartable_ctx));
 
-       chartable_module_ctx->chartable_pool = rspamd_mempool_new (
-               rspamd_mempool_suggest_size ());
+       chartable_module_ctx->chartable_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        *ctx = (struct module_ctx *)chartable_module_ctx;
 
@@ -119,7 +118,7 @@ gint
 chartable_module_reconfig (struct rspamd_config *cfg)
 {
        rspamd_mempool_delete (chartable_module_ctx->chartable_pool);
-       chartable_module_ctx->chartable_pool = rspamd_mempool_new (1024);
+       chartable_module_ctx->chartable_pool = rspamd_mempool_new (1024, NULL);
 
        return chartable_module_config (cfg);
 }
index 50644cb28a354214ee68aa814fa6b3b8befb1479..2fa5610f9352575c47add818f66b57487a5bb61e 100644 (file)
@@ -100,8 +100,7 @@ dkim_module_init (struct rspamd_config *cfg, struct module_ctx **ctx)
 {
        dkim_module_ctx = g_malloc0 (sizeof (struct dkim_ctx));
 
-       dkim_module_ctx->dkim_pool = rspamd_mempool_new (
-               rspamd_mempool_suggest_size ());
+       dkim_module_ctx->dkim_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        *ctx = (struct module_ctx *)dkim_module_ctx;
 
@@ -278,8 +277,7 @@ dkim_module_reconfig (struct rspamd_config *cfg)
 
        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 ());
+       dkim_module_ctx->dkim_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        return dkim_module_config (cfg);
 }
index 7d240fcec172fc103dd63d58084567acf6ee9edd..4e969bfd9efba8538212bcd5d56b8c46fa0a2546 100644 (file)
@@ -408,8 +408,7 @@ fuzzy_check_module_init (struct rspamd_config *cfg, struct module_ctx **ctx)
 {
        fuzzy_module_ctx = g_malloc0 (sizeof (struct fuzzy_ctx));
 
-       fuzzy_module_ctx->fuzzy_pool = rspamd_mempool_new (
-               rspamd_mempool_suggest_size ());
+       fuzzy_module_ctx->fuzzy_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        fuzzy_module_ctx->cfg = cfg;
 
        *ctx = (struct module_ctx *)fuzzy_module_ctx;
@@ -519,8 +518,7 @@ fuzzy_check_module_reconfig (struct rspamd_config *cfg)
        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->fuzzy_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        fuzzy_module_ctx->cfg = cfg;
 
        return fuzzy_check_module_config (cfg);
index 489a6436474c741cc4eec1535fab05a5f829c3f7..c122004ae229c8a7becf13d36794cbb33342b46d 100644 (file)
@@ -98,8 +98,7 @@ regexp_module_init (struct rspamd_config *cfg, struct module_ctx **ctx)
 {
        regexp_module_ctx = g_malloc (sizeof (struct regexp_ctx));
 
-       regexp_module_ctx->regexp_pool = rspamd_mempool_new (
-               rspamd_mempool_suggest_size ());
+       regexp_module_ctx->regexp_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        *ctx = (struct module_ctx *)regexp_module_ctx;
 
@@ -184,8 +183,7 @@ regexp_module_reconfig (struct rspamd_config *cfg)
        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 ());
+       regexp_module_ctx->regexp_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        return regexp_module_config (cfg);
 }
index 51673bcbabcde7ab30328721f65da9a55895f4d9..eb50ab2b9ca21598764c4194c364e263ebb51635 100644 (file)
@@ -92,8 +92,7 @@ spf_module_init (struct rspamd_config *cfg, struct module_ctx **ctx)
 {
        spf_module_ctx = g_malloc (sizeof (struct spf_ctx));
 
-       spf_module_ctx->spf_pool = rspamd_mempool_new (
-               rspamd_mempool_suggest_size ());
+       spf_module_ctx->spf_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        *ctx = (struct module_ctx *)spf_module_ctx;
 
@@ -208,8 +207,7 @@ spf_module_reconfig (struct rspamd_config *cfg)
        radix_destroy_compressed (spf_module_ctx->whitelist_ip);
        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 ());
+       spf_module_ctx->spf_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        return spf_module_config (cfg);
 }
index 5a4b0a86d6511d2c65826e641e6c1a2948e9c55f..062fb8c0f4d40aab7b12b6c101d0dd086972430f 100644 (file)
@@ -276,8 +276,7 @@ surbl_module_init (struct rspamd_config *cfg, struct module_ctx **ctx)
 
        surbl_module_ctx->use_redirector = 0;
        surbl_module_ctx->suffixes = NULL;
-       surbl_module_ctx->surbl_pool = rspamd_mempool_new (
-               rspamd_mempool_suggest_size ());
+       surbl_module_ctx->surbl_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        surbl_module_ctx->tld2_file = NULL;
        surbl_module_ctx->whitelist_file = NULL;
@@ -622,8 +621,7 @@ surbl_module_reconfig (struct rspamd_config *cfg)
        /* Reinit module */
        surbl_module_ctx->use_redirector = 0;
        surbl_module_ctx->suffixes = NULL;
-       surbl_module_ctx->surbl_pool = rspamd_mempool_new (
-               rspamd_mempool_suggest_size ());
+       surbl_module_ctx->surbl_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        surbl_module_ctx->tld2_file = NULL;
        surbl_module_ctx->whitelist_file = NULL;
index 62d6ff6b7743178dece3135555d855da63198a6d..0e9c32eb6ce01304c501a65b3b9e6796e1bbf248 100644 (file)
@@ -928,7 +928,7 @@ accept_socket (gint fd, short what, void *arg)
 
        ctx = worker->ctx;
        session = g_slice_alloc0 (sizeof (struct smtp_proxy_session));
-       session->pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       session->pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
 
        session->sock = nfd;
@@ -979,7 +979,7 @@ init_smtp_proxy (struct rspamd_config *cfg)
        type = g_quark_try_string ("smtp_proxy");
 
        ctx = g_malloc0 (sizeof (struct smtp_worker_ctx));
-       ctx->pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       ctx->pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        /* Set default values */
        ctx->smtp_timeout_raw = 300000;
index dd2447d9ce7ca0128aa8100989da7d6312737cf9..31efdc827ab4f4200fb0441ee729f5037fa32a6d 100644 (file)
@@ -74,11 +74,11 @@ rspamd_dns_test_func ()
 
        cfg = (struct rspamd_config *)g_malloc (sizeof (struct rspamd_config));
        bzero (cfg, sizeof (struct rspamd_config));
-       cfg->cfg_pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       cfg->cfg_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        cfg->dns_retransmits = 2;
        cfg->dns_timeout = 0.5;
 
-       pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
 
        s = rspamd_session_create (pool, session_fin, NULL, NULL, NULL);
 
index 324ad8e4478b8464b42362f54ee22c7b73c79257..ee6c49b2338614ea5787fe839afe7b58f63ebeb4 100644 (file)
@@ -203,7 +203,7 @@ void
 rspamd_http_test_func (void)
 {
        struct event_base *ev_base = event_init ();
-       rspamd_mempool_t *pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       rspamd_mempool_t *pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        gpointer serv_key, client_key, peer_key;
        struct rspamd_keypair_cache *c;
        rspamd_mempool_mutex_t *mtx;
index ba9a87aebf3b89d9c5fe14c0e1f6a4c93be149fa..fe5ba56b827aebd5f95b45d0b8639ee6a6362d87 100644 (file)
@@ -14,7 +14,7 @@ rspamd_mem_pool_test_func ()
        pid_t pid;
        int ret;
 
-       pool = rspamd_mempool_new (sizeof (TEST_BUF));
+       pool = rspamd_mempool_new (sizeof (TEST_BUF), NULL);
        tmp = rspamd_mempool_alloc (pool, sizeof (TEST_BUF));
        tmp2 = rspamd_mempool_alloc (pool, sizeof (TEST_BUF) * 2);
        tmp3 = rspamd_mempool_alloc_shared (pool, sizeof (TEST_BUF));
index c1a2e27f5fad4b5627e603681f9bb5110f998785..8e092fd8423e04f308315d6e8ce217b22b4f89bf 100644 (file)
@@ -17,12 +17,12 @@ main (int argc, char **argv)
 
        rspamd_main = (struct rspamd_main *)g_malloc (sizeof (struct rspamd_main));
        memset (rspamd_main, 0, sizeof (struct rspamd_main));
-       rspamd_main->server_pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       rspamd_main->server_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        rspamd_main->cfg = (struct rspamd_config *)g_malloc (sizeof (struct rspamd_config));
        cfg = rspamd_main->cfg;
        memset (cfg, 0, sizeof (struct rspamd_config));
        rspamd_init_cfg (cfg, FALSE);
-       cfg->cfg_pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       cfg->cfg_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        cfg->log_type = RSPAMD_LOG_CONSOLE;
        cfg->log_level = G_LOG_LEVEL_INFO;
 
index c6738b0ff212eb03fe0565eb56190bc96efe86ec..28c4bb7576896934c59606e2bfeea830a4e3eac3 100644 (file)
@@ -76,7 +76,7 @@ rspamd_upstream_test_func (void)
 
        cfg = (struct rspamd_config *)g_malloc (sizeof (struct rspamd_config));
        bzero (cfg, sizeof (struct rspamd_config));
-       cfg->cfg_pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
+       cfg->cfg_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (), NULL);
        cfg->dns_retransmits = 2;
        cfg->dns_timeout = 0.5;
        cfg->upstream_max_errors = 1;