/[pxelator]/lib/PXElator/dhcpd.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/dhcpd.pm

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

revision 168 by dpavlin, Thu Aug 6 21:31:10 2009 UTC revision 194 by dpavlin, Mon Aug 10 17:30:01 2009 UTC
# Line 42  sub client_ip { Line 42  sub client_ip {
42          my $conf = $server::conf;          my $conf = $server::conf;
43          mkdir $conf unless -e $conf;          mkdir $conf unless -e $conf;
44    
45          if ( -e "$conf/mac/$mac" ) {          my $ip;
46                  my $ip = read_file "$conf/mac/$mac";  
47            if ( $ip = client::ip_from_mac( $mac ) ) {
48                  print "RENEW $mac $ip\n";                  print "RENEW $mac $ip\n";
49                  return $ip;                  return $ip;
50            } else {
51                    $ip = client::next_ip;
52                    print "NEW $mac $ip\n";
53                    symlink "$conf/ip/$ip", "$conf/mac/$mac";
54          }          }
55    
         my $ip = client::next_ip;  
   
         write_file "$conf/mac/$mac", $ip;  
   
56          my $ip_path = "$conf/ip/$ip";          my $ip_path = "$conf/ip/$ip";
57          mkdir $ip_path unless -e $ip_path;          mkdir $ip_path unless -e $ip_path;
58    
# Line 59  sub client_ip { Line 60  sub client_ip {
60                  warn "$mac IP changed from ", readlink "$ip_path/mac", " to $ip";                  warn "$mac IP changed from ", readlink "$ip_path/mac", " to $ip";
61                  unlink "$ip_path/mac";                  unlink "$ip_path/mac";
62          };          };
         symlink "$conf/mac/$mac", "$ip_path/mac";  
63    
64          print "$mac NEW $ip\n";          symlink "$conf/mac/$mac", "$ip_path/mac";
65    
66          return $ip;          return $ip;
67  }  }

Legend:
Removed from v.168  
changed lines
  Added in v.194

  ViewVC Help
Powered by ViewVC 1.1.26