]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] bug in rrl slip
authorEvan Hunt <each@isc.org>
Thu, 4 Apr 2013 17:32:19 +0000 (10:32 -0700)
committerEvan Hunt <each@isc.org>
Thu, 4 Apr 2013 17:32:19 +0000 (10:32 -0700)
3545. [bug] RRL slip behavior was incorrect when set to 1.
[RT #33111]

CHANGES
lib/dns/rrl.c

diff --git a/CHANGES b/CHANGES
index 71c4cb20bcdc7d81153b69f65866ee6b7b9f8bc5..700ca5003306fb6bccb7c6e4a207314c2934c8cf 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3545.  [bug]           RRL slip behavior was incorrect when set to 1.
+                       [RT #33111]
+
 3544.  [contrib]       check5011.pl: Script to report the status of
                        managed keys as recorded in managed-keys.bind.
                        Contributed by Tony Finch <dot@dotat.at>
index cd07cf2838a76d780d96a83ccec52d06c009720f..063e0474720f19c55ffc0836163543e65e61f58e 100644 (file)
@@ -756,6 +756,8 @@ debit_rrl_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, double qps, double scale,
        }
        if (slip != 0 && e->key.s.rtype != DNS_RRL_RTYPE_ALL) {
                if (e->slip_cnt++ == 0) {
+                       if ((int) e->slip_cnt >= slip)
+                               e->slip_cnt = 0;
                        if (isc_log_wouldlog(dns_lctx, DNS_RRL_LOG_DEBUG3))
                                debit_log(e, age, "slip");
                        return (DNS_RRL_RESULT_SLIP);