regression-tests/zones/zonemd-allunsup.zone \
regression-tests/zones/zonemd-duplicate.zone \
regression-tests/zones/zonemd-invalid.zone \
+ regression-tests/zones/zonemd-invalidscheme.zone \
+ regression-tests/zones/zonemd-scheme0.zone \
regression-tests/zones/zonemd-nozonemd.zone \
regression-tests/zones/zonemd-serialmismatch.zone \
regression-tests/zones/zonemd-sha512.zone \
testZoneMD("example", "zonemd-invalidscheme.zone", false, true, false);
}
+BOOST_AUTO_TEST_CASE(test_zonemd15)
+{
+ testZoneMD("example", "zonemd-scheme0.zone", false, true, false);
+}
+
BOOST_AUTO_TEST_SUITE_END()
}
break;
}
+ default:
+ // nothing
+ break;
}
}
}
}
break;
}
+ default:
+ // nothing
+ break;
}
}
RRSetKey_t key = std::pair(record.d_name, record.d_type);
}
// Final verify
- for (const auto& [k, v] : d_zonemdRecords) {
- auto [zonemd, duplicate] = v;
+ for (const auto& record : d_zonemdRecords) {
+ const auto scheme = record.first.first;
+ const auto duplicate = record.second.duplicate;
+ if (scheme != 1 || duplicate) {
+ continue;
+ }
+ const auto zonemd = record.second.record;
+ if (zonemd->d_serial != d_soaRecordContent->d_st.serial) {
+ continue;
+ }
if (zonemd->d_hashalgo == 1 && sha384digest) {
validationDone = true;
auto computed = sha384digest->digest();
--- /dev/null
+example. 86400 IN SOA ns1 admin 2018031900 (
+ 1800 900 604800 86400 )
+ 86400 IN NS ns1
+ 86400 IN NS ns2
+ 86400 IN ZONEMD 2018031900 0 1 (
+ c68090d90a7aed71
+ 6bc459f9340e3d7c
+ 1370d4d24b7e2fc3
+ a1ddc0b9a87153b9
+ a9713b3c9ae5cc27
+ 777f98b8e730044c )
+ 86400 IN ZONEMD 2018031900 1 1 (
+ 068090d90a7aed71
+ 6bc459f9340e3d7c
+ 1370d4d24b7e2fc3
+ a1ddc0b9a87153b9
+ a9713b3c9ae5cc27
+ 777f98b8e730044c )
+ns1 3600 IN A 203.0.113.63
+ns2 3600 IN AAAA 2001:db8::63