Hello,

# connmand -v
1.30

Here is current service config:
connmanctl> services ethernet_64315095faf8_cable
/net/connman/service/ethernet_64315095faf8_cable
  Type = ethernet
  Security = [  ]
  State = online
  Favorite = True
  Immutable = False
  AutoConnect = True
  Name = Wired
  Ethernet = [ Method=auto, Interface=enp37s0,
Address=64:31:50:95:FA:F8, MTU=1500 ]
  IPv4 = [ Method=dhcp, Address=10.21.5.154, Netmask=255.255.255.0,
Gateway=10.21.5.250 ]
  IPv4.Configuration = [ Method=dhcp ]
  IPv6 = [  ]
  IPv6.Configuration = [ Method=off ]
  Nameservers = [ 91.193.69.4, 91.193.69.22 ]
  Nameservers.Configuration = [  ]
  Timeservers = [ 10.21.5.250, ntp.time.in.ua, ntp2.time.in.ua,
ntp3.time.in.ua ]
  Timeservers.Configuration = [  ]
  Domains = [ gts.dp.ua ]
  Domains.Configuration = [ gts.dp.ua ]
  Proxy = [ Method=direct ]
  Proxy.Configuration = [  ]
  Provider = [  ]

Domains = [ gts.dp.ua ]. so gts.dp.ua should be appended to dns query.

~ $ host -v nefrit1
Trying "nefrit1"
Host nefrit1 not found: 3(NXDOMAIN)
Received 100 bytes from 127.0.0.1#53 in 0 ms

tcpdump:
# tcpdump -npi enp37s0 port 53
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp37s0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:27:51.032322 IP 10.21.5.154.32905 > 91.193.69.4.53: 51887+ A? nefrit1. (25)
14:27:51.032337 IP 10.21.5.154.32905 > 91.193.69.4.53: 84+ A?
nefrit1.gts.dp.ua. (35)
14:27:51.032345 IP 10.21.5.154.59459 > 91.193.69.22.53: 51887+ A? nefrit1. (25)
14:27:51.032350 IP 10.21.5.154.59459 > 91.193.69.22.53: 84+ A?
nefrit1.gts.dp.ua. (35)
14:27:51.032760 IP 91.193.69.22.53 > 10.21.5.154.59459: 51887 NXDomain
0/1/0 (100)
14:27:51.032773 IP 91.193.69.22.53 > 10.21.5.154.59459: 84* 1/2/2 A
91.193.69.12 (119)
14:27:51.033253 IP 91.193.69.4.53 > 10.21.5.154.32905: 84 1/2/2 A
91.193.69.12 (119)
14:27:51.040717 IP 91.193.69.4.53 > 10.21.5.154.32905: 51887 NXDomain
0/1/0 (100)

So, we have two queries to two nameservers. Two of them have returned
NXDomain, and this result was sent back to a client.
I think this behaviour is wrong, client shouldn't get NXDomain when
other non-nxdomain replies from nameservers exist.

This was fixed once (see commit
http://git.kernel.org/cgit/network/connman/connman.git/commit/src/dnsproxy.c?h=1.30&id=0439194ed0c5a90f61dbef86d9a51307764da2d7),
but then was refactored in later commits

-----
Vladimir Pavljuchenkov
_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to