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==--