on commit { set noname = concat("dhcp-", binary-to-ascii(10, 8, "-", leased-address)); set ClientIP = binary-to-ascii(10, 8, ".", leased-address); set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)); set ClientName = pick-first-value(option host-name, host-decl-name, config-option host-name, noname); # log(concat("Commit: IP: ", ClientIP, " Mac: ", ClientMac, " Name: ", ClientName)); execute("/usr/local/bin/dnsmasq-dhcp-wildcards", "add", ClientIP, ClientName, ClientMac); } on release { set ClientIP = binary-to-ascii(10, 8, ".", leased-address); set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)); # log(concat("Release: IP: ", ClientIP, " Mac: ", ClientMac)); # cannot get a ClientName here, for some reason that always fails execute("/usr/local/bin/dnsmasq-dhcp-wildcards", "del", ClientIP, "", ClientMac); } on expiry { set ClientIP = binary-to-ascii(10, 8, ".", leased-address); # cannot get a ClientMac here, apparently this only works when actually receiving a packet # log(concat("Expired: IP: ", ClientIP)); # cannot get a ClientName here, for some reason that always fails execute("/usr/local/bin/dnsmasq-dhcp-wildcards", "del", ClientIP, "", "0"); }