From 051fd926ef99316eec242fad9f9079927cce1418 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sun, 28 Aug 2016 22:04:47 +0200
Subject: [PATCH] gluon-wan-dnsmasq: add interface name to link-local addresses

Fixes #854
---
 .../luasrc/lib/gluon/wan-dnsmasq/update.lua            | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/package/gluon-wan-dnsmasq/luasrc/lib/gluon/wan-dnsmasq/update.lua b/package/gluon-wan-dnsmasq/luasrc/lib/gluon/wan-dnsmasq/update.lua
index 88a86507a..cceb72255 100755
--- a/package/gluon-wan-dnsmasq/luasrc/lib/gluon/wan-dnsmasq/update.lua
+++ b/package/gluon-wan-dnsmasq/luasrc/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
 
 
-- 
GitLab