summaryrefslogtreecommitdiff
path: root/src/validators/ipv4-range-mask
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-01-10 19:59:20 +0100
committerGitHub <noreply@github.com>2024-01-10 19:59:20 +0100
commitaebb458262072457c6a3840d1b17031fbd780eca (patch)
treeb89f9b47d85bc00c758bd2388574270d20858079 /src/validators/ipv4-range-mask
parente890527d730053ed73227180c77d9dbbb9393ce0 (diff)
parent4ffec67d04670192d9b722353cbaef04cb0ba129 (diff)
downloadvyos-1x-aebb458262072457c6a3840d1b17031fbd780eca.tar.gz
vyos-1x-aebb458262072457c6a3840d1b17031fbd780eca.zip
Merge pull request #2777 from aapostoliuk/T5688-multirange
T5688: Changed 'range' to multi in 'client-ip-pool' for accell-ppp
Diffstat (limited to 'src/validators/ipv4-range-mask')
-rwxr-xr-xsrc/validators/ipv4-range-mask36
1 files changed, 2 insertions, 34 deletions
diff --git a/src/validators/ipv4-range-mask b/src/validators/ipv4-range-mask
index 7bb4539af..9373328ff 100755
--- a/src/validators/ipv4-range-mask
+++ b/src/validators/ipv4-range-mask
@@ -1,12 +1,5 @@
#!/bin/bash
-# snippet from https://stackoverflow.com/questions/10768160/ip-address-converter
-ip2dec () {
- local a b c d ip=$@
- IFS=. read -r a b c d <<< "$ip"
- printf '%d\n' "$((a * 256 ** 3 + b * 256 ** 2 + c * 256 + d))"
-}
-
error_exit() {
echo "Error: $1 is not a valid IPv4 address range or these IPs are not under /$2"
exit 1
@@ -22,37 +15,12 @@ do
r) range=${OPTARG}
esac
done
-if [[ "${range}" =~ "-" ]]&&[[ ! -z ${mask} ]]; then
- # This only works with real bash (<<<) - split IP addresses into array with
- # hyphen as delimiter
- readarray -d - -t strarr <<< ${range}
-
- ipaddrcheck --is-ipv4-single ${strarr[0]}
- if [ $? -gt 0 ]; then
- error_exit ${range} ${mask}
- fi
- ipaddrcheck --is-ipv4-single ${strarr[1]}
+if [[ "${range}" =~ "-" ]]&&[[ ! -z ${mask} ]]; then
+ ipaddrcheck --range-prefix-length ${mask} --is-ipv4-range ${range}
if [ $? -gt 0 ]; then
error_exit ${range} ${mask}
fi
-
- ${vyos_validators_dir}/numeric --range 0-32 ${mask} > /dev/null
- if [ $? -ne 0 ]; then
- error_exit ${range} ${mask}
- fi
-
- is_in_24=$( grepcidr ${strarr[0]}"/"${mask} <(echo ${strarr[1]}) )
- if [ -z $is_in_24 ]; then
- error_exit ${range} ${mask}
- fi
-
- start=$(ip2dec ${strarr[0]})
- stop=$(ip2dec ${strarr[1]})
- if [ $start -ge $stop ]; then
- error_exit ${range} ${mask}
- fi
-
exit 0
fi