X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=src%2FPVE%2FTools.pm;h=01823c28fd1cbaa1ea5ad394215b75b31007f808;hp=0c6e532473d8d7f8939b37d6ae975618de4e32f3;hb=a0b6ef523a2f3ea423bd61b5257dee7c96cb1a0a;hpb=467752183d14a62e6412156eff8ec2f3554fb38e diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm index 0c6e532..01823c2 100644 --- a/src/PVE/Tools.pm +++ b/src/PVE/Tools.pm @@ -1055,14 +1055,19 @@ sub unpack_sockaddr_in46 { return ($family, $port, $host); } -sub get_host_address_family { - my ($hostname, $socktype) = @_; +sub getaddrinfo_all { + my ($hostname, @opts) = @_; my %hints = ( flags => AI_V4MAPPED | AI_ALL, - socktype => $socktype ); + @opts ); my ($err, @res) = Socket::getaddrinfo($hostname, '0', \%hints); - die "failed to resolve $hostname: $err\n" if $err; + die "failed to get address info for: $hostname: $err\n" if $err; + return @res; +} - return ${res[0]}->{family}; +sub get_host_address_family { + my ($hostname, $socktype) = @_; + my @res = getaddrinfo_all($hostname, socktype => $socktype); + return $res[0]->{family}; } 1;