Send connman mailing list submissions to
[email protected]
To subscribe or unsubscribe via email, send a message with subject or
body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of connman digest..."
Today's Topics:
1. Re: Unable to remove personal data (Daniel Wagner)
2. Re: New membership (Daniel Wagner)
3. Re: [PATCH] Force BSS expiration (Daniel Wagner)
4. Re: DSA support - bug (Daniel Wagner)
5. Re: Bridge and bond interface support (Daniel Wagner)
6. Re: [PATCH] Fix hang up when connecting to a hidden network with a wrong
size name parameter
(Daniel Wagner)
7. Re: [PATCH] Fix hang up when connecting a secure network with an empty
passphrase
(Daniel Wagner)
8. Re: [PATCH] vpn-provider: Cancel agent requests when removing VPN
(Daniel Wagner)
9. Re: WireGuard plugin doesn't work: __vpn_ipconfig_foreach: symbol not
found
(Daniel Wagner)
----------------------------------------------------------------------
Date: Fri, 4 Dec 2020 13:02:03 +0100
From: Daniel Wagner <[email protected]>
Subject: Re: Unable to remove personal data
To: Stéphane Veyret <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=iso-8859-1
Hi Stéphane,
On Tue, Dec 01, 2020 at 08:15:11AM +0100, Stéphane Veyret wrote:
> In order to be compliant to the GDPR, we have to delete these data if end
> user asks for it. Therefore, we would need to have a connman command, using
> the DBUS API, which would remove all those directories (including those for
> networks which are not currently connected). Does such a command
> exist?
So far there is no such D-Bus command. IIRC, there was an discussion on
this topic in the past and the suggested solution was to add this
outside of ConnMan (basically a script with 'rm -rf
/var/lib/connman/wifi_*'). Not totally sure what happens when ConnMan is
running at the same time.
Adding a D-Bus interface for this shouldn't be too hard.
> If not, is it possible to open an issue, and how (I saw that there is a Jira,
> but I couldn't open an issue on it because I don't have an account)?
Correct there is a Jira instance, but I can't access it either. All
coordination is done via the mailing list. Though I fear there isn't any
taker for this feature request.
Thanks,
Daniel
------------------------------
Date: Fri, 4 Dec 2020 13:02:54 +0100
From: Daniel Wagner <[email protected]>
Subject: Re: New membership
To: Emmanuel Vautrin <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
Hi Emmanuel,
On Tue, Dec 01, 2020 at 02:01:56PM -0000, Emmanuel Vautrin wrote:
> I will continue to provide you the new fixes, based on 1.38 integrated in our
> Yocto (3.2)
Welcome! Looking forward to your contributions.
Thanks,
Daniel
------------------------------
Date: Fri, 4 Dec 2020 13:07:56 +0100
From: Daniel Wagner <[email protected]>
Subject: Re: [PATCH] Force BSS expiration
To: Emmanuel Vautrin <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
Hi Emmanuel,
On Tue, Dec 01, 2020 at 02:17:30PM -0000, Emmanuel Vautrin wrote:
> Even if I have noticed that the interface to set the bss expiration
> age has been added, we still need to add a call to this interface. On
> the contrary, we have still cyclic periods (between bss expiration and
> before scanning), where only the favorite networks are listed.
>
> Is it normal?
I really don't know. The scanning interface of wpa_supplicant is very
confusing and extremely complex. Furthermore, it seems to change in
behavior quiet often.
> By our side, we needed to add this patch:
> ---
> plugins/wifi.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/plugins/wifi.c b/plugins/wifi.c
> index cc2623a2..c75a7ccc 100644
> --- a/plugins/wifi.c
> +++ b/plugins/wifi.c
> @@ -1529,6 +1529,7 @@ static void interface_create_callback(int result,
> void *user_data)
> {
> struct wifi_data *wifi = user_data;
> + char * bgscan_range_max;
>
> DBG("result %d ifname %s, wifi %p", result,
> g_supplicant_interface_get_ifname(interface),
> @@ -1544,6 +1545,13 @@ static void interface_create_callback(int result,
> wifi->interface_ready = true;
> finalize_interface_creation(wifi);
> }
> + /* Force the BSS expiration age to match ConnMan long scanning interval
> to avoid the loss of networks during a long interval between two scannings. */
> + if ((bgscan_range_max = strrchr(BGSCAN_DEFAULT,':')) != NULL &&
> + g_supplicant_interface_set_bss_expiration_age(interface,
> strtol(bgscan_range_max + 1, (char**)NULL, 10) + 10) >= 0) {
> + DBG("bss expiration age successfully updated");
> + } else {
> + DBG("bss expiration age update has failed");
> + }
Well, I can't really say if needed but could you clean it this up
- max line length
- error handling for strtol
- please no more DBGs
- commit message explaining what you fix and how?
then I will accept it.
Thanks,
Daniel
------------------------------
Date: Fri, 4 Dec 2020 13:32:27 +0100
From: Daniel Wagner <[email protected]>
Subject: Re: DSA support - bug
To: Pieter Cardoen <[email protected]>
Cc: "[email protected]" <[email protected]>
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
Hi Pieter,
On Tue, Dec 01, 2020 at 03:58:47PM +0000, Pieter Cardoen wrote:
> Dear
>
> I am using connmand on our embedded devices which have an on-board
> marvell switch, configured using dsa. I noticed that, using latest
> release, the network connections were not working. After debugging i
> found that this patch needed to be applied to have connmand properly
> working with dsa ports:
After looking at this code I think it's not really good as we try to
identify the type per interface name. I wonder if this could not be done
more clever.
Anyway, for the time beeing I applied your patch.
Thanks,
Daniel
------------------------------
Date: Fri, 4 Dec 2020 13:35:30 +0100
From: Daniel Wagner <[email protected]>
Subject: Re: Bridge and bond interface support
To: Pieter Cardoen <[email protected]>
Cc: "[email protected]" <[email protected]>
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
Hi Pieter,
On Tue, Dec 01, 2020 at 04:14:30PM +0000, Pieter Cardoen wrote:
> Dear
>
> Is it possible to use connmand to configure and enable a bridge at
> boot-time and then use connmand to manage this interface?
ConnMan creates and manages only for tethering a bridge. There is no
interface to create or manage bridges.
> Same question for bonding interfaces.
>
> I would like to use a config file like this:
> [service_br0]
> Type=bridge
> IPv4=dhcp
> IPv6=off
> ports=eth0,eth1
Bonding was deliberately left out as it targets more the data center use
cases.
Thanks,
Daniel
------------------------------
Date: Fri, 4 Dec 2020 13:44:21 +0100
From: Daniel Wagner <[email protected]>
Subject: Re: [PATCH] Fix hang up when connecting to a hidden network
with a wrong size name parameter
To: Emmanuel Vautrin <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
Hi Emmanuel,
On Wed, Dec 02, 2020 at 09:11:19AM -0000, Emmanuel Vautrin wrote:
> Hello everyone,
>
> Please find the patch below that fixes this issue:
I've applied this patch, but please send proper patches in future. I
have to manually pick your patches and write a commit message.
Thanks,
Daniel
------------------------------
Date: Fri, 4 Dec 2020 13:53:19 +0100
From: Daniel Wagner <[email protected]>
Subject: Re: [PATCH] Fix hang up when connecting a secure network with
an empty passphrase
To: Emmanuel Vautrin <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
Hi Emmanuel,
On Wed, Dec 02, 2020 at 09:17:17AM -0000, Emmanuel Vautrin wrote:
> Hello everyone,
>
> Please find below the patch fixing this issue:
I need a commit message explaining what you are fixing. The 'why' is
important. Also I can't really understand what do. Maybe it gets more
clear if you describe where the problems are.
> diff --git a/src/service.c b/src/service.c
> index 8d236749..629db995 100644
> --- a/src/service.c
> +++ b/src/service.c
> @@ -4021,6 +4021,7 @@ static void disconnect_on_last_session(enum
> connman_service_type type)
> static int active_sessions[MAX_CONNMAN_SERVICE_TYPES] = {};
> static int always_connect[MAX_CONNMAN_SERVICE_TYPES] = {};
> static int active_count = 0;
> +static bool passphrase_requested = false;
No, this can't be a global variable. You need to track it in the service
object I guess.
>
> void __connman_service_set_active_session(bool enable, GSList *list)
> {
> @@ -4187,6 +4188,9 @@ static bool auto_connect_service(GList *services,
> continue;
> }
>
> + if (passphrase_requested)
> + return true;
This looks very suspiciously. The auto_connect should not be involved in
anyway how a service is configured.
> if (service->pending ||
> is_connecting(service->state) ||
> is_connected(service->state)) {
> @@ -5721,6 +5725,7 @@ static void request_input_cb(struct connman_service
> *service,
> err = __connman_service_set_passphrase(service, passphrase);
>
> done:
> + passphrase_requested = false;
> if (err >= 0) {
> /* We forget any previous error. */
> set_error(service, CONNMAN_SERVICE_ERROR_UNKNOWN);
> @@ -6664,6 +6669,9 @@ int __connman_service_connect(struct connman_service
> *service,
> if (service->hidden && err != -EINPROGRESS)
> service->pending = pending;
>
> + if (err == -EINPROGRESS)
> + passphrase_requested = true;
If this is needed I think it should go inside the connman agent code. I
rather not have yet another state variable inside service.
Thanks,
Daniel
------------------------------
Date: Fri, 4 Dec 2020 13:54:35 +0100
From: Daniel Wagner <[email protected]>
Subject: Re: [PATCH] vpn-provider: Cancel agent requests when removing
VPN
To: Jussi Laakkonen <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
Hi Jussi,
On Wed, Dec 02, 2020 at 11:22:11AM +0200, Jussi Laakkonen wrote:
> If a VPN has a pending request active in the agent and connman-vpnd is
> restarted or shutdown it will result in segmentation fault. This happens
> because plugins and tasks are cleaned up before vpn-provider and thus,
> the removal of agent driver is called after the plugins are gone and
> if there is a pending request from any unloaded VPN plugin it needs to
> be cancelled. Since the callback set in the agent request points to a
> function in the VPN plugin following happens:
>
> Thread 1 "connman-vpnd" received signal SIGSEGV, Segmentation fault.
> 0xf6716cbc in ?? ()
> (gdb) bt
> \#0 0xf6716cbc in ?? ()
> \#1 0x0002bafc in agent_finalize_pending (reply=reply@entry=0x0,
> agent=<optimized out>) at src/agent.c:121
> \#2 0x0002bd80 in cancel_all_requests (agent=0x5285a0) at
> src/agent.c:483
> \#3 agent_unref_debug (file=0x363d4 "src/agent.c", line=647,
> caller=<synthetic pointer>, agent=0x5285a0) at src/agent.c:568
> \#4 agent_destroy (data=0x5285a0) at src/agent.c:647
> \#5 0xf6f6e8d6 in g_hash_table_remove_all_nodes (hash_table=0x4c94e8,
> notify=<optimized out>, destruction=<optimized out>) at ghash.c:552
> \#6 0xf6f6fe3c in g_hash_table_remove_all_nodes (destruction=0,
> notify=1, hash_table=0x4c94e8) at ghash.c:1444
> \#7 g_hash_table_remove_all (hash_table=0x4c94e8) at ghash.c:1447
> \#8 0x0002c442 in connman_agent_driver_unregister
> (driver=driver@entry=0x49784 <agent_driver>) at src/agent.c:629
> \#9 0x00024442 in __vpn_provider_cleanup () at vpn/vpn-provider.c:3416
> \#10 0x0001a086 in main (argc=1, argv=0xff8c1334) at vpn/main.c:283
>
> Therefore, the requests must be canceled at plugin driver unregister as
> that gets eventually called by VPN plugin exit function via
> vpn_unregister().
As usual, excellent commit message! Patch applied.
Thanks,
Daniel
------------------------------
Date: Fri, 4 Dec 2020 13:56:41 +0100
From: Daniel Wagner <[email protected]>
Subject: Re: WireGuard plugin doesn't work: __vpn_ipconfig_foreach:
symbol not found
To: Evgeny Zinoviev <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=iso-8859-1
Hi Evgeny,
On Wed, Dec 02, 2020 at 03:24:46PM +0300, Evgeny Zinoviev wrote:
> Hi everybody.
>
> I'm using connman 1.38 on Void Linux with musl-libc. I was trying to connect
> to my WireGuard VPN using connman but the wireguard plugin crashes on load:
>
> 2020-12-01T20:51:31.96059 daemon.err: Dec 1 20:51:31 connman-vpnd[502]:
> Can't load /usr/lib/connman/plugins-vpn/wireguard.so: Error relocating
> /usr/lib/connman/plugins-vpn/wireguard.so: __vpn_ipconfig_foreach: symbol
> not found
>
> Everything else is working fine.
There were a bunch of reports about this but we could never really pin
point it down. The quick workaround is to build the plugins as
'builtin'. This avoids the module code.
As far I can tell it's something with the linker. What linker do you
use? Is the gold linker?
Thanks,
Daniel
------------------------------
Subject: Digest Footer
_______________________________________________
connman mailing list -- [email protected]
To unsubscribe send an email to [email protected]
------------------------------
End of connman Digest, Vol 62, Issue 2
**************************************