diff --git a/openvpn-install.sh b/openvpn-install.sh index bf3171c..a1ef45d 100644 --- a/openvpn-install.sh +++ b/openvpn-install.sh @@ -1092,8 +1092,10 @@ verb 3" >>/etc/openvpn/client-template.txt fi # Generate the custom client.ovpn - newClient - echo "If you want to add more clients, you simply need to run this script another time!" + if [[ -n "${CLIENT}" ]]; then + newClient + echo "If you want to add more clients, you simply need to run this script another time!" + fi } function newClient() { @@ -1119,7 +1121,7 @@ function newClient() { if [[ $CLIENTEXISTS == '1' ]]; then echo "" echo "The specified client CN was already found in easy-rsa, please choose another name." - exit + exit 1 else cd /etc/openvpn/easy-rsa/ || return case $PASS in @@ -1205,7 +1207,15 @@ function revokeClient() { echo "" echo "Select the existing client certificate you want to revoke" - tail -n +2 /etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 | nl -s ') ' + pki_clientnumbers="$(tail -n +2 /etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 | nl -s ') ')" + + echo "${pki_clientnumbers}" + + if [[ -n "${CLIENT}" ]]; then + # Get PKI client number + CLIENTNUMBER=$(echo "${pki_clientnumbers}" | grep "${CLIENT}" | cut -d')' -f1 | xargs) + fi + until [[ $CLIENTNUMBER -ge 1 && $CLIENTNUMBER -le $NUMBEROFCLIENTS ]]; do if [[ $CLIENTNUMBER == '1' ]]; then read -rp "Select one client [1]: " CLIENTNUMBER