Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dnsdist: Make DNSDist XFR aware when transfer is finished #10489

merged 7 commits into from Jun 25, 2021


Copy link

@slowr slowr commented Jun 9, 2021

Short description

Added logic to parse SOA records for XFR transfers and figure out if the XFR transfer is finished.

Resolves #10436


I have:

  • read the document
  • compiled this code
  • tested this code
  • included documentation (including possible behaviour changes)
  • documented the code
  • added or modified regression test(s)
  • added or modified unit test(s)

Copy link

I'm trying to reproduce the test failures locally, no luck so far.

Since we now detect the end of a XFR and reset the is_XFR flag, we
can't rely on it anymore to skip the insertion of the response into
the ring buffer. Set the type of these responses to AXFR and use that
A better fix would be to make the IDState available even for XFR
responses, at the cost of doing a copy, and perhaps insert an entry
into the ring buffer for the last message.
Copy link

I managed to reproduce it with clang's UBSAN, and pushed a fix.

@rgacogne rgacogne self-requested a review June 11, 2021 13:05
Copy link

I pushed regression tests, and I'm working on adding unit tests as well.

@rgacogne rgacogne requested a review from omoerbeek June 16, 2021 07:54
@rgacogne rgacogne merged commit db3a361 into PowerDNS:master Jun 25, 2021
@slowr slowr deleted the ixfr-axfr-aware branch June 26, 2021 00:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

Successfully merging this pull request may close these issues.

dnsdist: Make DNSDist XFR aware when transfer is finished
2 participants