diff --git a/dns/bind916/files/extrapatch-bind-min-override-ttl b/dns/bind916/files/extrapatch-bind-min-override-ttl index 36e82c339d80..1dce8f15d7d6 100644 --- a/dns/bind916/files/extrapatch-bind-min-override-ttl +++ b/dns/bind916/files/extrapatch-bind-min-override-ttl @@ -1,61 +1,61 @@ Add the override-cache-ttl feature. ---- bin/named/config.c.orig 2021-06-08 10:45:10 UTC +--- bin/named/config.c.orig 2021-07-09 08:02:03 UTC +++ bin/named/config.c @@ -180,6 +180,7 @@ options {\n\ notify-source *;\n\ notify-source-v6 *;\n\ nsec3-test-zone no;\n\ + override-cache-ttl 0; /* do not override */\n\ + parental-source *;\n\ + parental-source-v6 *;\n\ provide-ixfr true;\n\ - qname-minimization relaxed;\n\ - query-source address *;\n\ ---- bin/named/server.c.orig 2021-06-08 10:45:10 UTC +--- bin/named/server.c.orig 2021-07-09 08:02:03 UTC +++ bin/named/server.c -@@ -4364,6 +4364,11 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewl +@@ -4406,6 +4406,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_asduration(obj); + + obj = NULL; result = named_config_get(maps, "max-cache-ttl", &obj); INSIST(result == ISC_R_SUCCESS); view->maxcachettl = cfg_obj_asduration(obj); ---- lib/dns/include/dns/view.h.orig 2021-06-08 10:45:10 UTC +--- lib/dns/include/dns/view.h.orig 2021-07-09 08:02:03 UTC +++ lib/dns/include/dns/view.h @@ -152,6 +152,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 2021-06-08 10:45:10 UTC +--- lib/dns/resolver.c.orig 2021-07-09 08:02:03 UTC +++ lib/dns/resolver.c @@ -6476,6 +6476,12 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_mes } /* + * 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 2021-06-08 10:45:10 UTC +--- lib/isccfg/namedconf.c.orig 2021-07-09 08:02:03 UTC +++ lib/isccfg/namedconf.c -@@ -2047,6 +2047,7 @@ static cfg_clausedef_t view_clauses[] = { +@@ -2048,6 +2048,7 @@ static cfg_clausedef_t view_clauses[] = { #endif /* ifdef HAVE_LMDB */ { "max-acache-size", &cfg_type_sizenodefault, CFG_CLAUSEFLAG_OBSOLETE }, { "max-cache-size", &cfg_type_sizeorpercent, 0 }, + { "override-cache-ttl", &cfg_type_duration, 0 }, { "max-cache-ttl", &cfg_type_duration, 0 }, { "max-clients-per-query", &cfg_type_uint32, 0 }, { "max-ncache-ttl", &cfg_type_duration, 0 },