Re: [PATCH] gateway: Fix typo when setting 'is_vpn6'

Jussi Laakkonen <[email protected]>
Newsgroups dev.linux.lists.connman
Message-ID <[email protected]>
Hi Christian,

Ok, now I do not know what is going on, I personally cherry-picked that 
particular commit from upstream, made by Daniel Wagner, into our fork. 
And yes, you are right, it no longer exists there. That had an issue 
with invalid setup, that it did block vpnd for a long time and I changed 
it to use GResolv instead, which seems to work better.

But why it is not in upstream anymore is a big question. If you use the 
cherry-pick commit id, which points to our "upstream" content (yeah, not 
the best way..) I find this 
https://git.kernel.org/pub/scm/network/connman/connman.git/commit/vpn/plugins/wireguard.c?id=90592f7a58358a98bde5df6928e2b871041c12bc 
but it is not in master?

Br,
  Jussi


On 1/23/25 13:35, Christian Hewitt wrote:
> Looking here: https://git.kernel.org/pub/scm/network/connman/connman.git/log/ I’m not finding "wireguard: Regular reresolve endpoint address” and the first page of log goes back to December ’23. Are we using the wrong upstream?
> 
> Christian
> 
>> On 23 Jan 2025, at 3:22 pm, Jussi Laakkonen <[email protected]> wrote:
>>
>> Hi Christian,
>>
>> That is actually in upstream, all the commits regarding WireGuard before July 10, 2024 are taken from the latest upstream and the changes after that are new features.
>>
>> Well, the vpn.c changes do depend on having the ASSOCIATION state also for VPNs to be implemented, that was proposed in the RFC https://lore.kernel.org/connman/[email protected]/T/#mbced39d72dd424884fe105a66fea02a83c708f97 as the state transitions depend on that bit. But it does not seem to be depending on the gateway.c/connection.c. Well, I can try to squeeze time to address the issues Daniel earlier raised on that RFC and push them to upstream, then make a big change on the vpn.c and wireguard.c.
>>
>> Br,
>> Jussi
>>
>>
>> On 1/23/25 13:12, Christian Hewitt wrote:
>>> You don't often get email from [email protected]. Learn why this is important<https://aka.ms/LearnAboutSenderIdentification>
>>> Ohh.. I would be VERY keen to see support for FQDN’s resolving to dynamic IP’s upstreamed so this looks interesting:
>>> https://github.com/sailfishos/connman/commit/adb6ab2b49a2b822e6517d703f972b866fdbd8bd
>>> Is that feature dependent on any other changes? (being lazy.. I didn’t read all the commits in that branch yet!).
>>> Christian
>>> On 23 Jan 2025, at 3:06 pm, Jussi Laakkonen <[email protected]> wrote:
>>> Hello,
>>> Regarding WireGuard, I had to make a bunch of changes to the latest version of it to get it running properly on our fork (yes, we upgrade it slowly, now 1.38): https://github.com/sailfishos/connman/commits/master/connman/vpn
>>> But I haven't had time to figure out all that is needed for upstream to be sent first, like this RFC edit that was forgotten because of... "eastern winds blowing into our direction": https://lore.kernel.org/connman/[email protected]/T/#mbced39d72dd424884fe105a66fea02a83c708f97
>>> And then the connection.c was modified a lot (and renamed) and I'm not sure if these will work on top of that anymore. Mostly because we have features that may not have been compatible with latest upstream, like adding a support  for two different devices to be belonging into one service to facilitate CLAT support https://github.com/sailfishos/connman/commits/master/connman/src/connection.c etc. etc. etc.
>>> At some point I'll start pushing changes but not sure when I have time. Mostly they could be RFCs as the changes are big.
>>> BR,
>>> Jussi
>>> On 1/23/25 12:45, daniel antoine wrote:
>>> Hi
>>> I have opened a ticket for connman-vpn not working with wireguard  in
>>> April 2024. If you give me the patches I can test them
>>> Best regards
>>> Daniel
>>> Le mer. 22 janv. 2025 à 18:01, Grant Erickson
>>> <[email protected]> a écrit :
>>> On Jan 13, 2025, at 5:59 AM, Gabriel Sanches <[email protected]> wrote:
>>> 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
>>> Gabriel,
>>> Great catch on this copy-and-paste typo; thank you!
>>> Best,
>>> Grant
>>
>
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.