mirror of
https://git.proxmox.com/git/pve-common
synced 2025-08-14 03:40:04 +00:00
network: add canonical_ip function
Net::IP doesn't seem to have a function for it and normalizing to the full quad-form is less then ideal if we inted to output IPv6 addresses returned by that function at some point. Instead, use NetAddr::IP, which is already used in pve-network. Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
b0e3bcc186
commit
8286ef53bb
@ -10,6 +10,7 @@ use PVE::Tools qw(run_command lock_file);
|
|||||||
use File::Basename;
|
use File::Basename;
|
||||||
use IO::Socket::IP;
|
use IO::Socket::IP;
|
||||||
use Net::IP;
|
use Net::IP;
|
||||||
|
use NetAddr::IP qw(:lower);
|
||||||
use POSIX qw(ECONNREFUSED);
|
use POSIX qw(ECONNREFUSED);
|
||||||
use Socket qw(NI_NUMERICHOST NI_NUMERICSERV);
|
use Socket qw(NI_NUMERICHOST NI_NUMERICSERV);
|
||||||
|
|
||||||
@ -655,4 +656,13 @@ sub lock_network {
|
|||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# the canonical form of the given IP, i.e. dotted quad for IPv4 and RFC 5952 for IPv6
|
||||||
|
sub canonical_ip {
|
||||||
|
my ($ip) = @_;
|
||||||
|
|
||||||
|
my $ip_obj = NetAddr::IP->new($ip) or die "invalid IP string '$ip'\n";
|
||||||
|
|
||||||
|
return $ip_obj->canon();
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
Loading…
Reference in New Issue
Block a user