X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=src%2FPVE%2FTools.pm;h=75ca5a6a70ebabf726c1b771fe98ed10a89feed7;hp=d886a3dd4343b9bf31886d87915b780d82fa9044;hb=8df6b794396228a73215e16abf35bb450fd0c822;hpb=00dc9d0fa9b1145570f0d653bf0741469a7b91ed diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm index d886a3d..75ca5a6 100644 --- a/src/PVE/Tools.pm +++ b/src/PVE/Tools.pm @@ -4,6 +4,7 @@ use strict; use warnings; use POSIX qw(EINTR); use IO::Socket::IP; +use Socket qw(AF_INET AF_INET6); use IO::Select; use File::Basename; use File::Path qw(make_path); @@ -1043,4 +1044,12 @@ sub fnv31a { sub fnv31a_hex { return sprintf("%X", fnv31a(@_)); } +sub unpack_sockaddr_in46 { + my ($sin) = @_; + my $family = Socket::sockaddr_family($sin); + my ($port, $host) = ($family == AF_INET6 ? Socket::unpack_sockaddr_in6($sin) + : Socket::unpack_sockaddr_in($sin)); + return ($family, $port, $host); +} + 1;