Skip to content
  • Michał Kępień's avatar
    Clean up handling of NOTIFY settings for mirror zones · 1d49b01c
    Michał Kępień authored and Ondřej Surý's avatar Ondřej Surý committed
    Previous way of handling NOTIFY settings for mirror zones was a bit
    tricky: any value of the "notify" option was accepted, but it was
    subsequently overridden with dns_notifytype_explicit.  Given the way
    zone configuration is performed, this resulted in the following
    behavior:
    
      - if "notify yes;" was set explicitly at any configuration level or
        inherited from default configuration, it was silently changed and so
        only hosts specified in "also-notify", if any, were notified,
    
      - if "notify no;" was set at any configuration level, it was
        effectively honored since even though zone->notifytype was silently
        set to dns_notifytype_explicit, the "also-notify" option was never
        processed due to "notify no;" being set.
    
    Effectively, this only allowed the hosts specified in "also-notify" to
    be notified, when either "notify yes;" or "notify explicit;" was
    explicitly set or inherited from default configuration.
    
    Clean up handling of NOTIFY settings for mirror zones by:
    
      - reporting a configuration error when anything else than "notify no;"
        or "notify explicit;" is set for a mirror zone at the zone level,
    
      - overriding inherited "notify yes;" setting with "notify explicit;"
        for mirror zones,
    
      - informing the user when the "notify" setting is overridden, unless
        the setting in question was inherited from default configuration.
    1d49b01c