From f8a448acd325ae6327b1cdac3e0434516f04e193 Mon Sep 17 00:00:00 2001 From: Daniel Ziegenberg Date: Wed, 30 Dec 2020 12:01:32 +0100 Subject: [PATCH] always select first lease from dhcp-server collect-wireless-mac.capsman fails at setting the hostname when there are multiple leases for a mac address In line 36 and 37 the hostname gets set from the data the lease. When there is more than one lease for a specific mac address this fails with the message "invalid internal item number". More than one lease for a mac address is possible, if you have more than one SSID on a capsman and a single device can login into more than one SSID. --- collect-wireless-mac.capsman | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/collect-wireless-mac.capsman b/collect-wireless-mac.capsman index 7abae6a3..75c68714 100644 --- a/collect-wireless-mac.capsman +++ b/collect-wireless-mac.capsman @@ -33,8 +33,8 @@ $ScriptLock "collect-wireless-mac.capsman"; :local HostName "no dhcp lease"; :local Lease [ / ip dhcp-server lease find where mac-address=$Mac dynamic=yes status=bound ]; :if ([ :len $Lease ] > 0) do={ - :set Address [ / ip dhcp-server lease get $Lease address ]; - :set HostName [ / ip dhcp-server lease get $Lease host-name ]; + :set Address [ / ip dhcp-server lease get [:pick $Lease 0 ] address ]; + :set HostName [ / ip dhcp-server lease get [:pick $Lease 0 ] host-name ]; :if ([ :len $HostName ] = 0) do={ :set HostName "no hostname"; }