From 297110d460e4b91cd15877cd5fe0fe64a27c6c33 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Peter=20M=C3=BCller?= Date: Wed, 15 Nov 2017 22:49:00 +0100 Subject: [PATCH] add GeoIP and rDNS information to used nameservers MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Michael Tremer --- doc/language_issues.es | 1 + doc/language_issues.fr | 1 + doc/language_issues.it | 1 + doc/language_issues.nl | 1 + doc/language_issues.pl | 1 + doc/language_issues.ru | 1 + doc/language_issues.tr | 1 + doc/language_missings | 4 ++++ html/cgi-bin/netexternal.cgi | 27 ++++++++++++++++++++++++++- langs/de/cgi-bin/de.pl | 1 + langs/en/cgi-bin/en.pl | 1 + 11 files changed, 39 insertions(+), 1 deletion(-) diff --git a/doc/language_issues.es b/doc/language_issues.es index 868ba715c5..f030fdaa09 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -1115,6 +1115,7 @@ WARNING: untranslated string: proxy reports today WARNING: untranslated string: proxy reports weekly WARNING: untranslated string: qos enter bandwidths WARNING: untranslated string: random number generator daemon +WARNING: untranslated string: rdns WARNING: untranslated string: red1 WARNING: untranslated string: required field WARNING: untranslated string: route config changed diff --git a/doc/language_issues.fr b/doc/language_issues.fr index a0930c3601..2c5fc31d63 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -1127,6 +1127,7 @@ WARNING: untranslated string: proxy reports today WARNING: untranslated string: proxy reports weekly WARNING: untranslated string: qos enter bandwidths WARNING: untranslated string: random number generator daemon +WARNING: untranslated string: rdns WARNING: untranslated string: red1 WARNING: untranslated string: required field WARNING: untranslated string: route config changed diff --git a/doc/language_issues.it b/doc/language_issues.it index f8475d9e16..805bc1209f 100644 --- a/doc/language_issues.it +++ b/doc/language_issues.it @@ -859,6 +859,7 @@ WARNING: untranslated string: ovpn add conf WARNING: untranslated string: pptp netconfig WARNING: untranslated string: pptp peer WARNING: untranslated string: pptp route +WARNING: untranslated string: rdns WARNING: untranslated string: required field WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 9813b91b5e..65670849e2 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -900,6 +900,7 @@ WARNING: untranslated string: pptp netconfig WARNING: untranslated string: pptp peer WARNING: untranslated string: pptp route WARNING: untranslated string: random number generator daemon +WARNING: untranslated string: rdns WARNING: untranslated string: required field WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 868ba715c5..f030fdaa09 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -1115,6 +1115,7 @@ WARNING: untranslated string: proxy reports today WARNING: untranslated string: proxy reports weekly WARNING: untranslated string: qos enter bandwidths WARNING: untranslated string: random number generator daemon +WARNING: untranslated string: rdns WARNING: untranslated string: red1 WARNING: untranslated string: required field WARNING: untranslated string: route config changed diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 1b67fd2782..68e7b9384d 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -1111,6 +1111,7 @@ WARNING: untranslated string: proxy reports today WARNING: untranslated string: proxy reports weekly WARNING: untranslated string: qos enter bandwidths WARNING: untranslated string: random number generator daemon +WARNING: untranslated string: rdns WARNING: untranslated string: red1 WARNING: untranslated string: required field WARNING: untranslated string: route config changed diff --git a/doc/language_issues.tr b/doc/language_issues.tr index 01334e294d..b4f6279031 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -800,6 +800,7 @@ WARNING: untranslated string: one hour WARNING: untranslated string: one month WARNING: untranslated string: one week WARNING: untranslated string: one year +WARNING: untranslated string: rdns WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed diff --git a/doc/language_missings b/doc/language_missings index 68d801c8d5..80ea6a6463 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -544,6 +544,7 @@ < proxy reports weekly < qos enter bandwidths < random number generator daemon +< rdns < red1 < required field < samba join a domain @@ -1255,6 +1256,7 @@ < proxy reports weekly < qos enter bandwidths < random number generator daemon +< rdns < red1 < required field < samba join a domain @@ -1931,6 +1933,7 @@ < proxy reports weekly < qos enter bandwidths < random number generator daemon +< rdns < red1 < required field < samba join a domain @@ -2610,6 +2613,7 @@ < proxy reports weekly < qos enter bandwidths < random number generator daemon +< rdns < red1 < required field < samba join a domain diff --git a/html/cgi-bin/netexternal.cgi b/html/cgi-bin/netexternal.cgi index 299612d4c7..4393393e08 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; + 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 +101,12 @@ if ( $querry[0] ne~ ""){ $Lang::tr{'nameserver'} + + $Lang::tr{'country'} + + + $Lang::tr{'rdns'} + $Lang::tr{'status'} @@ -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 < - $nameserver + + $nameserver + + + $ccode + + + $rdns + $message diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 672b9651b3..92bf6f8f35 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1961,6 +1961,7 @@ 'quick playlist' => 'Quick Playlist', 'ram' => 'RAM-Speicher', 'random number generator daemon' => 'Random Number Generator Daemon', +'rdns' => 'rDNS', 'read bytes' => 'Gelesene Bytes', 'read list' => 'Liste der Leseberechtigten', 'real address' => 'Reale Addresse', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index b3120dcc1b..44696f8d61 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1999,6 +1999,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', -- 2.39.2