]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
location-functions.pl: add functions for fetching AS information
authorPeter Müller <peter.mueller@ipfire.org>
Wed, 11 Nov 2020 14:14:09 +0000 (15:14 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 11 Nov 2020 16:01:47 +0000 (16:01 +0000)
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
b62d7e0cc71cc1ff23d66dd8baf0f5f3c5c7a29b.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/cfgroot/location-functions.pl

index fdf2c6efecd52e8efacb291aae9259e003db65de..b7465c5ef08a72fe9de2cddf28f435a3f9e3de00 100644 (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 {