--- src/openvpn/route.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/openvpn/route.c b/src/openvpn/route.c index 1dd14fb..13eed5f 100644 --- a/src/openvpn/route.c +++ b/src/openvpn/route.c @@ -1311,9 +1311,12 @@ add_route (struct route_ipv4 *r, status = openvpn_execve_check (&argv, es, 0, "ERROR: Linux route add command failed"); #elif defined (TARGET_ANDROID) - struct buffer out = alloc_buf_gc (64, &gc); + struct buffer out = alloc_buf_gc (128, &gc); - buf_printf (&out, "%s %s", network, netmask); + if (rgi) + buf_printf (&out, "%s %s %s dev %s", network, netmask, gateway, rgi->iface); + else + buf_printf (&out, "%s %s %s", network, netmask, gateway); management_android_control (management, "ROUTE", buf_bptr(&out)); #elif defined (WIN32) @@ -1593,7 +1596,7 @@ add_route_ipv6 (struct route_ipv6 *r6, const struct tuntap *tt, unsigned int fla #elif defined (TARGET_ANDROID) struct buffer out = alloc_buf_gc (64, &gc); - buf_printf (&out, "%s/%d", network, r6->netbits); + buf_printf (&out, "%s/%d %s", network, r6->netbits, device); management_android_control (management, "ROUTE6", buf_bptr(&out)); -- 1.8.5.2 (Apple Git-48)