On Thu, 2017-11-16 at 17:23 +0100, Peter Müller wrote:
Hello Michael,
Hi,
On Wed, 2017-11-15 at 22:49 +0100, Peter Müller wrote:
Add GeoIP and rDNS information to DNS nameserver list at netexternal.cgi
Use newly implemented GeoIP function in /var/ipfire/geoip-functions.pl
Signed-off-by: Peter Müller peter.mueller@link38.eu
html/cgi-bin/netexternal.cgi | 27 ++++++++++++++++++++++++++- langs/de/cgi-bin/de.pl | 1 + langs/en/cgi-bin/en.pl | 1 + 3 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/html/cgi-bin/netexternal.cgi b/html/cgi-bin/netexternal.cgi index 299612d4c..4393393e0 100644 --- a/html/cgi-bin/netexternal.cgi +++ b/html/cgi-bin/netexternal.cgi @@ -25,9 +25,12 @@ use strict; #use warnings; #use CGI::Carp 'fatalsToBrowser';
+use IO::Socket;
For what is this module being loaded?
It is necessary to perform the DNS query. Without it, Perl returns an error.
Oh, so inet_aton() is from that package. Would it not be better to call that by it's full name (IO::Socket::inet_aton)?
-Michael
Best regards, Peter Müller
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 = (); @@ -99,6 +102,12 @@ if ( $querry[0] ne~ ""){ <strong>$Lang::tr{'namese rver '}</strong> </th> <th align="center">
<strong>$Lang::tr{'countr
y'}< /strong>
</th>
<th align="center">
<strong>$Lang::tr{'rdns'}
</st rong>
</th>
<th align="center"> <strong>$Lang::tr{'status
'}</ strong> </th> </tr> @@ -139,9 +148,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> diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 6dff5d781..ae87464d2 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1962,6 +1962,7 @@ 'read bytes' => 'Gelesene Bytes', 'read list' => 'Liste der Leseberechtigten', 'real address' => 'Reale Addresse', +'rdns' => 'rDNS', 'reboot' => 'Neustart', 'reboot ask' => 'Neustart?', 'reboot question' => 'Extra Abfrage bei neustart und herunterfahren einschalten', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 4efff6e65..3af17d5dc 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1997,6 +1997,7 @@ 'quick playlist' => 'Quick Playlist', 'ram' => 'RAM', 'random number generator daemon' => 'Random Number Generator Daemon', +'rdns' => 'rDNS', 'read bytes' => 'Read Bytes', 'read list' => 'list with readonly hosts', 'real address' => 'Real Address',