use server::as_hash_for to customize in_dhcp_range
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 2 Jan 2010 17:45:31 +0000 (17:45 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 2 Jan 2010 17:45:31 +0000 (17:45 +0000)
lib/PXElator/ip.pm

index c5d2533..ae7204a 100644 (file)
@@ -121,14 +121,14 @@ sub from_int {
 sub in_dhcp_range {
        my $ip = shift;
 
-       return 1 if -e "$server::conf/ip/$ip/dhcpd.pl";
+       my $server = server::as_hash_for $ip;
 
-       my $i = to_int($ip) & to_int($server::netmask);
-       my $s = to_int($server::ip) & to_int($server::netmask);
+       my $i = to_int($ip) & to_int($server->{netmask});
+       my $s = to_int($server->{ip}) & to_int($server->{netmask});
 
        if ( $i == $s ) {
-               $i = to_int($ip) & ( to_int($server::netmask) ^ 0xffffffff );
-               return 1 if ( $i >= $server::ip_from && $i <= $server::ip_to );
+               $i = to_int($ip) & ( to_int($server->{netmask}) ^ 0xffffffff );
+               return 1 if ( $i >= $server->{ip_from} && $i <= $server->{ip_to} );
        }
        return 0;
 }