]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Don't redirect the gateway on Android even if requested
authorArne Schwabe <arne@rfc2549.org>
Tue, 15 Sep 2015 09:23:34 +0000 (11:23 +0200)
committerGert Doering <gert@greenie.muc.de>
Tue, 15 Sep 2015 11:02:04 +0000 (13:02 +0200)
Routing loops are avoided using the VPNService API

Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <1442309019-7586-4-git-send-email-arne@rfc2549.org>
URL: http://article.gmane.org/gmane.network.openvpn.devel/10113

Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/route.c

index 3e161404c8c7b37bee5136f3ac358cc6a762d910..d7d2eeea22f6a60dcb521b8fb09a33f88f91f700 100644 (file)
@@ -528,8 +528,10 @@ add_block_local (struct route_list *rl)
     {
       size_t i;
 
+#ifndef TARGET_ANDROID
       /* add bypass for gateway addr */
       add_bypass_address (&rl->spec.bypass, rl->rgi.gateway.addr);
+#endif
 
       /* block access to local subnet */
       add_block_local_item (rl, &rl->rgi.gateway, rl->spec.remote_endpoint);
@@ -817,6 +819,7 @@ redirect_default_route_to_vpn (struct route_list *rl, const struct tuntap *tt, u
        }
       else
        {
+#ifndef TARGET_ANDROID
          bool local = BOOL_CAST(rl->flags & RG_LOCAL);
          if (rl->flags & RG_AUTO_LOCAL) {
            const int tla = rl->spec.remote_host_local;
@@ -849,6 +852,7 @@ redirect_default_route_to_vpn (struct route_list *rl, const struct tuntap *tt, u
                dmsg (D_ROUTE, "ROUTE remote_host protocol differs from tunneled");
              }
            }
+#endif
 
          /* route DHCP/DNS server traffic through original default gateway */
          add_bypass_routes (&rl->spec.bypass, rl->rgi.gateway.addr, tt, flags, &rl->rgi, es);