fix SafeResolv function

This commit is contained in:
Philip Henning 2025-01-27 22:28:54 +01:00
parent 15120cdd4f
commit f3bae25ff1

View file

@ -14,26 +14,27 @@
:global GlobalFunctionsCustomPhgReady false; :global GlobalFunctionsCustomPhgReady false;
# global functions # global functions
:global SafelyResolve :global SafeResolve
# Function: safelyResolve # Function: safelyResolve
# - Takes a DNS string (e.g. "example.com") # - Takes a DNS string (e.g. "example.com")
# - Takes an IP type [ipv4, ipv6] # - Takes an IP type [ipv4, ipv6]
# - Returns a string of and IP address or false if it can't be resolved # - Returns a string of and IP address or false if it can't be resolved
:set SafelyResolve do={ :set SafeResolve do={
:do { :do {
:local DomainName [ :tostr $1 ]; :local DomainName [ :tostr $1 ];
:if ( [ :tostr $2 ] = "ipv4" or [ :tostr $2 ] = "ipv6" ) do={ :local IPType;
:local IPType [ :tostr $2 ]; :if ( ([ :tostr $2 ] = "ipv4") or ([ :tostr $2 ] = "ipv6") ) do={
:set IPType [ :tostr $2 ];
} else={ } else={
:local IPType "ipv4"; :global ExitError; $ExitError false $0;
} }
:local IP [:resolve domain-name="$DomainName" type=$IPType]; :local ResolvedIP [:resolve domain-name="$DomainName" type=$IPType];
:return "$IP"; :return "$ResolvedIP";
} on-error={ } on-error={
return false; :return false;
} }
} }
# signal we are ready # signal we are ready
:set GlobalFunctionsCustomPhgReady true; :set GlobalFunctionsCustomPhgReady true;