Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
nsupdate: fix 'index out of range' error when changing NS records #8614
nsupdate: fix 'index out of range' error when changing NS records #8614
Changes from 2 commits
6607fd2
6f49778
9b4fbf7
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, in case
lookup.answer
does not exist, shouldn'tentries_to_remove
simply be set to[]
? In that situation there is no currentNS
value on that level that can be deleted, after all.So something like
maybe?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
my understanding of that block is bind9 will not let you rewrite the last NS record in the zone, so the new record is inserted first, and old one is deleted after. In my case it would not be the last, but the record does exist and needs to be deleted. But since the zone is subdelegated to another server, the data is in authority section. My guess is it was tested on the server where delegation was to another local zone so this was missed. If we do it like you suggest, we would have dupes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, ok. This still doens't sound right to me, but I don't use bind9 or the module so I don't know what really happens :)
In any case, this shouldn't break any existing behavior since if this happened so far, it resulted in an error, so in the worst case this is introducing wrong behavior in a case that didn't work at all before. If someone complains about it, we'll have to look into it again to figure out why exactly it works for you but not for them. And if nobody complains, I guess it's fine for everyone then :)