Including config and docs for this.
_Bool PKT_IS_SANE : 1;
_Bool DNS64_DISABLE : 1;
_Bool PASSTHRU_LEGACY : 1;
+ _Bool FALLBACK_DISABLE : 1;
};
typedef struct ranked_rr_array_entry {
uint32_t qry_uid;
.. option:: minimize: true|false
Send minimum amount of information in recursive queries to enhance privacy.
+ Enabled by default.
.. option:: dns64: true|false
- Enable/disable DNS64.
+ Disable DNS64 if enabled globally.
+
+ .. option:: fallback: true|false
+
+ Disable fallback on resolution failure, if enabled globally.
.. option:: price-factor: <float>
* some basic aspects of the packet are OK, e.g. QNAME. */
bool DNS64_DISABLE : 1; /**< Don't do any DNS64 stuff (meant for view:addr). */
bool PASSTHRU_LEGACY : 1;/**< Ignore local-data overrides/blocks for this kr_request. */
+ bool FALLBACK_DISABLE : 1;/**< Don't attempt fallback. Meant for views. */
};
/** Combine flags together. This means set union for simple flags. */
if not M.data_src or state == kres.FAIL or state == kres.DONE then return state end
local qry = req:current()
+ if qry.flags.FALLBACK_DISABLE then return state end
+
-- Don't do anything for priming, prefetching, etc.
-- TODO: not all cases detected ATM.
if qry.flags.NO_CACHE then return state end
{% if not options.dns64 -%}
"DNS64_DISABLE",
{%- endif %}
+{% if not options.fallback -%}
+"FALLBACK_DISABLE",
+{%- endif %}
{%- endmacro %}
{% macro view_answer(answer) -%}
minimize: Send minimum amount of information in recursive queries to enhance privacy.
dns64: Enable/disable DNS64.
price_factor: Multiplies rate-limiting and defer prices of operations, use 0 to whitelist.
+ fallback: Enable/disable fallback on resolution failure.
"""
minimize: bool = True
dns64: bool = True
price_factor: FloatNonNegative = FloatNonNegative(1.0)
+ fallback: bool = True
class ViewSchema(ConfigSchema):