From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter =?utf-8?q?M=C3=BCller?= <peter.mueller@ipfire.org> To: development@lists.ipfire.org Subject: [PATCH 1/4] location-functions.pl: add functions for fetching AS information Date: Tue, 03 Nov 2020 15:28:53 +0100 Message-ID: <8cce16a8-5a92-acbb-28e7-68df2a95d887@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0008922884890455912==" List-Id: <development.lists.ipfire.org> --===============0008922884890455912== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Signed-off-by: Peter M=C3=BCller <peter.mueller(a)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-f= unctions.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(a)ipfire.org>. = # -# # -############################################################################ +############################################################################= ### +# = # +# IPFire.org - A linux based firewall = # +# Copyright (C) 2007-2020 IPFire Team <info(a)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/>. = # +# = # +############################################################################= ### =20 package Location::Functions; =20 @@ -83,7 +81,7 @@ sub verify ($) { } =20 # -## 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) =3D @_; @@ -221,4 +219,30 @@ sub address_has_flags($) { return @flags; } =20 +# +## Function to get the Autonomous System Number of a given address. +# +sub lookup_asn($$) { + my ($db_handle, $address) =3D @_; + + # Lookup the given address. + my $asn =3D &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) =3D @_; + + # Fetch the name of this AS... + my $as_name =3D &Location::get_as_name($db_handle, $asn); + + # Return the name of the Autonomous System + return $as_name; +} + 1; --=20 2.26.2 --===============0008922884890455912==--