* the bit mask of policy zones with policies for this trigger name.
* x&-x is the least significant bit set in x
*/
- if (zbits != (zbits & -zbits)) {
+ if (zbits != (zbits & (~zbits + 1))) {
zbits = dns_rpz_find_name(client->view->rpzs,
rpz_type, zbits, trig_name);
if (zbits == 0)
key->s.rtype = rtype;
if (rtype == DNS_RRL_RTYPE_QUERY || rtype == DNS_RRL_RTYPE_DELEGATION) {
- key->s.qclass = qclass;
+ key->s.qclass = qclass & 0xff;
key->s.qtype = qtype;
}
}
}
if (scale < 1.0) {
- new_rate = rate * scale;
+ new_rate = (int) (rate * scale);
if (new_rate < 1)
new_rate = 1;
if (*ratep != new_rate) {
*/
slip = rrl->slip;
if (slip > 2 && scale < 1.0) {
- new_slip = slip * scale;
+ new_slip = (int) (slip * scale);
if (new_slip < 2)
new_slip = 2;
if (rrl->scaled_slip != new_slip) {
if (isc_log_wouldlog(dns_lctx, DNS_RRL_LOG_DEBUG3))
debit_log(e, age, "slip");
return (DNS_RRL_RESULT_SLIP);
- } else if (e->slip_cnt >= slip) {
+ } else if ((int) e->slip_cnt >= slip) {
e->slip_cnt = 0;
}
}