Cover two ACK/NAK edge cases for admin packets #1971
Merged
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.
This covers two edge cases I found when testing with admin packets to remote nodes via the CLI.
The first commit ensures that a NAK with "NOT_AUTHORIZED" error is also sent when the receiving node doesn't have an admin channel and want_response is not set, but want_ack is. Otherwise, the Admin Module will just ignore the packet, while the Routing Module happily sends an ACK because indeed it received the packet.
The second commit makes sure that a NAK with "NO_CHANNEL" error is sent on the primary channel in case two admin channels do not have the same PSK. Otherwise actually an assert fails if want_ack is set, because it is trying to send an ACK while it cannot decrypt the packet.