---
 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)


Reply via email to