]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Enable monitored events for scanner
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 26 Aug 2016 13:33:43 +0000 (14:33 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 26 Aug 2016 13:37:21 +0000 (14:37 +0100)
src/libserver/cfg_file.h
src/libserver/cfg_utils.c
src/libserver/monitored.c
src/worker.c

index 7c47f1e4bba36ad1146722443d34ae43c2b383c0..48c3c812f76c11fa8d55c91716d86edc74ca8b28 100644 (file)
@@ -405,6 +405,7 @@ struct rspamd_config {
        gchar *log_format_str;                                                  /**< raw log format string                                                              */
 
        struct rspamd_external_libs_ctx *libs_ctx;              /**< context for external libraries                                             */
+       struct rspamd_monitored_ctx *monitored_ctx;             /**< context for monitored resources                                    */
 
        struct rspamd_re_cache *re_cache;                               /**< static regexp cache                                                                */
 
index 9fed83c9a50360ed287ea1a0460e3b2701f73f37..decd33156f59a2e93f2a54790af874b94caa9f2c 100644 (file)
@@ -27,6 +27,7 @@
 #include "stat_api.h"
 #include "unix-std.h"
 #include "libutil/multipattern.h"
+#include "monitored.h"
 #include <math.h>
 
 #define DEFAULT_SCORE 10.0
@@ -164,6 +165,7 @@ rspamd_config_new (void)
 
        cfg->ssl_ciphers = "HIGH:!aNULL:!kRSA:!PSK:!SRP:!MD5:!RC4";
        cfg->max_message = DEFAULT_MAX_MESSAGE;
+       cfg->monitored_ctx = rspamd_monitored_ctx_init ();
 
        REF_INIT_RETAIN (cfg, rspamd_config_free);
 
@@ -232,6 +234,10 @@ rspamd_config_free (struct rspamd_config *cfg)
                g_slice_free1 (sizeof (*sc), sc);
        }
 
+       if (cfg->monitored_ctx) {
+               rspamd_monitored_ctx_destroy (cfg->monitored_ctx);
+       }
+
        g_list_free (cfg->classifiers);
        g_list_free (cfg->metrics_list);
        rspamd_symbols_cache_destroy (cfg->cache);
index 8fb2d0f4777f68d758752b4c395a9486c0f733e4..01f45af36ecc2b545a2997f085e75879acedca88 100644 (file)
@@ -197,7 +197,8 @@ rspamd_monitored_dns_cb (struct rdns_reply *reply, void *arg)
        struct rspamd_monitored *m;
 
        m = conf->m;
-
+       msg_debug_mon ("dns callback for %s: %s", m->url,
+                       rdns_strerror (reply->code));
 
        if (reply->code == RDNS_RC_TIMEOUT) {
                rspamd_monitored_propagate_error (m, "timeout");
index 097f7c2e193a79f30acce237c17c63b24eed38d2..362849136bc3106539b44fbcfe364976ee3d9ded 100644 (file)
@@ -35,6 +35,7 @@
 #include "worker_private.h"
 #include "utlist.h"
 #include "libutil/http_private.h"
+#include "monitored.h"
 
 #include "lua/lua_common.h"
 
@@ -586,6 +587,8 @@ start_worker (struct rspamd_worker *worker)
 
        rspamd_upstreams_library_config (worker->srv->cfg, ctx->cfg->ups_ctx,
                        ctx->ev_base, ctx->resolver->r);
+       rspamd_monitored_ctx_config (worker->srv->cfg->monitored_ctx,
+                       worker->srv->cfg, ctx->ev_base, ctx->resolver->r);
 
        /* XXX: stupid default */
        ctx->keys_cache = rspamd_keypair_cache_new (256);