ports/dns/bind9-devel/files/extrapatch-bind-min-override-ttl
Mathieu Arnold 9f0310eea0 Update to latest commit.
Sponsored by:	Absolight
2017-09-25 13:01:34 +00:00

79 lines
2.6 KiB
Text

--- bin/named/config.c.orig 2017-09-23 04:57:27 UTC
+++ bin/named/config.c
@@ -179,12 +179,14 @@ options {\n\
max-recursion-queries 75;\n\
max-stale-ttl 604800; /* 1 week */\n\
message-compression yes;\n\
+ min-cache-ttl 0; /* no minimal, zero is allowed */\n\
# min-roots <obsolete>;\n\
minimal-any false;\n\
minimal-responses no-auth-recursive;\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\
query-source address *;\n\
query-source-v6 address *;\n\
--- bin/named/server.c.orig 2017-09-23 04:57:27 UTC
+++ bin/named/server.c
@@ -4090,6 +4090,16 @@ configure_view(dns_view_t *view, dns_vie
}
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, "min-cache-ttl", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+ view->mincachettl = 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 2017-09-23 04:57:27 UTC
+++ lib/dns/include/dns/view.h
@@ -145,6 +145,8 @@ struct dns_view {
isc_boolean_t requestnsid;
isc_boolean_t sendcookie;
dns_ttl_t maxcachettl;
+ dns_ttl_t mincachettl;
+ dns_ttl_t overridecachettl;
dns_ttl_t maxncachettl;
isc_uint32_t nta_lifetime;
isc_uint32_t nta_recheck;
--- lib/dns/resolver.c.orig 2017-09-23 04:57:27 UTC
+++ lib/dns/resolver.c
@@ -5751,6 +5751,18 @@ cache_name(fetchctx_t *fctx, dns_name_t
}
/*
+ * Enforce the configure cache TTL override.
+ */
+ if (res->view->overridecachettl)
+ rdataset->ttl = res->view->overridecachettl;
+
+ /*
+ * Enforce the configure minimum cache TTL.
+ */
+ if (rdataset->ttl < res->view->mincachettl)
+ rdataset->ttl = res->view->mincachettl;
+
+ /*
* Enforce the configure maximum cache TTL.
*/
if (rdataset->ttl > res->view->maxcachettl)
--- lib/isccfg/namedconf.c.orig 2017-09-23 04:57:27 UTC
+++ lib/isccfg/namedconf.c
@@ -1918,6 +1918,8 @@ view_clauses[] = {
{ "max-acache-size", &cfg_type_sizenodefault,
CFG_CLAUSEFLAG_OBSOLETE },
{ "max-cache-size", &cfg_type_sizeorpercent, 0 },
+ { "override-cache-ttl", &cfg_type_uint32, 0 },
+ { "min-cache-ttl", &cfg_type_uint32, 0 },
{ "max-cache-ttl", &cfg_type_uint32, 0 },
{ "max-clients-per-query", &cfg_type_uint32, 0 },
{ "max-ncache-ttl", &cfg_type_uint32, 0 },