fix: correct nsec bitmap semantics and resolve txt denials - #1825
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1825 +/- ##
=======================================
Coverage 99.81% 99.81%
=======================================
Files 33 33
Lines 3772 3799 +27
Branches 536 543 +7
=======================================
+ Hits 3765 3792 +27
Misses 5 5
Partials 2 2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
|
bluetoothbot
left a comment
There was a problem hiding this comment.
Warning
Important issues found.
- Stale
@cython.localsdecorator left stacked on_add_address_answers
9c4a39e to
7d711a4
Compare
PR Review — fix: correct nsec bitmap semantics and resolve txt denialsAll four findings from the previous round are resolved; nothing blocking remains. Merge-ready with two non-blocking notes. Re-verified against the current head (
The protocol substance still holds up on re-read. Remaining, both non-blocking:
Note: I could not execute the test suite (no Python in the review shell), so the author's "466 passed" test plan is taken as a claim, not verified here. ✅ Resolved since last review (4)Previously-flagged issues verified fixed
🟢 Suggestions
1. `stacklevel=2` will point at the wrong frame in the Cython build
|
bluetoothbot
left a comment
There was a problem hiding this comment.
Tip
No blocking issues found — ready to merge.
Summary
Follow up to #1821. Outgoing NSEC records now follow RFC 6762 §6.1, and
ServiceInfoconsumes an NSEC that denies the TXT record soasync_requestresolves promptly instead of burning the full timeout.Details
test_protocol.pyconfirms this encoding.next_nameset to the record's own name per RFC 6762 §6.1.dns_address_nsec()replaces the publicdns_nsec(), which produced protocol invalid records;dns_nsec()stays for one release as a deprecated shim that warns, delegates, and ignoresmissing_types.AddressResolverbail early on an address denial, left as a follow up.Test plan
poetry run pytest testspasses, 466 passedtests/services/test_info.pyandtests/test_handlers.pycover denial, the legacy bitmap guard, cache loading, and responder outputREQUIRE_CYTHON=1under Cython 3.3.0