diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-05-27 02:42:04 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-05-27 02:42:31 +0200 |
commit | 4e1eebb52b4cfb2ef99ca98a54a282bd1d015902 (patch) | |
tree | 6542beaa9c2964b5b6c58f24ce6b0f4a5c740cd4 /src/tools/wg-quick/darwin.bash | |
parent | compat: don't clash with get_random_u32 backports (diff) | |
download | wireguard-monolithic-historical-4e1eebb52b4cfb2ef99ca98a54a282bd1d015902.tar.xz wireguard-monolithic-historical-4e1eebb52b4cfb2ef99ca98a54a282bd1d015902.zip |
wg-quick: determine IPs when saving interface
Diffstat (limited to 'src/tools/wg-quick/darwin.bash')
-rwxr-xr-x | src/tools/wg-quick/darwin.bash | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/tools/wg-quick/darwin.bash b/src/tools/wg-quick/darwin.bash index 8e0a71f..18b92ea 100755 --- a/src/tools/wg-quick/darwin.bash +++ b/src/tools/wg-quick/darwin.bash @@ -335,12 +335,12 @@ set_config() { } save_config() { - # TODO: actually save addresses and DNS by running ifconfig and networksetup local old_umask new_config current_config address cmd new_config=$'[Interface]\n' - for address in "${ADDRESSES[@]}"; do - new_config+="Address = $address"$'\n' - done + while read -r address; do + [[ $address =~ inet6?\ ([^ ]+) ]] && new_config+="Address = ${BASH_REMATCH[1]}"$'\n' + done < <(ifconfig "$REAL_INTERFACE") + # TODO: actually determine current DNS for interface for address in "${DNS[@]}"; do new_config+="DNS = $address"$'\n' done |