Signed-off-by: Peter Müller peter.mueller@ipfire.org --- config/cfgroot/location-functions.pl | 68 +++++++++++++++++++--------- 1 file changed, 46 insertions(+), 22 deletions(-)
diff --git a/config/cfgroot/location-functions.pl b/config/cfgroot/location-functions.pl index 2cfe7f908..ee03a6611 100644 --- a/config/cfgroot/location-functions.pl +++ b/config/cfgroot/location-functions.pl @@ -1,25 +1,23 @@ #!/usr/bin/perl -w -############################################################################ -# # -# 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 2 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) 2015 - 2020 IPFire Team info@ipfire.org. # -# # -############################################################################ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2020 IPFire Team info@ipfire.org # +# # +# 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 # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program 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 this program. If not, see http://www.gnu.org/licenses/. # +# # +###############################################################################
package Location::Functions;
@@ -83,7 +81,7 @@ sub verify ($) { }
# -## Function to the the country code of a given address. +## Function to get the country code of a given address. # sub lookup_country_code($$) { my ($db_handle, $address) = @_; @@ -221,4 +219,30 @@ sub address_has_flags($) { return @flags; }
+# +## Function to get the Autonomous System Number of a given address. +# +sub lookup_asn($$) { + my ($db_handle, $address) = @_; + + # Lookup the given address. + my $asn = &Location::lookup_asn($db_handle, $address); + + # Return the number of the Autonomous System + return $asn; +} + +# +## Function to get the name of an Autonomous System. +# +sub get_as_name($$) { + my ($db_handle, $asn) = @_; + + # Fetch the name of this AS... + my $as_name = &Location::get_as_name($db_handle, $asn); + + # Return the name of the Autonomous System + return $as_name; +} + 1;