/[pxelator]/lib/PXElator/ip.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/PXElator/ip.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 278 by dpavlin, Thu Aug 20 19:44:19 2009 UTC revision 459 by dpavlin, Sat Jan 2 17:45:31 2010 UTC
# Line 11  use server; Line 11  use server;
11  sub lines {  sub lines {
12          my ( $object ) = @_;          my ( $object ) = @_;
13    
14          my $debug = server::debug;          my $debug = server::debug();
15    
16          $object ||= 'link';          $object ||= 'link';
17    
# Line 111  sub default_route_dev { Line 111  sub default_route_dev {
111  }  }
112    
113  sub to_int {  sub to_int {
114          pack( 'C*', split(/\./, shift) )          unpack( 'N', pack( 'C*', split(/\./, shift) ) )
115  }  }
116    
117  sub from_int {  sub from_int {
118          join( '.', unpack('C4', shift) )          join( '.', unpack('C4', pack('N',shift)) )
119    }
120    
121    sub in_dhcp_range {
122            my $ip = shift;
123    
124            my $server = server::as_hash_for $ip;
125    
126            my $i = to_int($ip) & to_int($server->{netmask});
127            my $s = to_int($server->{ip}) & to_int($server->{netmask});
128    
129            if ( $i == $s ) {
130                    $i = to_int($ip) & ( to_int($server->{netmask}) ^ 0xffffffff );
131                    return 1 if ( $i >= $server->{ip_from} && $i <= $server->{ip_to} );
132            }
133            return 0;
134  }  }
135    
136  1;  1;

Legend:
Removed from v.278  
changed lines
  Added in v.459

  ViewVC Help
Powered by ViewVC 1.1.26