location-functions.pl: add functions for fetching AS information

The second version of this patch only unifies the licence banner, but
leaves GPLv2 untouched. In addition, functions have been changed to use
a script-wide location database handle, as introduced in commit
b62d7e0cc7.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Peter Müller
2020-11-11 15:14:09 +01:00
committed by Michael Tremer
parent 81f80af987
commit 7b82ca1fc8

View File

@@ -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 2 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;
@@ -86,7 +84,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 ($address) = @_;
@@ -236,6 +234,32 @@ sub address_has_flags($) {
return @flags;
}
#
## Function to get the Autonomous System Number of a given address.
#
sub lookup_asn($) {
my ($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 ($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;
}
# Custom END declaration which will be executed when perl
# ends, to release the database handle to libloc.
END {