]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Do not distinguish NXDOMAIN and NOREC for monitored
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 27 Aug 2016 18:38:15 +0000 (19:38 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 27 Aug 2016 18:38:42 +0000 (19:38 +0100)
src/libserver/monitored.c

index d41ce652e7daa30f0eba7c6790f7aa86e1a55596..b6926123423cc2645fb91752d18966b0a14b5d7d 100644 (file)
@@ -249,10 +249,19 @@ rspamd_monitored_dns_cb (struct rdns_reply *reply, void *arg)
        else {
                if (conf->expected_code != -1) {
                        if (reply->code != conf->expected_code) {
-                               msg_info_mon ("DNS reply returned %s while %s is expected",
-                                               rdns_strerror (reply->code),
-                                               rdns_strerror (conf->expected_code));
-                               rspamd_monitored_propagate_error (m, "invalid return");
+                               if (reply->code == RDNS_RC_NOREC &&
+                                               conf->expected_code == RDNS_RC_NXDOMAIN) {
+                                       rspamd_monitored_propagate_success (m, lat);
+                               }
+                               else {
+                                       msg_info_mon ("DNS reply returned %s while %s is expected",
+                                                       rdns_strerror (reply->code),
+                                                       rdns_strerror (conf->expected_code));
+                                       rspamd_monitored_propagate_error (m, "invalid return");
+                               }
+                       }
+                       else {
+                               rspamd_monitored_propagate_success (m, lat);
                        }
                }
                else if (conf->expected) {