-
Michał Kępień authored
The check_mx() function in lib/ns/update.c incorrectly tests whether the DNS_RDATA_CHECKMX/DNS_RDATA_CHECKMXFAIL flags are set for each applied MX record update as these flags are never set in code paths related to dynamic updates; they can only be set when loading a zone from a master file (DNS_ZONEOPT_CHECKMX -> DNS_MASTER_CHECKMX -> DNS_RDATA_CHECKMX). This flaw allows MX records containing IP addresses to be added to a zone even when "check-mx fail;" is used. Ensure correct behavior by modifying the relevant tests in check_mx() so that they use DNS_ZONEOPT_CHECKMX/DNS_ZONEOPT_CHECKMXFAIL instead.
857a40c8