Skip to content

Ensure the correct ordering zone_shutdown() vs zone_gotwritehandle()

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.

(cherry picked from commit cc1d4e1a)

Closes #3071 (closed)

Merge request reports