diff --git a/install_openvpn.sh b/install_openvpn.sh index 4924e79..55c146c 100755 --- a/install_openvpn.sh +++ b/install_openvpn.sh @@ -209,7 +209,7 @@ systemd=$(which systemd) systemctl=$(which systemctl) systemd_supported=false -if [[ -n "$systemd" ]] && [[ -n "$systemctl" ]] ; then +if [[ -n "$systemd" ]] || [[ -n "$systemctl" ]] ; then systemd_supported=true else if [[ ! -x $init_script ]]; then @@ -2091,79 +2091,170 @@ if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 9 ]] ; then _key="EASYRSA_OPENSSL" _val="openssl" - perl -i.$_date -n -p -e "s&^(\s*#*\s*#set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_PKI" _val="${OPENVPN_KEY_DIR}" - perl -i.$_date -n -p -e "s&^(\s*#*\s*#set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi # EASYRSA_KEY_SIZE - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+EASYRSA_KEY_SIZE\s+.*)&##\1\nset_var EASYRSA_KEY_SIZE\t\t ${KEY_SIZE}&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + _key="EASYRSA_KEY_SIZE" + _val="${KEY_SIZE}" + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi # EASYRSA_ALGO - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+EASYRSA_ALGO\s+.*)&##\1\nset_var EASYRSA_ALGO\t\t rsa&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + _key="EASYRSA_ALGO" + _val="rsa" + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_DN" - _val=""org - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+EASYRSA_DN\s+.*)&##\1\nset_var EASYRSA_DN\t\t \"org\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + _val="org" + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_REQ_COUNTRY" _val="$KEY_COUNTRY" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_REQ_PROVINCE" _val="$KEY_PROVINCE" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_REQ_CITY" _val="$KEY_CITY" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_REQ_ORG" _val="$KEY_ORG" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_REQ_EMAIL" _val="$KEY_EMAIL" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_REQ_OU" _val="$KEY_OU" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_REQ_CN" _val="$KEY_CN" @@ -2179,38 +2270,93 @@ if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 9 ]] ; then _key="EASYRSA_CA_EXPIRE" _val="$CA_EXPIRE" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_CERT_EXPIRE" _val="$CERT_EXPIRE" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_CRL_DAYS" _val="$CERT_EXPIRE" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_CERT_RENEW" _val="365" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi _key="EASYRSA_BATCH" _val="1" - perl -i -n -p -e "s&^(\s*#*\s*#set_var\s+$_key\s+.*)&##\1\nset_var $_key\t\t \"$_val\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 - if [[ $? -ne 0 ]]; then - _failed=true - fi + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi + + _key="KEY_ALTNAMES" + _val="${KEY_ALTNAMES}" + if $(grep -qE "^\s*#*\s*#*set_var\s+${_key}" ${EASY_RSA_DIR}/vars ) ; then + perl -i -n -p -e "s&^(\s*#*\s*#*set_var\s+${_key}\s+.*)&##\1\nset_var ${_key}\t\t \"${_val}\"&" ${EASY_RSA_DIR}/vars > "$log_file" 2>&1 + + if [[ $? -ne 0 ]]; then + _failed=true + fi + else + echo -e "\nset_var ${_key}\t\t\"${_val}\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi + fi else perl -i.$_date -n -p -e "s&^(\s*#*\s*export\s+EASY_RSA=.*)&##\1\nexport BASE_DIR=\"${OPENVPN_BASE_DIR}\"\nexport EASY_RSA=\"\\\$BASE_DIR/easy-rsa\"&" ${EASY_RSA_DIR}/vars > "$log_file" @@ -2281,11 +2427,11 @@ else if [[ $? -ne 0 ]]; then _failed=true fi -fi -echo -e "\nexport KEY_ALTNAMES=\"$KEY_ALTNAMES\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" -if [[ $? -ne 0 ]]; then - _failed=true + echo -e "\nexport KEY_ALTNAMES=\"$KEY_ALTNAMES\"" >> ${EASY_RSA_DIR}/vars 2> "$log_file" + if [[ $? -ne 0 ]]; then + _failed=true + fi fi if $_failed ; then