/[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 265 by dpavlin, Wed Aug 19 12:46:07 2009 UTC revision 456 by dpavlin, Sat Jan 2 15:49:09 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 100  sub devices_up { Line 100  sub devices_up {
100          return @devs;          return @devs;
101  }  }
102    
103    sub default_route_dev {
104            my @routes = ip::lines 'route';
105    
106            return
107                    map { $_->{dev} }
108                    grep { $_->{route} eq 'default' }
109                    splice @routes, 1 # FIXME ship header
110            ;
111    }
112    
113    sub to_int {
114            unpack( 'N', pack( 'C*', split(/\./, shift) ) )
115    }
116    
117    sub from_int {
118            join( '.', unpack('C4', pack('N',shift)) )
119    }
120    
121    sub in_dhcp_range {
122            my $ip = shift;
123    
124            return 1 if -e "$server::conf/ip/$ip/dhcpd.pl";
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.265  
changed lines
  Added in v.456

  ViewVC Help
Powered by ViewVC 1.1.26