]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix ARM about min-update-interval default for RPZ zones
authorMukund Sivaraman <muks@isc.org>
Mon, 14 May 2018 08:29:40 +0000 (13:59 +0530)
committerEvan Hunt <each@isc.org>
Fri, 18 May 2018 02:02:51 +0000 (19:02 -0700)
Also, use variable names consistent with catz for rpz configuration functions

bin/named/server.c
doc/arm/Bv9ARM-book.xml
lib/dns/include/dns/rpz.h
lib/dns/rpz.c

index c5f78baa0550256b762aa101cd3368fe42684a69..27fdb602756266140d8bfa3259a1eff39b3230c0 100644 (file)
@@ -2096,8 +2096,10 @@ configure_rpz_name2(dns_view_t *view, const cfg_obj_t *obj, dns_name_t *name,
 
 static isc_result_t
 configure_rpz_zone(dns_view_t *view, const cfg_listelt_t *element,
-                  isc_boolean_t recursive_only_def, dns_ttl_t ttl_def,
-                  isc_uint32_t minupdateint_def, const dns_rpz_zone_t *old,
+                  isc_boolean_t recursive_only_default,
+                  dns_ttl_t ttl_default,
+                  isc_uint32_t minupdateinterval_default,
+                  const dns_rpz_zone_t *old,
                   isc_boolean_t *old_rpz_okp)
 {
        const cfg_obj_t *rpz_obj, *obj;
@@ -2126,7 +2128,9 @@ configure_rpz_zone(dns_view_t *view, const cfg_listelt_t *element,
        }
 
        obj = cfg_tuple_get(rpz_obj, "recursive-only");
-       if (cfg_obj_isvoid(obj) ? recursive_only_def : cfg_obj_asboolean(obj)) {
+       if (cfg_obj_isvoid(obj) ?
+           recursive_only_default : cfg_obj_asboolean(obj))
+       {
                view->rpzs->p.no_rd_ok &= ~DNS_RPZ_ZBIT(zone->num);
        } else {
                view->rpzs->p.no_rd_ok |= DNS_RPZ_ZBIT(zone->num);
@@ -2143,14 +2147,14 @@ configure_rpz_zone(dns_view_t *view, const cfg_listelt_t *element,
        if (cfg_obj_isuint32(obj)) {
                zone->max_policy_ttl = cfg_obj_asuint32(obj);
        } else {
-               zone->max_policy_ttl = ttl_def;
+               zone->max_policy_ttl = ttl_default;
        }
 
        obj = cfg_tuple_get(rpz_obj, "min-update-interval");
        if (cfg_obj_isuint32(obj)) {
-               zone->min_update_int = cfg_obj_asuint32(obj);
+               zone->min_update_interval = cfg_obj_asuint32(obj);
        } else {
-               zone->min_update_int = minupdateint_def;
+               zone->min_update_interval = minupdateinterval_default;
        }
 
        if (*old_rpz_okp && zone->max_policy_ttl != old->max_policy_ttl)
@@ -2249,11 +2253,11 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps,
        char *rps_cstr;
        size_t rps_cstr_size;
        const cfg_obj_t *sub_obj;
-       isc_boolean_t recursive_only_def;
+       isc_boolean_t recursive_only_default;
        isc_boolean_t nsip_enabled, nsdname_enabled;
        dns_rpz_zbits_t nsip_on, nsdname_on;
-       dns_ttl_t ttl_def;
-       isc_uint32_t minupdateint_def;
+       dns_ttl_t ttl_default;
+       isc_uint32_t minupdateinterval_default;
        dns_rpz_zones_t *zones;
        const dns_rpz_zones_t *old;
        dns_view_t *pview;
@@ -2344,9 +2348,9 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps,
        sub_obj = cfg_tuple_get(rpz_obj, "recursive-only");
        if (!cfg_obj_isvoid(sub_obj) &&
            !cfg_obj_asboolean(sub_obj))
-               recursive_only_def = ISC_FALSE;
+               recursive_only_default = ISC_FALSE;
        else
-               recursive_only_def = ISC_TRUE;
+               recursive_only_default = ISC_TRUE;
 
        sub_obj = cfg_tuple_get(rpz_obj, "break-dnssec");
        if (!cfg_obj_isvoid(sub_obj) &&
@@ -2357,15 +2361,15 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps,
 
        sub_obj = cfg_tuple_get(rpz_obj, "max-policy-ttl");
        if (cfg_obj_isuint32(sub_obj))
-               ttl_def = cfg_obj_asuint32(sub_obj);
+               ttl_default = cfg_obj_asuint32(sub_obj);
        else
-               ttl_def = DNS_RPZ_MAX_TTL_DEFAULT;
+               ttl_default = DNS_RPZ_MAX_TTL_DEFAULT;
 
        sub_obj = cfg_tuple_get(rpz_obj, "min-update-interval");
        if (cfg_obj_isuint32(sub_obj))
-               minupdateint_def = cfg_obj_asuint32(sub_obj);
+               minupdateinterval_default = cfg_obj_asuint32(sub_obj);
        else
-               minupdateint_def = DNS_RPZ_MINUPDATEINT_DEF;
+               minupdateinterval_default = DNS_RPZ_MINUPDATEINTERVAL_DEFAULT;
 
        sub_obj = cfg_tuple_get(rpz_obj, "min-ns-dots");
        if (cfg_obj_isuint32(sub_obj))
@@ -2409,9 +2413,10 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps,
                        old_zone = NULL;
                }
                result = configure_rpz_zone(view, zone_element,
-                                           recursive_only_def, ttl_def,
-                                           minupdateint_def, old_zone,
-                                           old_rpz_okp);
+                                           recursive_only_default,
+                                           ttl_default,
+                                           minupdateinterval_default,
+                                           old_zone, old_rpz_okp);
                if (result != ISC_R_SUCCESS) {
                        if (pview != NULL)
                                dns_view_detach(&pview);
index 86e24d7ccc5765ef162d26ef8eff7953093506c2..692faaf1e1e264466d1fa3f343e880fc86936a62 100644 (file)
@@ -10277,7 +10277,7 @@ example.com                 CNAME   rpz-tcp-only.
            If an update to a RPZ zone (for example, via IXFR) happens less
            than <option>min-update-interval</option> seconds after the most
            recent update, then the changes will not be carried out until this
-           interval has elapsed.  The default is <literal>5</literal> seconds.
+           interval has elapsed.  The default is <literal>60</literal> seconds.
            For convenience, TTL-style time unit suffixes may be
            used to specify the value.
          </para>
index 245b0ea47d7a92c64c2a3cd306e5485515c1b3b4..34a3ff9c530e443f5413320824dd7a34257c25c9 100644 (file)
@@ -137,7 +137,7 @@ struct dns_rpz_zone {
        dns_ttl_t        max_policy_ttl;
        dns_rpz_policy_t policy;        /* DNS_RPZ_POLICY_GIVEN or override */
 
-       isc_uint32_t     min_update_int;/* minimal interval between updates */
+       isc_uint32_t     min_update_interval;/* minimal interval between updates */
        isc_ht_t         *nodes;        /* entries in zone */
        dns_rpz_zones_t  *rpzs;         /* owner */
        isc_time_t       lastupdated;   /* last time the zone was processed */
@@ -347,9 +347,9 @@ typedef struct {
        dns_fixedname_t         _fnamef;
 } dns_rpz_st_t;
 
-#define DNS_RPZ_TTL_DEFAULT            5
-#define DNS_RPZ_MAX_TTL_DEFAULT                DNS_RPZ_TTL_DEFAULT
-#define DNS_RPZ_MINUPDATEINT_DEF       60
+#define DNS_RPZ_TTL_DEFAULT                    5
+#define DNS_RPZ_MAX_TTL_DEFAULT                        DNS_RPZ_TTL_DEFAULT
+#define DNS_RPZ_MINUPDATEINTERVAL_DEFAULT      60
 
 /*
  * So various response policy zone messages can be turned up or down.
index cc51fd0637b2c1579b607b941b28975a2b84255f..74b70092c9f2b126a2fae11b5750563b357b2177 100644 (file)
@@ -1610,8 +1610,8 @@ dns_rpz_dbupdate_callback(dns_db_t *db, void *fn_arg) {
                zone->updatepending = ISC_TRUE;
                isc_time_now(&now);
                tdiff = isc_time_microdiff(&now, &zone->lastupdated) / 1000000;
-               if (tdiff < zone->min_update_int) {
-                       isc_uint64_t defer = zone->min_update_int - tdiff;
+               if (tdiff < zone->min_update_interval) {
+                       isc_uint64_t defer = zone->min_update_interval - tdiff;
                        isc_interval_t interval;
                        dns_name_format(&zone->origin, dname,
                                        DNS_NAME_FORMATSIZE);
@@ -1801,7 +1801,7 @@ finish_update(dns_rpz_zone_t *rpz) {
         * If there's an update pending schedule it
         */
        if (rpz->updatepending == ISC_TRUE) {
-               isc_uint64_t defer = rpz->min_update_int;
+               isc_uint64_t defer = rpz->min_update_interval;
                isc_interval_t interval;
                dns_name_format(&rpz->origin, dname,
                                DNS_NAME_FORMATSIZE);