cron2 has uploaded a new patch set (#2) to the change originally created by stipa. ( http://gerrit.openvpn.net/c/openvpn/+/878?usp=email )
The following approvals got outdated and were removed: Code-Review+2 by cron2 Change subject: route.c: change the signature of get_default_gateway() ...................................................................... route.c: change the signature of get_default_gateway() As a preparation of an upcoming refactoring of get_default_gateway(), add `dest` parameter to specify destination address to which we are looking the best route. Change-Id: I58735fb24bc4a94c803b7dfcd6de87af0f75522a Signed-off-by: Lev Stipakov <l...@openvpn.net> Acked-by: Gert Doering <g...@greenie.muc.de> Message-Id: <20250129095038.19056-1-g...@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg30685.html Signed-off-by: Gert Doering <g...@greenie.muc.de> --- M src/openvpn/options.c M src/openvpn/route.c M src/openvpn/route.h M src/openvpn/ssl.c M src/openvpn/tun.c 5 files changed, 11 insertions(+), 10 deletions(-) git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/78/878/2 diff --git a/src/openvpn/options.c b/src/openvpn/options.c index 4510bea..5a80e6b 100644 --- a/src/openvpn/options.c +++ b/src/openvpn/options.c @@ -5866,7 +5866,7 @@ get_ipv6_addr(p[1], &remote, NULL, M_WARN); } net_ctx_init(NULL, &net_ctx); - get_default_gateway(&rgi, &net_ctx); + get_default_gateway(&rgi, 0, &net_ctx); get_default_gateway_ipv6(&rgi6, &remote, &net_ctx); print_default_gateway(M_INFO, &rgi, &rgi6); openvpn_exit(OPENVPN_EXIT_STATUS_GOOD); /* exit point */ diff --git a/src/openvpn/route.c b/src/openvpn/route.c index 12d6c07..3501e35 100644 --- a/src/openvpn/route.c +++ b/src/openvpn/route.c @@ -655,7 +655,7 @@ rl->spec.flags |= RTSA_DEFAULT_METRIC; } - get_default_gateway(&rl->rgi, ctx); + get_default_gateway(&rl->rgi, remote_host, ctx); if (rl->rgi.flags & RGI_ADDR_DEFINED) { setenv_route_addr(es, "net_gateway", rl->rgi.gateway.addr, -1); @@ -2733,7 +2733,7 @@ } void -get_default_gateway(struct route_gateway_info *rgi, openvpn_net_ctx_t *ctx) +get_default_gateway(struct route_gateway_info *rgi, in_addr_t dest, openvpn_net_ctx_t *ctx) { struct gc_arena gc = gc_new(); @@ -3282,7 +3282,7 @@ #elif defined(TARGET_ANDROID) void -get_default_gateway(struct route_gateway_info *rgi, openvpn_net_ctx_t *ctx) +get_default_gateway(struct route_gateway_info *rgi, in_addr_t dest, openvpn_net_ctx_t *ctx) { /* Android, set some pseudo GW, addr is in host byte order, * Determining the default GW on Android 5.0+ is non trivial @@ -3323,7 +3323,7 @@ #elif defined(TARGET_LINUX) void -get_default_gateway(struct route_gateway_info *rgi, openvpn_net_ctx_t *ctx) +get_default_gateway(struct route_gateway_info *rgi, in_addr_t dest, openvpn_net_ctx_t *ctx) { struct gc_arena gc = gc_new(); int sd = -1; @@ -3561,7 +3561,7 @@ #define max(a, b) ((a) > (b) ? (a) : (b)) void -get_default_gateway(struct route_gateway_info *rgi, openvpn_net_ctx_t *ctx) +get_default_gateway(struct route_gateway_info *rgi, in_addr_t dest, openvpn_net_ctx_t *ctx) { struct gc_arena gc = gc_new(); struct rtmsg m_rtmsg; @@ -3943,7 +3943,7 @@ #elif defined(TARGET_HAIKU) void -get_default_gateway(struct route_gateway_info *rgi, openvpn_net_ctx_t *ctx) +get_default_gateway(struct route_gateway_info *rgi, in_addr_t dest, openvpn_net_ctx_t *ctx) { CLEAR(*rgi); @@ -4047,7 +4047,7 @@ * may be disabled by missing items. */ void -get_default_gateway(struct route_gateway_info *rgi, openvpn_net_ctx_t *ctx) +get_default_gateway(struct route_gateway_info *rgi, in_addr_t dest, openvpn_net_ctx_t *ctx) { CLEAR(*rgi); } diff --git a/src/openvpn/route.h b/src/openvpn/route.h index 69b06b8..0bbedbb 100644 --- a/src/openvpn/route.h +++ b/src/openvpn/route.h @@ -335,6 +335,7 @@ bool is_special_addr(const char *addr_str); void get_default_gateway(struct route_gateway_info *rgi, + in_addr_t dest, openvpn_net_ctx_t *ctx); void get_default_gateway_ipv6(struct route_ipv6_gateway_info *rgi, diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c index e4a7b57..6f78a76 100644 --- a/src/openvpn/ssl.c +++ b/src/openvpn/ssl.c @@ -1990,7 +1990,7 @@ { /* push mac addr */ struct route_gateway_info rgi; - get_default_gateway(&rgi, session->opt->net_ctx); + get_default_gateway(&rgi, 0, session->opt->net_ctx); if (rgi.flags & RGI_HWADDR_DEFINED) { buf_printf(&out, "IV_HWADDR=%s\n", format_hex_ex(rgi.hwaddr, 6, 0, 1, ":", &gc)); diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index 33830fc..80f5dff 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -671,7 +671,7 @@ struct route_gateway_info rgi; const unsigned int needed = (RGI_ADDR_DEFINED|RGI_NETMASK_DEFINED); - get_default_gateway(&rgi, ctx); + get_default_gateway(&rgi, 0, ctx); if ((rgi.flags & needed) == needed) { const in_addr_t lan_network = rgi.gateway.addr & rgi.gateway.netmask; -- To view, visit http://gerrit.openvpn.net/c/openvpn/+/878?usp=email To unsubscribe, or for help writing mail filters, visit http://gerrit.openvpn.net/settings Gerrit-Project: openvpn Gerrit-Branch: master Gerrit-Change-Id: I58735fb24bc4a94c803b7dfcd6de87af0f75522a Gerrit-Change-Number: 878 Gerrit-PatchSet: 2 Gerrit-Owner: stipa <lstipa...@gmail.com> Gerrit-Reviewer: cron2 <g...@greenie.muc.de> Gerrit-Reviewer: flichtenheld <fr...@lichtenheld.com> Gerrit-Reviewer: plaisthos <arne-open...@rfc2549.org> Gerrit-CC: openvpn-devel <openvpn-devel@lists.sourceforge.net> Gerrit-MessageType: newpatchset
_______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel