You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The name is eight bytes long, but the current message size (after the
current offset of 12) is only six, because QueriesEmitAndCount::emit()
stored just the six bytes of the original encoded query:
encoder.emit_vec(self.cached_serialized)?;
So the assert fails.
I've attached a demo program that assumes something like this is
already running:
Thanks for the report! Could you send your test case as a PR adding a unit test in crates/proto/src/rr/serialize/encoder.rs? Bonus points if you can also come up with a fix, but I can probably find some time to fix it myself. 👍
If a client sends this DNS request to the hickory 0.24.0 DNS server:
08 00 00 00 00 01 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00
i.e.:
08 00 ID
00 00 flags
00 01 QDCOUNT
00 00 ANCOUNT
00 00 NSCOUNT
00 00 ARCOUNT
c0 00 QNAME
00 00 QTYPE
00 00 QCLASS
hickory-dns fails the 2nd assert here while building the reply message
(really while remembering names for pointers):
The name is eight bytes long, but the current message size (after the
current offset of 12) is only six, because QueriesEmitAndCount::emit()
stored just the six bytes of the original encoded query:
So the assert fails.
I've attached a demo program that assumes something like this is
already running:
hickory-dns/target/debug/hickory-dns -d -c hickory-dns/tests/test-data/test_configs/example.toml -z hickory-dns/tests/test-data/test_configs/ -p 24141
hickory1a.txt
The text was updated successfully, but these errors were encountered: