From a34d5d71417d0720e9695b2bfa8657f3734de3b6 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 9 Feb 2023 22:36:40 +0100 Subject: ipv6-update: accept a single prefix only --- ipv6-update | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ipv6-update b/ipv6-update index 13660c4..dd22538 100644 --- a/ipv6-update +++ b/ipv6-update @@ -51,12 +51,15 @@ :local RecordVal [ /ip/dns/static/get $Record ]; :local Comment [ $ParseKeyValueStore ($RecordVal->"comment") ]; - :local Prefix [ /ipv6/address/get [ find where from-pool=$Pool interface=($Comment->"interface") global ] address ]; - :set Prefix ([ :toip6 [ :pick $Prefix 0 [ :find $Prefix "/64" ] ] ] & ffff:ffff:ffff:ffff::); - :local Address ($Prefix | ([ :toip6 ($RecordVal->"address") ] & ::ffff:ffff:ffff:ffff)); + :local Prefix [ /ipv6/address/find where from-pool=$Pool interface=($Comment->"interface") global ]; + :if ([ :len $Prefix ] = 1) do={ + :set Prefix [ /ipv6/address/get $Prefix address ]; + :set Prefix ([ :toip6 [ :pick $Prefix 0 [ :find $Prefix "/64" ] ] ] & ffff:ffff:ffff:ffff::); + :local Address ($Prefix | ([ :toip6 ($RecordVal->"address") ] & ::ffff:ffff:ffff:ffff)); - $LogPrintExit2 info $0 ("Updating DNS record for " . ($RecordVal->"name") . \ - ($RecordVal->"regexp") . " to " . $Address) false; - /ip/dns/static/set address=$Address $Record; + $LogPrintExit2 info $0 ("Updating DNS record for " . ($RecordVal->"name") . \ + ($RecordVal->"regexp") . " to " . $Address) false; + /ip/dns/static/set address=$Address $Record; + } } } -- cgit v1.2.3-54-g00ecf