aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2017-12-26 20:02:42 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2017-12-26 20:04:40 +0100
commit2caa06d9fb945fb8c3677e60bd320dac141dd64d (patch)
tree61fe2f62a7a6c2180b12eeb662b22cef32994c1f
parenttools: use cmp and right arguments for mount (diff)
downloadwireguard-android-2caa06d9fb945fb8c3677e60bd320dac141dd64d.tar.xz
wireguard-android-2caa06d9fb945fb8c3677e60bd320dac141dd64d.zip
wg-quick: set mtu after addresses
This has all sorts of terrible implications and fixes a problem in a pretty terrible way. If the interface MTU is less than 1280, IPv6 addresses will fail to be added. Rather than explictly trying to catch this and do something particular about it -- such as nicely warning the user that there could be a v6 isolation issue, for example -- we just set the MTU _after_ we set the addresses, so that in setting the MTU, we wind up removing the addresses that were just added. This is pretty bad, but it makes things a bit smoother. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--app/tools/wg-quick.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/app/tools/wg-quick.c b/app/tools/wg-quick.c
index db744d39..e424caad 100644
--- a/app/tools/wg-quick.c
+++ b/app/tools/wg-quick.c
@@ -492,11 +492,11 @@ static void cmd_up(const char *iface, const char *config, unsigned int mtu, cons
add_if(iface);
set_config(iface, config);
- set_mtu(iface, mtu);
set_addr(iface, addrs);
up_if(&netid, iface);
set_dnses(netid, dnses);
set_routes(iface, netid);
+ set_mtu(iface, mtu);
free(cleanup_iface);
cleanup_iface = NULL;