diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-11-08 18:40:07 +0900 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-11-10 16:20:09 +0900 |
commit | 868be0cfd81894724562d739072f85ab56dc838a (patch) | |
tree | ef4a921adc2d00d4f65b6a5e5ddbf50562f4bd18 /src | |
parent | qemu: bump kernel version (diff) | |
download | wireguard-monolithic-historical-868be0cfd81894724562d739072f85ab56dc838a.tar.xz wireguard-monolithic-historical-868be0cfd81894724562d739072f85ab56dc838a.zip |
wg-quick: stat the correct enclosing folder of config file
Diffstat (limited to 'src')
-rwxr-xr-x | src/tools/wg-quick.bash | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/tools/wg-quick.bash b/src/tools/wg-quick.bash index 88e671f..f69061a 100755 --- a/src/tools/wg-quick.bash +++ b/src/tools/wg-quick.bash @@ -30,7 +30,8 @@ parse_options() { [[ $CONFIG_FILE =~ ^[a-zA-Z0-9_=+.-]{1,16}$ ]] && CONFIG_FILE="/etc/wireguard/$CONFIG_FILE.conf" [[ -e $CONFIG_FILE ]] || die "\`$CONFIG_FILE' does not exist" [[ $CONFIG_FILE =~ /?([a-zA-Z0-9_=+.-]{1,16})\.conf$ ]] || die "The config file must be a valid interface name, followed by .conf" - ((($(stat -c '0%#a' "$CONFIG_FILE") & $(stat -c '0%#a' "/etc/wireguard") & 0007) == 0)) || echo "Warning: \`$CONFIG_FILE' is world accessible" >&2 + CONFIG_FILE="$(readlink -f "$CONFIG_FILE")" + ((($(stat -c '0%#a' "$CONFIG_FILE") & $(stat -c '0%#a' "${CONFIG_FILE%/*}") & 0007) == 0)) || echo "Warning: \`$CONFIG_FILE' is world accessible" >&2 INTERFACE="${BASH_REMATCH[1]}" shopt -s nocasematch while read -r line || [[ -n $line ]]; do |