In upgrading from 2.49 to 2.62, TCP queries which are received are blindly forwarded to the default server, not the one defined for the specific domain specified using --server arguments to dnsmasq. See the below output:<div>
<br><div><div># dnsmasq -d -q -a 172.16.0.1 --server=/zoidberg.internal/<a href="http://172.16.0.30">172.16.0.30</a> </div>
<div>dnsmasq: started, version 2.62 cachesize 150</div><div>dnsmasq: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack</div><div>dnsmasq: using nameserver 172.16.0.30#53 for domain zoidberg.internal</div>
<div>dnsmasq: reading /etc/resolv.conf</div><div>dnsmasq: using nameserver 192.168.137.8#53</div><div>dnsmasq: using nameserver 172.16.0.30#53 for domain zoidberg.internal</div><div>dnsmasq: read /etc/hosts - 8 addresses</div>
<div>dnsmasq: forwarded query to 192.168.137.8</div><div><br></div><div>This happens when requesting using dig:</div><div># dig @<a href="http://172.16.0.1">172.16.0.1</a> +tcp _ldap._tcp.zoidberg.internal SRV<br></div><div>
which then fails to return anything because the upstream DNS doesn't know about zoidberg.internal. However, when removing the +tcp option:</div><div><br></div><div>dnsmasq: query[SRV] _ldap._tcp.zoidberg.internal from 172.16.0.1</div>
<div>dnsmasq: forwarded _ldap._tcp.zoidberg.internal to 172.16.0.30</div></div><div><br></div><div>and I get the correct result in dig.</div><div><br></div><div>This configuration was working fine with dnsmasq 2.49.</div>
<div><br></div><div>Kind regards,</div><div>Niax</div><div><br></div></div>