From 2b5c311d3199630a450a6e86ef64ad127715c4b7 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 31 Jul 2010 12:57:00 +0200 Subject: [PATCH] network: Some more general IP functions. --- functions.ip | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 functions.ip diff --git a/functions.ip b/functions.ip new file mode 100644 index 00000000..f95265e9 --- /dev/null +++ b/functions.ip @@ -0,0 +1,52 @@ +#!/bin/bash +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2010 Michael Tremer & Christian Schmidt # +# # +# 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 . # +# # +############################################################################### + +function ip_split_prefix() { + local address=${1} + + assert isset address + + echo "${address%%/*}" +} + +function ip_get_prefix() { + local address=${1} + + assert isset address + + echo "${address##*/}" +} + +function ip_detect_protocol() { + local address=${1} + + assert isset address + + local protocol + for protocol in ipv4 ipv6; do + if ${protocol}_is_valid ${address}; then + echo "${protocol}" + return ${EXIT_OK} + fi + done + + return ${EXIT_ERROR} +} -- 2.47.3