diff options
author | aapostoliuk <a.apostoliuk@vyos.io> | 2024-01-05 16:18:15 +0200 |
---|---|---|
committer | aapostoliuk <a.apostoliuk@vyos.io> | 2024-01-09 15:40:41 +0200 |
commit | 4ffec67d04670192d9b722353cbaef04cb0ba129 (patch) | |
tree | ccab9114d8199d5033d92f07c3141c433a822bc4 /src/validators/ipv4-range-mask | |
parent | 864524ba86b0a4d57ab64d6e9398c3fd5eb2fce4 (diff) | |
download | vyos-1x-4ffec67d04670192d9b722353cbaef04cb0ba129.tar.gz vyos-1x-4ffec67d04670192d9b722353cbaef04cb0ba129.zip |
T5688: Changed 'range' to multi in 'client-ip-pool' for accell-ppp
Changed node 'range' to multi in 'client-ip-pool' for accell-ppp
services.
Added completionHelp to default-pool and next-pool.
Fixed verification in vpn l2tp config script.
Diffstat (limited to 'src/validators/ipv4-range-mask')
-rwxr-xr-x | src/validators/ipv4-range-mask | 36 |
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 |