]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Add max-query-restarts config parameter
authorChristian Allred <christian@theallreds.net>
Mon, 5 Apr 2021 22:41:53 +0000 (15:41 -0700)
committerChristian Allred <christian@theallreds.net>
Mon, 5 Apr 2021 22:41:53 +0000 (15:41 -0700)
util/config_file.c
util/config_file.h

index 171251f67ff1d2e972c18346c4f89e6a2dd9025a..ce3fc543bb62b7ba88e1830e0e46151235c2dee3 100644 (file)
@@ -344,6 +344,7 @@ config_create(void)
        cfg->pad_responses_block_size = 468; /* from RFC8467 */
        cfg->pad_queries = 1;
        cfg->pad_queries_block_size = 128; /* from RFC8467 */
+       cfg->max_query_restarts = MAX_RESTART_COUNT;
 #ifdef USE_IPSECMOD
        cfg->ipsecmod_enabled = 1;
        cfg->ipsecmod_ignore_bogus = 0;
@@ -749,6 +750,7 @@ int config_set_option(struct config_file* cfg, const char* opt,
        else S_SIZET_NONZERO("pad-responses-block-size:", pad_responses_block_size)
        else S_YNO("pad-queries:", pad_queries)
        else S_SIZET_NONZERO("pad-queries-block-size:", pad_queries_block_size)
+       else S_SIZET_NONZERO("max-query-restarts:", max_query_restarts)
 #ifdef USE_IPSECMOD
        else S_YNO("ipsecmod-enabled:", ipsecmod_enabled)
        else S_YNO("ipsecmod-ignore-bogus:", ipsecmod_ignore_bogus)
@@ -1196,6 +1198,7 @@ config_get_option(struct config_file* cfg, const char* opt,
        else O_YNO(opt, "pad-queries", pad_queries)
        else O_DEC(opt, "pad-queries-block-size", pad_queries_block_size)
        else O_LS2(opt, "edns-client-strings", edns_client_strings)
+       else O_DEC(opt, "max-query-restarts", max_query_restarts)
 #ifdef USE_IPSECMOD
        else O_YNO(opt, "ipsecmod-enabled", ipsecmod_enabled)
        else O_YNO(opt, "ipsecmod-ignore-bogus", ipsecmod_ignore_bogus)
index f5eda738c905447c06fb68c6d31653b858509a3d..23837065a42da62460a185ab36fa66632c9e9aca 100644 (file)
@@ -615,6 +615,9 @@ struct config_file {
        /** block size with which to pad encrypted queries (default: 128) */
        size_t pad_queries_block_size;
 
+       /** max number of query restarts. Determines max number of CNAME chain (default: 8) */
+       size_t max_query_restarts;
+
        /** IPsec module */
 #ifdef USE_IPSECMOD
        /** false to bypass the IPsec module */