wg-quick: android: prevent outgoing handshake packets from being dropped
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
a54a133500
commit
b3b6d97db8
|
@ -258,6 +258,8 @@ static void del_if(const char *iface)
|
||||||
|
|
||||||
xregcomp(®, regex, REG_EXTENDED);
|
xregcomp(®, regex, REG_EXTENDED);
|
||||||
|
|
||||||
|
cmd("iptables -D OUTPUT -m mark --mark 0x20000 -j ACCEPT -m comment --comment \"wireguard rule %s\"", iface);
|
||||||
|
cmd("ip6tables -D OUTPUT -m mark --mark 0x20000 -j ACCEPT -m comment --comment \"wireguard rule %s\"", iface);
|
||||||
cmd("ip link del %s", iface);
|
cmd("ip link del %s", iface);
|
||||||
for (char *ret = cmd_ret(&c, "ip rule show"); ret; ret = cmd_ret(&c, NULL)) {
|
for (char *ret = cmd_ret(&c, "ip rule show"); ret; ret = cmd_ret(&c, NULL)) {
|
||||||
if (!regexec(®, ret, ARRAY_SIZE(matches), matches, 0)) {
|
if (!regexec(®, ret, ARRAY_SIZE(matches), matches, 0)) {
|
||||||
|
@ -279,6 +281,8 @@ static void up_if(unsigned int *netid, const char *iface)
|
||||||
*netid = random() & 0xfffe;
|
*netid = random() & 0xfffe;
|
||||||
|
|
||||||
cmd("wg set %s fwmark 0x20000", iface);
|
cmd("wg set %s fwmark 0x20000", iface);
|
||||||
|
cmd("iptables -I OUTPUT 1 -m mark --mark 0x20000 -j ACCEPT -m comment --comment \"wireguard rule %s\"", iface);
|
||||||
|
cmd("ip6tables -I OUTPUT 1 -m mark --mark 0x20000 -j ACCEPT -m comment --comment \"wireguard rule %s\"", iface);
|
||||||
cndc("interface setcfg %s up", iface);
|
cndc("interface setcfg %s up", iface);
|
||||||
cndc("network create %u vpn 1 1", *netid);
|
cndc("network create %u vpn 1 1", *netid);
|
||||||
cndc("network interface add %u %s", *netid, iface);
|
cndc("network interface add %u %s", *netid, iface);
|
||||||
|
|
Loading…
Reference in a new issue