summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-08-26 14:33:43 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-08-26 14:37:21 +0100
commita8ea1e714821d106e7b17deea4ae6852dac77bdc (patch)
tree65ee6322880751b28e873b6eb49c106762cc8936 /src
parent98c3d36d82351b89a81ba5fd2cec3d5eb53ee19d (diff)
downloadrspamd-a8ea1e714821d106e7b17deea4ae6852dac77bdc.tar.gz
rspamd-a8ea1e714821d106e7b17deea4ae6852dac77bdc.zip
[Minor] Enable monitored events for scanner
Diffstat (limited to 'src')
-rw-r--r--src/libserver/cfg_file.h1
-rw-r--r--src/libserver/cfg_utils.c6
-rw-r--r--src/libserver/monitored.c3
-rw-r--r--src/worker.c3
4 files changed, 12 insertions, 1 deletions
diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h
index 7c47f1e4b..48c3c812f 100644
--- a/src/libserver/cfg_file.h
+++ b/src/libserver/cfg_file.h
@@ -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 */
diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c
index 9fed83c9a..decd33156 100644
--- a/src/libserver/cfg_utils.c
+++ b/src/libserver/cfg_utils.c
@@ -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);
diff --git a/src/libserver/monitored.c b/src/libserver/monitored.c
index 8fb2d0f47..01f45af36 100644
--- a/src/libserver/monitored.c
+++ b/src/libserver/monitored.c
@@ -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");
diff --git a/src/worker.c b/src/worker.c
index 097f7c2e1..362849136 100644
--- a/src/worker.c
+++ b/src/worker.c
@@ -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);