After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 764839 - IPv6 link-local DNS servers + dns=dnsmasq broken
IPv6 link-local DNS servers + dns=dnsmasq broken
Status: RESOLVED FIXED
Product: NetworkManager
Classification: Platform
Component: IP and DNS config
git master
Other Linux
: Normal normal
: ---
Assigned To: NetworkManager maintainer(s)
NetworkManager maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2016-04-10 08:26 UTC by Tore Anderson
Modified: 2016-04-11 09:21 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tore Anderson 2016-04-10 08:26:34 UTC
NetworkManager will configure dnsmasq with link-local DNS servers using «@» as the delimiter between the IP address and the scope (i.e., the interface name). For example "fe80::1234@eth0".

However, this has not worked since dnsmasq 2.73. For more details, see:

http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2016q2/010454.html

Since dnsmasq 2.58 is possible to use «%» as the delimiter instead. However, NM explicitly uses «@» to support older versions, see:

https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/src/dns-manager/nm-dns-dnsmasq.c#n141

(The comment is the wrong way around, but the code should be clear.)

So there are several ways on how to handle this, in no particular order:

* Detect dnsmasq version runtime, and use the appropriate delimiter.
* Change NM to use the «%» delimiter always. Breaks users with dnsmasq <2.58 (do note that 2.58 is nearly 5 years old now).
* Do nothing, assuming that the dnsmasq maintainer will consider the issue a bug and fix it in the next version 2.76. Leaves users with dnsmasq versions between 2.73/2.74/2.75 broken.

Tore