Skip to content
Snippets Groups Projects
Commit 89480283 authored by Lubos Slovak's avatar Lubos Slovak
Browse files

Fixed parsing of NSEC3PARAM

refs #424
parent c1fd1d5a
No related branches found
No related tags found
No related merge requests found
......@@ -28,12 +28,15 @@ int dnslib_nsec3_params_from_wire(dnslib_nsec3_params_t *params,
(&dnslib_rdata_item(rdata, 1)->raw_data[1]);
params->iterations = dnslib_wire_read_u16(
(uint8_t *)(dnslib_rdata_item(rdata, 2)->raw_data + 1));
params->salt_length =
((uint8_t *)(dnslib_rdata_item(rdata, 3)->raw_data))[1];
((uint8_t *)dnslib_rdata_item(rdata, 3)->raw_data)[2];
if (params->salt_length > 0) {
params->salt = (uint8_t *)malloc(params->salt_length);
CHECK_ALLOC_LOG(params->salt, -1);
memcpy(params->salt, dnslib_rdata_item(rdata, 3)->raw_data + 1,
memcpy(params->salt,
(uint8_t *)dnslib_rdata_item(rdata, 3)->raw_data + 3,
params->salt_length);
} else {
params->salt = NULL;
......
......@@ -911,9 +911,12 @@ static inline int ns_referral(const dnslib_node_t *node,
// no DS, add NSEC3
const dnslib_node_t *nsec3_node =
dnslib_node_nsec3_node(node);
debug_ns("There is no DS, putting NSEC3s...\n");
if (nsec3_node != NULL) {
debug_ns("Putting NSEC3s from the node.\n");
ns_put_nsec3_from_node(nsec3_node, resp);
} else {
debug_ns("Putting Opt-Out NSEC3s.\n");
// no NSEC3 (probably Opt-Out)
// TODO: check if the zone is Opt-Out
ret = ns_put_nsec3_closest_encloser_proof(zone,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment