Regression #13162
closedUpgrade does not work when using only IPv6 DNS servers
100%
Description
When only IPv6 DNS servers are used (in general config) GUI update is not functional.
Following message is displayed when checking for updates in the GUI:
Retrieving: Unable to check for updates.
Unfortunately I have not been able to find any logs of this.
running pfSense-upgrade from cli works fine.
Adding one IPV4 dns server, no matter which order will make the GUI check functional.
Related issues
Updated by Viktor Gurov over 2 years ago
- Related to Regression #11512: DHCP Leases page and ARP table page fail to load if DNS is not available added
Updated by Viktor Gurov over 2 years ago
- Related to Bug #12141: Lack of DNS or Internet connectivity causes GUI to be slow added
Updated by Viktor Gurov over 2 years ago
- Assignee set to Viktor Gurov
- Target version set to 2.7.0
- Plus Target Version set to 22.05
Updated by Jim Pingle over 2 years ago
- Status changed from New to Pull Request Review
Updated by Viktor Gurov over 2 years ago
- Status changed from Pull Request Review to Feedback
- % Done changed from 0 to 100
Applied in changeset 620a974509585d341120662508f011deca2bd8b5.
Updated by Jim Pingle over 2 years ago
- Subject changed from GUI Update not working when using only ipv6 DNS servers to Upgrade does not work when using only IPv6 DNS servers
Updating subject for release notes.
Updated by Jim Pingle over 2 years ago
- Status changed from Feedback to Resolved
Seems to be fixed. On 22.01 if I set only IPv6 DNS and tell the GUI to only use remote DNS, the update check does fail.
Same setup on 22.05 works.
Updated by Jonathan Snell over 2 years ago
A couple of observations on this change, and the function in general. Firstly, there's a $nameservers variable being created by merging the hard coded test set with the system configured DNS servers, on line 2825 of system.inc. Either it should be iterated on in place of $gdns at line 2828, or it should be removed as useless code. Secondly, since almost all calls I could find to check_dnsavailable() do not pass any parameters, then the default for $proto should probably be 'any' and not 'inet', so that these checks still work on a system with only IPv6. Thirdly, it looks like on line 2833, the loop is limited to 3 iterations (ignoring the localhost skip), so the 4th entry of the 'any' array in the provided patch will never be used.