[PATCH] gateway: Fix typo when setting 'is_vpn6'
Gabriel Sanches <[email protected]>
| Newsgroups | dev.linux.lists.connman |
|---|---|
| Message-ID | <DB6PR10MB184509788A86F13B5F8C7378E11F2@DB6PR10MB1845.EURPRD10.PROD.OUTLOOK.COM> |
Hi,
I was testing connman's wireguard plugin and got a segmentation fault.
Looking at the backtrace revealed that there are some typos in the `src/gateway.c` file where `is_vpn6` was incorrectly set using ipv4 variables instead of ipv6 regarding vpn.
I simply changed them to ipv6 and got it working.
not related to the patch:
I had to manually add ip route so the other devices could be pinged
The plugin adds routes for the WireGuard.DNS configuration setting
# ip route
1.1.1.1 dev wg0 scope link
8.8.8.8 dev wg0 scope link
10.42.0.0/24 dev end1 proto kernel scope link src 10.42.0.83
10.42.0.1 dev end1 scope link
<vpn host ip> via 10.42.0.1 dev end1
the missing route added manually:
ip route add 10.33.0.0/16 dev wg0 scope link
an equivalent wireguard file adds it properly (using wg-quick)
Is the plugin lacking some implementation?
---
src/gateway.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gateway.c b/src/gateway.c
index 16c87f83..b2c211e2 100644
--- a/src/gateway.c
+++ b/src/gateway.c
@@ -3704,10 +3704,10 @@ int __connman_gateway_add(struct connman_service *service,
is_gateway_config_vpn(
new_gateway->ipv4_config);
- is_vpn6 = do_ipv4 &&
- new_gateway->ipv4_config &&
+ is_vpn6 = do_ipv6 &&
+ new_gateway->ipv6_config &&
is_gateway_config_vpn(
- new_gateway->ipv4_config);
+ new_gateway->ipv6_config);
} else {
if (do_ipv4 && new_gateway->ipv4_config)
--
2.43.0