From abe21498524bce327404febe644b1361267d0957 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 22 Mar 2019 02:58:57 +0000 Subject: [PATCH] GeoIP: Do not crash when locations database does not exist Fixes: #12021 Signed-off-by: Michael Tremer --- config/cfgroot/geoip-functions.pl | 4 ++-- config/rootfiles/core/130/filelists/files | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/config/cfgroot/geoip-functions.pl b/config/cfgroot/geoip-functions.pl index d03503a3f..b2319daaa 100644 --- a/config/cfgroot/geoip-functions.pl +++ b/config/cfgroot/geoip-functions.pl @@ -122,10 +122,10 @@ sub get_full_country_name($) { # Function to get all available GeoIP locations. sub get_geoip_locations() { - my @locations; + my @locations = (); # Open the location database. - open(LOCATION, "$geoip_database_dir/$location_database") or die "Could not open $geoip_database_dir/$location_database. $!\n"; + open(LOCATION, "$geoip_database_dir/$location_database") or return @locations; # Loop through the file. while(my $line = ) { diff --git a/config/rootfiles/core/130/filelists/files b/config/rootfiles/core/130/filelists/files index b6ee45da7..28a32a7c6 100644 --- a/config/rootfiles/core/130/filelists/files +++ b/config/rootfiles/core/130/filelists/files @@ -21,6 +21,7 @@ usr/sbin/convert-snort var/ipfire/backup/bin/backup.pl var/ipfire/backup/include var/ipfire/general-functions.pl +var/ipfire/geoip-functions.pl var/ipfire/ids-functions.pl var/ipfire/menu.d/40-services.menu var/ipfire/menu.d/50-firewall.menu -- 2.39.2