zu_from_zf_conts = true;
} else {
// compute ZF diff and if success, apply it
- ret = zone_update_from_differences(&up, zone, NULL, zf_conts, UPDATE_INCREMENTAL, ignore_dnssec);
+ ret = zone_update_from_differences(&up, conf, zone, NULL, zf_conts, UPDATE_INCREMENTAL, ignore_dnssec);
}
} else {
if (journal_conts != NULL && (zf_from != ZONEFILE_LOAD_WHOLE || zone->cat_members != NULL)) {
ret = zone_update_from_contents(&up, zone, journal_conts, UPDATE_HYBRID);
} else {
// load zone-in-journal, compute ZF diff and if success, apply it
- ret = zone_update_from_differences(&up, zone, journal_conts, zf_conts,
+ ret = zone_update_from_differences(&up, conf, zone, journal_conts, zf_conts,
UPDATE_HYBRID, ignore_dnssec);
if (ret == KNOT_ESEMCHECK || ret == KNOT_ERANGE) {
log_zone_warning(zone->name,
if (do_diff && old_contents_exist && dnssec_enable && zf_conts != NULL &&
zone_contents_serial(zf_conts) != zone_contents_serial(zone->contents) &&
!zone_in_journal_exists) {
- ret = zone_update_start_extra(&up);
+ ret = zone_update_start_extra(&up, conf);
if (ret != KNOT_EOK) {
goto cleanup;
}
return init_base(update, zone, NULL, flags);
}
-int zone_update_from_differences(zone_update_t *update, zone_t *zone, zone_contents_t *old_cont,
+int zone_update_from_differences(zone_update_t *update, conf_t *conf, zone_t *zone, zone_contents_t *old_cont,
zone_contents_t *new_cont, zone_update_flags_t flags, bool ignore_dnssec)
{
if (update == NULL || zone == NULL || new_cont == NULL ||
return KNOT_EOK;
}
-int zone_update_start_extra(zone_update_t *update)
+int zone_update_start_extra(zone_update_t *update, conf_t *conf)
{
assert((update->flags & (UPDATE_INCREMENTAL | UPDATE_HYBRID)));
}
if (update->init_cont != NULL) {
- ret = zone_update_increment_soa(update, conf());
+ ret = zone_update_increment_soa(update, conf);
if (ret != KNOT_EOK) {
return ret;
}
return KNOT_ENOMEM;
}
- ret = zone_update_increment_soa(update, conf());
+ ret = zone_update_increment_soa(update, conf);
if (ret != KNOT_EOK) {
return ret;
}
* the diff is calculated, so that this update is INCREMENTAL.
*
* \param update Zone update structure to init.
+ * \param conf Configuration.
* \param zone Init with this zone.
* \param old_cont The current zone contents the diff will be against. Probably zone->contents.
* \param new_cont New zone contents. Will be taken over (and later freed) by zone update.
*
* \return KNOT_E*
*/
-int zone_update_from_differences(zone_update_t *update, zone_t *zone, zone_contents_t *old_cont,
+int zone_update_from_differences(zone_update_t *update, conf_t *conf, zone_t *zone, zone_contents_t *old_cont,
zone_contents_t *new_cont, zone_update_flags_t flags, bool ignore_dnssec);
/*!
* This shall be used after from_differences, to start tracking changes that are against the loaded zonefile.
*
* \param update Zone update.
+ * \param conf Configuration.
*
* \return KNOT_E*
*/
-int zone_update_start_extra(zone_update_t *update);
+int zone_update_start_extra(zone_update_t *update, conf_t *conf);
/*!
* \brief Returns node that would be in the zone after updating it.