]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - html/cgi-bin/netexternal.cgi
Merge branch 'master' into next
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / netexternal.cgi
index 299612d4c799051bd7958eae685db19230edf14d..8f29eb8a23a088a17ceb1610fcd16812c5d96350 100644 (file)
 ###############################################################################
 
 use strict;
+use experimental 'smartmatch';
 
 # enable only the following on debugging purpose
 #use warnings;
 #use CGI::Carp 'fatalsToBrowser';
 
+use IO::Socket;
+
 require '/var/ipfire/general-functions.pl';
 require "${General::swroot}/lang.pl";
 require "${General::swroot}/header.pl";
+require "${General::swroot}/geoip-functions.pl";
 require "${General::swroot}/graphs.pl";
 
 my %color = ();
@@ -98,6 +102,12 @@ if ( $querry[0] ne~ ""){
                                        <th align="center">
                                                <strong>$Lang::tr{'nameserver'}</strong>
                                        </th>
+                                       <th align="center">
+                                               <strong>$Lang::tr{'country'}</strong>
+                                       </th>
+                                       <th align="center">
+                                               <strong>$Lang::tr{'rdns'}</strong>
+                                       </th>
                                        <th align="center">
                                                <strong>$Lang::tr{'status'}</strong>
                                        </th>
@@ -139,9 +149,25 @@ END
 
                my $table_colour = ($id++ % 2) ? $color{'color22'} : $color{'color20'};
 
+               # collect more information about name server (rDNS, GeoIP country code)
+               my $ccode = &GeoIP::lookup($nameserver);
+               my $flag_icon = &GeoIP::get_flag_icon($ccode);
+
+               my $iaddr = inet_aton($nameserver);
+               my $rdns = gethostbyaddr($iaddr, AF_INET);
+               if (!$rdns) { $rdns = $Lang::tr{'lookup failed'}; }
+
                print <<END;
                        <tr bgcolor="$table_colour">
-                               <td>$nameserver</td>
+                               <td>
+                                       $nameserver
+                               </td>
+                               <td align="center">
+                                       <a href='country.cgi#$ccode'><img src="$flag_icon" border="0" alt="$ccode" title="$ccode" /></a>
+                               </td>
+                               <td align="center">
+                                       $rdns
+                               </td>
                                <td bgcolor="$bgcolour" align="center">
                                        <font color="$colour"><strong>$message</strong></font>
                                </td>