luci-base: read odhcpd leasefile location via uci
authorHannu Nyman <hannu.nyman@iki.fi>
Sun, 17 Apr 2016 09:10:24 +0000 (12:10 +0300)
committerHannu Nyman <hannu.nyman@iki.fi>
Sun, 17 Apr 2016 09:12:54 +0000 (12:12 +0300)
Check the location of the odhcpd leasefile from /etc/config/dhcp
via uci. Fallback to the default location.

This fixes #702

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
modules/luci-base/luasrc/tools/status.lua

index ac053eac8cef4b191b30161336d216375dd7e683..a1ecbe71d0ec75adda91cdaca5f588cee2d80845 100644 (file)
@@ -48,7 +48,15 @@ local function dhcp_leases_common(family)
                fd:close()
        end
 
-       local fd = io.open("/tmp/hosts/odhcpd", "r")
+       local lease6file = "/tmp/hosts/odhcpd"
+       uci:foreach("dhcp", "odhcpd",
+               function(t)
+                       if t.leasefile and nfs.access(t.leasefile) then
+                               lease6file = t.leasefile
+                               return false
+                       end
+               end)
+       local fd = io.open(lease6file, "r")
        if fd then
                while true do
                        local ln = fd:read("*l")