From 2fe5f14383395273b5a794e7cc73180049720390 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Sun, 25 Dec 2022 20:37:17 +0100 Subject: [PATCH] Print which client uses already given public key --- scripts/add-client.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/add-client.sh b/scripts/add-client.sh index 4fb7d0d..d8c5854 100755 --- a/scripts/add-client.sh +++ b/scripts/add-client.sh @@ -20,9 +20,11 @@ if [ -z $1 ]; then CLIENT_PUB_KEY=$(echo $CLIENT_SEC_KEY | wg pubkey) else # Check if public key is already used - for key in $(cat $DEVICE.conf | grep "PublicKey = " | sed "s/PublicKey = \(.*\)$/\1/"); do - if [[ "$1" == "$key" ]]; then - echo "Key '$1' already used!" + clients=($(cat $DEVICE.conf | grep "# Client" | sed "s/# Client \([0-9]*\)$/\1/")) + keys=($(cat $DEVICE.conf | grep "PublicKey = " | sed "s/PublicKey = \(.*\)$/\1/")) + for i in "${!keys[@]}"; do + if [[ "$1" = "${keys[$i]}" ]]; then + echo "Key '$1' already used in 'Client ${clients[$i]}'" exit 1 fi done