luci-base: handle dhcp lease from odhcpd
Currently only the dnsmasq lease file is read for hostname hint. If someone use only odhcpd as dhcp daemon the hostname resolution on wifi_assoc list is broken. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
This commit is contained in:
parent
525d62ff33
commit
bb34a31e81
1 changed files with 18 additions and 0 deletions
|
@ -189,6 +189,24 @@ local function _nethints(what, callback)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
cur:foreach("dhcp", "odhcpd",
|
||||||
|
function(s)
|
||||||
|
if type(s.leasefile) == "string" and fs.access(s.leasefile) then
|
||||||
|
for e in io.lines(s.leasefile) do
|
||||||
|
duid, iaid, name, _, ip = e:match("^# %S+ (%S+) (%S+) (%S+) (-?%d+) %S+ %S+ ([0-9a-f:.]+)/[0-9]+")
|
||||||
|
mac = net.duid_to_mac(duid)
|
||||||
|
if mac then
|
||||||
|
if ip and iaid == "ipv4" then
|
||||||
|
_add(what, mac, ip, nil, name ~= "*" and name)
|
||||||
|
elseif ip then
|
||||||
|
_add(what, mac, nil, ip, name ~= "*" and name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
cur:foreach("dhcp", "host",
|
cur:foreach("dhcp", "host",
|
||||||
function(s)
|
function(s)
|
||||||
|
|
Loading…
Reference in a new issue