@@ -840,7 +840,7 @@ secure_session - Missing temporary directory:
840840 die "secure_session - temp-file EXISTS"
841841
842842 # New session requires safe-ssl conf
843- unset -v session OPENSSL_CONF safe_ssl_cnf_tmp \
843+ unset -v session OPENSSL_CONF \
844844 working_safe_ssl_conf working_safe_org_conf
845845
846846 easyrsa_err_log="$secured_session/error.log"
@@ -862,7 +862,7 @@ remove_secure_session: DELETED: $secured_session"
862862 # Restore original EASYRSA_SSL_CONF
863863 EASYRSA_SSL_CONF="$original_ssl_cnf"
864864
865- unset -v secured_session OPENSSL_CONF safe_ssl_cnf_tmp \
865+ unset -v secured_session OPENSSL_CONF \
866866 working_safe_ssl_conf working_safe_org_conf
867867 return
868868 fi
@@ -1190,6 +1190,7 @@ expand_ssl_config() {
11901190 fi
11911191
11921192 export EASYRSA_SSL_CONF="$safe_ssl_cnf_tmp"
1193+ unset -v safe_ssl_cnf_tmp
11931194 verbose \
11941195 "expand_ssl_config: EASYRSA_SSL_CONF = $EASYRSA_SSL_CONF"
11951196} # => expand_ssl_config()
@@ -1214,9 +1215,10 @@ easyrsa_openssl() {
12141215 # Use $EASYRSA_SSL_CONF (local) or $OPENSSL_CONF (global)
12151216 if [ -f "$EASYRSA_SSL_CONF" ]; then
12161217 export OPENSSL_CONF="$EASYRSA_SSL_CONF"
1218+ elif [ -f "$OPENSSL_CONF" ]; then
1219+ export OPENSSL_CONF
12171220 else
1218- [ -f "$OPENSSL_CONF" ] || \
1219- die "easyrsa_openssl - OPENSSL_CONF undefined"
1221+ die "easyrsa_openssl - OPENSSL_CONF undefined"
12201222 fi
12211223 verbose "= easyrsa_openssl: OPENSSL_CONF = $OPENSSL_CONF"
12221224
@@ -2426,7 +2428,7 @@ sign_req() {
24262428Unrecognised x509-type: '$crt_type'
24272429
24282430In order to sign a custom X509 Type certificate, there must be a
2429- corresponding SSL configuration file in the 'x509-type ' folder."
2431+ corresponding SSL configuration file in the 'x509-types ' folder."
24302432 esac
24312433
24322434 # Check argument sanity:
@@ -2829,6 +2831,7 @@ source or that you have verified the request checksum \
28292831with the sender.$NL"
28302832 fi
28312833
2834+ # Request FINAL user confirmation
28322835 confirm "Confirm requested details: " "yes" "\
28332836${foreign_request}You are about to sign the following certificate:
28342837
@@ -2891,12 +2894,8 @@ check_serial_unique() {
28912894 user_error "Invalid serial number: '$1'"
28922895 esac
28932896
2894- unset -v unique_serial_true
2895-
28962897 # Check for openssl -status of serial number
28972898 # Always errors out - Do not capture error
2898- # unset EASYRSA_SILENT_SSL to capture all output
2899- # Do NOT unset check_serial for sign-req error msg
29002899 check_serial="$(
29012900 "$EASYRSA_OPENSSL" ca -status "$1" 2>&1
29022901 )" || :
@@ -2908,17 +2907,15 @@ check_serial_unique() {
29082907 verbose "check_serial_unique: unique_serial=true"
29092908 ;;
29102909 *)
2911- : # Some other response
2910+ unique_serial_true=
29122911 verbose "check_serial_unique: unique_serial=false"
29132912 esac
29142913
29152914 # In batch mode return result only
29162915 if [ "$2" = batch ] || [ "$EASYRSA_BATCH" ]; then
29172916 if [ "$unique_serial_true" ]; then
2918- unset -v unique_serial_true
29192917 return 0
29202918 else
2921- unset -v unique_serial_true
29222919 return 1
29232920 fi
29242921 fi
@@ -4988,7 +4985,7 @@ write_legacy_file_v2() {
49884985 write_type="$1"
49894986 write_file="$2"
49904987 write_over=
4991- [ "$3" = overwrite ] && write_over="$3"
4988+ [ "$3" = overwrite ] && write_over=1
49924989
49934990 # Select by type
49944991 case "$write_type" in
@@ -5020,29 +5017,40 @@ write_legacy_file_v2() {
50205017 if [ -f "$write_file" ]; then
50215018 # if this is a temp file then enable auto-overwrite
50225019 path="${write_file%%/temp.*}"
5023- if [ "${secured_session} " = "$path " ]; then
5020+ if [ "$path " = "${secured_session} " ]; then
50245021 verbose ": write_legacy_file_v2 - temp-file ACCEPTED"
5025- write_over=overwrite
5022+ write_over=1
50265023 else
50275024 # target is not a temp-file, overwrite not changed
50285025 verbose ": Target is not a temp-file: $write_file"
50295026 fi
50305027 else
5031- # enable overwrite, "there is no file" to over write
5032- verbose ": Missing input file: $write_file"
5033- write_over=overwrite
5028+ verbose ": Create new file: $write_file"
50345029 fi
5030+ else
5031+ verbose ": No target file - output to stdout"
50355032 fi
50365033
50375034 # write legacy data stream to stdout or file
5038- if [ "$write_file" ]; then
5035+ if [ -f "$write_file" ]; then
50395036 if [ "$write_over" ]; then
50405037 verbose ": write_legacy_file_v2 - over-write ENABLED"
50415038 create_legacy_stream "$write_type" > "$write_file" || \
50425039 die "write failed"
5040+ [ "$EASYRSA_DEBUG" ] && print \
5041+ "### write OVERWRITE: $write_type to $write_file"
50435042 else
5044- user_error "write: Over-write refused for existing file!"
5043+ # Preserve existing file and continue
5044+ verbose "write_legacy_file_v2 - over-write DISABLED "
5045+ [ "$EASYRSA_DEBUG" ] && print \
5046+ "### write PRESERVE existing: $write_file"
50455047 fi
5048+ elif [ "$write_file" ]; then
5049+ verbose ": write_legacy_file_v2 - over-write DISABLED"
5050+ create_legacy_stream "$write_type" > "$write_file" || \
5051+ die "write failed"
5052+ [ "$EASYRSA_DEBUG" ] && print \
5053+ "### write NEWFILE: $write_type to $write_file"
50465054 else
50475055 # write stream to stdout ONLY
50485056 create_legacy_stream "$write_type"
@@ -5815,6 +5823,11 @@ while :; do
58155823 set -- "$@" "version"
58165824 break
58175825 ;;
5826+ -h|--help|--usage)
5827+ shift "$#"
5828+ set -- "$@" "help"
5829+ break
5830+ ;;
58185831 -*)
58195832 user_error "\
58205833Unknown option '$opt'.
@@ -5863,8 +5876,7 @@ cmd="$1"
58635876unset -v require_pki require_ca quiet_vars
58645877
58655878case "$cmd" in
5866- ''|help|-h|--help|--usage| \
5867- version|show-host|rand|random)
5879+ ''|help|version|show-host|rand|random)
58685880 unset -v EASYRSA_SILENT
58695881 quiet_vars=1
58705882 ;;
@@ -5908,13 +5920,6 @@ mutual_exclusions
59085920# Verify SSL Lib - One time ONLY
59095921verify_ssl_lib
59105922
5911- # Check $working_safe_ssl_conf, to build
5912- # a fully configured safe ssl conf, on the
5913- # next invocation of easyrsa_openssl()
5914- if [ "$working_safe_ssl_conf" ]; then
5915- die "working_safe_ssl_conf must not be set!"
5916- fi
5917-
59185923# Hand off to the function responsible
59195924# ONLY verify_working_env() for valid commands
59205925case "$cmd" in
0 commit comments