mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-06-05 11:59:45 +00:00
feat(config,script): validate UTF-8 config and hex encryption keys
This commit is contained in:
@@ -72,6 +72,16 @@ fi
|
||||
|
||||
echo "[+] Using Podman"
|
||||
echo ""
|
||||
|
||||
validate_key() {
|
||||
case "$1" in
|
||||
*[!0-9a-fA-F]*)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
[ "${#1}" -eq 64 ]
|
||||
}
|
||||
|
||||
echo "Select auth provider:"
|
||||
echo " 1) jitsi"
|
||||
echo " 2) telemost"
|
||||
@@ -158,6 +168,11 @@ if [ -z "$KEY" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! validate_key "$KEY"; then
|
||||
echo "[X] Encryption key must be 64 hex characters"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
read -p "DNS server [default: 8.8.8.8:53]: " DNS_INPUT
|
||||
DNS=${DNS_INPUT:-8.8.8.8:53}
|
||||
|
||||
@@ -68,6 +68,16 @@ fi
|
||||
|
||||
echo "[+] Using Podman"
|
||||
echo ""
|
||||
|
||||
validate_key() {
|
||||
case "$1" in
|
||||
*[!0-9a-fA-F]*)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
[ "${#1}" -eq 64 ]
|
||||
}
|
||||
|
||||
echo "Select carrier:"
|
||||
echo " 1) jitsi"
|
||||
echo " 2) telemost"
|
||||
@@ -361,7 +371,12 @@ KEY_FILE="$HOME/.olcrtc_key"
|
||||
|
||||
if [ -f "$KEY_FILE" ]; then
|
||||
echo "[*] Loading existing encryption key..."
|
||||
KEY=$(cat "$KEY_FILE")
|
||||
KEY=$(tr -d '[:space:]' < "$KEY_FILE")
|
||||
if ! validate_key "$KEY"; then
|
||||
echo "[X] Invalid encryption key in $KEY_FILE"
|
||||
echo " Remove the file to generate a new key, or replace it with 64 hex characters."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "[*] Generating new encryption key..."
|
||||
KEY=$(openssl rand -hex 32)
|
||||
|
||||
Reference in New Issue
Block a user