Skip to content

Commit 4f83af6

Browse files
committed
Merge branch 'TinCanTech-v321-minor-final'
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2 parents ff8705b + 9eb9270 commit 4f83af6

File tree

1 file changed

+34
-29
lines changed

1 file changed

+34
-29
lines changed

easyrsa3/easyrsa

Lines changed: 34 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -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() {
24262428
Unrecognised x509-type: '$crt_type'
24272429

24282430
In 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 \
28292831
with 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 "\
58205833
Unknown option '$opt'.
@@ -5863,8 +5876,7 @@ cmd="$1"
58635876
unset -v require_pki require_ca quiet_vars
58645877

58655878
case "$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
59095921
verify_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
59205925
case "$cmd" in

0 commit comments

Comments
 (0)