Routing loops are avoided using the VPNService API protect API
---
src/openvpn/route.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/openvpn/route.c b/src/openvpn/route.c
index 3959abd..0142c58 100644
--- a/src/openvpn/route.c
+++ b/src/openvpn/route.c
@@ -768,6 +768,10 @@ init_route_ipv6_list (struct route_ipv6_list *rl6,
r6->next = rl6->routes_ipv6;
rl6->routes_ipv6 = r6;
+#ifndef TARGET_ANDROID
+ /* On Android the VPNService protect function call will take of
+ avoiding routing loops, so ignore this part and let
+ remote_host_ipv6 always evaluate to false */
if ( remote_host_ipv6 &&
route_ipv6_match_host( r6, remote_host_ipv6 ) )
{
@@ -776,7 +780,8 @@ init_route_ipv6_list (struct route_ipv6_list *rl6,
print_in6_addr (r6->network, 0, &gc), r6->netbits,
print_in6_addr (*remote_host_ipv6, 0, &gc));
}
- }
+#endif
+ }
}
}
--
2.3.2 (Apple Git-55)