[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.