From 50279efbdbba484428dec1c030e066d460433344 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 4 Apr 2019 15:27:55 +0200 Subject: ipv6-update: fix with prefix containing section(s) of zeros --- ipv6-update | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'ipv6-update') diff --git a/ipv6-update b/ipv6-update index f8ad3c1..1b52efc 100644 --- a/ipv6-update +++ b/ipv6-update @@ -23,14 +23,17 @@ if ($OldPrefix != $PdPrefix) do={ :local Suffix [ :pick ($Comment->2) 7 99 ]; :local Prefix [ / ipv6 address get [ find where interface=$IntName from-pool=$Pool global ] address ]; - :local Prefix64 [ :pick $Prefix 0 [ :find $Prefix "::/64" ] ]; + :set Prefix [ :pick $Prefix 0 [ :find $Prefix "::/64" ] ]; + :if ($Prefix~"^[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:") do={ } else={ + :set Prefix ($Prefix . ":"); + } :local Name [ / ip dns static get $Record name ]; :if ([ :len $Name ] = 0) do={ :set Name [ / ip dns static get $Record regex ]; } - :log info ("Updating DNS record for " . $Name . " to " . $Prefix64 . ":" . $Suffix); - / ip dns static set address=($Prefix64 . ":" . $Suffix) $Record; + :log info ("Updating DNS record for " . $Name . " to " . $Prefix . ":" . $Suffix); + / ip dns static set address=($Prefix . ":" . $Suffix) $Record; } } -- cgit v1.2.3-54-g00ecf