take hostname from dhcp request if it exists
authorDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 11 Aug 2009 23:38:53 +0000 (23:38 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 11 Aug 2009 23:38:53 +0000 (23:38 +0000)
lib/PXElator/config.pm
lib/PXElator/dhcpd.pm

index 1be0fdb..1af44be 100644 (file)
@@ -33,7 +33,7 @@ sub webconverger {
        upstream::iso( 'http://download.webconverger.com/webc-5.2.iso' );
 
        my $homepage = client::conf( $ip => 'homepage', default => "http://${server::ip}:7777/client" );
-       my $hostname = client::conf( $ip => 'hostname', default => 'webconverger' );
+       my $hostname = client::conf( $ip => 'hostname' ) || 'webconverger';
 
        pxelinux::config_for_ip( $ip, qq{
 
index e6c7155..4ecbbb3 100644 (file)
@@ -84,6 +84,9 @@ sub process_packet {
        my $mac = substr($dhcp->chaddr(),0,$dhcp->hlen()*2);
        my $ip = client_ip($mac);
 
+       my $hostname = $dhcp->getOptionValue(DHO_HOST_NAME);
+       print "$ip ", client::conf( $ip => 'hostname', default => $hostname ), " >> /etc/hosts\n";
+
 =for later
 
        my $user_class = $dhcp->getOptionValue(DHO_USER_CLASS());