]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Add debug_modules option.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 1 Sep 2015 16:34:25 +0000 (17:34 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 1 Sep 2015 16:34:25 +0000 (17:34 +0100)
src/libserver/cfg_file.h
src/libserver/cfg_rcl.c
src/libserver/cfg_utils.c

index 3a1e01bfb5cd1b6a43cf3349cc4b961cc122250c..4d87bf8e4c6390ea5460e148bae7d177686cc278 100644 (file)
@@ -199,6 +199,7 @@ struct rspamd_config {
        gchar *debug_ip_map;                            /**< turn on debugging for specified ip addresses       */
        gboolean log_urls;                              /**< whether we should log URLs                         */
        GList *debug_symbols;                           /**< symbols to debug                                                                   */
+       GHashTable *debug_modules;                      /**< logging modules to debug                                                   */
        gboolean log_color;                             /**< output colors for console output                   */
        gboolean log_extended;                          /**< log extended information                                                   */
 
index b6ca6705cb25ba092de887926681db79e098094f..3a98cdd55d016b44ff328cf01f2ea566eff12c0e 100644 (file)
@@ -1190,6 +1190,11 @@ rspamd_rcl_config_init (void)
                rspamd_rcl_parse_struct_boolean,
                G_STRUCT_OFFSET (struct rspamd_config, log_color),
                0);
+       rspamd_rcl_add_default_handler (sub,
+                       "debug_modules",
+                       rspamd_rcl_parse_struct_string_list,
+                       G_STRUCT_OFFSET (struct rspamd_config, debug_modules),
+                       RSPAMD_CL_FLAG_STRING_LIST_HASH);
        /**
         * Options section
         */
index 161ea9501d9800e02de935f8fd072f493b9e1c97..776d006703240affce9343dd6c921d3fd00360ac 100644 (file)
@@ -165,6 +165,7 @@ rspamd_config_defaults (struct rspamd_config *cfg)
                        rspamd_str_equal);
        cfg->cfg_params = g_hash_table_new (rspamd_str_hash, rspamd_str_equal);
        cfg->metrics_symbols = g_hash_table_new (rspamd_str_hash, rspamd_str_equal);
+       cfg->debug_modules = g_hash_table_new (rspamd_str_hash, rspamd_str_equal);
 
        cfg->map_timeout = DEFAULT_MAP_TIMEOUT;
 
@@ -188,7 +189,8 @@ rspamd_config_free (struct rspamd_config *cfg)
        g_hash_table_remove_all (cfg->cfg_params);
        g_hash_table_unref (cfg->cfg_params);
        g_hash_table_destroy (cfg->metrics_symbols);
-       g_hash_table_destroy (cfg->classifiers_symbols);
+       g_hash_table_unref (cfg->classifiers_symbols);
+       g_hash_table_unref (cfg->debug_modules);
 
        if (cfg->checksum) {
                g_free (cfg->checksum);