1610. [build] fdupont
Removed the obsolete compatcheck top directory.
(Gitlab #667,!391, git 8cb113a52f0cf56fbdb5cb0e87464135234c2ac1)
+=======
+ (Gitlab #722,!1-p git TBD)
+>>>>>>> [#722,!1] Addressed review comments
1609. [bug] fdupont
Fixed the implementation of authentication keys in DHCPv6
// The client-id or server-id has to have at least 3 bytes of useful data:
// two for duid type and one more for actual duid value.
uint16_t len = opt->len() - opt->getHeaderLen();
- if (len < 3) {
- isc_throw(RFCViolation, "Received empty or truncated " << opt_name << " option: "
- << len << " byte(s) only");
- }
-
- // We need to make sure we can construct one, if not we're toast later on.
- try {
- DuidPtr tmp(new DUID(opt->getData()));
- } catch (const std::exception& ex) {
- isc_throw(RFCViolation, "Received invalid content for "
- << opt_name << ", " << ex.what());
+ if (len < 3 || len > DUID::MAX_DUID_LEN || opt->getData().empty()) {
+ isc_throw(RFCViolation, "Received invalid DUID for " << opt_name << ", received "
+ << len << " byte(s). It must be at least 3 and no more than "
+ << DUID::MAX_DUID_LEN);
}
}