Skip to content

fix: provide SOA record in zone transfer server for compatibility with CoreDNS#427

Open
pulsastrix wants to merge 1 commit intocmur2:masterfrom
pulsastrix:provide_soa_record
Open

fix: provide SOA record in zone transfer server for compatibility with CoreDNS#427
pulsastrix wants to merge 1 commit intocmur2:masterfrom
pulsastrix:provide_soa_record

Conversation

@pulsastrix
Copy link
Copy Markdown

After receiving a NOTIFY, some DNS servers (e.g., CoreDNS) first check the SOA record for changes to the serial number before performing a zone transfer. If no SOA record is provided, CoreDNS assumes the serial number (and therefore the Zone file) to be unchanged and does not update its copy of the zone.

This PR ensures compatibility with CoreDNS (and similarly acting DNS servers) by supporting SOA record requests in the zone transfer server.

After receiving a NOTIFY, some DNS servers (e.g., CoreDNS) first check
the SOA record for changes to the serial number before performing a zone
transfer. If no SOA record is provided, CoreDNS assumes the zonefile to
be unchanged and does not update its copy of the zone.

This commit ensures compatibility with CoreDNS (and similarly acting DNS
servers) by supporting SOA record requests in the zone transfer server.
@pulsastrix pulsastrix changed the title fix: provide SOA record in zone transfer server for compatibility fix: provide SOA record in zone transfer server for compatibility with CoreDNS Oct 26, 2025
@cmur2
Copy link
Copy Markdown
Owner

cmur2 commented Nov 6, 2025

@pulsastrix thank you for this PR, I really wasn't expecting anyone to notice my little project at this stage 😅

I just enabled a run of the CI, and it is failing with some nitpicks on the linter.

I currently don't have the capacity to look at this change deeper: it sounds good but I need time to assess it doesn't break anything existing, e.g. for my own setup relying on the updater ^^

One thing I could offer is: updaters are modular, so it would be possible to instead of modifying zone_transfer_server.rb have a separate new zone_transfer_server2.rb that people can opt-in to?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants