Bug 1997504 - masterfile-format map incompatible after 9.16.20 release
Summary: masterfile-format map incompatible after 9.16.20 release
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: bind
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Menšík
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1995289
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-08-25 12:17 UTC by Petr Menšík
Modified: 2021-08-30 20:41 UTC (History)
9 users (show)

Fixed In Version: bind-9.16.20-3.fc34
Clone Of:
Environment:
Last Closed: 2021-08-30 20:41:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Internet Systems Consortium (ISC) isc-projects bind9 issues 2872 0 None None None 2021-08-25 12:17:24 UTC

Description Petr Menšík 2021-08-25 12:17:24 UTC
Description of problem:
After release of 9.16.20, some internal changes were made to BIND structures, which made masterfile-format map incompatible with previous versions.

I attached bind-9.16-nodelock-count.patch to revert responsible change, making it compatible again. But that means memory requirements in some uses are higher than necessary and different from upstream version.

Version-Release number of selected component (if applicable):
bind-9.16.20-2.fc36

ISC written KB article [1] describing possible solutions. map format is not recommended for primary zones, raw is recommended for faster loading instead. On secondary zones, changed format would require new fetch of whole zone again. Increasing traffic of the server just for a while.

After this bug fix, size of structures would return to those in 9.16.20 release. And instead version of map files would be increased, so named can refuse them correctly without a crash. If using map format for primary zone, use named-compilezone -f map -F raw to load map file BEFORE the upgrade, convert it into raw temporary file. AFTER upgrade, use named-compilezone -f raw -F map to convert it back to map format, this time with higher version.

No action is required on slave zones, just expect them to refetch affected zones after upgrade.

This bug works just for pointers to upstream issues and documents.

1. https://kb.isc.org/docs/map-zone-format-incompatibility-in-bind-9-16-20-and-9-17-17
2. https://downloads.isc.org/isc/bind9/9.16.20/patches/bind-9.16.20-map-format-fix.patch

Comment 1 Petr Menšík 2021-08-25 13:20:32 UTC
Example of supported format file:

named-checkzone -f map root-servers.net /var/named/slaves/db.root-servers.net 
zone root-servers.net/IN: loaded serial 2021081700
OK

Example of invalid format file:
named-checkzone -f map root-servers.net /var/named/slaves/db.root-servers.net 
zone root-servers.net/IN: loading from master file /var/named/slaves/db.root-servers.net failed: invalid file
zone root-servers.net/IN: not loaded due to errors.

In case this happens and zone would not be fetched manually, bind would have to be downgraded:

dnf downgrade bind

for each map file, create a copy in different format. text format is the most portable.

ORIGIN=root-servers.net
# adjust whatever file naming you use
named-compilezone -f map -F text -o db.$ORIGIN.txt $ORIGIN db.$ORIGIN

dnf upgrade bind

for each txt file, convert it back to new map version

ORIGIN=root-servers.net
# adjust whatever file naming you use
named-compilezone -f text -F map -o db.$ORIGIN $ORIGIN db.$ORIGIN.txt

rndc reload

Comment 2 Fedora Update System 2021-08-25 17:59:42 UTC
FEDORA-2021-e67471c3d8 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-e67471c3d8

Comment 3 Fedora Update System 2021-08-25 18:00:20 UTC
FEDORA-2021-9556804a32 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-9556804a32

Comment 4 Fedora Update System 2021-08-25 20:42:32 UTC
FEDORA-2021-e67471c3d8 has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-e67471c3d8`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-e67471c3d8

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Fedora Update System 2021-08-26 19:49:29 UTC
FEDORA-2021-9556804a32 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-9556804a32`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-9556804a32

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2021-08-30 20:41:42 UTC
FEDORA-2021-e67471c3d8 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.