]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Fix build.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 29 Oct 2014 15:02:51 +0000 (15:02 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 29 Oct 2014 15:02:51 +0000 (15:02 +0000)
src/controller.c
src/libserver/dns.c
src/libserver/dns.h
src/libutil/CMakeLists.txt
src/libutil/upstream.c
src/smtp_proxy.c
src/worker.c

index 02a5d4d2eb8b7e134e27e767f885d0700c4dc337..dafbe5bc1fec7b734bab404164518b009baca28f 100644 (file)
@@ -1734,6 +1734,7 @@ start_controller_worker (struct rspamd_worker *worker)
                        ctx->ev_base,
                        worker->srv->cfg);
 
+       rspamd_upstreams_library_init (ctx->resolver->r, ctx->ev_base);
        /* Maps events */
        start_map_watch (worker->srv->cfg, ctx->ev_base);
 
index 1410442b7af432d11c1afed0cd4c9b7f7a758816..3e97160aff3a08125840b2a61b1afd053eb10390 100644 (file)
 #include "uthash.h"
 #include "rdns_event.h"
 
-struct rspamd_dns_resolver {
-       struct rdns_resolver *r;
-       struct event_base *ev_base;
-       gdouble request_timeout;
-       guint max_retransmits;
-};
-
 struct rspamd_dns_request_ud {
        struct rspamd_async_session *session;
        dns_callback_type cb;
index 4882f539d937a87d261250b624ca6ac71f076522..ffe80fae0162fec41eef2c42783062e9432df7f2 100644 (file)
 #include "logger.h"
 #include "rdns.h"
 
-struct rspamd_dns_resolver;
+struct rspamd_dns_resolver {
+       struct rdns_resolver *r;
+       struct event_base *ev_base;
+       gdouble request_timeout;
+       guint max_retransmits;
+};
 
 /* Rspamd DNS API */
 
index 01c88769b72fea6e783ba5f0b587fd5abba22328..d7894ea7cce16b86d7962ba3c444fbceee0e8191 100644 (file)
@@ -30,6 +30,7 @@ TARGET_LINK_LIBRARIES(rspamd-util ottery)
 TARGET_LINK_LIBRARIES(rspamd-util rspamd-http-parser)
 TARGET_LINK_LIBRARIES(rspamd-util event)
 TARGET_LINK_LIBRARIES(rspamd-util xxhash)
+TARGET_LINK_LIBRARIES(rspamd-util rdns)
 IF(OPENSSL_FOUND)
        TARGET_LINK_LIBRARIES(rspamd-util ${OPENSSL_LIBRARIES})
 ENDIF(OPENSSL_FOUND)
index fb469242f6aa52e1fa8946483916b60d4b61c87c..595b6cd0bd8bb2e9352b7e8dafd776101d05e0c2 100644 (file)
@@ -191,21 +191,25 @@ rspamd_upstream_set_inactive (struct upstream_list *ls, struct upstream *up)
        g_ptr_array_remove_index (ls->alive, up->active_idx);
        up->active_idx = -1;
 
-       /* Resolve name of the upstream one more time */
-       if (up->name[0] != '/') {
-               REF_RETAIN (up);
-               rdns_make_request_full (res, rspamd_upstream_dns_cb, up,
-                       default_dns_timeout, default_dns_retransmits,
-                       RDNS_REQUEST_A, up->name);
-               REF_RETAIN (up);
-               rdns_make_request_full (res, rspamd_upstream_dns_cb, up,
-                       default_dns_timeout, default_dns_retransmits,
-                       RDNS_REQUEST_AAAA, up->name);
+       if (res != NULL) {
+               /* Resolve name of the upstream one more time */
+               if (up->name[0] != '/') {
+                       REF_RETAIN (up);
+                       rdns_make_request_full (res, rspamd_upstream_dns_cb, up,
+                                       default_dns_timeout, default_dns_retransmits,
+                                       RDNS_REQUEST_A, up->name);
+                       REF_RETAIN (up);
+                       rdns_make_request_full (res, rspamd_upstream_dns_cb, up,
+                                       default_dns_timeout, default_dns_retransmits,
+                                       RDNS_REQUEST_AAAA, up->name);
+               }
        }
 
        REF_RETAIN (up);
        evtimer_set (&up->ev, rspamd_upstream_revive_cb, up);
-       event_base_set (ev_base, &up->ev);
+       if (ev_base != NULL) {
+               event_base_set (ev_base, &up->ev);
+       }
        up->tv.tv_sec = default_revive_time;
        up->tv.tv_usec = 0;
        event_add (&up->ev, &up->tv);
index 9b31c9498a101032d6f2608f6eb708ace304870b..7e881994fff412ca31088ef062bddbca94cced6f 100644 (file)
@@ -1072,6 +1072,7 @@ start_smtp_proxy (struct rspamd_worker *worker)
                        ctx->ev_base,
                        worker->srv->cfg);
 
+       rspamd_upstreams_library_init (ctx->resolver->r, ctx->ev_base);
        /* Set umask */
        umask (S_IWGRP | S_IWOTH | S_IROTH | S_IRGRP);
 
index c562528a3dc6f7d0148295e5da8a2f124e072c93..afd9a9b72523315720d519a0f95a79dc6a67c034 100644 (file)
@@ -318,6 +318,8 @@ start_worker (struct rspamd_worker *worker)
                        ctx->ev_base,
                        worker->srv->cfg);
 
+       rspamd_upstreams_library_init (ctx->resolver->r, ctx->ev_base);
+
        /* Create classify pool */
        ctx->classify_pool = NULL;
        if (ctx->classify_threads > 1) {