// ensure that the salt has not changed
if (!knot_nsec3param_uptodate(update->new_cont, params)) {
- int ret = knot_nsec3param_update(update, params);
+ int ret = knot_nsec3param_update(update, params, ttl);
if (ret != KNOT_EOK) {
return ret;
}
}
static int add_nsec3param(zone_update_t *update,
- const dnssec_nsec3_params_t *params)
+ const dnssec_nsec3_params_t *params,
+ uint32_t ttl)
{
assert(update);
assert(params);
knot_rrset_t *rrset = NULL;
rrset = knot_rrset_new(update->new_cont->apex->owner, KNOT_RRTYPE_NSEC3PARAM,
- KNOT_CLASS_IN, 0, NULL);
+ KNOT_CLASS_IN, ttl, NULL);
if (rrset == NULL) {
return KNOT_ENOMEM;
}
}
int knot_nsec3param_update(zone_update_t *update,
- const dnssec_nsec3_params_t *params)
+ const dnssec_nsec3_params_t *params,
+ uint32_t ttl)
{
assert(update);
assert(params);
}
if (params->algorithm != 0 && !valid) {
- return add_nsec3param(update, params);
+ return add_nsec3param(update, params, ttl);
}
return KNOT_EOK;
dnssec_nsec3_params_t params = nsec3param_init(ctx->policy, ctx->zone);
- int ret = knot_nsec3param_update(update, ¶ms);
+ int ret = knot_nsec3param_update(update, ¶ms, nsec_ttl);
if (ret != KNOT_EOK) {
return ret;
}
*
* \param update Zone to be updated.
* \param params NSEC3 params.
+ * \param ttl Desired TTL for NSEC3PARAM.
*
* \return KNOT_E*
*/
int knot_nsec3param_update(zone_update_t *update,
- const dnssec_nsec3_params_t *params);
+ const dnssec_nsec3_params_t *params,
+ uint32_t ttl);
/*!
* \brief Create NSEC or NSEC3 chain in the zone.