Thanks to Jiri Popelka at Red Hat for the patch.
[ISC-Bugs #36978]
+- Relax the requirement that prefix pools must be within the subnet.
+ This was added in as part of #32453 in order to avoid configuration
+ mistakes but is being removed as prefixes aren't required to be
+ within the same subnet and many people configure them in that fashion.
+ [ISC-Bugs #40077]
+
Changes since 4.3.2rc2
- None
return;
}
+#if 0
+ /* Prefixes are not required to be within the subnet, but I'm not
+ * entirely sure that we won't want to revive this code as a warning
+ * in the future so I'm ifdeffing it
+ */
+
/* Make sure starting prefix is within the subnet */
if (!addr_eq(group->subnet->net,
subnet_number(lo, group->subnet->netmask))) {
skip_to_semi(cfile);
return;
}
+#endif
if (!parse_ip6_addr(cfile, &hi)) {
return;
}
+#if 0
+ /* Prefixes are not required to be within the subnet, but I'm not
+ * entirely sure that we won't want to revive this code as a warning
+ * in the future so I'm ifdeffing it
+ */
+
/* Make sure ending prefix is within the subnet */
if (!addr_eq(group->subnet->net,
subnet_number(hi, group->subnet->netmask))) {
skip_to_semi(cfile);
return;
}
+#endif
/*
* Next is '/' number ';'.
parse_warn(cfile, "networks have 0 to 128 bits (exclusive)");
return;
}
+
+#if 0
+ /* Prefixes are not required to be within the subnet, but I'm not
+ * entirely sure that we won't want to revive this code as a warning
+ * in the future so I'm ifdeffing it
+ */
+
if (bits < group->subnet->prefix_len) {
parse_warn(cfile, "network mask smaller than subnet mask");
skip_to_semi(cfile);
return;
}
+#endif
+
if (!is_cidr_mask_valid(&lo, bits) ||
!is_cidr_mask_valid(&hi, bits)) {
parse_warn(cfile, "network mask too short");