aboutsummaryrefslogtreecommitdiffstats
path: root/update-tunnelbroker
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2019-07-17 16:28:32 +0200
committerGravatar Christian Hesse <mail@eworm.de>2019-07-18 13:50:01 +0200
commit5d12be36d744f40e354f4eeb33ad75c1151ed1b3 (patch)
treed1e6c764d9e568c270316c80cb8ea4c3437a4e22 /update-tunnelbroker
parentbeb2e70097d187fbdeb1bf25cf0994babd8266fe (diff)
update-tunnelbroker: use $ParseKeyValueStore
Diffstat (limited to 'update-tunnelbroker')
-rw-r--r--update-tunnelbroker10
1 files changed, 4 insertions, 6 deletions
diff --git a/update-tunnelbroker b/update-tunnelbroker
index 7d0fc35..4a8c797 100644
--- a/update-tunnelbroker
+++ b/update-tunnelbroker
@@ -4,6 +4,7 @@
# Michael Gisbers <michael@gisbers.de>
:global CertificateAvailable;
+:global ParseKeyValueStore;
:if ([ / ip cloud get ddns-enabled ] != true) do={
:log error "IP cloud DDNS is not enabled.";
@@ -22,16 +23,13 @@
:local LastAddress [ / interface 6to4 get $Interface local-address ];
:if ($PublicAddress != $LastAddress) do={
- :local Comment [ :toarray [ / interface 6to4 get $Interface comment ] ];
- :local User [ :pick ($Comment->1) 5 99 ];
- :local Pass [ :pick ($Comment->2) 5 99 ];
- :local Id [ :pick ($Comment->3) 3 99 ];
+ :local Comment [ $ParseKeyValueStore [ / interface 6to4 get $Interface comment ] ];
$CertificateAvailable "Starfield Secure Certificate Authority - G2";
:log info ("Local address changed, sending UPDATE to tunnelbroker! New address: " . $PublicAddress);
/ tool fetch check-certificate=yes-without-crl \
- ("https://ipv4.tunnelbroker.net/nic/update\?hostname=" . $Id) \
- user=$User password=$Pass keep-result=no;
+ ("https://ipv4.tunnelbroker.net/nic/update\?hostname=" . $Comment->"id") \
+ user=($Comment->"user") password=($Comment->"pass") keep-result=no;
/ interface 6to4 set $Interface local-address=$PublicAddress;
} else={
:log debug ("All tunnelbroker configuration is up to date for interface " . $IntName . ".");