Files
bind9/bin/tests/system/nsupdate/ns1/named.conf.in
Michał Kępień 857a40c87b Fix MX checks for dynamic updates
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.
2018-02-26 13:10:45 +01:00

143 lines
2.8 KiB
Plaintext

/*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
options {
query-source address 10.53.0.1 dscp 1;
notify-source 10.53.0.1 dscp 22;
transfer-source 10.53.0.1 dscp 3;
port @PORT@;
pid-file "named.pid";
session-keyfile "session.key";
listen-on { 10.53.0.1; 127.0.0.1; };
listen-on-v6 { none; };
recursion no;
notify yes;
minimal-responses no;
};
key rndc_key {
secret "1234abcd8765";
algorithm hmac-sha256;
};
controls {
inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
key altkey {
algorithm hmac-md5;
secret "1234abcd8765";
};
include "ddns.key";
zone "example.nil" {
type master;
file "example.db";
check-integrity no;
check-mx ignore;
update-policy {
grant ddns-key.example.nil subdomain example.nil ANY;
};
allow-transfer { any; };
};
zone "max-ttl.nil" {
type master;
file "max-ttl.db";
max-zone-ttl 300;
check-integrity no;
allow-update { any; };
allow-transfer { any; };
};
zone "other.nil" {
type master;
file "other.db";
check-integrity no;
check-mx warn;
update-policy local;
allow-query-on { 10.53.0.1; 127.0.0.1; };
allow-transfer { any; };
};
masters othermasters {
10.53.0.2 port @PORT@;
10.53.0.2 port @PORT@ key altkey;
};
zone "update.nil" {
type master;
file "update.db";
check-integrity no;
check-mx fail;
allow-update { any; };
allow-transfer { any; };
also-notify { othermasters; };
};
zone "unixtime.nil" {
type master;
file "unixtime.db";
check-integrity no;
allow-update { any; };
allow-transfer { any; };
serial-update-method unixtime;
};
zone "yyyymmddvv.nil" {
type master;
file "yyyymmddvv.db";
check-integrity no;
allow-update { any; };
allow-transfer { any; };
serial-update-method date;
};
include "md5.key";
include "sha1.key";
include "sha224.key";
include "sha256.key";
include "sha384.key";
include "sha512.key";
zone "keytests.nil" {
type master;
file "keytests.db";
update-policy {
grant md5-key name md5.keytests.nil. ANY;
grant sha1-key name sha1.keytests.nil. ANY;
grant sha224-key name sha224.keytests.nil. ANY;
grant sha256-key name sha256.keytests.nil. ANY;
grant sha384-key name sha384.keytests.nil. ANY;
grant sha512-key name sha512.keytests.nil. ANY;
};
};
zone "many.test" {
type master;
allow-update { any; };
file "many.test.db";
};
zone "sample" {
type master;
allow-update { any; };
file "sample.db";
};
zone "maxjournal.test" {
type master;
allow-update { any; };
file "maxjournal.db";
max-journal-size default;
};