]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
Revert "General-functions.pl: rewrite getnetworkip without inet_aton"
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 29 Jul 2014 10:12:38 +0000 (12:12 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 29 Jul 2014 10:12:38 +0000 (12:12 +0200)
This reverts commit 1be398ae381d4d0cdbd50272bff4434121d36f65.

Some users reported some issues with the generated firewall ruleset
with the new function:
  http://forum.ipfire.org/index.php?topic=11124.0

config/cfgroot/general-functions.pl

index 6994f333d5a84c48ed57aa9155b04b34a0c818f5..ebf621420185971def522b6a8a0ac0694e0ae806 100644 (file)
@@ -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 = &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 );
+       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 );
        return $network_address;
 }