dnsexit2: Simplify IP version loop

This commit is contained in:
Richard Hansen 2024-05-29 17:57:20 -04:00
parent 40d1bc8e51
commit 7c4fe28bab

View file

@ -4174,17 +4174,11 @@ sub nic_dnsexit2_update {
# The DNSExit API does not support updating multiple hosts at a time. # The DNSExit API does not support updating multiple hosts at a time.
for my $h (@_) { for my $h (@_) {
my $ipv4 = delete $config{$h}{'wantipv4'};
my $ipv6 = delete $config{$h}{'wantipv6'};
# The IPv4 and IPv6 addresses must be updated together in a single API call. # The IPv4 and IPv6 addresses must be updated together in a single API call.
my %total_payload; my %total_payload;
for my $ipv ('4', '6') {
for my $ip ($ipv4, $ipv6) { my $ip = delete($config{$h}{"wantipv$ipv"}) or next;
next if (!$ip); my $type = ($ipv eq '6') ? 'AAAA' : 'A';
my $ipv = ($ip eq ($ipv6 // '')) ? '6' : '4';
my $type = ($ip eq ($ipv6 // '')) ? 'AAAA' : 'A';
info("Going to update IPv%s address to %s for %s.", $ipv, $ip, $h); info("Going to update IPv%s address to %s for %s.", $ipv, $ip, $h);
$config{$h}{'status-ipv$ipv'} = 'failed'; $config{$h}{'status-ipv$ipv'} = 'failed';
$total_payload{$ipv} = { $total_payload{$ipv} = {
@ -4263,8 +4257,8 @@ sub nic_dnsexit2_update {
info("Status: %s -- Message: %s", $status, $message); info("Status: %s -- Message: %s", $status, $message);
info("Server Message: %s -- Server Details: %s", $response->{'message'}, info("Server Message: %s -- Server Details: %s", $response->{'message'},
defined($response->{'details'}) ? $response->{'details'}[0] : "no details received"); defined($response->{'details'}) ? $response->{'details'}[0] : "no details received");
$config{$h}{'status-ipv4'} = $status if $ipv4; $config{$h}{'status-ipv4'} = $status if $total_payload{'4'};
$config{$h}{'status-ipv6'} = $status if $ipv6; $config{$h}{'status-ipv6'} = $status if $total_payload{'6'};
if ($status ne 'good') { if ($status ne 'good') {
if ($status eq 'warning') { if ($status eq 'warning') {
warning("%s", $message); warning("%s", $message);