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 |
|
|
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 |
|
my $i = to_int($ip) & to_int($server::netmask); |
124 |
|
my $s = to_int($server::ip) & to_int($server::netmask); |
125 |
|
|
126 |
|
if ( $i == $s ) { |
127 |
|
$i = to_int($ip) & ( to_int($server::netmask) ^ 0xffffffff ); |
128 |
|
return 1 if ( $i >= $server::ip_from && $i <= $server::ip_to ); |
129 |
|
} |
130 |
|
return 0; |
131 |
|
} |
132 |
|
|
133 |
1; |
1; |