On Sun, Nov 13, 2022 at 9:15:43PM +0800, Geert Stappers via Dnsmasq-discuss wrote: > Upon "run" I get something like: > > | $ python3 dns_request.py request3 5353 > | b'12\x81\x80\x00\x01\x02\x00\x01\x06cert01\x07example...\x03ns2\xc0\x13' > | $ > > > The how to reproduce question is answered. Thanks. > > > However I don't understand the problem. > > What I think what would help for getting more attention to the "problem", > is having a `request0` and `response0` that is a valid / known good > CERT query.
Hi, The original valid response is like this: |HEADER |31 32 81 80 00 01 00 01 00 02 00 01 | |QUESTION |06 63 65 72 74 30 31 07 65 78 61 6d 70 6c 65 00 00 25 00 01 | |ANSWER |c0 0c 00 25 00 01 00 00 00 00 00 55 | ff fe ff ff fe 33 11 5c 6f 2f 64 ff 2b de 74 c7 | d0 80 ac e1 1f 97 ab d0 cb bf bc 82 f3 e3 92 24 | b2 47 1e 14 68 22 58 29 ff 1b 11 e1 6a 2e 95 02 | e1 c0 a0 d5 33 e1 8a 14 d6 d5 5f 48 24 aa 41 89 | fa ff fd 75 53 a3 65 77 cd 23 11 e0 bc 69 3a ce | f8 a2 a6 09 a6 | |AUTHORITY |c0 13 00 02 00 01 00 00 00 00 00 06 | 03 6e 73 34 c0 13 | |c0 13 00 02 00 01 00 00 00 00 00 06 | 03 6e 73 32 c0 13 | |ADDITIONAL |00 00 29 10 00 00 00 00 00 00 00 Here is the download link for the valid message: * request0 file: https://643684107.oss-cn-beijing.aliyuncs.com/dns/request0 * response0 file: https://643684107.oss-cn-beijing.aliyuncs.com/dns/response0 It can be found by comparison. * For the first bug, The class value of answer record returned by response1 is wrong, but it is accepted by dnsmasq and returned to the client. Any modification of the answer record's class value is acceptable. The rcode of the dnsmasq returned packet is 0. * For the second bug, The domain name compression pointer of answer record returned by response1 is wrong. The query domain name does not match the answer domain name. The rcode of the dnsmasq returned packet is 0. * For the third bug, When the DNS packet returned by the domain name server has redundant data, it is not detected. The rcode of the dnsmasq returned packet is 0. * For these problems, other open source dns software has done correct verification and returned to the client the message with rcode 2 or 3. > With `host -p 5353 -t CERT cert01.example.com 127.0.0.1` > or `dig @127.0.0.1 -p 5353 -t CERT cert01.example.com` being a replacement > for the `python3 dns_request.py request0 5353`. For this, I use the python code to receive the message forwarded to the client for analysis. Thanks, P1n9 _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss