From mboxrd@z Thu Jan 1 00:00:00 1970
From: Arne Fitzenreiter
To: ipfire-scm@lists.ipfire.org
Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated.
b9b3fe673944e2890349deafd2f7cc4e72d81edc
Date: Fri, 10 Jul 2020 20:09:54 +0000
Message-ID: <4B3PKJ2HBXz2xlW@people01.haj.ipfire.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0133810286349977143=="
List-Id:
--===============0133810286349977143==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 2.x development tree".
The branch, next has been updated
via b9b3fe673944e2890349deafd2f7cc4e72d81edc (commit)
via 4979ba0aaf8d088ae317fbd0751f184dc34f428f (commit)
via af7f9fc43d84cdce163a699992d8cf3ff74817dc (commit)
via 45f4de2bbcafb689b21a201c0aa836881ce417c2 (commit)
via f1d982cce6d6a8987fb210cc8a34fa4b6214b3a7 (commit)
via d3f7af8144d9156580cbc3b6924fb34d3de7d91b (commit)
via 18c9fd28208db8b69f66e6e767a6e6ab964e0f5c (commit)
via 942b662b6b00b4886a621e4f8990306f1dbb24b1 (commit)
via d0faaf61d63912003ce7fdd02f497e4a4a333bd0 (commit)
via 987d09658eb67355f849d00ca14b5889080ed368 (commit)
via 1e36360e191894c0704fa7e258e1eee8d658624f (commit)
via 9aadc465a3ca39abdd571bd6ce2d7c1f114e3823 (commit)
via 10ef824bb7e9040d8e5e773785237b90de7dcd4c (commit)
via 006e3c6c31a9d02b73fed1e2495af99ae04f95d0 (commit)
via b1229cf610a39391bc328bf7723bb4b757c38b12 (commit)
via 46269ee5fb7942efe88b58f6d29f442b437e2565 (commit)
via 5730a5bcdf08e93b5da4298ce81d016fed401580 (commit)
via 69d431e41aae4a887bd69c6af8325edeb32f8a91 (commit)
via e2e270e1dbc249128c15c1c00e9dd23357e7bcee (commit)
via 0893eef4cc312c29091541bec2719dbc39d9fb34 (commit)
via e43b7b7b2d85b1cc4c0967a32abaaae451b94b6c (commit)
via 4f6d5b3ef3d6cfb9c4117cf2805a9c37cbdc01ac (commit)
via 43970d7cfc60ee894df5b8cec0207f876208a2f8 (commit)
via 1b024e999ec0eb256cac9f59bf7e76c2dba2b80e (commit)
via e4f1e36c9fac067f5e9e304b6c306e2cfc3293de (commit)
via dca3f2075beb1e9890baa9192529af4928943d0d (commit)
via 4346cb66607da5f94628364f16ecfe2218671c2c (commit)
via d1a23835dba451899df2cbeb496f6719b5799339 (commit)
via 3d3fbe7dc4ec927efb5f56f281448b4dc9cfd188 (commit)
via 273618daf9b19fa5da53a04d9f8d2db7f3e49fb2 (commit)
via 48152fae627a9882b0d4193e6023fd50d925d155 (commit)
via c556242efd22b48abe9c787b780fab82d30bb646 (commit)
via af6aedb6d3e955c8fa429b616479c8f7677b72b9 (commit)
via 0e6eca78b8e20fc8599d70fab4811afccb0c9fb0 (commit)
via d00923cef8902a9d8b8d5d452973d62d1fe29a84 (commit)
via 4852f77e33d41dd9657218169604f2f77eb01e01 (commit)
via 38a8d40142ce2e5a270c331353c68760d0d74b23 (commit)
via e7b1b002c90ef52f25027a55399bb25d0f3ec55a (commit)
via 36331a6a9c7aef8e7d49fd5d9d1ffcc37169e215 (commit)
via 2da9d3f24729e56ba09389a2c49388942250ac53 (commit)
via 4415b1c351e0cae870e5f81e5043f2743bddc063 (commit)
via 304abbae220aa430eb1c159520f9c977ea27241a (commit)
via d2b364f032e791dffd4bb1b94bda44e341641bb5 (commit)
via 51b6f07ce5eca18c18e7bf4fa83e8bc5788824ca (commit)
via decef80c7eb623e9925ac83130c03aa20a130048 (commit)
via 296af3b9ec582adcb2e30b8c48bc4d7c7743ffff (commit)
via 89be7032970737430281fe29139b47196a6e2058 (commit)
via 5127276ba1a94162a60e6e60367855a73c5b4655 (commit)
via cf45236b2aaa4ce095da053ac2d4bf9a08bc724a (commit)
via d4beed2ce91950215a43bf9ccd3df8e93dec941c (commit)
via fb47a9be0c68d50026f99e0c353007ed274b4a1a (commit)
via bdf1e52606f118840a8f4b24c4636db77bc16349 (commit)
via 8b58dbf32a1cd937b1ab66b9b88b17795abf968e (commit)
via 4e033257efd8425a6d36843c330b3762108cef1f (commit)
via ec1c52633ed8fbc86b6661e9e03e4fc578ac0da4 (commit)
via a3afe9058f33ed02ded7267dd778d1bd908d14fc (commit)
via c3b612bb6cf8370701d4ed5ff3ef5f80b474f8c0 (commit)
via 9a240b7144eb3ce5d4bda65ebb9a7d1a95f82055 (commit)
via 693b8513df290cbe4ee2fe3927ee029081fd2323 (commit)
via c9479591001195095f95831334ac6739cbbd0140 (commit)
via 98329972105936c268571823aba048cfdbb4f2e8 (commit)
via c48a64d6f85ada38bc2f404460c2e0314f585214 (commit)
via 1eee696bb4402370db0f65237cc1e2148815ee56 (commit)
via d1ca2d1fd5f52bc31c7b4e8c663aa936363eac07 (commit)
via 9433a59690156dd88ead5f6ec9b9baa4aee92362 (commit)
via e4df56f999f6a03a48728616dc2ddb535361888b (commit)
via 03c8f290d99bd9a06d85197e6e5f4d437239e682 (commit)
via eaba273a5f3e4455dccd31306443cacdc92ae29b (commit)
via 8aea15899b9e51cd91bba5322971b55a708ebd72 (commit)
via ad47d2ae80708a3418557ca1ec75a03ae94aac41 (commit)
via e758c7638491eee86720a6b9be097124cbeb9d80 (commit)
via f5ad4246deff0ddb1b703c74aa58e61e8d8a7866 (commit)
via 9b2594d8e6493079cf3a80f1d433e0b06a030fe5 (commit)
via 6fd1d4fa235d31ae3fbafc830e83be3f0c7f49d8 (commit)
via 95bb1a5c95ff0cc59974225bb58a013109c6e15b (commit)
via 9288b110115900f87049bf378fd3f06c056306d8 (commit)
via 83ccdf7feab64b54b0584161182d4ef90d6bb149 (commit)
via bb7ba3b4046c9f9bcb741c5476f78952f994eb7d (commit)
via 50494dfd6ef83f2906cde8e1bd8dbb4992e30aa3 (commit)
via 87bc6401bc0fd92c4e1aad71fdef127f81c4b422 (commit)
via 13c0fb79103e4030d7b2999b4edc1c4686755919 (commit)
via 8a64d10f24b2161592814e9f608a1ea674784312 (commit)
via e34dbea7474bdd4b34c4551d3704c8b9d6402622 (commit)
via 45b32f4dcf48e736db032579d5a35bed1da53696 (commit)
via d938509ed949eb72385996397348ae7cac5e191c (commit)
from 96253783d49c51e953e8d10fb24b2486226ed75e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b9b3fe673944e2890349deafd2f7cc4e72d81edc
Author: Arne Fitzenreiter
Date: Fri Jul 10 22:07:56 2020 +0200
core148: add libloc changes
=20
Signed-off-by: Arne Fitzenreiter
commit 4979ba0aaf8d088ae317fbd0751f184dc34f428f
Author: Stefan Schantl
Date: Wed Jul 8 19:28:36 2020 +0200
ipinfo.cgi: Fix calling get_continent_code().
=20
This function is provided by the Location perl module and directly can
be called.
=20
Signed-off-by: Stefan Schantl
commit af7f9fc43d84cdce163a699992d8cf3ff74817dc
Merge: 45f4de2bb 96253783d
Author: Stefan Schantl
Date: Fri Jul 3 18:48:30 2020 +0200
:xMerge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into nex=
t-switch-to-libloc
=20
Signed-off-by: Stefan Schantl
commit 45f4de2bbcafb689b21a201c0aa836881ce417c2
Author: Stefan Schantl
Date: Mon Jun 15 19:47:07 2020 +0200
libloc: Update to 0.9.2
=20
Signed-off-by: Stefan Schantl
commit f1d982cce6d6a8987fb210cc8a34fa4b6214b3a7
Author: Stefan Schantl
Date: Mon Jun 15 18:03:11 2020 +0200
Add convert-to-location converter.
=20
Signed-off-by: Stefan Schantl
commit d3f7af8144d9156580cbc3b6924fb34d3de7d91b
Author: Stefan Schantl
Date: Sat Jun 13 19:10:38 2020 +0200
fwhosts.cgi: Fix function call.
=20
Signed-off-by: Stefan Schantl
commit 18c9fd28208db8b69f66e6e767a6e6ab964e0f5c
Author: Stefan Schantl
Date: Sat Jun 13 19:10:15 2020 +0200
firewall-lib.pl: Fix typo.
=20
Signed-off-by: Stefan Schantl
commit 942b662b6b00b4886a621e4f8990306f1dbb24b1
Author: Stefan Schantl
Date: Fri Jun 12 20:04:21 2020 +0200
credits.cgi: Remove hint about used MaxMind database and software.
=20
We do not rely anymore on data and software from this vendor, so
we safely can drop this notice.
=20
Signed-off-by: Stefan Schantl
commit d0faaf61d63912003ce7fdd02f497e4a4a333bd0
Author: Stefan Schantl
Date: Fri Jun 12 20:01:48 2020 +0200
Rootfiles update.
=20
Signed-off-by: Stefan Schantl
commit 987d09658eb67355f849d00ca14b5889080ed368
Author: Stefan Schantl
Date: Fri Jun 12 19:54:13 2020 +0200
configroot: Create and install location related files.
=20
Signed-off-by: Stefan Schantl
commit 1e36360e191894c0704fa7e258e1eee8d658624f
Author: Stefan Schantl
Date: Fri Jun 12 19:52:03 2020 +0200
langs: Replace geoip in string names with location.
=20
Signed-off-by: Stefan Schantl
commit 9aadc465a3ca39abdd571bd6ce2d7c1f114e3823
Author: Stefan Schantl
Date: Fri Jun 12 19:46:24 2020 +0200
fwhosts.cgi: Rework code to use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit 10ef824bb7e9040d8e5e773785237b90de7dcd4c
Author: Stefan Schantl
Date: Fri Jun 12 19:31:41 2020 +0200
firewall.cgi: Rework to use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit 006e3c6c31a9d02b73fed1e2495af99ae04f95d0
Author: Stefan Schantl
Date: Fri Jun 12 19:21:27 2020 +0200
firewall-lib.pl: Rework code to use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit b1229cf610a39391bc328bf7723bb4b757c38b12
Author: Stefan Schantl
Date: Fri Jun 12 19:12:00 2020 +0200
50-firewall.menu: Rename geoipblock to locationblock
=20
Signed-off-by: Stefan Schantl
commit 46269ee5fb7942efe88b58f6d29f442b437e2565
Author: Stefan Schantl
Date: Fri Jun 12 19:09:29 2020 +0200
Transform geoipblock into locationblock settings file.
=20
Signed-off-by: Stefan Schantl
commit 5730a5bcdf08e93b5da4298ce81d016fed401580
Author: Stefan Schantl
Date: Fri Jun 12 19:06:01 2020 +0200
firewall/rules.pl: Rework code to use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit 69d431e41aae4a887bd69c6af8325edeb32f8a91
Author: Stefan Schantl
Date: Fri Jun 12 18:52:19 2020 +0200
remote.cgi: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit e2e270e1dbc249128c15c1c00e9dd23357e7bcee
Author: Stefan Schantl
Date: Fri Jun 12 18:51:03 2020 +0200
ovpnmain.cgi: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit 0893eef4cc312c29091541bec2719dbc39d9fb34
Author: Stefan Schantl
Date: Fri Jun 12 18:48:24 2020 +0200
tor.cgi: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit e43b7b7b2d85b1cc4c0967a32abaaae451b94b6c
Author: Stefan Schantl
Date: Fri Jun 12 18:45:56 2020 +0200
netexternal.cgi: Remove GeoIP related code.
=20
The CGI only loaded geoip-functions.pl and initiated libloc but did no
further actions. So we are safe to completely remove this code.
=20
Signed-off-by: Stefan Schantl
commit 4f6d5b3ef3d6cfb9c4117cf2805a9c37cbdc01ac
Author: Stefan Schantl
Date: Fri Jun 12 18:44:29 2020 +0200
logs.cgi/showrequestfromcountry.dat: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit 43970d7cfc60ee894df5b8cec0207f876208a2f8
Author: Stefan Schantl
Date: Fri Jun 12 18:42:23 2020 +0200
logs.cgi/firewalllogip.dat: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit 1b024e999ec0eb256cac9f59bf7e76c2dba2b80e
Author: Stefan Schantl
Date: Fri Jun 12 18:09:46 2020 +0200
logs.cgi/firewalllogcountry.dat: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit e4f1e36c9fac067f5e9e304b6c306e2cfc3293de
Author: Stefan Schantl
Date: Fri Jun 12 18:07:55 2020 +0200
logs.cgi/firewalllog.dat: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit dca3f2075beb1e9890baa9192529af4928943d0d
Author: Stefan Schantl
Date: Fri Jun 12 18:02:51 2020 +0200
ipinfo.cgi: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit 4346cb66607da5f94628364f16ecfe2218671c2c
Author: Stefan Schantl
Date: Fri Jun 12 17:59:43 2020 +0200
dns.cgi: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit d1a23835dba451899df2cbeb496f6719b5799339
Author: Stefan Schantl
Date: Fri Jun 12 17:53:29 2020 +0200
country.cgi: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit 3d3fbe7dc4ec927efb5f56f281448b4dc9cfd188
Author: Stefan Schantl
Date: Fri Jun 12 17:51:00 2020 +0200
connections.cgi: Use location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit 273618daf9b19fa5da53a04d9f8d2db7f3e49fb2
Author: Stefan Schantl
Date: Fri Jun 12 17:44:48 2020 +0200
Transform geoip-block.cgi into location-block.cgi
=20
Signed-off-by: Stefan Schantl
commit 48152fae627a9882b0d4193e6023fd50d925d155
Author: Stefan Schantl
Date: Fri Jun 12 17:42:41 2020 +0200
Transform geoip-functions.pl into location-functions.pl
=20
Signed-off-by: Stefan Schantl
commit c556242efd22b48abe9c787b780fab82d30bb646
Author: Michael Tremer
Date: Fri Jun 12 16:12:49 2020 +0200
location: Remove "GeoIP" from crontab
=20
Signed-off-by: Michael Tremer
commit af6aedb6d3e955c8fa429b616479c8f7677b72b9
Author: Michael Tremer
Date: Fri Jun 12 16:10:24 2020 +0200
location: Remove "GeoIP" from the UI
=20
Signed-off-by: Michael Tremer
commit 0e6eca78b8e20fc8599d70fab4811afccb0c9fb0
Author: Michael Tremer
Date: Fri Jun 12 16:00:34 2020 +0200
firewall: Rename GEOIPBLOCK table to LOCATIONBLOCK
=20
Signed-off-by: Michael Tremer
commit d00923cef8902a9d8b8d5d452973d62d1fe29a84
Author: Stefan Schantl
Date: Thu Jun 11 08:19:07 2020 +0200
libloc: Rootfile update.
=20
Signed-off-by: Stefan Schantl
commit 4852f77e33d41dd9657218169604f2f77eb01e01
Author: Stefan Schantl
Date: Wed Jun 10 21:29:04 2020 +0200
Revert "firewall/rules.pl: Add code to collect and export all required co=
untry"
=20
This reverts commit ad47d2ae80708a3418557ca1ec75a03ae94aac41.
=20
Signed-off-by: Stefan Schantl
commit 38a8d40142ce2e5a270c331353c68760d0d74b23
Author: Stefan Schantl
Date: Wed Jun 10 21:28:16 2020 +0200
Revert "firewall/rules.pl: Only try to export locations if needed."
=20
This reverts commit 693b8513df290cbe4ee2fe3927ee029081fd2323.
commit e7b1b002c90ef52f25027a55399bb25d0f3ec55a
Author: Stefan Schantl
Date: Wed Jun 10 21:27:06 2020 +0200
Revert "geoip-functions.pl: Add functions to export locations and to flus=
h them."
=20
This reverts commit e758c7638491eee86720a6b9be097124cbeb9d80.
=20
Signed-off-by: Stefan Schantl
commit 36331a6a9c7aef8e7d49fd5d9d1ffcc37169e215
Author: Stefan Schantl
Date: Wed Jun 10 21:24:58 2020 +0200
update-location-database: Automatically export database after update.
=20
Signed-off-by: Stefan Schantl
commit 2da9d3f24729e56ba09389a2c49388942250ac53
Author: Stefan Schantl
Date: Wed Jun 10 21:24:32 2020 +0200
libloc: Install and export database.
=20
Signed-off-by: Stefan Schantl
commit 4415b1c351e0cae870e5f81e5043f2743bddc063
Author: Stefan Schantl
Date: Wed Jun 10 18:01:57 2020 +0200
libloc: Import upstream patches.
=20
Signed-off-by: Stefan Schantl
commit 304abbae220aa430eb1c159520f9c977ea27241a
Merge: d2b364f03 92e828b3b
Author: Stefan Schantl
Date: Wed Jun 10 18:01:14 2020 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into next-=
switch-to-libloc
commit d2b364f032e791dffd4bb1b94bda44e341641bb5
Author: Stefan Schantl
Date: Mon Jun 8 21:20:17 2020 +0200
red.up: Do not download/update location database.
=20
Signed-off-by: Stefan Schantl
commit 51b6f07ce5eca18c18e7bf4fa83e8bc5788824ca
Author: Stefan Schantl
Date: Wed Jun 3 19:29:55 2020 +0200
geoip-functions.pl: Provide the available locations in upper case.
=20
Signed-off-by: Stefan Schantl
commit decef80c7eb623e9925ac83130c03aa20a130048
Author: Stefan Schantl
Date: Wed Jun 3 19:15:43 2020 +0200
geoip-functions.pl: Remove non existing country codes.
=20
o1 (Other country) and yu (Yugoslavia) have been used in the past
and are not part of libloc and therefore cannot be used anymore.
=20
Signed-off-by: Stefan Schantl
commit 296af3b9ec582adcb2e30b8c48bc4d7c7743ffff
Author: Stefan Schantl
Date: Mon Jun 1 21:13:19 2020 +0200
libloc: Rootfile update.
=20
Signed-off-by: Stefan Schantl
commit 89be7032970737430281fe29139b47196a6e2058
Author: Stefan Schantl
Date: Mon Jun 1 21:13:03 2020 +0200
libloc: Import latest upstream patches.
=20
Signed-off-by: Stefan Schantl
commit 5127276ba1a94162a60e6e60367855a73c5b4655
Author: Stefan Schantl
Date: Mon Jun 1 21:11:58 2020 +0200
xtables-addons: Create directory for geoip databases (kernel module).
=20
Signed-off-by: Stefan Schantl
commit cf45236b2aaa4ce095da053ac2d4bf9a08bc724a
Merge: d4beed2ce ca33424de
Author: Stefan Schantl
Date: Tue May 26 19:02:48 2020 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into next-=
switch-to-libloc
commit d4beed2ce91950215a43bf9ccd3df8e93dec941c
Author: Stefan Schantl
Date: Tue May 26 19:01:39 2020 +0200
Locale-Country: Fix rootfile
=20
Signed-off-by: Stefan Schantl
commit fb47a9be0c68d50026f99e0c353007ed274b4a1a
Author: Stefan Schantl
Date: Tue May 26 19:01:18 2020 +0200
libloc: Update to 0.9.1
=20
Signed-off-by: Stefan Schantl
commit bdf1e52606f118840a8f4b24c4636db77bc16349
Author: Stefan Schantl
Date: Tue May 26 19:00:40 2020 +0200
geoip-database: Drop package
=20
Signed-off-by: Stefan Schantl
commit 8b58dbf32a1cd937b1ab66b9b88b17795abf968e
Merge: 91b23ce05 4e033257e
Author: Stefan Schantl
Date: Mon May 25 19:55:54 2020 +0200
Merge branch 'switch-to-libloc' into next-switch-to-libloc
commit 4e033257efd8425a6d36843c330b3762108cef1f
Author: Stefan Schantl
Date: Thu Dec 12 12:08:18 2019 +0100
ipinfo.cgi: Use continent RIR whois server.
=20
Determine the continent for the current processed IP-Address and
send the request to the responsible whois server of the local RIR
instead of sending all requests to ARIN.
=20
Fixes #11267.
=20
Signed-off-by: Stefan Schantl
commit ec1c52633ed8fbc86b6661e9e03e4fc578ac0da4
Author: Stefan Schantl
Date: Thu Dec 12 12:07:34 2019 +0100
geoip-functions.pl: Add get_continent_code()
=20
This function allows to recieve the continent code of a given
country (code).
=20
Signed-off-by: Stefan Schantl
commit a3afe9058f33ed02ded7267dd778d1bd908d14fc
Author: Stefan Schantl
Date: Thu Dec 12 09:39:34 2019 +0100
geoip-functions.pl: Adjust location_dir
=20
The data directory upstream has been moved to "/var/lib/location".
=20
Signed-off-by: Stefan Schantl
commit c3b612bb6cf8370701d4ed5ff3ef5f80b474f8c0
Author: Stefan Schantl
Date: Thu Dec 12 09:14:30 2019 +0100
libloc: Update to 0.9.0 (Git rev: cd022c)
=20
* Includes fix for database verification
* The public gpg signing key
* Datadir has been moved to /var/lib/location
=20
Signed-off-by: Stefan Schantl
commit 9a240b7144eb3ce5d4bda65ebb9a7d1a95f82055
Author: Stefan Schantl
Date: Tue Dec 10 14:50:35 2019 +0100
update-location-database: Only reload firewall after successfull update.
=20
Signed-off-by: Stefan Schantl
commit 693b8513df290cbe4ee2fe3927ee029081fd2323
Author: Stefan Schantl
Date: Mon Dec 9 18:36:54 2019 +0100
firewall/rules.pl: Only try to export locations if needed.
=20
Signed-off-by: Stefan Schantl
commit c9479591001195095f95831334ac6739cbbd0140
Author: Stefan Schantl
Date: Mon Dec 9 16:07:23 2019 +0100
xtables-addons: Update to 3.7
=20
Signed-off-by: Stefan Schantl
commit 98329972105936c268571823aba048cfdbb4f2e8
Author: Stefan Schantl
Date: Mon Dec 9 15:56:20 2019 +0100
make.sh: Remove dropped packages from build list.
=20
Signed-off-by: Stefan Schantl
commit c48a64d6f85ada38bc2f404460c2e0314f585214
Author: Stefan Schantl
Date: Mon Dec 9 15:03:26 2019 +0100
initscripts: Rootfile update.
commit 1eee696bb4402370db0f65237cc1e2148815ee56
Author: Stefan Schantl
Date: Mon Dec 9 14:59:26 2019 +0100
red.up: Download / Update location database.
=20
Signed-off-by: Stefan Schantl
commit d1ca2d1fd5f52bc31c7b4e8c663aa936363eac07
Author: Stefan Schantl
Date: Mon Dec 9 14:50:51 2019 +0100
GeoIP: Drop package
=20
Signed-off-by: Stefan Schantl
commit 9433a59690156dd88ead5f6ec9b9baa4aee92362
Author: Stefan Schantl
Date: Mon Dec 9 14:47:18 2019 +0100
geoip-generator: Drop package
=20
Signed-off-by: Stefan Schantl
commit e4df56f999f6a03a48728616dc2ddb535361888b
Author: Stefan Schantl
Date: Mon Dec 9 14:37:14 2019 +0100
Rootfile update.
=20
Signed-off-by: Stefan Schantl
commit 03c8f290d99bd9a06d85197e6e5f4d437239e682
Author: Stefan Schantl
Date: Mon Dec 9 14:35:15 2019 +0100
xtables-addons: Remove xt_geoip_build script
=20
This script is not longer required.
=20
Signed-off-by: Stefan Schantl
commit eaba273a5f3e4455dccd31306443cacdc92ae29b
Author: Stefan Schantl
Date: Mon Dec 9 14:19:53 2019 +0100
crontab: Adjust crontab to hourly launch the update-location-database
script.
=20
Signed-off-by: Stefan Schantl
commit 8aea15899b9e51cd91bba5322971b55a708ebd72
Author: Stefan Schantl
Date: Mon Dec 9 14:14:34 2019 +0100
Introduce update-location-database script.
=20
This script obsoletes the old xt_geoip_update script.
=20
Signed-off-by: Stefan Schantl
commit ad47d2ae80708a3418557ca1ec75a03ae94aac41
Author: Stefan Schantl
Date: Mon Dec 9 11:08:23 2019 +0100
firewall/rules.pl: Add code to collect and export all required country
codes.
=20
Signed-off-by: Stefan Schantl
commit e758c7638491eee86720a6b9be097124cbeb9d80
Author: Stefan Schantl
Date: Mon Dec 9 11:05:31 2019 +0100
geoip-functions.pl: Add functions to export locations and to flush them.
=20
The export_locations() function requires an array of country codes which
should be exported by the location-exporter script.
=20
The flush_exported_locations() function is used to flush (delete) all
exported location files.
=20
Signed-off-by: Stefan Schantl
commit f5ad4246deff0ddb1b703c74aa58e61e8d8a7866
Author: Stefan Schantl
Date: Sun Dec 8 18:47:08 2019 +0100
firewall/rules.pl: Make geoipsettings hash and locations array
script-wide available.
=20
This allows to re-use them.
=20
Signed-off-by: Stefan Schantl
commit 9b2594d8e6493079cf3a80f1d433e0b06a030fe5
Author: Stefan Schantl
Date: Sun Dec 8 18:10:12 2019 +0100
geoip-functions.pl: Export variables.
=20
This easily allows to use them in other perl script.
=20
Signed-off-by: Stefan Schantl
commit 6fd1d4fa235d31ae3fbafc830e83be3f0c7f49d8
Author: Stefan Schantl
Date: Fri Dec 6 15:31:56 2019 +0100
libloc: Fix rootfile
=20
Signed-off-by: Stefan Schantl
commit 95bb1a5c95ff0cc59974225bb58a013109c6e15b
Author: Stefan Schantl
Date: Fri Dec 6 14:42:09 2019 +0100
logs.cgi/showrequrestfromcountry.dat: Use new location lookup method.
=20
Signed-off-by: Stefan Schantl
commit 9288b110115900f87049bf378fd3f06c056306d8
Author: Stefan Schantl
Date: Fri Dec 6 14:39:54 2019 +0100
remote.cgi: Use new location lookup method.
=20
Signed-off-by: Stefan Schantl
commit 83ccdf7feab64b54b0584161182d4ef90d6bb149
Author: Stefan Schantl
Date: Fri Dec 6 14:36:48 2019 +0100
openvpnmain.cgi: Use new location lookup method.
=20
Signed-off-by: Stefan Schantl
commit bb7ba3b4046c9f9bcb741c5476f78952f994eb7d
Author: Stefan Schantl
Date: Fri Dec 6 14:33:54 2019 +0100
netexternal.cgi: Use new location lookup method.
=20
Signed-off-by: Stefan Schantl
commit 50494dfd6ef83f2906cde8e1bd8dbb4992e30aa3
Author: Stefan Schantl
Date: Fri Dec 6 14:30:39 2019 +0100
logs.cgi/*: Use new location lookup method.
=20
Signed-off-by: Stefan Schantl
commit 87bc6401bc0fd92c4e1aad71fdef127f81c4b422
Author: Stefan Schantl
Date: Thu Dec 5 17:24:25 2019 +0100
connections.cgi: Use new location lookup method.
=20
Signed-off-by: Stefan Schantl
commit 13c0fb79103e4030d7b2999b4edc1c4686755919
Author: Stefan Schantl
Date: Thu Dec 5 17:17:42 2019 +0100
ipinfo.cgi: Use new location lookup method.
=20
Signed-off-by: Stefan Schantl
commit 8a64d10f24b2161592814e9f608a1ea674784312
Author: Stefan Schantl
Date: Thu Dec 5 15:53:42 2019 +0100
geoip-functions.pl: Use libloc instead of maxmind for address lookups.
=20
Signed-off-by: Stefan Schantl
commit e34dbea7474bdd4b34c4551d3704c8b9d6402622
Author: Stefan Schantl
Date: Thu Dec 5 15:50:56 2019 +0100
geoip-locations.pl: Rework method to grab and handling GeoIP locations.
=20
Now directly get the locations which are part of ISO 3166 from the perl
Locale::Country module. In case it is not listed there grab the country
code and location name from a hash.
=20
Signed-off-by: Stefan Schantl
commit 45b32f4dcf48e736db032579d5a35bed1da53696
Author: Stefan Schantl
Date: Thu Dec 5 15:26:23 2019 +0100
Locale-Country: Update to 3.62
=20
Signed-off-by: Stefan Schantl
commit d938509ed949eb72385996397348ae7cac5e191c
Author: Stefan Schantl
Date: Thu Dec 5 15:56:17 2019 +0100
libloc: New package
=20
Signed-off-by: Stefan Schantl
-----------------------------------------------------------------------
Summary of changes:
config/backup/backup.pl | 3 +
.../{geoip-functions.pl =3D> location-functions.pl} | 123 +++--
config/cron/crontab | 4 +-
config/firewall/firewall-lib.pl | 52 +-
config/firewall/geoipblock | 1 -
config/firewall/locationblock | 1 +
config/firewall/rules.pl | 48 +-
config/menu/50-firewall.menu | 8 +-
config/rootfiles/common/GeoIP | 12 -
config/rootfiles/common/Locale-Country | 96 ++--
config/rootfiles/common/aarch64/initscripts | 1 -
config/rootfiles/common/aarch64/stage2 | 3 +-
config/rootfiles/common/armv5tel/initscripts | 1 -
config/rootfiles/common/configroot | 6 +-
config/rootfiles/common/geoip-database | 523 -------------------=
--
config/rootfiles/common/geoip-generator | 16 -
config/rootfiles/common/i586/initscripts | 1 -
config/rootfiles/common/libloc | 294 ++++++++++++
config/rootfiles/common/stage2 | 4 +-
config/rootfiles/common/web-user-interface | 2 +-
config/rootfiles/common/x86_64/initscripts | 1 -
config/rootfiles/common/x86_64/stage2 | 3 +-
config/rootfiles/common/xtables-addons | 6 +-
config/rootfiles/core/{147 =3D> 148}/exclude | 0
.../136 =3D> core/148}/filelists/Locale-Country | 0
config/rootfiles/core/148/filelists/files | 28 ++
config/rootfiles/core/148/filelists/libloc | 1 +
.../121 =3D> core/148}/filelists/xtables-addons | 0
config/rootfiles/core/{147 =3D> 148}/update.sh | 21 +-
config/rootfiles/oldcore/103/filelists/curl | 1 -
config/rootfiles/{core =3D> oldcore}/147/exclude | 0
.../{core =3D> oldcore}/147/filelists/aarch64/gmp | 0
.../{core =3D> oldcore}/147/filelists/armv5tel/gmp | 0
.../rootfiles/{core =3D> oldcore}/147/filelists/bind | 0
.../147/filelists/ca-certificates | 0
.../{core =3D> oldcore}/147/filelists/dhcpcd | 0
.../{core =3D> oldcore}/147/filelists/files | 0
.../{core =3D> oldcore}/147/filelists/gnutls | 0
.../{core =3D> oldcore}/147/filelists/i586/gmp | 0
.../{core =3D> oldcore}/147/filelists/iproute2 | 0
.../{core =3D> oldcore}/147/filelists/libgcrypt | 0
.../{core =3D> oldcore}/147/filelists/libgpg-error | 0
.../147/filelists/linux-firmware-updates | 0
.../rootfiles/{core =3D> oldcore}/147/filelists/ntp | 0
.../{core =3D> oldcore}/147/filelists/openssh | 0
.../{core =3D> oldcore}/147/filelists/squid | 0
.../{core =3D> oldcore}/147/filelists/squidguard | 0
.../{core =3D> oldcore}/147/filelists/x86_64/gmp | 0
config/rootfiles/{core =3D> oldcore}/147/update.sh | 0
doc/language_issues.en | 16 +-
doc/language_issues.es | 8 +-
doc/language_issues.it | 16 +-
doc/language_issues.nl | 16 +-
doc/language_issues.pl | 8 +-
doc/language_issues.ru | 16 +-
html/cgi-bin/connections.cgi | 15 +-
html/cgi-bin/country.cgi | 6 +-
html/cgi-bin/credits.cgi | 10 -
html/cgi-bin/dns.cgi | 11 +-
html/cgi-bin/firewall.cgi | 52 +-
html/cgi-bin/fwhosts.cgi | 236 +++++-----
html/cgi-bin/ipinfo.cgi | 51 +-
.../{geoip-block.cgi =3D> location-block.cgi} | 38 +-
html/cgi-bin/logs.cgi/firewalllog.dat | 9 +-
html/cgi-bin/logs.cgi/firewalllogcountry.dat | 9 +-
html/cgi-bin/logs.cgi/firewalllogip.dat | 9 +-
html/cgi-bin/logs.cgi/showrequestfromcountry.dat | 9 +-
html/cgi-bin/netexternal.cgi | 1 -
html/cgi-bin/ovpnmain.cgi | 9 +-
html/cgi-bin/remote.cgi | 9 +-
html/cgi-bin/tor.cgi | 4 +-
langs/de/cgi-bin/de.pl | 30 +-
langs/en/cgi-bin/en.pl | 30 +-
langs/es/cgi-bin/es.pl | 20 +-
langs/fr/cgi-bin/fr.pl | 30 +-
langs/tr/cgi-bin/tr.pl | 30 +-
lfs/GeoIP | 84 ----
lfs/Locale-Country | 4 +-
lfs/configroot | 6 +-
lfs/geoip-database | 73 ---
lfs/geoip-generator | 89 ----
lfs/{wget =3D> libloc} | 43 +-
lfs/xtables-addons | 13 +-
make.sh | 7 +-
.../networking/red.up/99-geoip-database | 20 -
src/initscripts/system/firewall | 8 +-
src/patches/geoip_1_25_change_database_path.patch | 139 ------
...tables-addons-3.2-fix-database-generation.patch | 18 -
.../scripts/convert-to-location | 41 +-
.../scripts/update-location-database | 42 +-
src/scripts/xt_geoip_update | 138 ------
91 files changed, 1000 insertions(+), 1683 deletions(-)
rename config/cfgroot/{geoip-functions.pl =3D> location-functions.pl} (59%)
delete mode 100644 config/firewall/geoipblock
create mode 100644 config/firewall/locationblock
delete mode 100644 config/rootfiles/common/GeoIP
delete mode 100644 config/rootfiles/common/geoip-database
delete mode 100644 config/rootfiles/common/geoip-generator
create mode 100644 config/rootfiles/common/libloc
copy config/rootfiles/core/{147 =3D> 148}/exclude (100%)
copy config/rootfiles/{oldcore/136 =3D> core/148}/filelists/Locale-Country (=
100%)
create mode 100644 config/rootfiles/core/148/filelists/files
create mode 120000 config/rootfiles/core/148/filelists/libloc
copy config/rootfiles/{oldcore/121 =3D> core/148}/filelists/xtables-addons (=
100%)
copy config/rootfiles/core/{147 =3D> 148}/update.sh (85%)
delete mode 120000 config/rootfiles/oldcore/103/filelists/curl
rename config/rootfiles/{core =3D> oldcore}/147/exclude (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/aarch64/gmp (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/armv5tel/gmp (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/bind (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/ca-certificates (1=
00%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/dhcpcd (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/files (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/gnutls (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/i586/gmp (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/iproute2 (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/libgcrypt (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/libgpg-error (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/linux-firmware-upd=
ates (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/ntp (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/openssh (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/squid (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/squidguard (100%)
rename config/rootfiles/{core =3D> oldcore}/147/filelists/x86_64/gmp (100%)
rename config/rootfiles/{core =3D> oldcore}/147/update.sh (100%)
rename html/cgi-bin/{geoip-block.cgi =3D> location-block.cgi} (85%)
delete mode 100644 lfs/GeoIP
delete mode 100644 lfs/geoip-database
delete mode 100644 lfs/geoip-generator
copy lfs/{wget =3D> libloc} (72%)
delete mode 100644 src/initscripts/networking/red.up/99-geoip-database
delete mode 100644 src/patches/geoip_1_25_change_database_path.patch
delete mode 100644 src/patches/xtables-addons-3.2-fix-database-generation.pa=
tch
copy tools/check_langs.sh =3D> src/scripts/convert-to-location (60%)
copy tools/check_langs.sh =3D> src/scripts/update-location-database (62%)
mode change 100755 =3D> 100644
delete mode 100644 src/scripts/xt_geoip_update
Difference in files:
diff --git a/config/backup/backup.pl b/config/backup/backup.pl
index 5b5734044..d2e531252 100644
--- a/config/backup/backup.pl
+++ b/config/backup/backup.pl
@@ -139,6 +139,9 @@ restore_backup() {
rm -rf "/var/ipfire/portfw"
fi
=20
+ # Convert location
+ convert-to-location
+
# Reload firewall
firewallctrl
=20
diff --git a/config/cfgroot/geoip-functions.pl b/config/cfgroot/location-func=
tions.pl
similarity index 59%
rename from config/cfgroot/geoip-functions.pl
rename to config/cfgroot/location-functions.pl
index b2319daaa..ab99e71d3 100644
--- a/config/cfgroot/geoip-functions.pl
+++ b/config/cfgroot/location-functions.pl
@@ -17,30 +17,77 @@
# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
-# Copyright (C) 2015 IPFire Team . =
#
+# Copyright (C) 2015 - 2020 IPFire Team . =
#
# #
############################################################################
=20
-package GeoIP;
+package Location::Functions;
=20
-use Geo::IP::PurePerl;
+use Location;
use Locale::Codes::Country;
=20
-my $geoip_database_dir =3D "/var/lib/GeoIP";
-my $location_database =3D "GeoLite2-Country-Locations-en.csv";
-
-my $database;
+# Hash which contains country codes and their names which are special or not
+# part of ISO 3166-1.
+my %not_iso_3166_location =3D (
+ "a1" =3D> "Anonymous Proxy",
+ "a2" =3D> "Satellite Provider",
+ "a3" =3D> "Worldwide Anycast Instance",
+ "an" =3D> "Netherlands Antilles",
+ "ap" =3D> "Asia/Pacific Region",
+ "eu" =3D> "Europe",
+ "fx" =3D> "France, Metropolitan"
+);
+
+# Directory where the libloc database and keyfile lives.
+our $location_dir =3D "/var/lib/location/";
+
+# Libloc database file.
+our $database =3D "$location_dir/database.db";
+
+# Libloc keyfile to verify the database.
+our $keyfile =3D "$location_dir/signing-key.pem";
+
+# Directory which contains the exported databases.
+our $xt_geoip_db_directory =3D "/usr/share/xt_geoip/";
+
+#
+## Tiny function to init the location database.
+#
+sub init () {
+ # Init and open the database.
+ my $db =3D &Location::init($database);
+
+ # Return the database handle.
+ return $db;
+}
=20
-sub lookup($) {
- my $address =3D shift;
+#
+## Function to verify the integrity of the location database.
+#
+sub verify ($) {
+ my ($db_handle) =3D @_;
=20
- # Load the database into memory if not already done
- if (!$database) {
- $database =3D Geo::IP::PurePerl->new(GEOIP_MEMORY_CACHE);
+ # Verify the integrity of the database.
+ if(&Location::verify($db_handle, $keyfile)) {
+ # Success, return "1".
+ return 1;
}
=20
+ # If we got here, return nothing.
+ return;
+}
+
+#
+## Function to the the country code of a given address.
+#
+sub lookup_country_code($$) {
+ my ($db_handle, $address) =3D @_;
+
+ # Lookup the given address.
+ my $country_code =3D &Location::lookup_country_code($db_handle, $address);
+
# Return the name of the country
- return $database->country_code_by_name($address);
+ return $country_code;
}
=20
# Function to get the flag icon for a specified country code.
@@ -102,17 +149,15 @@ sub get_full_country_name($) {
# Remove whitespaces.
chomp($input);
=20
+
# Convert input into lower case format.
my $code =3D lc($input);
=20
# Handle country codes which are not in the list.
- if ($code eq "a1") { $name =3D "Anonymous Proxy" }
- elsif ($code eq "a2") { $name =3D "Satellite Provider" }
- elsif ($code eq "o1") { $name =3D "Other Country" }
- elsif ($code eq "ap") { $name =3D "Asia/Pacific Region" }
- elsif ($code eq "eu") { $name =3D "Europe" }
- elsif ($code eq "yu") { $name =3D "Yugoslavia" }
- else {
+ if ($not_iso_3166_location{$code}) {
+ # Grab location name from hash.
+ $name =3D $not_iso_3166_location{$code};
+ } else {
# Use perl built-in module to get the country code.
$name =3D &Locale::Codes::Country::code2country($code);
}
@@ -120,30 +165,31 @@ sub get_full_country_name($) {
return $name;
}
=20
-# Function to get all available GeoIP locations.
-sub get_geoip_locations() {
+# Function to get all available locations.
+sub get_locations() {
my @locations =3D ();
=20
- # Open the location database.
- open(LOCATION, "$geoip_database_dir/$location_database") or return @locatio=
ns;
-
- # Loop through the file.
- while(my $line =3D ) {
- # Remove newlines.
- chomp($line);
+ # Get listed country codes from ISO 3166-1.
+ my @locations_lc =3D &Locale::Codes::Country::all_country_codes();
=20
- # Split the line content.
- my ($geoname_id, $locale_code, $continent_code, $continent_name, $country_=
iso_code, $country_name, $is_in_european_union) =3D split(/\,/, $line);
+ # The Codes::Country module provides the country codes only in lower case.
+ # So we have to loop over the array and convert them into upper case format.
+ foreach my $ccode (@locations_lc) {
+ # Convert the country code to uppercase.
+ my $ccode_uc =3D uc($ccode);
=20
- # Check if the country_iso_code is upper case.
- if($country_iso_code =3D~ /[A-Z]/) {
- # Add the current ISO code.
- push(@locations, $country_iso_code);
- }
+ # Add the converted ccode to the locations array.
+ push(@locations, $ccode_uc);
}
=20
- # Close filehandle.
- close(LOCATION);
+ # Add locations from not_iso_3166_locations.
+ foreach my $location (keys %not_iso_3166_location) {
+ # Convert the location into uppercase.
+ my $location_uc =3D uc($location);
+
+ # Add the location to the locations array.
+ push(@locations, $location_uc);
+ }
=20
# Sort locations array in alphabetical order.
my @sorted_locations =3D sort(@locations);
@@ -152,5 +198,4 @@ sub get_geoip_locations() {
return @sorted_locations;
}
=20
-
1;
diff --git a/config/cron/crontab b/config/cron/crontab
index 56801394e..331eaa4a5 100644
--- a/config/cron/crontab
+++ b/config/cron/crontab
@@ -59,8 +59,8 @@ HOME=3D/
00 3 * 3 0 /usr/local/bin/timezone-transition /usr/local/bin/firewa=
llctrl
00 2 * 10-11 0 /usr/local/bin/timezone-transition /usr/local/bin/firewa=
llctrl
=20
-# Update GeoIP database once a month.
-%monthly,random * * * [ -f "/var/ipfire/red/active" ] && /usr/local/bin/xt_g=
eoip_update >/dev/null 2>&1
+# Update location database once a month
+%hourly,random * * * [ -f "/var/ipfire/red/active" ] && /usr/local/bin/updat=
e-location-database >/dev/null 2>&1
=20
# Retry sending spooled mails regularly
%hourly * /usr/sbin/dma -q
diff --git a/config/firewall/firewall-lib.pl b/config/firewall/firewall-lib.pl
index e76ab24db..bc0b30ca5 100644
--- a/config/firewall/firewall-lib.pl
+++ b/config/firewall/firewall-lib.pl
@@ -29,7 +29,7 @@ package fwlib;
my %customnetwork=3D();
my %customhost=3D();
my %customgrp=3D();
-my %customgeoipgrp=3D();
+my %customlocationgrp=3D();
my %customservice=3D();
my %customservicegrp=3D();
my %ccdnet=3D();
@@ -41,12 +41,12 @@ my %ovpnsettings=3D();
my %aliases=3D();
=20
require '/var/ipfire/general-functions.pl';
-require '/var/ipfire/geoip-functions.pl';
+require '/var/ipfire/location-functions.pl';
=20
my $confignet =3D "${General::swroot}/fwhosts/customnetworks";
my $confighost =3D "${General::swroot}/fwhosts/customhosts";
my $configgrp =3D "${General::swroot}/fwhosts/customgroups";
-my $configgeoipgrp =3D "${General::swroot}/fwhosts/customgeoipgrp";
+my $configlocationgrp =3D "${General::swroot}/fwhosts/customlocationgrp";
my $configsrv =3D "${General::swroot}/fwhosts/customservices";
my $configsrvgrp =3D "${General::swroot}/fwhosts/customservicegrp";
my $configccdnet =3D "${General::swroot}/ovpn/ccd.conf";
@@ -64,7 +64,7 @@ my $netsettings =3D "${General::swroot}/ethernet/settings";
&General::readhasharray("$confignet", \%customnetwork);
&General::readhasharray("$confighost", \%customhost);
&General::readhasharray("$configgrp", \%customgrp);
-&General::readhasharray("$configgeoipgrp", \%customgeoipgrp);
+&General::readhasharray("$configlocationgrp", \%customlocationgrp);
&General::readhasharray("$configccdnet", \%ccdnet);
&General::readhasharray("$configccdhost", \%ccdhost);
&General::readhasharray("$configipsec", \%ipsecconf);
@@ -72,8 +72,8 @@ my $netsettings =3D "${General::swroot}/ethernet/settings";
&General::readhasharray("$configsrvgrp", \%customservicegrp);
&General::get_aliases(\%aliases);
=20
-# Get all available GeoIP locations.
-my @available_geoip_locations =3D &get_geoip_locations();
+# Get all available locations.
+my @available_locations =3D &get_locations();
=20
sub get_srv_prot
{
@@ -321,11 +321,11 @@ sub get_addresses
}
}
}
- }elsif ($addr_type ~~ ["cust_geoip_src", "cust_geoip_tgt"] && $value =3D~ "=
group:") {
+ }elsif ($addr_type ~~ ["cust_location_src", "cust_location_tgt"] && $value =
=3D~ "group:") {
$value=3Dsubstr($value,6);
- foreach my $grp (sort {$a <=3D> $b} keys %customgeoipgrp) {
- if ($customgeoipgrp{$grp}[0] eq $value) {
- my @address =3D &get_address($addr_type, $customgeoipgrp{$grp}[2], $type=
);
+ foreach my $grp (sort {$a <=3D> $b} keys %customlocationgrp) {
+ if ($customlocationgrp{$grp}[0] eq $value) {
+ my @address =3D &get_address($addr_type, $customlocationgrp{$grp}[2], $t=
ype);
=20
if (@address) {
push(@addresses, @address);
@@ -459,20 +459,20 @@ sub get_address
}
}
=20
- # Handle rule options with GeoIP as source.
- } elsif ($key eq "cust_geoip_src") {
- # Check if the given GeoIP location is available.
- if(&geoip_location_is_available($value)) {
+ # Handle rule options with a location as source.
+ } elsif ($key eq "cust_location_src") {
+ # Check if the given location is available.
+ if(&location_is_available($value)) {
# Get external interface.
my $external_interface =3D &get_external_interface();
=20
push(@ret, ["-m geoip --src-cc $value", "$external_interface"]);
}
=20
- # Handle rule options with GeoIP as target.
- } elsif ($key eq "cust_geoip_tgt") {
- # Check if the given GeoIP location is available.
- if(&geoip_location_is_available($value)) {
+ # Handle rule options with a location as target.
+ } elsif ($key eq "cust_location_tgt") {
+ # Check if the given location is available.
+ if(&location_is_available($value)) {
# Get external interface.
my $external_interface =3D &get_external_interface();
=20
@@ -617,19 +617,19 @@ sub get_internal_firewall_ip_address
return 0;
}
=20
-sub get_geoip_locations() {
- return &GeoIP::get_geoip_locations();
+sub get_locations() {
+ return &Location::Functions::get_locations();
}
=20
-# Function to check if a database of a given GeoIP location is
+# Function to check if a database of a given location is
# available.
-sub geoip_location_is_available($) {
- my ($location) =3D @_;
+sub location_is_available($) {
+ my ($requested_location) =3D @_;
=20
- # Loop through the global array of available GeoIP locations.
- foreach my $geoip_location (@available_geoip_locations) {
+ # Loop through the global array of available locations.
+ foreach my $location (@available_locations) {
# Check if the current processed location is the searched one.
- if($location eq $geoip_location) {
+ if($location eq $requested_location) {
# If it is part of the array, return "1" - True.
return 1;
}
diff --git a/config/firewall/geoipblock b/config/firewall/geoipblock
deleted file mode 100644
index 4d483d3b8..000000000
--- a/config/firewall/geoipblock
+++ /dev/null
@@ -1 +0,0 @@
-GEOIPBLOCK_ENABLED=3Doff
diff --git a/config/firewall/locationblock b/config/firewall/locationblock
new file mode 100644
index 000000000..b933bfc58
--- /dev/null
+++ b/config/firewall/locationblock
@@ -0,0 +1 @@
+LOCATIONBLOCK_ENABLED=3Doff
diff --git a/config/firewall/rules.pl b/config/firewall/rules.pl
index 387a8f92b..cad53a1d7 100644
--- a/config/firewall/rules.pl
+++ b/config/firewall/rules.pl
@@ -25,6 +25,7 @@ use experimental 'smartmatch';
require '/var/ipfire/general-functions.pl';
require "${General::swroot}/lang.pl";
require "/usr/lib/firewall/firewall-lib.pl";
+require "${General::swroot}/location-functions.pl";
=20
# Set to one to enable debugging mode.
my $DEBUG =3D 0;
@@ -55,13 +56,17 @@ my %customgrp=3D();
my %configinputfw=3D();
my %configoutgoingfw=3D();
my %confignatfw=3D();
+my %locationsettings =3D (
+ "LOCATIONBLOCK_ENABLED" =3D> "off"
+);
+
my @p2ps=3D();
=20
my $configfwdfw =3D "${General::swroot}/firewall/config";
my $configinput =3D "${General::swroot}/firewall/input";
my $configoutgoing =3D "${General::swroot}/firewall/outgoing";
my $p2pfile =3D "${General::swroot}/firewall/p2protocols";
-my $geoipfile =3D "${General::swroot}/firewall/geoipblock";
+my $locationfile =3D "${General::swroot}/firewall/locationblock";
my $configgrp =3D "${General::swroot}/fwhosts/customgroups";
my $netsettings =3D "${General::swroot}/ethernet/settings";
=20
@@ -73,6 +78,15 @@ my $netsettings =3D "${General::swroot}/ethernet/settings=
";
&General::readhasharray($configoutgoing, \%configoutgoingfw);
&General::readhasharray($configgrp, \%customgrp);
=20
+# Check if the location settings file exists
+if (-e "$locationfile") {
+ # Read settings file
+ &General::readhash("$locationfile", \%locationsettings);
+}
+
+# Get all available locations.
+my @locations =3D &Location::Functions::get_locations();
+
my @log_limit_options =3D &make_log_limit_options();
=20
my $POLICY_INPUT_ALLOWED =3D 0;
@@ -104,8 +118,8 @@ sub main {
# Load P2P block rules.
&p2pblock();
=20
- # Load GeoIP block rules.
- &geoipblock();
+ # Load Location block rules.
+ &locationblock();
=20
# Reload firewall policy.
run("/usr/sbin/firewall-policy");
@@ -597,34 +611,22 @@ sub p2pblock {
}
}
=20
-sub geoipblock {
- my %geoipsettings =3D ();
- $geoipsettings{'GEOIPBLOCK_ENABLED'} =3D "off";
-
+sub locationblock {
# Flush iptables chain.
- run("$IPTABLES -F GEOIPBLOCK");
-
- # Check if the geoip settings file exists
- if (-e "$geoipfile") {
- # Read settings file
- &General::readhash("$geoipfile", \%geoipsettings);
- }
+ run("$IPTABLES -F LOCATIONBLOCK");
=20
- # If geoip blocking is not enabled, we are finished here.
- if ($geoipsettings{'GEOIPBLOCK_ENABLED'} ne "on") {
+ # If location blocking is not enabled, we are finished here.
+ if ($locationsettings{'LOCATIONBLOCK_ENABLED'} ne "on") {
# Exit submodule. Process remaining script.
return;
}
=20
- # Get supported locations.
- my @locations =3D &fwlib::get_geoip_locations();
-
- # Loop through all supported geoip locations and
- # create iptables rules, if blocking this country
+ # Loop through all supported locations and
+ # create iptables rules, if blocking for this country
# is enabled.
foreach my $location (@locations) {
- if(exists $geoipsettings{$location} && $geoipsettings{$location} eq "on") {
- run("$IPTABLES -A GEOIPBLOCK -m geoip --src-cc $location -j DROP");
+ if(exists $locationsettings{$location} && $locationsettings{$location} eq =
"on") {
+ run("$IPTABLES -A LOCATIONBLOCK -m geoip --src-cc $location -j DROP");
}
}
}
diff --git a/config/menu/50-firewall.menu b/config/menu/50-firewall.menu
index 5ec1f67fc..7f654785b 100644
--- a/config/menu/50-firewall.menu
+++ b/config/menu/50-firewall.menu
@@ -27,10 +27,10 @@
'title' =3D> "P2P-Block",
'enabled' =3D> 1,
};
- $subfirewall->{'60.geoipblock'} =3D {
- 'caption' =3D> $Lang::tr{'geoipblock'},
- 'uri' =3D> '/cgi-bin/geoip-block.cgi',
- 'title' =3D> $Lang::tr{'geoipblock'},
+ $subfirewall->{'60.locationblock'} =3D {
+ 'caption' =3D> $Lang::tr{'locationblock'},
+ 'uri' =3D> '/cgi-bin/location-block.cgi',
+ 'title' =3D> $Lang::tr{'locationblock'},
'enabled' =3D> 1,
};
$subfirewall->{'70.wireless'} =3D {
diff --git a/config/rootfiles/common/GeoIP b/config/rootfiles/common/GeoIP
deleted file mode 100644
index a7cd2e36b..000000000
--- a/config/rootfiles/common/GeoIP
+++ /dev/null
@@ -1,12 +0,0 @@
-#usr/bin/geoip-lookup
-#usr/lib/perl5/site_perl/5.30.0/Geo
-#usr/lib/perl5/site_perl/5.30.0/Geo/IP
-usr/lib/perl5/site_perl/5.30.0/Geo/IP/PurePerl.pm
-#usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Geo
-#usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Geo/IP
-#usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Geo/IP=
/PurePerl
-#usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Geo/IP=
/PurePerl/.packlist
-#usr/share/GeoIP
-usr/share/GeoIP/GeoIP.dat
-#usr/share/man/man1/geoip-lookup.1
-#usr/share/man/man3/Geo::IP::PurePerl.3
diff --git a/config/rootfiles/common/Locale-Country b/config/rootfiles/common=
/Locale-Country
index 07d8144c7..941c18121 100644
--- a/config/rootfiles/common/Locale-Country
+++ b/config/rootfiles/common/Locale-Country
@@ -1,61 +1,59 @@
-#usr/lib/perl5/5.30.0/Locale/Codes
-usr/lib/perl5/5.30.0/Locale/Codes.pm
-usr/lib/perl5/5.30.0/Locale/Codes.pod
-usr/lib/perl5/5.30.0/Locale/Codes/API.pod
-usr/lib/perl5/5.30.0/Locale/Codes/Changes.pod
-usr/lib/perl5/5.30.0/Locale/Codes/Constants.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Constants.pod
-usr/lib/perl5/5.30.0/Locale/Codes/Country.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Country.pod
-usr/lib/perl5/5.30.0/Locale/Codes/Country_Codes.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Country_Retired.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Currency.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Currency.pod
-usr/lib/perl5/5.30.0/Locale/Codes/Currency_Codes.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Currency_Retired.pm
-usr/lib/perl5/5.30.0/Locale/Codes/LangExt.pm
-usr/lib/perl5/5.30.0/Locale/Codes/LangExt.pod
-usr/lib/perl5/5.30.0/Locale/Codes/LangExt_Codes.pm
-usr/lib/perl5/5.30.0/Locale/Codes/LangExt_Retired.pm
-usr/lib/perl5/5.30.0/Locale/Codes/LangFam.pm
-usr/lib/perl5/5.30.0/Locale/Codes/LangFam.pod
-usr/lib/perl5/5.30.0/Locale/Codes/LangFam_Codes.pm
-usr/lib/perl5/5.30.0/Locale/Codes/LangFam_Retired.pm
-usr/lib/perl5/5.30.0/Locale/Codes/LangVar.pm
-usr/lib/perl5/5.30.0/Locale/Codes/LangVar.pod
-usr/lib/perl5/5.30.0/Locale/Codes/LangVar_Codes.pm
-usr/lib/perl5/5.30.0/Locale/Codes/LangVar_Retired.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Language.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Language.pod
-usr/lib/perl5/5.30.0/Locale/Codes/Language_Codes.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Language_Retired.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Script.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Script.pod
-usr/lib/perl5/5.30.0/Locale/Codes/Script_Codes.pm
-usr/lib/perl5/5.30.0/Locale/Codes/Script_Retired.pm
-usr/lib/perl5/5.30.0/Locale/Country.pm
-#usr/lib/perl5/5.30.0/Locale/Country.pod
-usr/lib/perl5/5.30.0/Locale/Currency.pm
-#usr/lib/perl5/5.30.0/Locale/Currency.pod
-usr/lib/perl5/5.30.0/Locale/Language.pm
-#usr/lib/perl5/5.30.0/Locale/Language.pod
-usr/lib/perl5/5.30.0/Locale/Script.pm
-#usr/lib/perl5/5.30.0/Locale/Script.pod
-#usr/lib/perl5/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Locale
-#usr/lib/perl5/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Locale/Codes
-#usr/lib/perl5/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Locale/Codes/.pa=
cklist
+#usr/lib/perl5/site_perl/5.30.0/Locale
+#usr/lib/perl5/site_perl/5.30.0/Locale/Codes
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Codes.pod
+#usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Changes.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Constants.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Country.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Country.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Country_Codes.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Country_Retired.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Currency.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Currency.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Currency_Codes.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Currency_Retired.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangExt.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangExt.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangExt_Codes.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangExt_Retired.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangFam.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangFam.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangFam_Codes.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangFam_Retired.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangVar.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangVar.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangVar_Codes.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/LangVar_Retired.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Language.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Language.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Language_Codes.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Language_Retired.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Script.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Script.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Script_Codes.pm
+usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Script_Retired.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Codes/Types.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Country.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Country.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Currency.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Currency.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Language.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Language.pod
+usr/lib/perl5/site_perl/5.30.0/Locale/Script.pm
+#usr/lib/perl5/site_perl/5.30.0/Locale/Script.pod
+#usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Locale
+#usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Locale=
/Codes
+#usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Locale=
/Codes/.packlist
#usr/share/man/man3/Locale::Codes.3
-#usr/share/man/man3/Locale::Codes::API.3
#usr/share/man/man3/Locale::Codes::Changes.3
-#usr/share/man/man3/Locale::Codes::Constants.3
#usr/share/man/man3/Locale::Codes::Country.3
#usr/share/man/man3/Locale::Codes::Currency.3
#usr/share/man/man3/Locale::Codes::LangExt.3
#usr/share/man/man3/Locale::Codes::LangFam.3
-#usr/share/man/man3/Locale::Codes::LangFam_Retired.3
#usr/share/man/man3/Locale::Codes::LangVar.3
#usr/share/man/man3/Locale::Codes::Language.3
#usr/share/man/man3/Locale::Codes::Script.3
+#usr/share/man/man3/Locale::Codes::Types.3
#usr/share/man/man3/Locale::Country.3
#usr/share/man/man3/Locale::Currency.3
#usr/share/man/man3/Locale::Language.3
diff --git a/config/rootfiles/common/aarch64/initscripts b/config/rootfiles/c=
ommon/aarch64/initscripts
index 330bb532e..69fef394b 100644
--- a/config/rootfiles/common/aarch64/initscripts
+++ b/config/rootfiles/common/aarch64/initscripts
@@ -66,7 +66,6 @@ etc/rc.d/init.d/networking/red.up/50-ovpn
etc/rc.d/init.d/networking/red.up/98-leds
etc/rc.d/init.d/networking/red.up/99-beep
etc/rc.d/init.d/networking/red.up/99-fireinfo
-etc/rc.d/init.d/networking/red.up/99-geoip-database
etc/rc.d/init.d/networking/red.up/99-pakfire-update
etc/rc.d/init.d/networking/wpa_supplicant.exe
etc/rc.d/init.d/ntp
diff --git a/config/rootfiles/common/aarch64/stage2 b/config/rootfiles/common=
/aarch64/stage2
index 77c8e97b9..3359632a3 100644
--- a/config/rootfiles/common/aarch64/stage2
+++ b/config/rootfiles/common/aarch64/stage2
@@ -107,8 +107,7 @@ usr/local/bin/settime
usr/local/bin/timecheck
usr/local/bin/timezone-transition
usr/local/bin/update-ids-ruleset
-usr/local/bin/update-lang-cache
-usr/local/bin/xt_geoip_update
+usr/local/bin/update-location-database
#usr/local/include
#usr/local/lib
#usr/local/lib/sse2
diff --git a/config/rootfiles/common/armv5tel/initscripts b/config/rootfiles/=
common/armv5tel/initscripts
index 330bb532e..69fef394b 100644
--- a/config/rootfiles/common/armv5tel/initscripts
+++ b/config/rootfiles/common/armv5tel/initscripts
@@ -66,7 +66,6 @@ etc/rc.d/init.d/networking/red.up/50-ovpn
etc/rc.d/init.d/networking/red.up/98-leds
etc/rc.d/init.d/networking/red.up/99-beep
etc/rc.d/init.d/networking/red.up/99-fireinfo
-etc/rc.d/init.d/networking/red.up/99-geoip-database
etc/rc.d/init.d/networking/red.up/99-pakfire-update
etc/rc.d/init.d/networking/wpa_supplicant.exe
etc/rc.d/init.d/ntp
diff --git a/config/rootfiles/common/configroot b/config/rootfiles/common/con=
figroot
index 664247b12..1027b5139 100644
--- a/config/rootfiles/common/configroot
+++ b/config/rootfiles/common/configroot
@@ -59,15 +59,15 @@ var/ipfire/extrahd
#var/ipfire/extrahd/settings
var/ipfire/firewall
#var/ipfire/firewall/config
-#var/ipfire/firewall/geoipblock
#var/ipfire/firewall/input
+#var/ipfire/firewall/locationblock
#var/ipfire/firewall/outgoing
#var/ipfire/firewall/p2protocols
#var/ipfire/firewall/settings
var/ipfire/fwhosts
-#var/ipfire/fwhosts/customgeoipgrp
#var/ipfire/fwhosts/customgroups
#var/ipfire/fwhosts/customhosts
+#var/ipfire/fwhosts/customlocationgrp
#var/ipfire/fwhosts/customnetworks
#var/ipfire/fwhosts/customservicegrp
#var/ipfire/fwhosts/customservices
@@ -77,9 +77,9 @@ var/ipfire/fwlogs
#var/ipfire/fwlogs/ipsettings
#var/ipfire/fwlogs/portsettings
var/ipfire/general-functions.pl
-var/ipfire/geoip-functions.pl
var/ipfire/graphs.pl
var/ipfire/header.pl
+var/ipfire/location-functions.pl
var/ipfire/ids-functions.pl
var/ipfire/isdn
#var/ipfire/isdn/settings
diff --git a/config/rootfiles/common/geoip-database b/config/rootfiles/common=
/geoip-database
deleted file mode 100644
index 6e4bbdb2e..000000000
--- a/config/rootfiles/common/geoip-database
+++ /dev/null
@@ -1,523 +0,0 @@
-usr/share/GeoIP/GeoIP.dat
-usr/share/xt_geoip/A1.iv4
-usr/share/xt_geoip/A1.iv6
-usr/share/xt_geoip/A2.iv4
-usr/share/xt_geoip/A2.iv6
-usr/share/xt_geoip/AD.iv4
-usr/share/xt_geoip/AD.iv6
-usr/share/xt_geoip/AE.iv4
-usr/share/xt_geoip/AE.iv6
-usr/share/xt_geoip/AF.iv4
-usr/share/xt_geoip/AF.iv6
-usr/share/xt_geoip/AG.iv4
-usr/share/xt_geoip/AG.iv6
-usr/share/xt_geoip/AI.iv4
-usr/share/xt_geoip/AI.iv6
-usr/share/xt_geoip/AL.iv4
-usr/share/xt_geoip/AL.iv6
-usr/share/xt_geoip/AM.iv4
-usr/share/xt_geoip/AM.iv6
-usr/share/xt_geoip/AO.iv4
-usr/share/xt_geoip/AO.iv6
-usr/share/xt_geoip/AQ.iv4
-usr/share/xt_geoip/AQ.iv6
-usr/share/xt_geoip/AR.iv4
-usr/share/xt_geoip/AR.iv6
-usr/share/xt_geoip/AS.iv4
-usr/share/xt_geoip/AS.iv6
-usr/share/xt_geoip/AT.iv4
-usr/share/xt_geoip/AT.iv6
-usr/share/xt_geoip/AU.iv4
-usr/share/xt_geoip/AU.iv6
-usr/share/xt_geoip/AW.iv4
-usr/share/xt_geoip/AW.iv6
-usr/share/xt_geoip/AX.iv4
-usr/share/xt_geoip/AX.iv6
-usr/share/xt_geoip/AZ.iv4
-usr/share/xt_geoip/AZ.iv6
-usr/share/xt_geoip/BA.iv4
-usr/share/xt_geoip/BA.iv6
-usr/share/xt_geoip/BB.iv4
-usr/share/xt_geoip/BB.iv6
-usr/share/xt_geoip/BD.iv4
-usr/share/xt_geoip/BD.iv6
-usr/share/xt_geoip/BE.iv4
-usr/share/xt_geoip/BE.iv6
-usr/share/xt_geoip/BF.iv4
-usr/share/xt_geoip/BF.iv6
-usr/share/xt_geoip/BG.iv4
-usr/share/xt_geoip/BG.iv6
-usr/share/xt_geoip/BH.iv4
-usr/share/xt_geoip/BH.iv6
-usr/share/xt_geoip/BI.iv4
-usr/share/xt_geoip/BI.iv6
-usr/share/xt_geoip/BJ.iv4
-usr/share/xt_geoip/BJ.iv6
-usr/share/xt_geoip/BL.iv4
-usr/share/xt_geoip/BL.iv6
-usr/share/xt_geoip/BM.iv4
-usr/share/xt_geoip/BM.iv6
-usr/share/xt_geoip/BN.iv4
-usr/share/xt_geoip/BN.iv6
-usr/share/xt_geoip/BO.iv4
-usr/share/xt_geoip/BO.iv6
-usr/share/xt_geoip/BQ.iv4
-usr/share/xt_geoip/BQ.iv6
-usr/share/xt_geoip/BR.iv4
-usr/share/xt_geoip/BR.iv6
-usr/share/xt_geoip/BS.iv4
-usr/share/xt_geoip/BS.iv6
-usr/share/xt_geoip/BT.iv4
-usr/share/xt_geoip/BT.iv6
-usr/share/xt_geoip/BV.iv4
-usr/share/xt_geoip/BV.iv6
-usr/share/xt_geoip/BW.iv4
-usr/share/xt_geoip/BW.iv6
-usr/share/xt_geoip/BY.iv4
-usr/share/xt_geoip/BY.iv6
-usr/share/xt_geoip/BZ.iv4
-usr/share/xt_geoip/BZ.iv6
-usr/share/xt_geoip/CA.iv4
-usr/share/xt_geoip/CA.iv6
-usr/share/xt_geoip/CC.iv4
-usr/share/xt_geoip/CC.iv6
-usr/share/xt_geoip/CD.iv4
-usr/share/xt_geoip/CD.iv6
-usr/share/xt_geoip/CF.iv4
-usr/share/xt_geoip/CF.iv6
-usr/share/xt_geoip/CG.iv4
-usr/share/xt_geoip/CG.iv6
-usr/share/xt_geoip/CH.iv4
-usr/share/xt_geoip/CH.iv6
-usr/share/xt_geoip/CI.iv4
-usr/share/xt_geoip/CI.iv6
-usr/share/xt_geoip/CK.iv4
-usr/share/xt_geoip/CK.iv6
-usr/share/xt_geoip/CL.iv4
-usr/share/xt_geoip/CL.iv6
-usr/share/xt_geoip/CM.iv4
-usr/share/xt_geoip/CM.iv6
-usr/share/xt_geoip/CN.iv4
-usr/share/xt_geoip/CN.iv6
-usr/share/xt_geoip/CO.iv4
-usr/share/xt_geoip/CO.iv6
-usr/share/xt_geoip/CR.iv4
-usr/share/xt_geoip/CR.iv6
-usr/share/xt_geoip/CU.iv4
-usr/share/xt_geoip/CU.iv6
-usr/share/xt_geoip/CV.iv4
-usr/share/xt_geoip/CV.iv6
-usr/share/xt_geoip/CW.iv4
-usr/share/xt_geoip/CW.iv6
-usr/share/xt_geoip/CX.iv4
-usr/share/xt_geoip/CX.iv6
-usr/share/xt_geoip/CY.iv4
-usr/share/xt_geoip/CY.iv6
-usr/share/xt_geoip/CZ.iv4
-usr/share/xt_geoip/CZ.iv6
-usr/share/xt_geoip/DE.iv4
-usr/share/xt_geoip/DE.iv6
-usr/share/xt_geoip/DJ.iv4
-usr/share/xt_geoip/DJ.iv6
-usr/share/xt_geoip/DK.iv4
-usr/share/xt_geoip/DK.iv6
-usr/share/xt_geoip/DM.iv4
-usr/share/xt_geoip/DM.iv6
-usr/share/xt_geoip/DO.iv4
-usr/share/xt_geoip/DO.iv6
-usr/share/xt_geoip/DZ.iv4
-usr/share/xt_geoip/DZ.iv6
-usr/share/xt_geoip/EC.iv4
-usr/share/xt_geoip/EC.iv6
-usr/share/xt_geoip/EE.iv4
-usr/share/xt_geoip/EE.iv6
-usr/share/xt_geoip/EG.iv4
-usr/share/xt_geoip/EG.iv6
-usr/share/xt_geoip/EH.iv4
-usr/share/xt_geoip/EH.iv6
-usr/share/xt_geoip/ER.iv4
-usr/share/xt_geoip/ER.iv6
-usr/share/xt_geoip/ES.iv4
-usr/share/xt_geoip/ES.iv6
-usr/share/xt_geoip/ET.iv4
-usr/share/xt_geoip/ET.iv6
-usr/share/xt_geoip/EU.iv4
-usr/share/xt_geoip/EU.iv6
-usr/share/xt_geoip/FI.iv4
-usr/share/xt_geoip/FI.iv6
-usr/share/xt_geoip/FJ.iv4
-usr/share/xt_geoip/FJ.iv6
-usr/share/xt_geoip/FK.iv4
-usr/share/xt_geoip/FK.iv6
-usr/share/xt_geoip/FM.iv4
-usr/share/xt_geoip/FM.iv6
-usr/share/xt_geoip/FO.iv4
-usr/share/xt_geoip/FO.iv6
-usr/share/xt_geoip/FR.iv4
-usr/share/xt_geoip/FR.iv6
-usr/share/xt_geoip/GA.iv4
-usr/share/xt_geoip/GA.iv6
-usr/share/xt_geoip/GB.iv4
-usr/share/xt_geoip/GB.iv6
-usr/share/xt_geoip/GD.iv4
-usr/share/xt_geoip/GD.iv6
-usr/share/xt_geoip/GE.iv4
-usr/share/xt_geoip/GE.iv6
-usr/share/xt_geoip/GF.iv4
-usr/share/xt_geoip/GF.iv6
-usr/share/xt_geoip/GG.iv4
-usr/share/xt_geoip/GG.iv6
-usr/share/xt_geoip/GH.iv4
-usr/share/xt_geoip/GH.iv6
-usr/share/xt_geoip/GI.iv4
-usr/share/xt_geoip/GI.iv6
-usr/share/xt_geoip/GL.iv4
-usr/share/xt_geoip/GL.iv6
-usr/share/xt_geoip/GM.iv4
-usr/share/xt_geoip/GM.iv6
-usr/share/xt_geoip/GN.iv4
-usr/share/xt_geoip/GN.iv6
-usr/share/xt_geoip/GP.iv4
-usr/share/xt_geoip/GP.iv6
-usr/share/xt_geoip/GQ.iv4
-usr/share/xt_geoip/GQ.iv6
-usr/share/xt_geoip/GR.iv4
-usr/share/xt_geoip/GR.iv6
-usr/share/xt_geoip/GS.iv4
-usr/share/xt_geoip/GS.iv6
-usr/share/xt_geoip/GT.iv4
-usr/share/xt_geoip/GT.iv6
-usr/share/xt_geoip/GU.iv4
-usr/share/xt_geoip/GU.iv6
-usr/share/xt_geoip/GW.iv4
-usr/share/xt_geoip/GW.iv6
-usr/share/xt_geoip/GY.iv4
-usr/share/xt_geoip/GY.iv6
-usr/share/xt_geoip/HK.iv4
-usr/share/xt_geoip/HK.iv6
-usr/share/xt_geoip/HM.iv4
-usr/share/xt_geoip/HM.iv6
-usr/share/xt_geoip/HN.iv4
-usr/share/xt_geoip/HN.iv6
-usr/share/xt_geoip/HR.iv4
-usr/share/xt_geoip/HR.iv6
-usr/share/xt_geoip/HT.iv4
-usr/share/xt_geoip/HT.iv6
-usr/share/xt_geoip/HU.iv4
-usr/share/xt_geoip/HU.iv6
-usr/share/xt_geoip/ID.iv4
-usr/share/xt_geoip/ID.iv6
-usr/share/xt_geoip/IE.iv4
-usr/share/xt_geoip/IE.iv6
-usr/share/xt_geoip/IL.iv4
-usr/share/xt_geoip/IL.iv6
-usr/share/xt_geoip/IM.iv4
-usr/share/xt_geoip/IM.iv6
-usr/share/xt_geoip/IN.iv4
-usr/share/xt_geoip/IN.iv6
-usr/share/xt_geoip/IO.iv4
-usr/share/xt_geoip/IO.iv6
-usr/share/xt_geoip/IQ.iv4
-usr/share/xt_geoip/IQ.iv6
-usr/share/xt_geoip/IR.iv4
-usr/share/xt_geoip/IR.iv6
-usr/share/xt_geoip/IS.iv4
-usr/share/xt_geoip/IS.iv6
-usr/share/xt_geoip/IT.iv4
-usr/share/xt_geoip/IT.iv6
-usr/share/xt_geoip/JE.iv4
-usr/share/xt_geoip/JE.iv6
-usr/share/xt_geoip/JM.iv4
-usr/share/xt_geoip/JM.iv6
-usr/share/xt_geoip/JO.iv4
-usr/share/xt_geoip/JO.iv6
-usr/share/xt_geoip/JP.iv4
-usr/share/xt_geoip/JP.iv6
-usr/share/xt_geoip/KE.iv4
-usr/share/xt_geoip/KE.iv6
-usr/share/xt_geoip/KG.iv4
-usr/share/xt_geoip/KG.iv6
-usr/share/xt_geoip/KH.iv4
-usr/share/xt_geoip/KH.iv6
-usr/share/xt_geoip/KI.iv4
-usr/share/xt_geoip/KI.iv6
-usr/share/xt_geoip/KM.iv4
-usr/share/xt_geoip/KM.iv6
-usr/share/xt_geoip/KN.iv4
-usr/share/xt_geoip/KN.iv6
-usr/share/xt_geoip/KP.iv4
-usr/share/xt_geoip/KP.iv6
-usr/share/xt_geoip/KR.iv4
-usr/share/xt_geoip/KR.iv6
-usr/share/xt_geoip/KW.iv4
-usr/share/xt_geoip/KW.iv6
-usr/share/xt_geoip/KY.iv4
-usr/share/xt_geoip/KY.iv6
-usr/share/xt_geoip/KZ.iv4
-usr/share/xt_geoip/KZ.iv6
-usr/share/xt_geoip/LA.iv4
-usr/share/xt_geoip/LA.iv6
-usr/share/xt_geoip/LB.iv4
-usr/share/xt_geoip/LB.iv6
-usr/share/xt_geoip/LC.iv4
-usr/share/xt_geoip/LC.iv6
-usr/share/xt_geoip/LI.iv4
-usr/share/xt_geoip/LI.iv6
-usr/share/xt_geoip/LK.iv4
-usr/share/xt_geoip/LK.iv6
-usr/share/xt_geoip/LR.iv4
-usr/share/xt_geoip/LR.iv6
-usr/share/xt_geoip/LS.iv4
-usr/share/xt_geoip/LS.iv6
-usr/share/xt_geoip/LT.iv4
-usr/share/xt_geoip/LT.iv6
-usr/share/xt_geoip/LU.iv4
-usr/share/xt_geoip/LU.iv6
-usr/share/xt_geoip/LV.iv4
-usr/share/xt_geoip/LV.iv6
-usr/share/xt_geoip/LY.iv4
-usr/share/xt_geoip/LY.iv6
-usr/share/xt_geoip/MA.iv4
-usr/share/xt_geoip/MA.iv6
-usr/share/xt_geoip/MC.iv4
-usr/share/xt_geoip/MC.iv6
-usr/share/xt_geoip/MD.iv4
-usr/share/xt_geoip/MD.iv6
-usr/share/xt_geoip/ME.iv4
-usr/share/xt_geoip/ME.iv6
-usr/share/xt_geoip/MF.iv4
-usr/share/xt_geoip/MF.iv6
-usr/share/xt_geoip/MG.iv4
-usr/share/xt_geoip/MG.iv6
-usr/share/xt_geoip/MH.iv4
-usr/share/xt_geoip/MH.iv6
-usr/share/xt_geoip/MK.iv4
-usr/share/xt_geoip/MK.iv6
-usr/share/xt_geoip/ML.iv4
-usr/share/xt_geoip/ML.iv6
-usr/share/xt_geoip/MM.iv4
-usr/share/xt_geoip/MM.iv6
-usr/share/xt_geoip/MN.iv4
-usr/share/xt_geoip/MN.iv6
-usr/share/xt_geoip/MO.iv4
-usr/share/xt_geoip/MO.iv6
-usr/share/xt_geoip/MP.iv4
-usr/share/xt_geoip/MP.iv6
-usr/share/xt_geoip/MQ.iv4
-usr/share/xt_geoip/MQ.iv6
-usr/share/xt_geoip/MR.iv4
-usr/share/xt_geoip/MR.iv6
-usr/share/xt_geoip/MS.iv4
-usr/share/xt_geoip/MS.iv6
-usr/share/xt_geoip/MT.iv4
-usr/share/xt_geoip/MT.iv6
-usr/share/xt_geoip/MU.iv4
-usr/share/xt_geoip/MU.iv6
-usr/share/xt_geoip/MV.iv4
-usr/share/xt_geoip/MV.iv6
-usr/share/xt_geoip/MW.iv4
-usr/share/xt_geoip/MW.iv6
-usr/share/xt_geoip/MX.iv4
-usr/share/xt_geoip/MX.iv6
-usr/share/xt_geoip/MY.iv4
-usr/share/xt_geoip/MY.iv6
-usr/share/xt_geoip/MZ.iv4
-usr/share/xt_geoip/MZ.iv6
-usr/share/xt_geoip/NA.iv4
-usr/share/xt_geoip/NA.iv6
-usr/share/xt_geoip/NC.iv4
-usr/share/xt_geoip/NC.iv6
-usr/share/xt_geoip/NE.iv4
-usr/share/xt_geoip/NE.iv6
-usr/share/xt_geoip/NF.iv4
-usr/share/xt_geoip/NF.iv6
-usr/share/xt_geoip/NG.iv4
-usr/share/xt_geoip/NG.iv6
-usr/share/xt_geoip/NI.iv4
-usr/share/xt_geoip/NI.iv6
-usr/share/xt_geoip/NL.iv4
-usr/share/xt_geoip/NL.iv6
-usr/share/xt_geoip/NO.iv4
-usr/share/xt_geoip/NO.iv6
-usr/share/xt_geoip/NP.iv4
-usr/share/xt_geoip/NP.iv6
-usr/share/xt_geoip/NR.iv4
-usr/share/xt_geoip/NR.iv6
-usr/share/xt_geoip/NU.iv4
-usr/share/xt_geoip/NU.iv6
-usr/share/xt_geoip/NZ.iv4
-usr/share/xt_geoip/NZ.iv6
-usr/share/xt_geoip/O1.iv4
-usr/share/xt_geoip/O1.iv6
-usr/share/xt_geoip/OM.iv4
-usr/share/xt_geoip/OM.iv6
-usr/share/xt_geoip/PA.iv4
-usr/share/xt_geoip/PA.iv6
-usr/share/xt_geoip/PE.iv4
-usr/share/xt_geoip/PE.iv6
-usr/share/xt_geoip/PF.iv4
-usr/share/xt_geoip/PF.iv6
-usr/share/xt_geoip/PG.iv4
-usr/share/xt_geoip/PG.iv6
-usr/share/xt_geoip/PH.iv4
-usr/share/xt_geoip/PH.iv6
-usr/share/xt_geoip/PK.iv4
-usr/share/xt_geoip/PK.iv6
-usr/share/xt_geoip/PL.iv4
-usr/share/xt_geoip/PL.iv6
-usr/share/xt_geoip/PM.iv4
-usr/share/xt_geoip/PM.iv6
-usr/share/xt_geoip/PN.iv4
-usr/share/xt_geoip/PN.iv6
-usr/share/xt_geoip/PR.iv4
-usr/share/xt_geoip/PR.iv6
-usr/share/xt_geoip/PS.iv4
-usr/share/xt_geoip/PS.iv6
-usr/share/xt_geoip/PT.iv4
-usr/share/xt_geoip/PT.iv6
-usr/share/xt_geoip/PW.iv4
-usr/share/xt_geoip/PW.iv6
-usr/share/xt_geoip/PY.iv4
-usr/share/xt_geoip/PY.iv6
-usr/share/xt_geoip/QA.iv4
-usr/share/xt_geoip/QA.iv6
-usr/share/xt_geoip/RE.iv4
-usr/share/xt_geoip/RE.iv6
-usr/share/xt_geoip/RO.iv4
-usr/share/xt_geoip/RO.iv6
-usr/share/xt_geoip/RS.iv4
-usr/share/xt_geoip/RS.iv6
-usr/share/xt_geoip/RU.iv4
-usr/share/xt_geoip/RU.iv6
-usr/share/xt_geoip/RW.iv4
-usr/share/xt_geoip/RW.iv6
-usr/share/xt_geoip/SA.iv4
-usr/share/xt_geoip/SA.iv6
-usr/share/xt_geoip/SB.iv4
-usr/share/xt_geoip/SB.iv6
-usr/share/xt_geoip/SC.iv4
-usr/share/xt_geoip/SC.iv6
-usr/share/xt_geoip/SD.iv4
-usr/share/xt_geoip/SD.iv6
-usr/share/xt_geoip/SE.iv4
-usr/share/xt_geoip/SE.iv6
-usr/share/xt_geoip/SG.iv4
-usr/share/xt_geoip/SG.iv6
-usr/share/xt_geoip/SH.iv4
-usr/share/xt_geoip/SH.iv6
-usr/share/xt_geoip/SI.iv4
-usr/share/xt_geoip/SI.iv6
-usr/share/xt_geoip/SJ.iv4
-usr/share/xt_geoip/SJ.iv6
-usr/share/xt_geoip/SK.iv4
-usr/share/xt_geoip/SK.iv6
-usr/share/xt_geoip/SL.iv4
-usr/share/xt_geoip/SL.iv6
-usr/share/xt_geoip/SM.iv4
-usr/share/xt_geoip/SM.iv6
-usr/share/xt_geoip/SN.iv4
-usr/share/xt_geoip/SN.iv6
-usr/share/xt_geoip/SO.iv4
-usr/share/xt_geoip/SO.iv6
-usr/share/xt_geoip/SR.iv4
-usr/share/xt_geoip/SR.iv6
-usr/share/xt_geoip/SS.iv4
-usr/share/xt_geoip/SS.iv6
-usr/share/xt_geoip/ST.iv4
-usr/share/xt_geoip/ST.iv6
-usr/share/xt_geoip/SV.iv4
-usr/share/xt_geoip/SV.iv6
-usr/share/xt_geoip/SX.iv4
-usr/share/xt_geoip/SX.iv6
-usr/share/xt_geoip/SY.iv4
-usr/share/xt_geoip/SY.iv6
-usr/share/xt_geoip/SZ.iv4
-usr/share/xt_geoip/SZ.iv6
-usr/share/xt_geoip/TC.iv4
-usr/share/xt_geoip/TC.iv6
-usr/share/xt_geoip/TD.iv4
-usr/share/xt_geoip/TD.iv6
-usr/share/xt_geoip/TF.iv4
-usr/share/xt_geoip/TF.iv6
-usr/share/xt_geoip/TG.iv4
-usr/share/xt_geoip/TG.iv6
-usr/share/xt_geoip/TH.iv4
-usr/share/xt_geoip/TH.iv6
-usr/share/xt_geoip/TJ.iv4
-usr/share/xt_geoip/TJ.iv6
-usr/share/xt_geoip/TK.iv4
-usr/share/xt_geoip/TK.iv6
-usr/share/xt_geoip/TL.iv4
-usr/share/xt_geoip/TL.iv6
-usr/share/xt_geoip/TM.iv4
-usr/share/xt_geoip/TM.iv6
-usr/share/xt_geoip/TN.iv4
-usr/share/xt_geoip/TN.iv6
-usr/share/xt_geoip/TO.iv4
-usr/share/xt_geoip/TO.iv6
-usr/share/xt_geoip/TR.iv4
-usr/share/xt_geoip/TR.iv6
-usr/share/xt_geoip/TT.iv4
-usr/share/xt_geoip/TT.iv6
-usr/share/xt_geoip/TV.iv4
-usr/share/xt_geoip/TV.iv6
-usr/share/xt_geoip/TW.iv4
-usr/share/xt_geoip/TW.iv6
-usr/share/xt_geoip/TZ.iv4
-usr/share/xt_geoip/TZ.iv6
-usr/share/xt_geoip/UA.iv4
-usr/share/xt_geoip/UA.iv6
-usr/share/xt_geoip/UG.iv4
-usr/share/xt_geoip/UG.iv6
-usr/share/xt_geoip/UM.iv4
-usr/share/xt_geoip/UM.iv6
-usr/share/xt_geoip/US.iv4
-usr/share/xt_geoip/US.iv6
-usr/share/xt_geoip/UY.iv4
-usr/share/xt_geoip/UY.iv6
-usr/share/xt_geoip/UZ.iv4
-usr/share/xt_geoip/UZ.iv6
-usr/share/xt_geoip/VA.iv4
-usr/share/xt_geoip/VA.iv6
-usr/share/xt_geoip/VC.iv4
-usr/share/xt_geoip/VC.iv6
-usr/share/xt_geoip/VE.iv4
-usr/share/xt_geoip/VE.iv6
-usr/share/xt_geoip/VG.iv4
-usr/share/xt_geoip/VG.iv6
-usr/share/xt_geoip/VI.iv4
-usr/share/xt_geoip/VI.iv6
-usr/share/xt_geoip/VN.iv4
-usr/share/xt_geoip/VN.iv6
-usr/share/xt_geoip/VU.iv4
-usr/share/xt_geoip/VU.iv6
-usr/share/xt_geoip/WF.iv4
-usr/share/xt_geoip/WF.iv6
-usr/share/xt_geoip/WS.iv4
-usr/share/xt_geoip/WS.iv6
-usr/share/xt_geoip/XK.iv4
-usr/share/xt_geoip/XK.iv6
-usr/share/xt_geoip/YE.iv4
-usr/share/xt_geoip/YE.iv6
-usr/share/xt_geoip/YT.iv4
-usr/share/xt_geoip/YT.iv6
-usr/share/xt_geoip/ZA.iv4
-usr/share/xt_geoip/ZA.iv6
-usr/share/xt_geoip/ZM.iv4
-usr/share/xt_geoip/ZM.iv6
-usr/share/xt_geoip/ZW.iv4
-usr/share/xt_geoip/ZW.iv6
-#var/lib/GeoIP
-var/lib/GeoIP/COPYRIGHT.txt
-var/lib/GeoIP/GeoLite2-Country-Blocks-IPv4.csv
-var/lib/GeoIP/GeoLite2-Country-Blocks-IPv6.csv
-var/lib/GeoIP/GeoLite2-Country-Locations-de.csv
-var/lib/GeoIP/GeoLite2-Country-Locations-en.csv
-var/lib/GeoIP/GeoLite2-Country-Locations-es.csv
-var/lib/GeoIP/GeoLite2-Country-Locations-fr.csv
-var/lib/GeoIP/GeoLite2-Country-Locations-ja.csv
-var/lib/GeoIP/GeoLite2-Country-Locations-pt-BR.csv
-var/lib/GeoIP/GeoLite2-Country-Locations-ru.csv
-var/lib/GeoIP/GeoLite2-Country-Locations-zh-CN.csv
-var/lib/GeoIP/LICENSE.txt
-var/lib/GeoIP/README.txt
diff --git a/config/rootfiles/common/geoip-generator b/config/rootfiles/commo=
n/geoip-generator
deleted file mode 100644
index 6ff83c036..000000000
--- a/config/rootfiles/common/geoip-generator
+++ /dev/null
@@ -1,16 +0,0 @@
-#usr/bin/geoiplookup
-#usr/bin/geoiplookup6
-#usr/include/GeoIP.h
-#usr/include/GeoIPCity.h
-#usr/lib/libGeoIP.a
-#usr/lib/libGeoIP.la
-usr/lib/libGeoIP.so
-usr/lib/libGeoIP.so.1
-usr/lib/libGeoIP.so.1.6.12
-#usr/lib/pkgconfig/geoip.pc
-#usr/share/GeoIP/bin
-usr/share/GeoIP/bin/countryInfo.txt
-usr/share/GeoIP/bin/geoip-generator
-usr/share/GeoIP/bin/geolite2-to-legacy-csv.sh
-#usr/share/man/man1/geoiplookup.1
-#usr/share/man/man1/geoiplookup6.1
diff --git a/config/rootfiles/common/i586/initscripts b/config/rootfiles/comm=
on/i586/initscripts
index c0fc18705..b4e944342 100644
--- a/config/rootfiles/common/i586/initscripts
+++ b/config/rootfiles/common/i586/initscripts
@@ -66,7 +66,6 @@ etc/rc.d/init.d/networking/red.up/50-ovpn
etc/rc.d/init.d/networking/red.up/98-leds
etc/rc.d/init.d/networking/red.up/99-beep
etc/rc.d/init.d/networking/red.up/99-fireinfo
-etc/rc.d/init.d/networking/red.up/99-geoip-database
etc/rc.d/init.d/networking/red.up/99-pakfire-update
etc/rc.d/init.d/networking/wpa_supplicant.exe
etc/rc.d/init.d/ntp
diff --git a/config/rootfiles/common/libloc b/config/rootfiles/common/libloc
new file mode 100644
index 000000000..9985b939f
--- /dev/null
+++ b/config/rootfiles/common/libloc
@@ -0,0 +1,294 @@
+usr/bin/location
+#usr/bin/location-importer
+#usr/include/libloc
+#usr/include/libloc/as.h
+#usr/include/libloc/compat.h
+#usr/include/libloc/country.h
+#usr/include/libloc/database.h
+#usr/include/libloc/format.h
+#usr/include/libloc/libloc.h
+#usr/include/libloc/network.h
+#usr/include/libloc/private.h
+#usr/include/libloc/resolv.h
+#usr/include/libloc/stringpool.h
+#usr/include/libloc/writer.h
+#usr/lib/libloc.la
+#usr/lib/libloc.so
+usr/lib/libloc.so.0
+usr/lib/libloc.so.0.0.0
+usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/Location.pm
+#usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Locati=
on
+#usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Locati=
on/.packlist
+usr/lib/perl5/site_perl/5.30.0/xxxMACHINExxx-linux-thread-multi/auto/Locatio=
n/Location.so
+#usr/lib/pkgconfig/libloc.pc
+#usr/lib/python3.8/site-packages/_location.la
+usr/lib/python3.8/site-packages/_location.so
+#usr/lib/python3.8/site-packages/location
+usr/lib/python3.8/site-packages/location/__init__.py
+#usr/lib/python3.8/site-packages/location/database.py
+usr/lib/python3.8/site-packages/location/downloader.py
+usr/lib/python3.8/site-packages/location/export.py
+usr/lib/python3.8/site-packages/location/i18n.py
+#usr/lib/python3.8/site-packages/location/importer.py
+usr/lib/python3.8/site-packages/location/logger.py
+#usr/share/locale/de/LC_MESSAGES/libloc.mo
+#usr/share/man/man3/Location.3
+usr/share/xt_geoip/A1.iv4
+usr/share/xt_geoip/A2.iv4
+usr/share/xt_geoip/A3.iv4
+usr/share/xt_geoip/AD.iv4
+usr/share/xt_geoip/AE.iv4
+usr/share/xt_geoip/AF.iv4
+usr/share/xt_geoip/AG.iv4
+usr/share/xt_geoip/AI.iv4
+usr/share/xt_geoip/AL.iv4
+usr/share/xt_geoip/AM.iv4
+usr/share/xt_geoip/AN.iv4
+usr/share/xt_geoip/AO.iv4
+usr/share/xt_geoip/AP.iv4
+usr/share/xt_geoip/AQ.iv4
+usr/share/xt_geoip/AR.iv4
+usr/share/xt_geoip/AS.iv4
+usr/share/xt_geoip/AT.iv4
+usr/share/xt_geoip/AU.iv4
+usr/share/xt_geoip/AW.iv4
+usr/share/xt_geoip/AX.iv4
+usr/share/xt_geoip/AZ.iv4
+usr/share/xt_geoip/BA.iv4
+usr/share/xt_geoip/BB.iv4
+usr/share/xt_geoip/BD.iv4
+usr/share/xt_geoip/BE.iv4
+usr/share/xt_geoip/BF.iv4
+usr/share/xt_geoip/BG.iv4
+usr/share/xt_geoip/BH.iv4
+usr/share/xt_geoip/BI.iv4
+usr/share/xt_geoip/BJ.iv4
+usr/share/xt_geoip/BL.iv4
+usr/share/xt_geoip/BM.iv4
+usr/share/xt_geoip/BN.iv4
+usr/share/xt_geoip/BO.iv4
+usr/share/xt_geoip/BQ.iv4
+usr/share/xt_geoip/BR.iv4
+usr/share/xt_geoip/BS.iv4
+usr/share/xt_geoip/BT.iv4
+usr/share/xt_geoip/BV.iv4
+usr/share/xt_geoip/BW.iv4
+usr/share/xt_geoip/BY.iv4
+usr/share/xt_geoip/BZ.iv4
+usr/share/xt_geoip/CA.iv4
+usr/share/xt_geoip/CC.iv4
+usr/share/xt_geoip/CD.iv4
+usr/share/xt_geoip/CF.iv4
+usr/share/xt_geoip/CG.iv4
+usr/share/xt_geoip/CH.iv4
+usr/share/xt_geoip/CI.iv4
+usr/share/xt_geoip/CK.iv4
+usr/share/xt_geoip/CL.iv4
+usr/share/xt_geoip/CM.iv4
+usr/share/xt_geoip/CN.iv4
+usr/share/xt_geoip/CO.iv4
+usr/share/xt_geoip/CR.iv4
+usr/share/xt_geoip/CU.iv4
+usr/share/xt_geoip/CV.iv4
+usr/share/xt_geoip/CW.iv4
+usr/share/xt_geoip/CX.iv4
+usr/share/xt_geoip/CY.iv4
+usr/share/xt_geoip/CZ.iv4
+usr/share/xt_geoip/DE.iv4
+usr/share/xt_geoip/DJ.iv4
+usr/share/xt_geoip/DK.iv4
+usr/share/xt_geoip/DM.iv4
+usr/share/xt_geoip/DO.iv4
+usr/share/xt_geoip/DZ.iv4
+usr/share/xt_geoip/EC.iv4
+usr/share/xt_geoip/EE.iv4
+usr/share/xt_geoip/EG.iv4
+usr/share/xt_geoip/EH.iv4
+usr/share/xt_geoip/ER.iv4
+usr/share/xt_geoip/ES.iv4
+usr/share/xt_geoip/ET.iv4
+usr/share/xt_geoip/EU.iv4
+usr/share/xt_geoip/FI.iv4
+usr/share/xt_geoip/FJ.iv4
+usr/share/xt_geoip/FK.iv4
+usr/share/xt_geoip/FM.iv4
+usr/share/xt_geoip/FO.iv4
+usr/share/xt_geoip/FR.iv4
+usr/share/xt_geoip/FX.iv4
+usr/share/xt_geoip/GA.iv4
+usr/share/xt_geoip/GB.iv4
+usr/share/xt_geoip/GD.iv4
+usr/share/xt_geoip/GE.iv4
+usr/share/xt_geoip/GF.iv4
+usr/share/xt_geoip/GG.iv4
+usr/share/xt_geoip/GH.iv4
+usr/share/xt_geoip/GI.iv4
+usr/share/xt_geoip/GL.iv4
+usr/share/xt_geoip/GM.iv4
+usr/share/xt_geoip/GN.iv4
+usr/share/xt_geoip/GP.iv4
+usr/share/xt_geoip/GQ.iv4
+usr/share/xt_geoip/GR.iv4
+usr/share/xt_geoip/GS.iv4
+usr/share/xt_geoip/GT.iv4
+usr/share/xt_geoip/GU.iv4
+usr/share/xt_geoip/GW.iv4
+usr/share/xt_geoip/GY.iv4
+usr/share/xt_geoip/HK.iv4
+usr/share/xt_geoip/HM.iv4
+usr/share/xt_geoip/HN.iv4
+usr/share/xt_geoip/HR.iv4
+usr/share/xt_geoip/HT.iv4
+usr/share/xt_geoip/HU.iv4
+usr/share/xt_geoip/ID.iv4
+usr/share/xt_geoip/IE.iv4
+usr/share/xt_geoip/IL.iv4
+usr/share/xt_geoip/IM.iv4
+usr/share/xt_geoip/IN.iv4
+usr/share/xt_geoip/IO.iv4
+usr/share/xt_geoip/IQ.iv4
+usr/share/xt_geoip/IR.iv4
+usr/share/xt_geoip/IS.iv4
+usr/share/xt_geoip/IT.iv4
+usr/share/xt_geoip/JE.iv4
+usr/share/xt_geoip/JM.iv4
+usr/share/xt_geoip/JO.iv4
+usr/share/xt_geoip/JP.iv4
+usr/share/xt_geoip/KE.iv4
+usr/share/xt_geoip/KG.iv4
+usr/share/xt_geoip/KH.iv4
+usr/share/xt_geoip/KI.iv4
+usr/share/xt_geoip/KM.iv4
+usr/share/xt_geoip/KN.iv4
+usr/share/xt_geoip/KP.iv4
+usr/share/xt_geoip/KR.iv4
+usr/share/xt_geoip/KW.iv4
+usr/share/xt_geoip/KY.iv4
+usr/share/xt_geoip/KZ.iv4
+usr/share/xt_geoip/LA.iv4
+usr/share/xt_geoip/LB.iv4
+usr/share/xt_geoip/LC.iv4
+usr/share/xt_geoip/LI.iv4
+usr/share/xt_geoip/LK.iv4
+usr/share/xt_geoip/LR.iv4
+usr/share/xt_geoip/LS.iv4
+usr/share/xt_geoip/LT.iv4
+usr/share/xt_geoip/LU.iv4
+usr/share/xt_geoip/LV.iv4
+usr/share/xt_geoip/LY.iv4
+usr/share/xt_geoip/MA.iv4
+usr/share/xt_geoip/MC.iv4
+usr/share/xt_geoip/MD.iv4
+usr/share/xt_geoip/ME.iv4
+usr/share/xt_geoip/MF.iv4
+usr/share/xt_geoip/MG.iv4
+usr/share/xt_geoip/MH.iv4
+usr/share/xt_geoip/MK.iv4
+usr/share/xt_geoip/ML.iv4
+usr/share/xt_geoip/MM.iv4
+usr/share/xt_geoip/MN.iv4
+usr/share/xt_geoip/MO.iv4
+usr/share/xt_geoip/MP.iv4
+usr/share/xt_geoip/MQ.iv4
+usr/share/xt_geoip/MR.iv4
+usr/share/xt_geoip/MS.iv4
+usr/share/xt_geoip/MT.iv4
+usr/share/xt_geoip/MU.iv4
+usr/share/xt_geoip/MV.iv4
+usr/share/xt_geoip/MW.iv4
+usr/share/xt_geoip/MX.iv4
+usr/share/xt_geoip/MY.iv4
+usr/share/xt_geoip/MZ.iv4
+usr/share/xt_geoip/NA.iv4
+usr/share/xt_geoip/NC.iv4
+usr/share/xt_geoip/NE.iv4
+usr/share/xt_geoip/NF.iv4
+usr/share/xt_geoip/NG.iv4
+usr/share/xt_geoip/NI.iv4
+usr/share/xt_geoip/NL.iv4
+usr/share/xt_geoip/NO.iv4
+usr/share/xt_geoip/NP.iv4
+usr/share/xt_geoip/NR.iv4
+usr/share/xt_geoip/NU.iv4
+usr/share/xt_geoip/NZ.iv4
+usr/share/xt_geoip/OM.iv4
+usr/share/xt_geoip/PA.iv4
+usr/share/xt_geoip/PE.iv4
+usr/share/xt_geoip/PF.iv4
+usr/share/xt_geoip/PG.iv4
+usr/share/xt_geoip/PH.iv4
+usr/share/xt_geoip/PK.iv4
+usr/share/xt_geoip/PL.iv4
+usr/share/xt_geoip/PM.iv4
+usr/share/xt_geoip/PN.iv4
+usr/share/xt_geoip/PR.iv4
+usr/share/xt_geoip/PS.iv4
+usr/share/xt_geoip/PT.iv4
+usr/share/xt_geoip/PW.iv4
+usr/share/xt_geoip/PY.iv4
+usr/share/xt_geoip/QA.iv4
+usr/share/xt_geoip/RE.iv4
+usr/share/xt_geoip/RO.iv4
+usr/share/xt_geoip/RS.iv4
+usr/share/xt_geoip/RU.iv4
+usr/share/xt_geoip/RW.iv4
+usr/share/xt_geoip/SA.iv4
+usr/share/xt_geoip/SB.iv4
+usr/share/xt_geoip/SC.iv4
+usr/share/xt_geoip/SD.iv4
+usr/share/xt_geoip/SE.iv4
+usr/share/xt_geoip/SG.iv4
+usr/share/xt_geoip/SH.iv4
+usr/share/xt_geoip/SI.iv4
+usr/share/xt_geoip/SJ.iv4
+usr/share/xt_geoip/SK.iv4
+usr/share/xt_geoip/SL.iv4
+usr/share/xt_geoip/SM.iv4
+usr/share/xt_geoip/SN.iv4
+usr/share/xt_geoip/SO.iv4
+usr/share/xt_geoip/SR.iv4
+usr/share/xt_geoip/SS.iv4
+usr/share/xt_geoip/ST.iv4
+usr/share/xt_geoip/SV.iv4
+usr/share/xt_geoip/SX.iv4
+usr/share/xt_geoip/SY.iv4
+usr/share/xt_geoip/SZ.iv4
+usr/share/xt_geoip/TC.iv4
+usr/share/xt_geoip/TD.iv4
+usr/share/xt_geoip/TF.iv4
+usr/share/xt_geoip/TG.iv4
+usr/share/xt_geoip/TH.iv4
+usr/share/xt_geoip/TJ.iv4
+usr/share/xt_geoip/TK.iv4
+usr/share/xt_geoip/TL.iv4
+usr/share/xt_geoip/TM.iv4
+usr/share/xt_geoip/TN.iv4
+usr/share/xt_geoip/TO.iv4
+usr/share/xt_geoip/TR.iv4
+usr/share/xt_geoip/TT.iv4
+usr/share/xt_geoip/TV.iv4
+usr/share/xt_geoip/TW.iv4
+usr/share/xt_geoip/TZ.iv4
+usr/share/xt_geoip/UA.iv4
+usr/share/xt_geoip/UG.iv4
+usr/share/xt_geoip/UM.iv4
+usr/share/xt_geoip/US.iv4
+usr/share/xt_geoip/UY.iv4
+usr/share/xt_geoip/UZ.iv4
+usr/share/xt_geoip/VA.iv4
+usr/share/xt_geoip/VC.iv4
+usr/share/xt_geoip/VE.iv4
+usr/share/xt_geoip/VG.iv4
+usr/share/xt_geoip/VI.iv4
+usr/share/xt_geoip/VN.iv4
+usr/share/xt_geoip/VU.iv4
+usr/share/xt_geoip/WF.iv4
+usr/share/xt_geoip/WS.iv4
+usr/share/xt_geoip/YE.iv4
+usr/share/xt_geoip/YT.iv4
+usr/share/xt_geoip/ZA.iv4
+usr/share/xt_geoip/ZM.iv4
+usr/share/xt_geoip/ZW.iv4
+#var/lib/location
+var/lib/location/database.db
+var/lib/location/signing-key.pem
diff --git a/config/rootfiles/common/stage2 b/config/rootfiles/common/stage2
index f56439335..2c4f715dd 100644
--- a/config/rootfiles/common/stage2
+++ b/config/rootfiles/common/stage2
@@ -93,6 +93,7 @@ usr/local/bin/connscheduler
usr/local/bin/consort.sh
usr/local/bin/convert-dns-settings
usr/local/bin/convert-ovpn
+usr/local/bin/convert-to-location
usr/local/bin/filesystem-cleanup
usr/local/bin/hddshutdown
usr/local/bin/ipsec-interfaces
@@ -107,8 +108,7 @@ usr/local/bin/timecheck
usr/local/bin/timezone-transition
usr/local/bin/update-lang-cache
usr/local/bin/update-ids-ruleset
-usr/local/bin/xt_geoip_build
-usr/local/bin/xt_geoip_update
+usr/local/bin/update-location-database
#usr/local/include
#usr/local/lib
#usr/local/lib/sse2
diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/co=
mmon/web-user-interface
index 9aaa05631..aa32053a2 100644
--- a/config/rootfiles/common/web-user-interface
+++ b/config/rootfiles/common/web-user-interface
@@ -26,7 +26,6 @@ srv/web/ipfire/cgi-bin/extrahd.cgi
srv/web/ipfire/cgi-bin/fireinfo.cgi
srv/web/ipfire/cgi-bin/firewall.cgi
srv/web/ipfire/cgi-bin/fwhosts.cgi
-srv/web/ipfire/cgi-bin/geoip-block.cgi
srv/web/ipfire/cgi-bin/gpl.cgi
#srv/web/ipfire/cgi-bin/guardian.cgi
srv/web/ipfire/cgi-bin/gui.cgi
@@ -36,6 +35,7 @@ srv/web/ipfire/cgi-bin/ids.cgi
srv/web/ipfire/cgi-bin/index.cgi
srv/web/ipfire/cgi-bin/ipinfo.cgi
srv/web/ipfire/cgi-bin/iptables.cgi
+srv/web/ipfire/cgi-bin/location-block.cgi
srv/web/ipfire/cgi-bin/logs.cgi
srv/web/ipfire/cgi-bin/logs.cgi/calamaris.dat
srv/web/ipfire/cgi-bin/logs.cgi/config.dat
diff --git a/config/rootfiles/common/x86_64/initscripts b/config/rootfiles/co=
mmon/x86_64/initscripts
index c0fc18705..b4e944342 100644
--- a/config/rootfiles/common/x86_64/initscripts
+++ b/config/rootfiles/common/x86_64/initscripts
@@ -66,7 +66,6 @@ etc/rc.d/init.d/networking/red.up/50-ovpn
etc/rc.d/init.d/networking/red.up/98-leds
etc/rc.d/init.d/networking/red.up/99-beep
etc/rc.d/init.d/networking/red.up/99-fireinfo
-etc/rc.d/init.d/networking/red.up/99-geoip-database
etc/rc.d/init.d/networking/red.up/99-pakfire-update
etc/rc.d/init.d/networking/wpa_supplicant.exe
etc/rc.d/init.d/ntp
diff --git a/config/rootfiles/common/x86_64/stage2 b/config/rootfiles/common/=
x86_64/stage2
index 2197ac4ac..7e2ba5bbb 100644
--- a/config/rootfiles/common/x86_64/stage2
+++ b/config/rootfiles/common/x86_64/stage2
@@ -109,8 +109,7 @@ usr/local/bin/timecheck
usr/local/bin/timezone-transition
usr/local/bin/update-ids-ruleset
usr/local/bin/update-lang-cache
-usr/local/bin/xt_geoip_build
-usr/local/bin/xt_geoip_update
+usr/local/bin/update-location-database
#usr/local/include
#usr/local/lib
#usr/local/lib/sse2
diff --git a/config/rootfiles/common/xtables-addons b/config/rootfiles/common=
/xtables-addons
index cb958ee7e..a20047c7d 100644
--- a/config/rootfiles/common/xtables-addons
+++ b/config/rootfiles/common/xtables-addons
@@ -23,11 +23,11 @@ lib/xtables/libxt_quota2.so
usr/lib/libxt_ACCOUNT_cl.so.0
usr/lib/libxt_ACCOUNT_cl.so.0.0.0
#usr/libexec/xtables-addons
-usr/libexec/xtables-addons/xt_geoip_build
-usr/libexec/xtables-addons/xt_geoip_dl
-usr/local/bin/xt_geoip_build
+#usr/libexec/xtables-addons/xt_geoip_build
+#usr/libexec/xtables-addons/xt_geoip_dl
usr/sbin/iptaccount
#usr/share/man/man1/xt_geoip_build.1
#usr/share/man/man1/xt_geoip_dl.1
#usr/share/man/man8/iptaccount.8
#usr/share/man/man8/xtables-addons.8
+/usr/share/xt_geoip/
diff --git a/config/rootfiles/core/147/exclude b/config/rootfiles/core/148/ex=
clude
similarity index 100%
rename from config/rootfiles/core/147/exclude
rename to config/rootfiles/core/148/exclude
diff --git a/config/rootfiles/core/148/filelists/Locale-Country b/config/root=
files/core/148/filelists/Locale-Country
new file mode 120000
index 000000000..025c27878
--- /dev/null
+++ b/config/rootfiles/core/148/filelists/Locale-Country
@@ -0,0 +1 @@
+../../../common/Locale-Country
\ No newline at end of file
diff --git a/config/rootfiles/core/148/filelists/files b/config/rootfiles/cor=
e/148/filelists/files
new file mode 100644
index 000000000..3578b7a21
--- /dev/null
+++ b/config/rootfiles/core/148/filelists/files
@@ -0,0 +1,28 @@
+etc/system-release
+etc/issue
+srv/web/ipfire/cgi-bin/credits.cgi
+var/ipfire/langs
+etc/rc.d/init.d/firewall
+srv/web/ipfire/cgi-bin/connections.cgi
+srv/web/ipfire/cgi-bin/country.cgi
+srv/web/ipfire/cgi-bin/dns.cgi
+srv/web/ipfire/cgi-bin/firewall.cgi
+srv/web/ipfire/cgi-bin/fwhosts.cgi
+srv/web/ipfire/cgi-bin/ipinfo.cgi
+srv/web/ipfire/cgi-bin/location-block.cgi
+srv/web/ipfire/cgi-bin//logs.cgi/firewalllog.dat
+srv/web/ipfire/cgi-bin/logs.cgi/firewalllogcountry.dat
+srv/web/ipfire/cgi-bin/logs.cgi/firewalllogip.dat
+srv/web/ipfire/cgi-bin/logs.cgi/showrequestfromcountry.dat
+srv/web/ipfire/cgi-bin/netexternal.cgi
+srv/web/ipfire/cgi-bin/ovpnmain.cgi
+srv/web/ipfire/cgi-bin/remote.cgi
+srv/web/ipfire/cgi-bin/tor.cgi
+usr/lib/firewall/firewall-lib.pl
+usr/lib/firewall/rules.pl
+usr/local/bin/convert-to-location
+usr/local/bin/update-location-database
+var/ipfire/backup/bin/backup.pl
+var/ipfire/firewall/locationblock
+var/ipfire/location-functions.pl
+var/ipfire/menu.d/50-firewall.menu
diff --git a/config/rootfiles/core/148/filelists/libloc b/config/rootfiles/co=
re/148/filelists/libloc
new file mode 120000
index 000000000..ff4a92429
--- /dev/null
+++ b/config/rootfiles/core/148/filelists/libloc
@@ -0,0 +1 @@
+../../../common/libloc
\ No newline at end of file
diff --git a/config/rootfiles/core/148/filelists/xtables-addons b/config/root=
files/core/148/filelists/xtables-addons
new file mode 120000
index 000000000..2e24c4298
--- /dev/null
+++ b/config/rootfiles/core/148/filelists/xtables-addons
@@ -0,0 +1 @@
+../../../common/xtables-addons
\ No newline at end of file
diff --git a/config/rootfiles/core/148/update.sh b/config/rootfiles/core/148/=
update.sh
new file mode 100644
index 000000000..c89da8fc4
--- /dev/null
+++ b/config/rootfiles/core/148/update.sh
@@ -0,0 +1,80 @@
+#!/bin/bash
+############################################################################
+# #
+# This file is part of the IPFire Firewall. #
+# #
+# IPFire is free software; you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation; either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# IPFire is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with IPFire; if not, write to the Free Software #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
+# #
+# Copyright (C) 2020 IPFire-Team . =
#
+# #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+core=3D148
+
+# Remove old core updates from pakfire cache to save space...
+for (( i=3D1; i<=3D$core; i++ )); do
+ rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+# Remove files
+rm -vf \
+ /etc/rc.d/init.d/networking/red.ip/99-geoip-database \
+ /srv/web/ipfire/cgi-bin/geoip-block.cgi \
+ /usr/lib/libGeoIP*
+ /usr/lib/perl5/site_perl/5.30.0/Geo \
+ /usr/share/GeoIP \
+ /var/lib/GoIP \
+ /usr/local/bin/xt_geoip* \
+ /var/ipfire/geoip-functions.pl \
+
+# Stop services
+
+# Extract files
+extract_files
+
+# update linker config
+ldconfig
+
+# update location database
+/usr/local/bin/convert-to-location
+/usr/local/bin/update-location-database
+
+# Update Language cache
+/usr/local/bin/update-lang-cache
+
+# Filesytem cleanup
+/usr/local/bin/filesystem-cleanup
+
+# Start services
+
+# This update needs a reboot...
+#touch /var/run/need_reboot
+
+# Finish
+/etc/init.d/fireinfo start
+sendprofile
+
+# Update grub config to display new core version
+if [ -e /boot/grub/grub.cfg ]; then
+ grub-mkconfig -o /boot/grub/grub.cfg
+fi
+
+sync
+
+# Don't report the exitcode last command
+exit 0
diff --git a/config/rootfiles/oldcore/103/filelists/curl b/config/rootfiles/o=
ldcore/103/filelists/curl
deleted file mode 120000
index 4b84bef53..000000000
--- a/config/rootfiles/oldcore/103/filelists/curl
+++ /dev/null
@@ -1 +0,0 @@
-../../../common/curl
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/147/exclude b/config/rootfiles/oldcore/=
147/exclude
new file mode 100644
index 000000000..b22159878
--- /dev/null
+++ b/config/rootfiles/oldcore/147/exclude
@@ -0,0 +1,28 @@
+boot/config.txt
+boot/grub/grub.cfg
+boot/grub/grubenv
+etc/alternatives
+etc/collectd.custom
+etc/default/grub
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/localtime
+etc/shadow
+etc/snort/snort.conf
+etc/ssl/openssl.cnf
+etc/sudoers
+etc/sysconfig/firewall.local
+etc/sysconfig/rc.local
+etc/udev/rules.d/30-persistent-network.rules
+srv/web/ipfire/html/proxy.pac
+var/ipfire/dma
+var/ipfire/time
+var/ipfire/ovpn
+var/lib/alternatives
+var/log/cache
+var/log/dhcpcd.log
+var/log/messages
+var/state/dhcp/dhcpd.leases
+var/updatecache
diff --git a/config/rootfiles/core/147/filelists/aarch64/gmp b/config/rootfil=
es/oldcore/147/filelists/aarch64/gmp
similarity index 100%
rename from config/rootfiles/core/147/filelists/aarch64/gmp
rename to config/rootfiles/oldcore/147/filelists/aarch64/gmp
diff --git a/config/rootfiles/core/147/filelists/armv5tel/gmp b/config/rootfi=
les/oldcore/147/filelists/armv5tel/gmp
similarity index 100%
rename from config/rootfiles/core/147/filelists/armv5tel/gmp
rename to config/rootfiles/oldcore/147/filelists/armv5tel/gmp
diff --git a/config/rootfiles/core/147/filelists/bind b/config/rootfiles/oldc=
ore/147/filelists/bind
similarity index 100%
rename from config/rootfiles/core/147/filelists/bind
rename to config/rootfiles/oldcore/147/filelists/bind
diff --git a/config/rootfiles/core/147/filelists/ca-certificates b/config/roo=
tfiles/oldcore/147/filelists/ca-certificates
similarity index 100%
rename from config/rootfiles/core/147/filelists/ca-certificates
rename to config/rootfiles/oldcore/147/filelists/ca-certificates
diff --git a/config/rootfiles/core/147/filelists/dhcpcd b/config/rootfiles/ol=
dcore/147/filelists/dhcpcd
similarity index 100%
rename from config/rootfiles/core/147/filelists/dhcpcd
rename to config/rootfiles/oldcore/147/filelists/dhcpcd
diff --git a/config/rootfiles/core/147/filelists/files b/config/rootfiles/old=
core/147/filelists/files
similarity index 100%
rename from config/rootfiles/core/147/filelists/files
rename to config/rootfiles/oldcore/147/filelists/files
diff --git a/config/rootfiles/core/147/filelists/gnutls b/config/rootfiles/ol=
dcore/147/filelists/gnutls
similarity index 100%
rename from config/rootfiles/core/147/filelists/gnutls
rename to config/rootfiles/oldcore/147/filelists/gnutls
diff --git a/config/rootfiles/core/147/filelists/i586/gmp b/config/rootfiles/=
oldcore/147/filelists/i586/gmp
similarity index 100%
rename from config/rootfiles/core/147/filelists/i586/gmp
rename to config/rootfiles/oldcore/147/filelists/i586/gmp
diff --git a/config/rootfiles/core/147/filelists/iproute2 b/config/rootfiles/=
oldcore/147/filelists/iproute2
similarity index 100%
rename from config/rootfiles/core/147/filelists/iproute2
rename to config/rootfiles/oldcore/147/filelists/iproute2
diff --git a/config/rootfiles/core/147/filelists/libgcrypt b/config/rootfiles=
/oldcore/147/filelists/libgcrypt
similarity index 100%
rename from config/rootfiles/core/147/filelists/libgcrypt
rename to config/rootfiles/oldcore/147/filelists/libgcrypt
diff --git a/config/rootfiles/core/147/filelists/libgpg-error b/config/rootfi=
les/oldcore/147/filelists/libgpg-error
similarity index 100%
rename from config/rootfiles/core/147/filelists/libgpg-error
rename to config/rootfiles/oldcore/147/filelists/libgpg-error
diff --git a/config/rootfiles/core/147/filelists/linux-firmware-updates b/con=
fig/rootfiles/oldcore/147/filelists/linux-firmware-updates
similarity index 100%
rename from config/rootfiles/core/147/filelists/linux-firmware-updates
rename to config/rootfiles/oldcore/147/filelists/linux-firmware-updates
diff --git a/config/rootfiles/core/147/filelists/ntp b/config/rootfiles/oldco=
re/147/filelists/ntp
similarity index 100%
rename from config/rootfiles/core/147/filelists/ntp
rename to config/rootfiles/oldcore/147/filelists/ntp
diff --git a/config/rootfiles/core/147/filelists/openssh b/config/rootfiles/o=
ldcore/147/filelists/openssh
similarity index 100%
rename from config/rootfiles/core/147/filelists/openssh
rename to config/rootfiles/oldcore/147/filelists/openssh
diff --git a/config/rootfiles/core/147/filelists/squid b/config/rootfiles/old=
core/147/filelists/squid
similarity index 100%
rename from config/rootfiles/core/147/filelists/squid
rename to config/rootfiles/oldcore/147/filelists/squid
diff --git a/config/rootfiles/core/147/filelists/squidguard b/config/rootfile=
s/oldcore/147/filelists/squidguard
similarity index 100%
rename from config/rootfiles/core/147/filelists/squidguard
rename to config/rootfiles/oldcore/147/filelists/squidguard
diff --git a/config/rootfiles/core/147/filelists/x86_64/gmp b/config/rootfile=
s/oldcore/147/filelists/x86_64/gmp
similarity index 100%
rename from config/rootfiles/core/147/filelists/x86_64/gmp
rename to config/rootfiles/oldcore/147/filelists/x86_64/gmp
diff --git a/config/rootfiles/core/147/update.sh b/config/rootfiles/oldcore/1=
47/update.sh
similarity index 100%
rename from config/rootfiles/core/147/update.sh
rename to config/rootfiles/oldcore/147/update.sh
diff --git a/doc/language_issues.en b/doc/language_issues.en
index f651e76aa..5a96482c8 100644
--- a/doc/language_issues.en
+++ b/doc/language_issues.en
@@ -892,7 +892,7 @@ WARNING: untranslated string: fwdfw wd_thu =3D Thu
WARNING: untranslated string: fwdfw wd_tue =3D Tue
WARNING: untranslated string: fwdfw wd_wed =3D Wed
WARNING: untranslated string: fwhost OpenVPN N-2-N =3D OpenVPN Net-to-Net
-WARNING: untranslated string: fwhost addgeoipgrp =3D Add new GeoIP group
+WARNING: untranslated string: fwhost addgeoipgrp =3D Add new Location group
WARNING: untranslated string: fwhost addgrp =3D Add new network/host group
WARNING: untranslated string: fwhost addgrpname =3D Group name:
WARNING: untranslated string: fwhost addhost =3D Add new host
@@ -905,9 +905,9 @@ WARNING: untranslated string: fwhost ccdhost =3D OpenVPN =
clients:
WARNING: untranslated string: fwhost ccdnet =3D OpenVPN networks:
WARNING: untranslated string: fwhost change =3D Modify
WARNING: untranslated string: fwhost cust addr =3D Hosts
-WARNING: untranslated string: fwhost cust geoipgroup =3D GeoIP Groups
+WARNING: untranslated string: fwhost cust geoipgroup =3D Location Groups
WARNING: untranslated string: fwhost cust geoipgrp =3D unknown string
-WARNING: untranslated string: fwhost cust geoiplocation =3D GeoIP Locations
+WARNING: untranslated string: fwhost cust geoiplocation =3D Location Locatio=
ns
WARNING: untranslated string: fwhost cust grp =3D Network/Host Groups
WARNING: untranslated string: fwhost cust net =3D Networks
WARNING: untranslated string: fwhost cust service =3D Services
@@ -947,7 +947,7 @@ WARNING: untranslated string: fwhost ip_mac =3D IP/MAC ad=
dress
WARNING: untranslated string: fwhost ipsec net =3D IPsec networks:
WARNING: untranslated string: fwhost menu =3D Firewall Groups
WARNING: untranslated string: fwhost netaddress =3D Network address
-WARNING: untranslated string: fwhost newgeoipgrp =3D GeoIP Groups
+WARNING: untranslated string: fwhost newgeoipgrp =3D Location Groups
WARNING: untranslated string: fwhost newgrp =3D Network/Host Groups
WARNING: untranslated string: fwhost newhost =3D Hosts
WARNING: untranslated string: fwhost newnet =3D Networks
@@ -972,13 +972,13 @@ WARNING: untranslated string: generate ptr =3D Generate=
PTR
WARNING: untranslated string: generate root/host certificates =3D Generate r=
oot/host certificates
WARNING: untranslated string: generating the root and host certificates may =
take a long time. it can take up to several minutes on older hardware. please=
be patient =3D Generating the root and host certificates may take a long tim=
e. It can take up to several minutes on older hardware. Please be patient.
WARNING: untranslated string: genre =3D Genre
-WARNING: untranslated string: geoip =3D GeoIP
-WARNING: untranslated string: geoipblock =3D GeoIP Block
+WARNING: untranslated string: geoip =3D Location
+WARNING: untranslated string: geoipblock =3D Location Block
WARNING: untranslated string: geoipblock block countries =3D Block countries
-WARNING: untranslated string: geoipblock configuration =3D GeoIP Configurati=
on
+WARNING: untranslated string: geoipblock configuration =3D Location Configur=
ation
WARNING: untranslated string: geoipblock country is allowed =3D Incoming tra=
ffic from this country is allowed
WARNING: untranslated string: geoipblock country is blocked =3D Incoming tra=
ffic from this country will be blocked
-WARNING: untranslated string: geoipblock enable feature =3D Enable GeoIP bas=
ed blocking:
+WARNING: untranslated string: geoipblock enable feature =3D Enable Location =
based blocking:
WARNING: untranslated string: global settings =3D Global Settings
WARNING: untranslated string: gpl i accept these terms and conditions =3D I =
accept these terms and conditions
WARNING: untranslated string: gpl license agreement =3D License Agreement
diff --git a/doc/language_issues.es b/doc/language_issues.es
index 885b44f62..cdd11338c 100644
--- a/doc/language_issues.es
+++ b/doc/language_issues.es
@@ -1000,7 +1000,7 @@ WARNING: untranslated string: fwdfw wd_thu =3D Thu
WARNING: untranslated string: fwdfw wd_tue =3D Tue
WARNING: untranslated string: fwdfw wd_wed =3D Wed
WARNING: untranslated string: fwhost OpenVPN N-2-N =3D OpenVPN Net-to-Net
-WARNING: untranslated string: fwhost addgeoipgrp =3D Add new GeoIP group
+WARNING: untranslated string: fwhost addgeoipgrp =3D Add new Location group
WARNING: untranslated string: fwhost addgrp =3D Add new network/host group
WARNING: untranslated string: fwhost addgrpname =3D Group name:
WARNING: untranslated string: fwhost addhost =3D Add new host
@@ -1013,9 +1013,9 @@ WARNING: untranslated string: fwhost ccdhost =3D OpenVP=
N clients:
WARNING: untranslated string: fwhost ccdnet =3D OpenVPN networks:
WARNING: untranslated string: fwhost change =3D Modify
WARNING: untranslated string: fwhost cust addr =3D Hosts
-WARNING: untranslated string: fwhost cust geoipgroup =3D GeoIP Groups
+WARNING: untranslated string: fwhost cust geoipgroup =3D Location Groups
WARNING: untranslated string: fwhost cust geoipgrp =3D unknown string
-WARNING: untranslated string: fwhost cust geoiplocation =3D GeoIP Locations
+WARNING: untranslated string: fwhost cust geoiplocation =3D Location Locatio=
ns
WARNING: untranslated string: fwhost cust grp =3D Network/Host Groups
WARNING: untranslated string: fwhost cust net =3D Networks
WARNING: untranslated string: fwhost cust service =3D Services
@@ -1055,7 +1055,7 @@ WARNING: untranslated string: fwhost ip_mac =3D IP/MAC =
address
WARNING: untranslated string: fwhost ipsec net =3D IPsec networks:
WARNING: untranslated string: fwhost menu =3D Firewall Groups
WARNING: untranslated string: fwhost netaddress =3D Network address
-WARNING: untranslated string: fwhost newgeoipgrp =3D GeoIP Groups
+WARNING: untranslated string: fwhost newgeoipgrp =3D Location Groups
WARNING: untranslated string: fwhost newgrp =3D Network/Host Groups
WARNING: untranslated string: fwhost newhost =3D Hosts
WARNING: untranslated string: fwhost newnet =3D Networks
diff --git a/doc/language_issues.it b/doc/language_issues.it
index fa7a842dc..444a2c9c8 100644
--- a/doc/language_issues.it
+++ b/doc/language_issues.it
@@ -903,20 +903,20 @@ WARNING: untranslated string: fwdfw limitconcon =3D Lim=
it concurrent connections p
WARNING: untranslated string: fwdfw maxconcon =3D Max. concurrent connections
WARNING: untranslated string: fwdfw numcon =3D Number of connections
WARNING: untranslated string: fwdfw ratelimit =3D Rate-limit new connections
-WARNING: untranslated string: fwhost addgeoipgrp =3D Add new GeoIP group
-WARNING: untranslated string: fwhost cust geoipgroup =3D GeoIP Groups
+WARNING: untranslated string: fwhost addgeoipgrp =3D Add new Location group
+WARNING: untranslated string: fwhost cust geoipgroup =3D Location Groups
WARNING: untranslated string: fwhost cust geoipgrp =3D unknown string
-WARNING: untranslated string: fwhost cust geoiplocation =3D GeoIP Locations
+WARNING: untranslated string: fwhost cust geoiplocation =3D Location Locatio=
ns
WARNING: untranslated string: fwhost err hostip =3D unknown string
-WARNING: untranslated string: fwhost newgeoipgrp =3D GeoIP Groups
+WARNING: untranslated string: fwhost newgeoipgrp =3D Location Groups
WARNING: untranslated string: generate ptr =3D Generate PTR
-WARNING: untranslated string: geoip =3D GeoIP
-WARNING: untranslated string: geoipblock =3D GeoIP Block
+WARNING: untranslated string: geoip =3D Location
+WARNING: untranslated string: geoipblock =3D Location Block
WARNING: untranslated string: geoipblock block countries =3D Block countries
-WARNING: untranslated string: geoipblock configuration =3D GeoIP Configurati=
on
+WARNING: untranslated string: geoipblock configuration =3D Location Configur=
ation
WARNING: untranslated string: geoipblock country is allowed =3D Incoming tra=
ffic from this country is allowed
WARNING: untranslated string: geoipblock country is blocked =3D Incoming tra=
ffic from this country will be blocked
-WARNING: untranslated string: geoipblock enable feature =3D Enable GeoIP bas=
ed blocking:
+WARNING: untranslated string: geoipblock enable feature =3D Enable Location =
based blocking:
WARNING: untranslated string: guaranteed bandwith =3D Guaranteed bandwith
WARNING: untranslated string: guardian =3D Guardian
WARNING: untranslated string: guardian block a host =3D unknown string
diff --git a/doc/language_issues.nl b/doc/language_issues.nl
index dec6d6a79..3d226cd36 100644
--- a/doc/language_issues.nl
+++ b/doc/language_issues.nl
@@ -909,22 +909,22 @@ WARNING: untranslated string: fwdfw limitconcon =3D Lim=
it concurrent connections p
WARNING: untranslated string: fwdfw maxconcon =3D Max. concurrent connections
WARNING: untranslated string: fwdfw numcon =3D Number of connections
WARNING: untranslated string: fwdfw ratelimit =3D Rate-limit new connections
-WARNING: untranslated string: fwhost addgeoipgrp =3D Add new GeoIP group
-WARNING: untranslated string: fwhost cust geoipgroup =3D GeoIP Groups
+WARNING: untranslated string: fwhost addgeoipgrp =3D Add new Location group
+WARNING: untranslated string: fwhost cust geoipgroup =3D Location Groups
WARNING: untranslated string: fwhost cust geoipgrp =3D unknown string
-WARNING: untranslated string: fwhost cust geoiplocation =3D GeoIP Locations
+WARNING: untranslated string: fwhost cust geoiplocation =3D Location Locatio=
ns
WARNING: untranslated string: fwhost err hostip =3D unknown string
-WARNING: untranslated string: fwhost newgeoipgrp =3D GeoIP Groups
+WARNING: untranslated string: fwhost newgeoipgrp =3D Location Groups
WARNING: untranslated string: gen dh =3D Generate new Diffie-Hellman paramet=
ers
WARNING: untranslated string: generate dh key =3D Generate Diffie-Hellman pa=
rameters
WARNING: untranslated string: generate ptr =3D Generate PTR
-WARNING: untranslated string: geoip =3D GeoIP
-WARNING: untranslated string: geoipblock =3D GeoIP Block
+WARNING: untranslated string: geoip =3D Location
+WARNING: untranslated string: geoipblock =3D Location Block
WARNING: untranslated string: geoipblock block countries =3D Block countries
-WARNING: untranslated string: geoipblock configuration =3D GeoIP Configurati=
on
+WARNING: untranslated string: geoipblock configuration =3D Location Configur=
ation
WARNING: untranslated string: geoipblock country is allowed =3D Incoming tra=
ffic from this country is allowed
WARNING: untranslated string: geoipblock country is blocked =3D Incoming tra=
ffic from this country will be blocked
-WARNING: untranslated string: geoipblock enable feature =3D Enable GeoIP bas=
ed blocking:
+WARNING: untranslated string: geoipblock enable feature =3D Enable Location =
based blocking:
WARNING: untranslated string: guardian =3D Guardian
WARNING: untranslated string: guardian block a host =3D unknown string
WARNING: untranslated string: guardian block httpd brute-force =3D unknown s=
tring
diff --git a/doc/language_issues.pl b/doc/language_issues.pl
index 885b44f62..cdd11338c 100644
--- a/doc/language_issues.pl
+++ b/doc/language_issues.pl
@@ -1000,7 +1000,7 @@ WARNING: untranslated string: fwdfw wd_thu =3D Thu
WARNING: untranslated string: fwdfw wd_tue =3D Tue
WARNING: untranslated string: fwdfw wd_wed =3D Wed
WARNING: untranslated string: fwhost OpenVPN N-2-N =3D OpenVPN Net-to-Net
-WARNING: untranslated string: fwhost addgeoipgrp =3D Add new GeoIP group
+WARNING: untranslated string: fwhost addgeoipgrp =3D Add new Location group
WARNING: untranslated string: fwhost addgrp =3D Add new network/host group
WARNING: untranslated string: fwhost addgrpname =3D Group name:
WARNING: untranslated string: fwhost addhost =3D Add new host
@@ -1013,9 +1013,9 @@ WARNING: untranslated string: fwhost ccdhost =3D OpenVP=
N clients:
WARNING: untranslated string: fwhost ccdnet =3D OpenVPN networks:
WARNING: untranslated string: fwhost change =3D Modify
WARNING: untranslated string: fwhost cust addr =3D Hosts
-WARNING: untranslated string: fwhost cust geoipgroup =3D GeoIP Groups
+WARNING: untranslated string: fwhost cust geoipgroup =3D Location Groups
WARNING: untranslated string: fwhost cust geoipgrp =3D unknown string
-WARNING: untranslated string: fwhost cust geoiplocation =3D GeoIP Locations
+WARNING: untranslated string: fwhost cust geoiplocation =3D Location Locatio=
ns
WARNING: untranslated string: fwhost cust grp =3D Network/Host Groups
WARNING: untranslated string: fwhost cust net =3D Networks
WARNING: untranslated string: fwhost cust service =3D Services
@@ -1055,7 +1055,7 @@ WARNING: untranslated string: fwhost ip_mac =3D IP/MAC =
address
WARNING: untranslated string: fwhost ipsec net =3D IPsec networks:
WARNING: untranslated string: fwhost menu =3D Firewall Groups
WARNING: untranslated string: fwhost netaddress =3D Network address
-WARNING: untranslated string: fwhost newgeoipgrp =3D GeoIP Groups
+WARNING: untranslated string: fwhost newgeoipgrp =3D Location Groups
WARNING: untranslated string: fwhost newgrp =3D Network/Host Groups
WARNING: untranslated string: fwhost newhost =3D Hosts
WARNING: untranslated string: fwhost newnet =3D Networks
diff --git a/doc/language_issues.ru b/doc/language_issues.ru
index d5433b37e..86d960299 100644
--- a/doc/language_issues.ru
+++ b/doc/language_issues.ru
@@ -994,7 +994,7 @@ WARNING: untranslated string: fwdfw wd_thu =3D Thu
WARNING: untranslated string: fwdfw wd_tue =3D Tue
WARNING: untranslated string: fwdfw wd_wed =3D Wed
WARNING: untranslated string: fwhost OpenVPN N-2-N =3D OpenVPN Net-to-Net
-WARNING: untranslated string: fwhost addgeoipgrp =3D Add new GeoIP group
+WARNING: untranslated string: fwhost addgeoipgrp =3D Add new Location group
WARNING: untranslated string: fwhost addgrp =3D Add new network/host group
WARNING: untranslated string: fwhost addgrpname =3D Group name:
WARNING: untranslated string: fwhost addhost =3D Add new host
@@ -1007,9 +1007,9 @@ WARNING: untranslated string: fwhost ccdhost =3D OpenVP=
N clients:
WARNING: untranslated string: fwhost ccdnet =3D OpenVPN networks:
WARNING: untranslated string: fwhost change =3D Modify
WARNING: untranslated string: fwhost cust addr =3D Hosts
-WARNING: untranslated string: fwhost cust geoipgroup =3D GeoIP Groups
+WARNING: untranslated string: fwhost cust geoipgroup =3D Location Groups
WARNING: untranslated string: fwhost cust geoipgrp =3D unknown string
-WARNING: untranslated string: fwhost cust geoiplocation =3D GeoIP Locations
+WARNING: untranslated string: fwhost cust geoiplocation =3D Location Locatio=
ns
WARNING: untranslated string: fwhost cust grp =3D Network/Host Groups
WARNING: untranslated string: fwhost cust net =3D Networks
WARNING: untranslated string: fwhost cust service =3D Services
@@ -1049,7 +1049,7 @@ WARNING: untranslated string: fwhost ip_mac =3D IP/MAC =
address
WARNING: untranslated string: fwhost ipsec net =3D IPsec networks:
WARNING: untranslated string: fwhost menu =3D Firewall Groups
WARNING: untranslated string: fwhost netaddress =3D Network address
-WARNING: untranslated string: fwhost newgeoipgrp =3D GeoIP Groups
+WARNING: untranslated string: fwhost newgeoipgrp =3D Location Groups
WARNING: untranslated string: fwhost newgrp =3D Network/Host Groups
WARNING: untranslated string: fwhost newhost =3D Hosts
WARNING: untranslated string: fwhost newnet =3D Networks
@@ -1067,13 +1067,13 @@ WARNING: untranslated string: fwhost welcome =3D Over=
here, you can group single h
WARNING: untranslated string: gen dh =3D Generate new Diffie-Hellman paramet=
ers
WARNING: untranslated string: generate dh key =3D Generate Diffie-Hellman pa=
rameters
WARNING: untranslated string: generate ptr =3D Generate PTR
-WARNING: untranslated string: geoip =3D GeoIP
-WARNING: untranslated string: geoipblock =3D GeoIP Block
+WARNING: untranslated string: geoip =3D Location
+WARNING: untranslated string: geoipblock =3D Location Block
WARNING: untranslated string: geoipblock block countries =3D Block countries
-WARNING: untranslated string: geoipblock configuration =3D GeoIP Configurati=
on
+WARNING: untranslated string: geoipblock configuration =3D Location Configur=
ation
WARNING: untranslated string: geoipblock country is allowed =3D Incoming tra=
ffic from this country is allowed
WARNING: untranslated string: geoipblock country is blocked =3D Incoming tra=
ffic from this country will be blocked
-WARNING: untranslated string: geoipblock enable feature =3D Enable GeoIP bas=
ed blocking:
+WARNING: untranslated string: geoipblock enable feature =3D Enable Location =
based blocking:
WARNING: untranslated string: grouptype =3D Grouptype:
WARNING: untranslated string: guardian =3D Guardian
WARNING: untranslated string: guardian block a host =3D unknown string
diff --git a/html/cgi-bin/connections.cgi b/html/cgi-bin/connections.cgi
index 7399fea3c..6c55bd7a0 100644
--- a/html/cgi-bin/connections.cgi
+++ b/html/cgi-bin/connections.cgi
@@ -32,7 +32,7 @@ use Switch;
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}/location-functions.pl";
=20
my $colour_multicast =3D "#A0A0A0";
=20
@@ -86,6 +86,9 @@ if ( $debug ){
my @dummy =3D ( ${Header::table1colour} );
undef (@dummy);
=20
+# Init libloc database connection.
+my $libloc_db_handle =3D &Location::Functions::init();
+
# check sorting arguments
if ( $cgiin{'sort_field'} ~~ [ '1','2','3','4','5','6','7','8','9' ] ) {
$SORT_FIELD =3D $cgiin{'sort_field'};
@@ -550,11 +553,11 @@ foreach my $line (@conntrack) {
my $bytes_in =3D format_bytes($bytes[0]);
my $bytes_out =3D format_bytes($bytes[1]);
=20
- # enumerate GeoIP information
- my $srcccode =3D &GeoIP::lookup($sip_ret);
- my $src_flag_icon =3D &GeoIP::get_flag_icon($srcccode);
- my $dstccode =3D &GeoIP::lookup($dip_ret);
- my $dst_flag_icon =3D &GeoIP::get_flag_icon($dstccode);
+ # enumerate location information
+ my $srcccode =3D &Location::Functions::lookup_country_code($libloc_db_handl=
e, $sip_ret);
+ my $src_flag_icon =3D &Location::Functions::get_flag_icon($srcccode);
+ my $dstccode =3D &Location::Functions::lookup_country_code($libloc_db_handl=
e, $dip_ret);
+ my $dst_flag_icon =3D &Location::Functions::get_flag_icon($dstccode);
=20
# Format TTL
$ttl =3D format_time($ttl);
diff --git a/html/cgi-bin/country.cgi b/html/cgi-bin/country.cgi
index 8df2427a9..a1cf24347 100644
--- a/html/cgi-bin/country.cgi
+++ b/html/cgi-bin/country.cgi
@@ -28,7 +28,7 @@ my $lines =3D '1';
my $lines2 =3D '';
=20
require '/var/ipfire/general-functions.pl';
-require "${General::swroot}/geoip-functions.pl";
+require "${General::swroot}/location-functions.pl";
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
=20
@@ -63,10 +63,10 @@ foreach my $country (@countries) {
$country =3D uc($country);
=20
# Get flag icon for of the country.
- my $flag_icon =3D &GeoIP::get_flag_icon($country);
+ my $flag_icon =3D &Location::Functions::get_flag_icon($country);
=20
# Get country name.
- my $name =3D &GeoIP::get_full_country_name($country);
+ my $name =3D &Location::Functions::get_full_country_name($country);
=20
if ($lines % 2) {
print "
";
diff --git a/html/cgi-bin/credits.cgi b/html/cgi-bin/credits.cgi
index 08d5a98fb..2f3ee3b4a 100644
--- a/html/cgi-bin/credits.cgi
+++ b/html/cgi-bin/credits.cgi
@@ -147,16 +147,6 @@ END
;
&Header::closebox();
=20
-&Header::openbox("100%", "left", $Lang::tr{'other'});
-print <
- This product includes GeoLite data created by MaxMind, available from
- http://www.maxmind.c=
om/.
-
-END
-;
-&Header::closebox();
-
&Header::closebigbox();
=20
&Header::closepage();
diff --git a/html/cgi-bin/dns.cgi b/html/cgi-bin/dns.cgi
index 676d95f8a..0a097e2c0 100755
--- a/html/cgi-bin/dns.cgi
+++ b/html/cgi-bin/dns.cgi
@@ -27,7 +27,7 @@ use IO::Socket;
#use CGI::Carp 'fatalsToBrowser';
=20
require '/var/ipfire/general-functions.pl';
-require "${General::swroot}/geoip-functions.pl";
+require "${General::swroot}/location-functions.pl";
require "${General::swroot}/ids-functions.pl";
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
@@ -269,6 +269,9 @@ my %dns_servers =3D ();
# Read-in config file.
&General::readhasharray("$servers_file", \%dns_servers);
=20
+# Libloc database handle
+my $libloc_db_handle =3D &Location::Functions::init();
+
&Header::openpage($Lang::tr{'dns'}, 1, '');
=20
&Header::openbigbox('100%', 'left', '', $errormessage);
@@ -594,9 +597,9 @@ END
$status_colour =3D ${Header::colourred};
}
=20
- # collect more information about name server (rDNS, GeoIP country code)
- my $ccode =3D &GeoIP::lookup($nameserver);
- my $flag_icon =3D &GeoIP::get_flag_icon($ccode);
+ # collect more information about name server (rDNS, country code)
+ my $ccode =3D &Location::Functions::lookup_country_code($libloc_db_handl=
e, $nameserver);
+ my $flag_icon =3D &Location::Functions::get_flag_icon($ccode);
=20
my $rdns;
=20
diff --git a/html/cgi-bin/firewall.cgi b/html/cgi-bin/firewall.cgi
index f54bf6f6c..1483e779f 100644
--- a/html/cgi-bin/firewall.cgi
+++ b/html/cgi-bin/firewall.cgi
@@ -35,7 +35,7 @@ require '/var/ipfire/general-functions.pl';
require '/var/ipfire/network-functions.pl';
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
-require "${General::swroot}/geoip-functions.pl";
+require "${General::swroot}/location-functions.pl";
require "/usr/lib/firewall/firewall-lib.pl";
=20
unless (-d "${General::swroot}/firewall") { system("mkdir ${General::swroo=
t}/firewall"); }
@@ -50,7 +50,7 @@ my %defaultNetworks=3D();
my %netsettings=3D();
my %customhost=3D();
my %customgrp=3D();
-my %customgeoipgrp=3D();
+my %customlocationgrp=3D();
my %customnetworks=3D();
my %customservice=3D();
my %customservicegrp=3D();
@@ -78,7 +78,7 @@ my $color;
my $confignet =3D "${General::swroot}/fwhosts/customnetworks";
my $confighost =3D "${General::swroot}/fwhosts/customhosts";
my $configgrp =3D "${General::swroot}/fwhosts/customgroups";
-my $configgeoipgrp =3D "${General::swroot}/fwhosts/customgeoipgrp";
+my $configlocationgrp =3D "${General::swroot}/fwhosts/customlocationgrp";
my $configsrv =3D "${General::swroot}/fwhosts/customservices";
my $configsrvgrp =3D "${General::swroot}/fwhosts/customservicegrp";
my $configccdnet =3D "${General::swroot}/ovpn/ccd.conf";
@@ -1071,41 +1071,41 @@ END
}
print"";
}
- # geoip locations / groups.
- my @geoip_locations =3D &fwlib::get_geoip_locations();
+ # Locations / groups.
+ my @locations =3D &fwlib::get_locations();
=20
print "
\n";
- print "
\n";
- print "
$Lang::tr{'geoip'}
\n";
- print "
@@ -1650,7 +1650,7 @@ END
END
}
if ($fwhostsettings{'update'} eq 'on') {
- my @geoip_locations =3D &fwlib::get_geoip_locations();
+ my @location_locations =3D &fwlib::get_locations();
=20
print<
@@ -1662,9 +1662,9 @@ END
@@ -2154,15 +2154,15 @@ sub viewtablegrp
}
=20
}
-sub viewtablegeoipgrp
+sub viewtablelocationgrp
{
# If our filesize is "zero" there is nothing to read-in.
- if (-z "$configgeoipgrp") {
+ if (-z "$configlocationgrp") {
return;
}
=20
- &Header::openbox('100%', 'left', $Lang::tr{'fwhost cust geoipgrp'});
- &General::readhasharray("$configgeoipgrp", \%customgeoipgrp);
+ &Header::openbox('100%', 'left', $Lang::tr{'fwhost cust locationgrp'});
+ &General::readhasharray("$configlocationgrp", \%customlocationgrp);
&General::readhasharray("$fwconfigfwd", \%fwfwd);
&General::readhasharray("$fwconfiginp", \%fwinp);
&General::readhasharray("$fwconfigout", \%fwout);
@@ -2178,15 +2178,15 @@ sub viewtablegeoipgrp
my %hash;
=20
# If there are no groups we are finished here.
- if (!keys %customgeoipgrp) {
+ if (!keys %customlocationgrp) {
print "
$Lang::tr{'fwhost err emptytable'}";
return;
}
=20
# Put all groups in a hash.
- foreach my $key (sort { ncmp($customgeoipgrp{$a}[0],$customgeoipgrp{$b}[0])=
}
- sort { ncmp($customgeoipgrp{$a}[2],$customgeoipgrp{$b}[2]) } keys %custo=
mgeoipgrp) {
- push (@counter,$customgeoipgrp{$key}[0]);
+ foreach my $key (sort { ncmp($customlocationgrp{$a}[0],$customlocationgrp{$=
b}[0]) }
+ sort { ncmp($customlocationgrp{$a}[2],$customlocationgrp{$b}[2]) } keys =
%customlocationgrp) {
+ push (@counter,$customlocationgrp{$key}[0]);
}
=20
# Increase current used key.
@@ -2195,16 +2195,16 @@ sub viewtablegeoipgrp
}
=20
# Sort hash.
- foreach my $key (sort { ncmp($customgeoipgrp{$a}[0],$customgeoipgrp{$b}[0])=
}
- sort { ncmp($customgeoipgrp{$a}[2],$customgeoipgrp{$b}[2]) } keys %custo=
mgeoipgrp) {
+ foreach my $key (sort { ncmp($customlocationgrp{$a}[0],$customlocationgrp{$=
b}[0]) }
+ sort { ncmp($customlocationgrp{$a}[2],$customlocationgrp{$b}[2]) } keys =
%customlocationgrp) {
$count++;
- if ($helper ne $customgeoipgrp{$key}[0]) {
+ if ($helper ne $customlocationgrp{$key}[0]) {
$delflag=3D'0';
=20
- foreach my $key1 (sort { ncmp($customgeoipgrp{$a}[0],$customgeoipgrp{$b}[=
0]) }
- sort { ncmp($customgeoipgrp{$a}[2],$customgeoipgrp{$b}[2]) } keys %cu=
stomgeoipgrp) {
+ foreach my $key1 (sort { ncmp($customlocationgrp{$a}[0],$customlocationgr=
p{$b}[0]) }
+ sort { ncmp($customlocationgrp{$a}[2],$customlocationgrp{$b}[2]) } ke=
ys %customlocationgrp) {
=20
- if ($customgeoipgrp{$key}[0] eq $customgeoipgrp{$key1}[0])
+ if ($customlocationgrp{$key}[0] eq $customlocationgrp{$key1}[0])
{
$delflag++;
}
@@ -2216,13 +2216,13 @@ sub viewtablegeoipgrp
$number=3D1;
=20
# Groupname.
- $grpname=3D$customgeoipgrp{$key}[0];
+ $grpname=3D$customlocationgrp{$key}[0];
=20
# Group remark.
- $remark=3D"$customgeoipgrp{$key}[1]";
+ $remark=3D"$customlocationgrp{$key}[1]";
=20
# Country code.
- $country_code=3D"$customgeoipgrp{$key}[2]";
+ $country_code=3D"$customlocationgrp{$key}[2]";
=20
if ($count gt 1){
print"";
@@ -2234,15 +2234,15 @@ sub viewtablegeoipgrp
print "$Lang::tr{'remark'}:  $remark  \n" if ($remark ne '=
');
=20
# Get group count.
- my $geoipgrpcount=3D&getgeoipcount($grpname);
- print "$Lang::tr{'used'}: $geoipgrpcount x";
+ my $locationgrpcount=3D&getlocationcount($grpname);
+ print "$Lang::tr{'used'}: $locationgrpcount x";
=20
# Only display delete icon, if the group is not used by a firewall rule.
- if($geoipgrpcount =3D=3D '0') {
+ if($locationgrpcount =3D=3D '0') {
print"";
}
=20
@@ -2252,7 +2252,7 @@ print <
-
+
=20
@@ -2285,8 +2285,8 @@ END
} else {
# Check if we are currently editing a group and assign column backgound c=
olors.
my $col=3D'';
- if ( ($fwhostsettings{'ACTION'} eq 'editgeoipgrp' || $fwhostsettings{'upd=
ate'} ne '')
- && $fwhostsettings{'grp_name'} eq $customgeoipgrp{$key}[0]) {
+ if ( ($fwhostsettings{'ACTION'} eq 'editlocationgrp' || $fwhostsettings{'=
update'} ne '')
+ && $fwhostsettings{'grp_name'} eq $customlocationgrp{$key}[0]) {
$col=3D"bgcolor=3D'${Header::colouryellow}'";
} elsif ($count %2 =3D=3D 0){
$col=3D"bgcolor=3D'$color{'color20'}'";
@@ -2295,12 +2295,12 @@ END
}
=20
# Get country flag.
- my $icon =3D &GeoIP::get_flag_icon($customgeoipgrp{$key}[2]);
+ my $icon =3D &Location::Functions::get_flag_icon($customlocationgrp{$key}=
[2]);
=20
# Print column with flag icon.
my $col_content;
if ($icon) {
- $col_content =3D "";
+ $col_content =3D "";
} else {
$col_content =3D "N/A";
}
@@ -2308,10 +2308,10 @@ END
print "
$col_content
\n";
=20
# Print column with country code.
- print "
$customgeoipgrp{$key}[2]
\n";
+ print "
$customlocationgrp{$key}[2]
\n";
=20
# Print column with full country name.
- my $country_name =3D &GeoIP::get_full_country_name($customgeoipgrp{$key}[=
2]);
+ my $country_name =3D &Location::Functions::get_full_country_name($customl=
ocationgrp{$key}[2]);
print "
$country_name
\n";
=20
# Generate from for removing entries from a group.
@@ -2322,21 +2322,21 @@ END
=20
# Check if this group only has a single entry.
foreach my $key2 (keys %hash) {
- if ($hash{$key2}<2 && $key2 eq $customgeoipgrp{$key}[0]){
+ if ($hash{$key2}<2 && $key2 eq $customlocationgrp{$key}[0]){
print "" ;
}
}
}
=20
- print "\n";
+ print "\n";
print "\n";
- print "\n";
+ print "\n";
print "\n";
print "\n";
print "\n";
}
=20
- $helper=3D$customgeoipgrp{$key}[0];
+ $helper=3D$customlocationgrp{$key}[0];
$number++;
}
=20
@@ -2688,12 +2688,12 @@ sub gethostcount
}
return $srvcounter;
}
-sub getgeoipcount
+sub getlocationcount
{
my $groupname=3Dshift;
my $counter=3D0;
=20
- # GeoIP groups are stored as "group:groupname" in the
+ # Location groups are stored as "group:groupname" in the
# firewall settings files.
my $searchstring =3D join(':', "group",$groupname);
=20
@@ -3079,7 +3079,7 @@ sub changenameinfw
my $fld=3Dshift;
my $type=3Dshift;
=20
- if ($type eq 'geoip'){
+ if ($type eq 'location'){
$old=3D"group:$old";
$new=3D"group:$new";
}
diff --git a/html/cgi-bin/ipinfo.cgi b/html/cgi-bin/ipinfo.cgi
index b756a24d2..978488cb1 100644
--- a/html/cgi-bin/ipinfo.cgi
+++ b/html/cgi-bin/ipinfo.cgi
@@ -30,7 +30,7 @@ use strict;
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}/location-functions.pl";
=20
my %cgiparams=3D();
=20
@@ -41,33 +41,54 @@ my %cgiparams=3D();
my @lines=3D();
my $extraquery=3D'';
=20
+# Hash which contains the whois servers from
+# the responisible RIR of the continent.
+my %whois_servers_by_continent =3D (
+ "AF" =3D> "whois.afrinic.net",
+ "AS" =3D> "whois.apnic.net",
+ "EU" =3D> "whois.ripe.net",
+ "NA" =3D> "whois.arin.net",
+ "SA" =3D> "whois.lacnic.net"
+);
+
+# Default whois server if no continent could be determined.
+my $whois_server =3D "whois.arin.net";
+
my $addr =3D CGI::param("ip") || "";
=20
if (&General::validip($addr)) {
- $extraquery=3D'';
- @lines=3D();
- my $whoisname =3D "whois.arin.net";
my $iaddr =3D inet_aton($addr);
my $hostname =3D gethostbyaddr($iaddr, AF_INET);
if (!$hostname) { $hostname =3D $Lang::tr{'lookup failed'}; }
=20
- # enumerate GeoIP information for IP address...
- my $ccode =3D &GeoIP::lookup($addr);
- my $flag_icon =3D &GeoIP::get_flag_icon($ccode);
+ # enumerate location information for IP address...
+ my $db_handle =3D &Location::Functions::init();
+ my $ccode =3D &Location::Functions::lookup_country_code($db_handle, $addr);
+
+ # Try to get the continent of the country code.
+ my $continent =3D &Location::get_continent_code($db_handle, $ccode);
+
+ # Check if a whois server for the continent is known.
+ if($whois_servers_by_continent{$continent}) {
+ # Use it.
+ $whois_server =3D $whois_servers_by_continent{$continent};
+ }
+
+ my $flag_icon =3D &Location::Functions::get_flag_icon($ccode);
=20
- my $sock =3D new IO::Socket::INET ( PeerAddr =3D> $whoisname, PeerPort =3D>=
43, Proto =3D> 'tcp');
+ my $sock =3D new IO::Socket::INET ( PeerAddr =3D> $whois_server, PeerPort =
=3D> 43, Proto =3D> 'tcp');
if ($sock)
{
- print $sock "n $addr\n";
+ print $sock "$addr\n";
while (<$sock>) {
- $extraquery =3D $1 if (/ReferralServer: whois:\/\/(\S+)\s+/);
+ $extraquery =3D $1 if (/ReferralServer: whois:\/\/(\S+)\s+/);
push(@lines,$_);
}
close($sock);
if ($extraquery) {
undef (@lines);
- $whoisname =3D $extraquery;
- my $sock =3D new IO::Socket::INET ( PeerAddr =3D> $whoisname, PeerPort =
=3D> 43, Proto =3D> 'tcp');
+ $whois_server =3D $extraquery;
+ my $sock =3D new IO::Socket::INET ( PeerAddr =3D> $whois_server, PeerPort=
=3D> 43, Proto =3D> 'tcp');
if ($sock)
{
print $sock "$addr\n";
@@ -77,16 +98,16 @@ if (&General::validip($addr)) {
}
else
{
- @lines =3D ( "$Lang::tr{'unable to contact'} $whoisname" );
+ @lines =3D ( "$Lang::tr{'unable to contact'} $whois_server" );
}
}
}
else
{
- @lines =3D ( "$Lang::tr{'unable to contact'} $whoisname" );
+ @lines =3D ( "$Lang::tr{'unable to contact'} $whois_server" );
}
=20
- &Header::openbox('100%', 'left', $addr . " <=
img src=3D'$flag_icon' border=3D'0' align=3D'absmiddle' alt=3D'$ccode' title=
=3D'$ccode' /> (" . $hostname . ') : '.$whoisname);
+ &Header::openbox('100%', 'left', $addr . " <=
img src=3D'$flag_icon' border=3D'0' align=3D'absmiddle' alt=3D'$ccode' title=
=3D'$ccode' /> (" . $hostname . ') : '.$whois_server);
print "
\n";
foreach my $line (@lines) {
print &Header::cleanhtml($line,"y");
diff --git a/html/cgi-bin/geoip-block.cgi b/html/cgi-bin/location-block.cgi
similarity index 85%
rename from html/cgi-bin/geoip-block.cgi
rename to html/cgi-bin/location-block.cgi
index 056b333e8..3bc3a1e76 100644
--- a/html/cgi-bin/geoip-block.cgi
+++ b/html/cgi-bin/location-block.cgi
@@ -2,7 +2,7 @@
############################################################################=
###
# =
#
# IPFire.org - A linux based firewall =
#
-# Copyright (C) 2014 IPFire Developemnt Team =
#
+# Copyright (C) 2014 - 2020 IPFire Developemnt Team =
#
# =
#
# This program is free software: you can redistribute it and/or modify =
#
# it under the terms of the GNU General Public License as published by =
#
@@ -25,13 +25,13 @@ use strict;
#use CGI::Carp 'fatalsToBrowser';
=20
require '/var/ipfire/general-functions.pl';
-require "${General::swroot}/geoip-functions.pl";
+require "${General::swroot}/location-functions.pl";
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
require "/usr/lib/firewall/firewall-lib.pl";
=20
my $notice;
-my $settingsfile =3D "${General::swroot}/firewall/geoipblock";
+my $settingsfile =3D "${General::swroot}/firewall/locationblock";
=20
my %color =3D ();
my %mainsettings =3D ();
@@ -50,14 +50,14 @@ my %cgiparams =3D ();
&Header::getcgihash(\%cgiparams);
=20
# Call subfunction to get all available locations.
-my @locations =3D &fwlib::get_geoip_locations();
+my @locations =3D &Location::Functions::get_locations();
=20
if ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
- # Check if we want to disable geoipblock.
- if (exists $cgiparams{'GEOIPBLOCK_ENABLED'}) {
- $settings{'GEOIPBLOCK_ENABLED'} =3D "on";
+ # Check if we want to disable locationblock.
+ if (exists $cgiparams{'LOCATIONBLOCK_ENABLED'}) {
+ $settings{'LOCATIONBLOCK_ENABLED'} =3D "on";
} else {
- $settings{'GEOIPBLOCK_ENABLED'} =3D "off";
+ $settings{'LOCATIONBLOCK_ENABLED'} =3D "off";
}
=20
# Loop through our locations array to prevent from
@@ -81,7 +81,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
$notice =3D $Lang::tr{'p2p block save notice'};
}
=20
-&Header::openpage($Lang::tr{'geoipblock configuration'}, 1, '');
+&Header::openpage($Lang::tr{'locationblock configuration'}, 1, '');
=20
# Print notice that a firewall reload is required.
if ($notice) {
@@ -92,19 +92,19 @@ if ($notice) {
=20
# Checkbox pre-selection.
my $checked;
-if ($settings{'GEOIPBLOCK_ENABLED'} eq "on") {
+if ($settings{'LOCATIONBLOCK_ENABLED'} eq "on") {
$checked =3D "checked=3D'checked'";
}
=20
-# Print box to enable/disable geoipblock.
+# Print box to enable/disable locationblock.
print"
END
diff --git a/html/cgi-bin/logs.cgi/firewalllog.dat b/html/cgi-bin/logs.cgi/fi=
rewalllog.dat
index e67a40a9f..2b690e35b 100644
--- a/html/cgi-bin/logs.cgi/firewalllog.dat
+++ b/html/cgi-bin/logs.cgi/firewalllog.dat
@@ -20,10 +20,13 @@ use Getopt::Std;
#use CGI::Carp 'fatalsToBrowser';
=20
require '/var/ipfire/general-functions.pl';
-require "${General::swroot}/geoip-functions.pl";
+require "${General::swroot}/location-functions.pl";
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
=20
+# Libloc database handle.
+my $libloc_db_handle =3D &Location::Functions::init();
+
my %color =3D ();
my %mainsettings =3D ();
&General::readhash("${General::swroot}/main/settings", \%mainsettings);
@@ -351,7 +354,7 @@ foreach $_ (@log)
$srcport=3D$1 if $packet =3D~ /SPT=3D(\d+)/;
$dstport=3D$1 if $packet =3D~ /DPT=3D(\d+)/;
=20
- my $ccode =3D &GeoIP::lookup($srcaddr);
+ my $ccode =3D &Location::Functions::lookup_country_code($libloc_db_handle, =
$srcaddr);
=20
my $servi =3D uc(getservbyport($srcport, lc($proto)));
if ($servi ne '' && $srcport < 1024) {
@@ -383,7 +386,7 @@ foreach $_ (@log)
END
;
# Get flag icon for of the country.
- my $flag_icon =3D &GeoIP::get_flag_icon($ccode);
+ my $flag_icon =3D &Location::Functions::get_flag_icon($ccode);
=20
if ( $flag_icon) {
print "
";
diff --git a/html/cgi-bin/logs.cgi/firewalllogcountry.dat b/html/cgi-bin/logs=
.cgi/firewalllogcountry.dat
index 949f2599d..701abab2c 100644
--- a/html/cgi-bin/logs.cgi/firewalllogcountry.dat
+++ b/html/cgi-bin/logs.cgi/firewalllogcountry.dat
@@ -18,10 +18,13 @@ use Getopt::Std;
#use CGI::Carp 'fatalsToBrowser';
=20
require '/var/ipfire/general-functions.pl';
-require "${General::swroot}/geoip-functions.pl";
+require "${General::swroot}/location-functions.pl";
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
=20
+# Libloc database handle.
+my $libloc_db_handle =3D &Location::Functions::init();
+
use POSIX();
=20
my %cgiparams=3D();
@@ -308,7 +311,7 @@ foreach $_ (@log)
# Traffic from red
if($srcaddr ne '') {
# srcaddr is set
- my $ccode =3D &GeoIP::lookup($srcaddr);
+ my $ccode =3D &Location::Functions::lookup_country_code($libloc_db_handle=
, $srcaddr);
if ($ccode eq '') {
$ccode =3D 'unknown';
}
@@ -482,7 +485,7 @@ for($s=3D0;$s<$lines;$s++)
my $fcode =3D lc($key[$s]);
=20
# Get flag icon for of the country.
- my $flag_icon =3D &GeoIP::get_flag_icon($fcode);
+ my $flag_icon =3D &Location::Functions::get_flag_icon($fcode);
=20
if($flag_icon) {
print "
";
=20
# Get flag icon for of the country.
- my $flag_icon =3D &GeoIP::get_flag_icon($ccode);
+ my $flag_icon =3D &Location::Functions::get_flag_icon($ccode);
=20
if ( $flag_icon ) {
print "