Send connman mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.01.org/mailman/listinfo/connman
or, 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. VLAN configuration support (Langlois, Maxime)
   2. [PATCH] wifi: verify that wifi->network is not null before
      using (Henrik Persson)


----------------------------------------------------------------------

Message: 1
Date: Tue, 2 Apr 2019 13:01:46 +0000
From: "Langlois, Maxime" <[email protected]>
To: "[email protected]" <[email protected]>
Subject: VLAN configuration support
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"

Hi,

I am trying to write a configuration file for the following setup, but
unsure if it is supported...

I have a physical interface eth0, on which 2 vlans, say eth0.1 &
eth0.2, are manually created before starting connman.

I need to assign a static link-layer address on eth0.1 and use dhcp on
eth0.2. I know we assign a configuration to a specific interface using
the MAC address, but as the vlan's interfaces have the same MAC address
as the actual physical interface, is it possible to match a
configuration to a specific vlan interface?

Thanks in advance for your support!

--
Maxime Langlois

------------------------------

Message: 2
Date: Tue, 2 Apr 2019 14:50:33 +0000
From: Henrik Persson <[email protected]>
To: "[email protected]" <[email protected]>
Subject: [PATCH] wifi: verify that wifi->network is not null before
        using
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"

In disconnect_callback() wifi->network is used, but it seems that
callback can arrive without wifi->network being set. The call to
connman_network_set_connected(wifi->network, false) will then be
called and deref that null pointer, making connman crash.

So, don't call connman_network_set_connected() if wifi->network is
null.
---

Hi!

Found a crash:

Core was generated by `/usr/sbin/connmand -n -d --nodnsproxy --nobacktrace'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 connman_network_set_connected (network=0x0, connected=connected@entry=false) 
at /usr/src/debug/connman/1.36-r0/connman-1.36/src/network.c:1349
1349 DBG("network %p connected %d/%d connecting %d associating %d",

Thread 1 (LWP 760):
#0 connman_network_set_connected (network=0x0, connected=connected@entry=false) 
at /usr/src/debug/connman/1.36-r0/connman-1.36/src/network.c:1349
#1 0x0043b4fa in disconnect_callback (result=-5, interface=<optimized out>, 
user_data=0x243d918) at 
/usr/src/debug/connman/1.36-r0/connman-1.36/plugins/wifi.c:2237
#2 0x0043d380 in interface_disconnect_result (error=0x244e9e8 
"fi.w1.wpa_supplicant1.NotConnected", iter=<optimized out>, user_data=0x244efd8)
at /usr/src/debug/connman/1.36-r0/connman-1.36/gsupplicant/supplicant.c:5161
#3 0x00443ee2 in method_call_reply (call=0x243e490, user_data=0x2432680) at 
/usr/src/debug/connman/1.36-r0/connman-1.36/gsupplicant/dbus.c:475
#4 0x76e00052 in complete_pending_call_and_unlock 
(connection=connection@entry=0x242f100, pending=0x243e490, 
message=message@entry=0x2436c78)
at /usr/src/debug/dbus/1.10.20-r0/dbus-1.10.20/dbus/dbus-connection.c:2331
#5 0x76e02daa in dbus_connection_dispatch 
(connection=connection@entry=0x242f100) at 
/usr/src/debug/dbus/1.10.20-r0/dbus-1.10.20/dbus/dbus-connection.c:4654
#6 0x00485bda in message_dispatch (data=0x242f100) at 
/usr/src/debug/connman/1.36-r0/connman-1.36/gdbus/mainloop.c:72
#7 0x76e6b508 in g_main_dispatch (context=0x242db90) at 
/usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3234
#8 g_main_context_dispatch (context=context@entry=0x242db90) at 
/usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3899
#9 0x76e6b798 in g_main_context_iterate (context=0x242db90, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
/usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.5

and checking that wifi->network is not null seems like a good thing.

  plugins/wifi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/wifi.c b/plugins/wifi.c
index f8c22be3..a29c3414 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -2228,7 +2228,7 @@ static void disconnect_callback(int result, 
GSupplicantInterface *interface,
                return;
        }
  
-       if (wifi->network != wifi->pending_network)
+       if (wifi->network && wifi->network != wifi->pending_network)
                connman_network_set_connected(wifi->network, false);
        wifi->network = NULL;
  
-- 
2.17.1

------------------------------

Subject: Digest Footer

_______________________________________________
connman mailing list
[email protected]
https://lists.01.org/mailman/listinfo/connman


------------------------------

End of connman Digest, Vol 42, Issue 2
**************************************

Reply via email to