diff --git a/extras/ikev2setup.sh b/extras/ikev2setup.sh index b596981..7d7d47c 100755 --- a/extras/ikev2setup.sh +++ b/extras/ikev2setup.sh @@ -157,7 +157,7 @@ confirm_or_abort() { show_header() { cat <<'EOF' -IKEv2 Script Copyright (c) 2020-2022 Lin Song 24 Sept 2022 +IKEv2 Script Copyright (c) 2020-2022 Lin Song 16 Oct 2022 EOF } @@ -278,6 +278,11 @@ check_custom_dns() { fi } +check_client_validity() { + ! { printf '%s' "$1" | LC_ALL=C grep -q '[^0-9]\+' || [ "$1" -lt "1" ] \ + || [ "$1" -gt "120" ] || [ "$1" != "$((10#$1))" ]; } +} + check_and_set_client_name() { if [ -n "$VPN_CLIENT_NAME" ]; then client_name="$VPN_CLIENT_NAME" @@ -289,6 +294,22 @@ check_and_set_client_name() { check_cert_exists "$client_name" && exiterr "Client '$client_name' already exists." } +check_and_set_client_validity() { + if [ -n "$VPN_CLIENT_VALIDITY" ]; then + client_validity="$VPN_CLIENT_VALIDITY" + if ! check_client_validity "$client_validity"; then +cat <