--- lib/PXElator/dhcpd.pm 2009/08/03 20:53:46 129 +++ lib/PXElator/dhcpd.pm 2009/08/05 12:45:29 146 @@ -56,17 +56,18 @@ my $prefix = $server::ip; $prefix =~ s{\.\d+$}{.}; my $ip = $prefix . $addr; - while ( -e "conf/ip/$ip" || $p->ping( $ip ) ) { + while ( -e "$conf/ip/$ip" || $p->ping( $ip ) ) { $ip = $prefix . $addr++; die "all addresses allocated!" if $addr == $server::ip_to; } write_file "$conf/mac/$mac", $ip; - if ( -l "$conf/ip/$ip" && readlink "$conf/ip/$ip" ne "$conf/mac/$mac") { + + if ( -l "$conf/ip/$ip" && readlink "$conf/ip/$ip" ne "$conf/mac/$mac" ) { unlink "$conf/ip/$ip"; - symlink "$conf/mac/$mac", "$conf/ip/$ip"; - warn "$mac IP changed to $ip"; - } + warn "$mac IP changed from ", readlink "$conf/ip/$ip", " to $ip"; + }; + symlink "$conf/mac/$mac", "$conf/ip/$ip"; print "$mac NEW $ip\n"; @@ -153,8 +154,8 @@ # $packet->{DHO_DHCP_SERVER_IDENTIFIER()} = $server::ip; # FIXME $packet->{DHO_SUBNET_MASK()} = '255.255.255.0'; $packet->{DHO_ROUTERS()} = $server::ip; -# $packet->{DHO_DOMAIN_NAME()} = 'pxelator.lan'; -# $packet->{DHO_NAME_SERVERS()} = $server::ip; + $packet->{DHO_DOMAIN_NAME()} = 'pxelator.lan'; + $packet->{DHO_NAME_SERVERS()} = $server::ip; # $packet->{DHO_ROOT_PATH()} = '/exports/foobar'; } else { $packet->{DHO_DHCP_MESSAGE_TYPE()} = DHCPNAK();