]> source.dussan.org Git - rspamd.git/commitdiff
Use context variables instead of default ones
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 22 Nov 2015 13:54:36 +0000 (13:54 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 22 Nov 2015 13:54:36 +0000 (13:54 +0000)
src/libutil/upstream.c

index 0054be93a7b87ae03fe3cffebf7e5574890f4747..8ff3575badf1fa32393d081a9c21363398d1ec53 100644 (file)
@@ -318,14 +318,18 @@ rspamd_upstream_set_inactive (struct upstream_list *ls, struct upstream *up)
        if (up->ctx->res != NULL && up->ctx->configured) {
                /* Resolve name of the upstream one more time */
                if (up->name[0] != '/') {
-                       REF_RETAIN (up);
-                       rdns_make_request_full (up->ctx->res, rspamd_upstream_dns_cb, up,
-                                       default_dns_timeout, default_dns_retransmits,
-                                       1, up->name, RDNS_REQUEST_A);
-                       REF_RETAIN (up);
-                       rdns_make_request_full (up->ctx->res, rspamd_upstream_dns_cb, up,
-                                       default_dns_timeout, default_dns_retransmits,
-                                       1, up->name, RDNS_REQUEST_AAAA);
+
+                       if (rdns_make_request_full (up->ctx->res, rspamd_upstream_dns_cb, up,
+                                       up->ctx->dns_timeout, up->ctx->dns_retransmits,
+                                       1, up->name, RDNS_REQUEST_A) != NULL) {
+                               REF_RETAIN (up);
+                       }
+
+                       if (rdns_make_request_full (up->ctx->res, rspamd_upstream_dns_cb, up,
+                                       up->ctx->dns_timeout, up->ctx->dns_retransmits,
+                                       1, up->name, RDNS_REQUEST_AAAA) != NULL) {
+                               REF_RETAIN (up);
+                       }
                }
        }
 
@@ -335,8 +339,7 @@ rspamd_upstream_set_inactive (struct upstream_list *ls, struct upstream *up)
                event_base_set (up->ctx->ev_base, &up->ev);
        }
 
-       ntim = default_revive_time + ottery_rand_range (
-                       default_revive_time * default_revive_jitter);
+       ntim = rspamd_time_jitter (up->ctx->revive_time, up->ctx->revive_jitter);
        double_to_tv (ntim, &up->tv);
        event_add (&up->ev, &up->tv);
 
@@ -364,7 +367,7 @@ rspamd_upstream_fail (struct upstream *up)
                if (msec_cur >= msec_last) {
                        if (msec_cur > msec_last) {
                                error_rate = ((gdouble)up->errors) / (msec_cur - msec_last);
-                               max_error_rate = (gdouble)default_max_errors / default_error_time;
+                               max_error_rate = ((gdouble)up->ctx->max_errors) / up->ctx->error_time;
                        }
                        else {
                                error_rate = 1;