Skip to content

Do not detach raw zone until dumping is complete

When the signed version of an inline-signed zone is dumped to disk, the serial number of the unsigned version of the zone is written in the raw-format header so that the contents of the signed zone can be resynchronized after named restart if the unsigned zone file is modified while named is not running (see RT #26676).

In order for the serial number of the unsigned zone to be determined during the dump, zone->raw must be set to a non-NULL value. This should always be the case as long as the signed version of the zone is used for anything by named.

However, under certain circumstances the zone->raw could be set to NULL while the zone is being dumped.

Defer detaching from zone->raw in zone_shutdown() if the zone is in the process of being dumped to disk.

Closes #3071 (closed)

Edited by Michał Kępień

Merge request reports