From 0db21c3dd466a554b173e46ead4feb21417a373a Mon Sep 17 00:00:00 2001 From: Richard T Bonhomme Date: Fri, 8 Apr 2022 19:47:27 +0100 Subject: [PATCH] Detect Windows and Git-for-Windows bash Signed-off-by: Richard T Bonhomme --- easyrsa3/easyrsa | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/easyrsa3/easyrsa b/easyrsa3/easyrsa index b65cc8e..be0e4b6 100755 --- a/easyrsa3/easyrsa +++ b/easyrsa3/easyrsa @@ -280,6 +280,10 @@ die() { Easy-RSA error: $1" 1>&2 + + [ "$EASYRSA_WIN" ] && print "$EASYRSA_WIN" + [ "$EASYRSA_WIN_GIT_BASH" ] && print "$EASYRSA_WIN_GIT_BASH" + exit "${2:-1}" } # => die() @@ -2262,6 +2266,7 @@ set_var() { } #=> set_var() + ############################################################################ # Upgrade v2 PKI to v3 PKI @@ -2969,6 +2974,31 @@ init-pki|clean-all) want_init_pki=1 ;; *) unset -v want_init_pki esac +# Detect Windows +if [ "$OS" ]; then + case "$OS" in + Windows_NT) + EASYRSA_WIN=Windows_NT + ;; + *) EASYRSA_WIN="$OS" + esac +else + unset -v EASYRSA_WIN +fi + +# Detect Windows git/bash +if [ "$EXEPATH" ]; then + case "${EXEPATH##*\\}" in + Git) + EASYRSA_WIN_GIT_BASH=Git-bash + [ -e /usr/bin/openssl ] && set_var EASYRSA_OPENSSL /usr/bin/openssl + ;; + *) EASYRSA_WIN_GIT_BASH="$EXEPATH" + esac +else + unset -v EASYRSA_WIN_GIT_BASH +fi + # Intelligent env-var detection and auto-loading: vars_setup