aboutsummaryrefslogtreecommitdiffstats
path: root/dns/bind914/files/extrapatch-bind-min-override-ttl
diff options
context:
space:
mode:
Diffstat (limited to 'dns/bind914/files/extrapatch-bind-min-override-ttl')
-rw-r--r--dns/bind914/files/extrapatch-bind-min-override-ttl59
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 },