[Openvpn-devel,S] Change in openvpn[master]: Always use a 0.0.0.0/0 default on Android instead of def1

Message ID 7339e232f9d6a9dbd94473d7f647f51061a188b6-HTML@gerrit.openvpn.net
State New
Headers show
Series [Openvpn-devel,S] Change in openvpn[master]: Always use a 0.0.0.0/0 default on Android instead of def1 | expand

Commit Message

stipa (Code Review) Feb. 12, 2025, 11:53 a.m. UTC
Attention is currently required from: flichtenheld.

Hello flichtenheld,

I'd like you to do a code review.
Please visit

    http://gerrit.openvpn.net/c/openvpn/+/890?usp=email

to review the following change.


Change subject: Always use a 0.0.0.0/0 default on Android instead of def1
......................................................................

Always use a 0.0.0.0/0 default on Android instead of def1

Certain handset manufactures (like Samsung iirc)  are handling
0.0.0.0/0 different from the split /1 routes, so push the 0.0.0.0/0
route to the OS.

Change-Id: I22e4b73e744c765a43bdb29f6e18813d103ea757
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
---
M src/openvpn/route.c
1 file changed, 12 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/90/890/1

Patch

diff --git a/src/openvpn/route.c b/src/openvpn/route.c
index d895e1c..71a0bbc9 100644
--- a/src/openvpn/route.c
+++ b/src/openvpn/route.c
@@ -1078,6 +1078,17 @@ 
 
             if (rl->flags & RG_REROUTE_GW)
             {
+#ifdef TARGET_ANDROID
+                add_route3(0,
+                           0,
+                           rl->spec.remote_endpoint,
+                           tt,
+                           flags,
+                           &rl->rgi,
+                           es,
+                           ctx);
+
+#else  /* ifdef TARGET_ANDROID */
                 if (rl->flags & RG_DEF1)
                 {
                     /* add new default route (1st component) */
@@ -1102,6 +1113,7 @@ 
                     ret = add_route3(0, 0, rl->spec.remote_endpoint, tt,
                                      flags, &rl->rgi, es, ctx) && ret;
                 }
+#endif /* ifdef TARGET_ANDROID */
             }
 
             /* set a flag so we can undo later */