Skip to content
  • Michał Kępień's avatar
    Fall back to normal recursion when mirror zone data is unavailable · 8d996fd7
    Michał Kępień authored
    If transferring or loading a mirror zone fails, resolution should still
    succeed by means of falling back to regular recursive queries.
    Currently, though, if a slave zone is present in the zone table and not
    loaded, a SERVFAIL response is generated.  Thus, mirror zones need
    special handling in this regard.
    
    Add a new dns_zt_find() flag, DNS_ZTFIND_MIRROR, and set it every time a
    domain name is looked up rather than a zone itself.  Handle that flag in
    dns_zt_find() in such a way that a mirror zone which is expired or not
    yet loaded is ignored when looking up domain names, but still possible
    to find when the caller wants to know whether the zone is configured.
    This causes a fallback to recursion when mirror zone data is unavailable
    without making unloaded mirror zones invisible to code checking a zone's
    existence.
    8d996fd7