get_all_keys.sh: add support for OpenVPN v2.6.14 (debian 13).

This commit is contained in:
2026-01-07 15:57:40 +01:00
parent d92a31dfc4
commit a91553a150

View File

@@ -103,6 +103,35 @@ containsElement () {
return 1
}
detect_os_1 () {
if $(which lsb_release > /dev/null 2>&1) ; then
os_dist="$(lsb_release -i | awk '{print tolower($3)}')"
os_version="$(lsb_release -r | awk '{print tolower($2)}')"
os_codename="$(lsb_release -c | awk '{print tolower($2)}')"
if [[ "$os_dist" = "debian" ]]; then
if $(echo "$os_version" | grep -q '\.') ; then
os_version=$(echo "$os_version" | cut --delimiter='.' -f1)
fi
fi
elif [[ -e "/etc/os-release" ]]; then
. /etc/os-release
os_dist=$ID
os_version=${VERSION_ID}
fi
# remove whitespace from os_dist and os_version
os_dist="${os_dist// /}"
os_version="${os_version// /}"
}
# -------------
@@ -118,6 +147,17 @@ else
fi
# -------------
# --- Detect OS Version/Name/..
# -------------
# - os_dist
# - os_version
# - os_codename
detect_os_1
# -------------
# --- Read Configurations from $conf_file
# -------------
@@ -259,7 +299,14 @@ if $EASYRSA_LAYOUT_NEW ; then
_serial="$(basename "$_cert")"
_serial="${_serial%.*}"
_cn="$(openssl x509 -noout -text -in $_cert | grep Subject: | grep -oE "CN\s*=\s*[^,]+" | awk '{print$3}')"
if [[ "$os_dist" = "debian" ]] && [[ $os_version -ge 13 ]] ; then
#_cn="$(openssl x509 -noout -text -in $_cert | grep Subject: | grep -oP 'CN=\K[^,]+')"
_cn="$(openssl x509 -noout -text -in $_cert | grep Subject: | sed -n 's/.*CN=\([^,]*\).*/\1/p')"
else
_cn="$(openssl x509 -noout -text -in $_cert | grep Subject: | grep -oE "CN\s*=\s*[^,]+" | awk '{print$3}')"
fi
if ! containsElement "$_cn" "${all_cn_arr[@]}" ; then
all_arr+=("${_serial}:$(trim $_cn)")
all_cn_arr+=("$(trim $_cn)")