From: Alexander Marx Date: Thu, 8 May 2014 12:31:31 +0000 (+0200) Subject: General-functions.pl: rewrite getnetworkip without inet_aton X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=commitdiff_plain;h=1be398ae381d4d0cdbd50272bff4434121d36f65 General-functions.pl: rewrite getnetworkip without inet_aton --- diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl index a3f431100..6fabf1c05 100644 --- a/config/cfgroot/general-functions.pl +++ b/config/cfgroot/general-functions.pl @@ -413,9 +413,9 @@ sub getnetworkip #Gets: IP, CIDR (10.10.10.0-255, 24) #Gives: 10.10.10.0 my ($ccdip,$ccdsubnet) = @_; - my $ip_address_binary = inet_aton( $ccdip ); - my $netmask_binary = ~pack("N", (2**(32-$ccdsubnet))-1); - my $network_address = inet_ntoa( $ip_address_binary & $netmask_binary ); + my $ip_address_binary = &Socket::inet_pton( AF_INET,$ccdip ); + my $netmask_binary = &Socket::inet_pton(AF_INET,&iporsubtodec($ccdsubnet)); + my $network_address = &Socket::inet_ntop( AF_INET,$ip_address_binary & $netmask_binary ); return $network_address; }