From 96f6a79eb2c3373797f50fc8b0fde45e95b01a62 Mon Sep 17 00:00:00 2001 From: Arjen de Korte Date: Fri, 8 Dec 2017 10:55:18 +0100 Subject: [PATCH] luci-mod-admin-full: fix incorrect length of DUID-LL The length of DUID-LL is 80 bits (16 bit DUID type, 16 bit hardware type, 48 bit mac) which corresponds to 20 nibbles. Also lower the minimum required length of DUID to 20 nibbles in order to allow entering a DUID-LL. Signed-off-by: Arjen de Korte --- modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua | 2 +- modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm | 2 +- modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua index 0c01ceffc..3ce0bc466 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua @@ -297,7 +297,7 @@ time = s:option(Value, "leasetime", translate("Lease time")) time.rmempty = true duid = s:option(Value, "duid", translate("DUID")) -duid.datatype = "and(rangelength(28,36),hexstring)" +duid.datatype = "and(rangelength(20,36),hexstring)" fp = io.open("/var/hosts/odhcpd") if fp then for line in fp:lines() do diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm index ea6ee91c7..28a37dcd9 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm @@ -5,7 +5,7 @@ return duid.substr(16).replace(/(..)(?=..)/g, '$1:').toUpperCase(); // DUID-LL / Ethernet - if (duid.length === 24 && duid.substr(0, 8) === '00030001') + if (duid.length === 20 && duid.substr(0, 8) === '00030001') return duid.substr(8).replace(/(..)(?=..)/g, '$1:').toUpperCase(); return null; diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm index 18f66c2a8..ff5e26de9 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm @@ -150,7 +150,7 @@ return duid.substr(16).replace(/(..)(?=..)/g, '$1:').toUpperCase(); // DUID-LL / Ethernet - if (duid.length === 24 && duid.substr(0, 8) === '00030001') + if (duid.length === 20 && duid.substr(0, 8) === '00030001') return duid.substr(8).replace(/(..)(?=..)/g, '$1:').toUpperCase(); return null; -- 2.11.0