Browse Source

gluon-wan-dnsmasq: add interface name to link-local addresses

Fixes #854
Matthias Schiffer 7 years ago
parent
commit
7d95f0d9a9
1 changed files with 8 additions and 2 deletions
  1. 8 2
      package/gluon-wan-dnsmasq/files/lib/gluon/wan-dnsmasq/update.lua

+ 8 - 2
package/gluon-wan-dnsmasq/files/lib/gluon/wan-dnsmasq/update.lua

@@ -12,14 +12,20 @@ local fs = require 'nixio.fs'
 local new_servers = ''
 
 
-local function append_servers(servers)
+local function handle_interface(status)
+  local ifname = status.device
+  local servers = status.inactive['dns-server']
+
   for _, server in ipairs(servers) do
+    if server:match('^fe80:') then
+      server = server .. '%' .. ifname
+    end
     new_servers = new_servers .. 'nameserver ' .. server .. '\n'
   end
 end
 
 local function append_interface_servers(iface)
-  append_servers(ubus:call('network.interface.' .. iface, 'status', {}).inactive['dns-server'])
+  handle_interface(ubus:call('network.interface.' .. iface, 'status', {}))
 end