From d700dbc00e6e22ea9521d3b359f0d3635d9af682 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Sat, 25 Mar 2023 22:33:02 +0100 Subject: dhcp-to-dns: support host name from dhcp lease comment The lease comment is supposed to be a human readable string... But we could allow parsable information. --- dhcp-to-dns.rsc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'dhcp-to-dns.rsc') diff --git a/dhcp-to-dns.rsc b/dhcp-to-dns.rsc index b925fdb..259a904 100644 --- a/dhcp-to-dns.rsc +++ b/dhcp-to-dns.rsc @@ -19,8 +19,10 @@ :global ServerNameInZone; :global CharacterReplace; +:global EitherOr; :global IfThenElse; :global LogPrintExit2; +:global ParseKeyValueStore; :global ScriptLock; $ScriptLock $0 false 10; @@ -62,7 +64,7 @@ $ScriptLock $0 false 10; :if ([ :len ($LeaseVal->"address") ] > 0) do={ :local Comment ($CommentPrefix . $LeaseVal->"mac-address"); :local MacDash [ $CharacterReplace ($LeaseVal->"mac-address") ":" "-" ]; - :local HostName [ $CharacterReplace ($LeaseVal->"host-name") " " "" ]; + :local HostName [ $CharacterReplace [ $EitherOr ([ $ParseKeyValueStore ($LeaseVal->"comment") ]->"hostname") ($LeaseVal->"host-name") ] " " "" ]; :local Domain ([ $IfThenElse ($ServerNameInZone = true) ($LeaseVal->"server" . ".") ] . $Zone); :local DnsRecord [ /ip/dns/static/find where name=($MacDash . "." . $Domain) ]; -- cgit v1.2.3-54-g00ecf