diff options
Diffstat (limited to 'dns/bind914/files/extrapatch-bind-min-override-ttl')
-rw-r--r-- | dns/bind914/files/extrapatch-bind-min-override-ttl | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/dns/bind914/files/extrapatch-bind-min-override-ttl b/dns/bind914/files/extrapatch-bind-min-override-ttl new file mode 100644 index 000000000000..9a1feb62b454 --- /dev/null +++ b/dns/bind914/files/extrapatch-bind-min-override-ttl @@ -0,0 +1,59 @@ +--- bin/named/config.c.orig 2019-02-06 23:44:09 UTC ++++ bin/named/config.c +@@ -179,6 +179,7 @@ options {\n\ + notify-source *;\n\ + notify-source-v6 *;\n\ + nsec3-test-zone no;\n\ ++ override-cache-ttl 0; /* do not override */\n\ + provide-ixfr true;\n\ + qname-minimization relaxed;\n\ + query-source address *;\n\ +--- bin/named/server.c.orig 2019-02-06 23:44:09 UTC ++++ bin/named/server.c +@@ -4150,6 +4150,11 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewl + } + + obj = NULL; ++ result = named_config_get(maps, "override-cache-ttl", &obj); ++ INSIST(result == ISC_R_SUCCESS); ++ view->overridecachettl = cfg_obj_asuint32(obj); ++ ++ obj = NULL; + result = named_config_get(maps, "max-cache-ttl", &obj); + INSIST(result == ISC_R_SUCCESS); + view->maxcachettl = cfg_obj_asuint32(obj); +--- lib/dns/include/dns/view.h.orig 2019-02-06 23:44:09 UTC ++++ lib/dns/include/dns/view.h +@@ -153,6 +153,7 @@ struct dns_view { + bool requestnsid; + bool sendcookie; + dns_ttl_t maxcachettl; ++ dns_ttl_t overridecachettl; + dns_ttl_t maxncachettl; + dns_ttl_t mincachettl; + dns_ttl_t minncachettl; +--- lib/dns/resolver.c.orig 2019-02-06 23:44:09 UTC ++++ lib/dns/resolver.c +@@ -6008,6 +6008,12 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adb + } + + /* ++ * Enforce the configure cache TTL override. ++ */ ++ if (res->view->overridecachettl) ++ rdataset->ttl = res->view->overridecachettl; ++ ++ /* + * Enforce the configure maximum cache TTL. + */ + if (rdataset->ttl > res->view->maxcachettl) { +--- lib/isccfg/namedconf.c.orig 2019-02-06 23:44:09 UTC ++++ lib/isccfg/namedconf.c +@@ -1899,6 +1899,7 @@ view_clauses[] = { + #endif + { "max-acache-size", &cfg_type_sizenodefault, CFG_CLAUSEFLAG_OBSOLETE }, + { "max-cache-size", &cfg_type_sizeorpercent, 0 }, ++ { "override-cache-ttl", &cfg_type_ttlval, 0 }, + { "max-cache-ttl", &cfg_type_ttlval, 0 }, + { "max-clients-per-query", &cfg_type_uint32, 0 }, + { "max-ncache-ttl", &cfg_type_ttlval, 0 }, |