]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
dhcp.cgi: Add column with resolved hostname by IP address
authorSebastien GISLAIN <sebastien.gislain@free.fr>
Fri, 17 Nov 2023 14:44:22 +0000 (15:44 +0100)
committerPeter Müller <peter.mueller@ipfire.org>
Fri, 24 Nov 2023 13:22:03 +0000 (13:22 +0000)
In web interface, on page DHCP Server, in table Current fixed leases, add column with resolved hostname by IP address
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
html/cgi-bin/dhcp.cgi

index f45703f0b2b0f5e64575d9685b7b5e16091fd14c..b87da690726559825d26def70966fe8443f9939b 100755 (executable)
@@ -21,6 +21,7 @@
 
 use strict;
 use experimental 'smartmatch';
+use IO::Socket;
 
 # enable only the following on debugging purpose
 #use warnings;
@@ -1007,8 +1008,9 @@ END
 print <<END
 <table width='100%' class='tbl'>
 <tr>
-    <th width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?FETHER'><b>$Lang::tr{'mac address'}</b></a></th>
-    <th width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?FIPADDR'><b>$Lang::tr{'ip address'}</b></a></th>
+    <th width='15%' align='center'><a href='$ENV{'SCRIPT_NAME'}?FETHER'><b>$Lang::tr{'mac address'}</b></a></th>
+    <th width='10%' align='center'><a href='$ENV{'SCRIPT_NAME'}?FIPADDR'><b>$Lang::tr{'ip address'}</b></a></th>
+    <th width='15%' align='center'><b>$Lang::tr{'hostname'}</b></th>
     <th width='15%' align='center'><b>$Lang::tr{'remark'}</b></th>
     <th width='15%' class='boldbase' align='center'><b>next-server</b></th>
     <th width='15%' class='boldbase' align='center'><b>filename</b></th>
@@ -1106,9 +1108,14 @@ foreach my $line (@current2) {
        $TAG4 = "class='red'" if ($dhcpsettings{'KEY2'} ne $key);
     }
 
+       # resolved name (if exists)
+       my $iaddr = inet_aton($temp[1]);
+       my $rname = gethostbyaddr($iaddr, AF_INET);
+       if (!$rname || $rname eq "") { $rname = $Lang::tr{'ptr lookup failed'}; }
     print <<END
 <td align='center' $col>$TAG2$temp[0]$TAG3</td>
 <td align='center' $TAG4 $col>$TAG0$temp[1]$TAG1</td>
+<td align='center' $col>$rname&nbsp;</td>
 <td align='center' $col>$temp[6]&nbsp;</td>
 <td align='center' $col>$temp[3]&nbsp;</td>
 <td align='center' $col>$temp[4]&nbsp;</td>