Skip to content

XFR processing fixes and improvements: #507

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

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

ximon18
Copy link
Member

@ximon18 ximon18 commented Mar 31, 2025

This PR fixes a bug and addresses some feature gaps in the XfrResponseInterpreter.

  • FIX: Also instruct the caller to delete all records when fallback from IXFR to AXFR is detected and add a test for this case.
  • Return an error if the caller attempts to process records if the end of the XFR has already been reached and add a test for this case.
  • Return an error if the first record of the XFR is not a SOA record.
  • Detect and expose the RFC 1995 IXFR special single SOA UDP -> TCP upgrade signal response and add a test for this case.
  • Convert member fields that don't need to be public into private fields.
  • Don't use assert!(it.eq(..)) as it doesn't reveal which element didn't match.

Note: As this PR adds variants to the IteratorError enum it is a breaking change but only in code behind an unstable feature gate.

ximon18 added 3 commits March 31, 2025 14:59
- FIX: Also instruct the caller to delete all records when fallback from IXFR to AXFR is detected and add a test for this case.
- Return an error if the caller attempts to process records if the end of the XFR has already been reached and add a test for this case.
- Return an error if the first record of the XFR is not a SOA record.
- Convert member fields that don't need to be public into private fields.
- Don't use assert!(it.eq(..)) as it doesn't reveal which element didn't match.
@ximon18 ximon18 force-pushed the fix-ixfr-axfr-fallback-handling branch from ac19b1c to d1ee169 Compare March 31, 2025 12:59
@ximon18 ximon18 added breaking A PR that includes a breaking change. bug Something isn't working unstable feature labels Mar 31, 2025
@ximon18 ximon18 removed the breaking A PR that includes a breaking change. label Mar 31, 2025
@ximon18 ximon18 force-pushed the fix-ixfr-axfr-fallback-handling branch from b664e5f to fc8c92e Compare March 31, 2025 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant