Hi,
I stumbled upon a network issue which got me scratching my head today.
Setting up this new receiver I've ironed out most of the client / server / kodi multiroom issues I have been experiencing (I understand what's causing the grief at least). Up until now my new E2 box has been sat on my main LAN while I was working on set up and solving the issues. This afternoon, satisfied all the client / server stuff is working correctly I moved the Gigablue box onto a different subnet where it will live permanently. This is where I ran into a weird issue where the box was clearly connected to the internet but the "plugin download" and "software update" were both complaining "no internet connection". I had already installed the speedtest plugin and the plugin to show internal / external IP address, both of these were working fine and it was obvious the box was properly connected to the outside world. The network test menu option was also giving green ticks for everything.
Cue going round in circles for a while (getting nowhere) until I eventually lost the will to live and fired up wireshark to determine what was really going on. On pressing the green button to "download plugins" it seems the box tries to resolve an address via google public DNS 8.8.8.8 rather than using the resolvers configured in network settings. I guess in most environments this will be "ok", but in my network I redirect any DNS requests to google DNS (ipv4 or ipv6) to my own caching resolvers. I have valid reasons for doing this, mostly it is about getting the numerous google devices I have on my network to play nicely with my home automation systems. Anyway, that's not really relevant to the problem. I am more interested in why there are hard coded DNS servers in the code? The reason 8.8.8.8 was not reachable by the E2 box is because the subnet my streaming devices live on isn't in the acl on my bind dns resolvers (on purpose).
I have "fixed it" (aka worked around it) by NAT'ing 8.8.8.8 to the correct DNS servers for the particular subnet the gigablue lives on. All the traffic on this particular subnet routes out via NordVPN, so in the interest of not leaking I'm NAT'ing 8.8.8.8 DNS requests to Nord DNS servers.
Anyway, this may be an enigma2 thing rather than an openvix thing, but my question is why is it necessary to hard code DNS resolvers rather than using the revolvers configured in network settings? There are scenarios where doing this can cause unexpected behaviour. Google are notorious for doing this, but this is the first time I've seen it elsewhere.