ports/net/openvpn/patches/patch-src_openvpn_route_c

46 lines
1.5 KiB
Text

- #1: add support for on-link routes
- #2, #3: don't advertise an RTA_IFP that is not actually included
Index: src/openvpn/route.c
--- src/openvpn/route.c.orig
+++ src/openvpn/route.c
@@ -1815,12 +1815,17 @@ add_route(struct route_ipv4 *r,
}
#endif
- argv_printf_cat(&argv, "-net %s %s -netmask %s",
+ argv_printf_cat (&argv, "-net %s -netmask %s",
network,
- gateway,
netmask);
- /* FIXME -- add on-link support for OpenBSD/NetBSD */
+ /* FIXME -- add on-link support for NetBSD */
+#ifdef TARGET_OPENBSD
+ if (is_on_link (is_local_route, flags, rgi))
+ argv_printf_cat (&argv, "-link -iface %s", rgi->iface);
+ else
+#endif
+ argv_printf_cat (&argv, "%s", gateway);
argv_msg(D_ROUTE, &argv);
bool ret = openvpn_execve_check(&argv, es, 0,
@@ -3507,7 +3512,7 @@ get_default_gateway(struct route_gateway_info *rgi, op
/* setup data to send to routing socket */
pid = getpid();
seq = 0;
- rtm_addrs = RTA_DST | RTA_NETMASK | RTA_IFP;
+ rtm_addrs = RTA_DST | RTA_NETMASK;
bzero(&m_rtmsg, sizeof(m_rtmsg));
bzero(&so_dst, sizeof(so_dst));
@@ -3725,7 +3730,7 @@ get_default_gateway_ipv6(struct route_ipv6_gateway_inf
/* setup data to send to routing socket */
pid = getpid();
seq = 0;
- rtm_addrs = RTA_DST | RTA_NETMASK | RTA_IFP;
+ rtm_addrs = RTA_DST | RTA_NETMASK;
bzero(&m_rtmsg, sizeof(m_rtmsg));
bzero(&so_dst, sizeof(so_dst));