<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello.</p>
<p>Config for "server" and "address" is not respected in case of
CNAME cache or parallel request query[type=65].</p>
<p>dnsmasq v2.86, config:</p>
<p><font face="monospace">server=/sydney.bing.com/1.0.0.1<br>
address=/sydney.bing.com/::<br>
ipset=/sydney.bing.com/my-list</font></p>
<p>Default nameserver: 8.8.8.8</p>
<p><br>
</p>
<p>1. Test some queries:<br>
</p>
<p><font face="monospace"># dig A sydney.bing.com<br>
sydney.bing.com. 2841 IN CNAME
sydney-bing-com.dual-a-0034.a-msedge.net.<br>
sydney-bing-com.dual-a-0034.a-msedge.net. 30 IN CNAME
dual-a-0034.a-msedge.net.<br>
dual-a-0034.a-msedge.net. 30 IN A 204.79.197.237<br>
dual-a-0034.a-msedge.net. 30 IN A 13.107.21.237<br>
</font></p>
<p><font face="monospace"># dig AAAA sydney.bing.com<br>
sydney.bing.com. 0 IN AAAA ::</font></p>
<p>Log:</p>
<p><font face="monospace">Sun May 28 20:26:36 2023 daemon.info
dnsmasq[1]: query[A] sydney.bing.com from 127.0.0.1<br>
Sun May 28 20:26:36 2023 daemon.info dnsmasq[1]: forwarded
sydney.bing.com to 1.0.0.1<br>
Sun May 28 20:26:36 2023 daemon.info dnsmasq[1]: reply
sydney.bing.com is <CNAME><br>
Sun May 28 20:26:36 2023 daemon.info dnsmasq[1]: reply
sydney-bing-com.dual-a-0034.a-msedge.net is <CNAME><br>
Sun May 28 20:26:36 2023 daemon.info dnsmasq[1]: ipset add
my-list 204.79.197.237 dual-a-0034.a-msedge.net<br>
Sun May 28 20:26:36 2023 daemon.info dnsmasq[1]: reply
dual-a-0034.a-msedge.net is 204.79.197.237<br>
Sun May 28 20:26:36 2023 daemon.info dnsmasq[1]: ipset add
my-list 13.107.21.237 dual-a-0034.a-msedge.net<br>
Sun May 28 20:26:36 2023 daemon.info dnsmasq[1]: reply
dual-a-0034.a-msedge.net is 13.107.21.237<br>
<br>
Sun May 28 20:27:09 2023 daemon.info dnsmasq[1]: query[AAAA]
sydney.bing.com from 192.168.1.143<br>
Sun May 28 20:27:09 2023 daemon.info dnsmasq[1]: <b><u>config
sydney.bing.com is ::</u></b></font><br>
</p>
<p>— correct, as expected.</p>
<p><br>
</p>
<p>2. Resolve CNAME directly:</p>
<p><font face="monospace"># dig AAAA
sydney-bing-com.dual-a-0034.a-msedge.net<br>
sydney-bing-com.dual-a-0034.a-msedge.net. 150 IN CNAME
dual-a-0034.a-msedge.net.<br>
dual-a-0034.a-msedge.net. 150 IN AAAA
2620:1ec:c11::237</font></p>
<p>Log:<br>
</p>
<p><font face="monospace">Sun May 28 20:27:25 2023 daemon.info
dnsmasq[1]: query[AAAA] sydney-bing-com.dual-a-0034.a-msedge.net
from 127.0.0.1<br>
Sun May 28 20:27:25 2023 daemon.info dnsmasq[1]: forwarded
sydney-bing-com.dual-a-0034.a-msedge.net to 8.8.8.8<br>
Sun May 28 20:27:25 2023 daemon.info dnsmasq[1]: reply
sydney-bing-com.dual-a-0034.a-msedge.net is <CNAME><br>
Sun May 28 20:27:25 2023 daemon.info dnsmasq[1]: reply
dual-a-0034.a-msedge.net is 2620:1ec:c11::237</font></p>
<p><br>
</p>
<p>3. Now repeat the test:</p>
<p><font face="monospace"># dig A sydney.bing.com<br>
sydney.bing.com. 3137 IN CNAME
sydney-bing-com.dual-a-0034.a-msedge.net.<br>
sydney-bing-com.dual-a-0034.a-msedge.net. 48 IN CNAME
dual-a-0034.a-msedge.net.<br>
dual-a-0034.a-msedge.net. 48 IN A 13.107.21.237<br>
dual-a-0034.a-msedge.net. 48 IN A 204.79.197.237</font></p>
<p><font face="monospace"># dig AAAA sydney.bing.com<br>
sydney.bing.com. 3135 IN CNAME
sydney-bing-com.dual-a-0034.a-msedge.net.<br>
sydney-bing-com.dual-a-0034.a-msedge.net. 46 IN CNAME
dual-a-0034.a-msedge.net.<br>
dual-a-0034.a-msedge.net. 143 IN AAAA
2620:1ec:c11::237</font></p>
<p>Log:</p>
<font face="monospace">Sun May 28 21:20:52 2023 daemon.info
dnsmasq[1]: query[A] sydney.bing.com from 127.0.0.1<br>
Sun May 28 21:20:52 2023 daemon.info dnsmasq[1]: forwarded
sydney.bing.com to 1.0.0.1<br>
Sun May 28 21:20:52 2023 daemon.info dnsmasq[1]: reply
sydney.bing.com is <CNAME><br>
Sun May 28 21:20:52 2023 daemon.info dnsmasq[1]: reply
sydney-bing-com.dual-a-0034.a-msedge.net is <CNAME><br>
Sun May 28 21:20:52 2023 daemon.info dnsmasq[1]: ipset add my-list
204.79.197.237 dual-a-0034.a-msedge.net<br>
Sun May 28 21:20:52 2023 daemon.info dnsmasq[1]: reply
dual-a-0034.a-msedge.net is 204.79.197.237<br>
Sun May 28 21:20:52 2023 daemon.info dnsmasq[1]: ipset add my-list
13.107.21.237 dual-a-0034.a-msedge.net<br>
Sun May 28 21:20:52 2023 daemon.info dnsmasq[1]: reply
dual-a-0034.a-msedge.net is 13.107.21.237<br>
<br>
Sun May 28 21:20:54 2023 daemon.info dnsmasq[1]: query[AAAA]
sydney.bing.com from 127.0.0.1<br>
Sun May 28 21:20:54 2023 daemon.info dnsmasq[1]: <u><b>cached
sydney.bing.com is <CNAME></b></u><br>
Sun May 28 21:20:54 2023 daemon.info dnsmasq[1]: cached
sydney-bing-com.dual-a-0034.a-msedge.net is <CNAME><br>
Sun May 28 21:20:54 2023 daemon.info dnsmasq[1]: cached
dual-a-0034.a-msedge.net is 2620:1ec:c11::237</font>
<p>— <b>incorrect!</b> Config defines static IPv6 address "::" that
should be returned for AAAA query. Maybe cached CNAME triggers the
bug?<br>
</p>
<p><br>
</p>
<p>4. Sometimes I also see this in log:</p>
<font face="monospace">Sun May 28 20:18:45 2023 daemon.info
dnsmasq[405]: query[AAAA] sydney.bing.com from 192.168.1.143<br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[405]: cached
sydney.bing.com is <CNAME><br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[405]: cached
dual-a-0034.a-msedge.net is 2620:1ec:c11::237<br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[406]: query[A]
sydney.bing.com from 192.168.1.143<br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[407]: query[type=65]
sydney.bing.com from 192.168.1.143<br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[407]: cached
sydney.bing.com is <CNAME><br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[406]: cached
sydney.bing.com is <CNAME><br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[407]: <u><b>forwarded
sydney.bing.com to 8.8.8.8</b></u><br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[407]: reply
sydney.bing.com is <CNAME><br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[407]: reply
sydney-bing-com.dual-a-0034.a-msedge.net is <CNAME><br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[407]: reply
dual-a-0034.a-msedge.net is NODATA<br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[406]: <u><b>forwarded
sydney.bing.com to 8.8.8.8</b></u><br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[406]: reply
sydney.bing.com is <CNAME><br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[406]: reply
sydney-bing-com.dual-a-0034.a-msedge.net is <CNAME><br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[406]: ipset add
my-list 204.79.197.237 dual-a-0034.a-msedge.net<br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[406]: reply
dual-a-0034.a-msedge.net is 204.79.197.237<br>
Sun May 28 20:18:45 2023 daemon.info dnsmasq[406]: ipset add
my-list 13.107.21.237 dual-a-0034.a-msedge.net</font><br>
<font face="monospace">Sun May 28 20:18:45 2023 daemon.info
dnsmasq[406]: reply dual-a-0034.a-msedge.net is 13.107.21.237</font>
<p>— <b>incorrect!</b> Config defines to use server 1.0.0.1, but
default server 8.8.8.8 is used. Maybe parallel query[type=65]
triggers the bug?<br>
</p>
<p><br>
Thank you!<br>
</p>
</body>
</html>