dns-message-parser icon indicating copy to clipboard operation
dns-message-parser copied to clipboard

Support mDNS

Open iankressin opened this issue 4 years ago • 4 comments

I'm currently using this lib to discovery peers in the local network using mDNS, and the queries are basically DNS queries.

But every now and then the following error shows up in the console:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: QClass(32769)', src/udp_server.rs:60:57
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

which is probably due to QClass(32769):

As noted in [RFC6762], Multicast DNS can only carry DNS records with classes in the range 0-32767. Classes in the range 32768 to 65535 are incompatible with Multicast DNS.

This error could be handled internally, but I wonder if it's possible and makes sense to the project to add the support for mDNS within dns_message_parser. If it do, I'll be glad to help.

iankressin avatar Feb 18 '21 10:02 iankressin

This is because, each QClass number is mapped to a specific variant in the enum QClass. If there is no mapping for the number then an error is returned. I have to think how to handle it better if there is no mapping for the number.

LinkTed avatar Feb 18 '21 19:02 LinkTed

@LinkTed thanks for the quick response.

Let me know if you need any help with code or testing.

iankressin avatar Feb 18 '21 22:02 iankressin

@iankressin could you print the DNS message, where you get this error message?

LinkTed avatar Feb 20 '21 17:02 LinkTed

@LinkTed actually, this is the only info that I've got. I'm not the one sending this message, is some other device in my network

iankressin avatar Feb 22 '21 23:02 iankressin