Age | Commit message (Collapse) | Author | Files | Lines |
|
Save the technology state persistently. This will help in resuming
the technology state after offlinemode or during startup. This patch
just saves the states.
|
|
There is a device list per technology. Hence removing the global
device hash.
|
|
Remove the global rfkill_table and maintain a per technology
rfkill table.
|
|
Add the pending dbus message per technology. Also move the pending
timeout from manager to technology.
|
|
Use 3 values(None/Enable/Disable) for the power_pending.
It helps keep track of the ongoing pending request.
Add a pending timeout. If the daemon handling the device fails
to send a response then we need to reset the power_pending flag.
|
|
|
|
connman_technology_enable: Enable a technology. Enables all the
devices in the device_list of the technology.
connman_technology_enabled: Callback for connman_technology_enable.
Changes the state of the technology to ENABLED.
Ditto for connman_technology_disable/connman_technology_disabled.
|
|
|
|
The __connman_device_scan() is now static as it is only
called from device.c
|
|
Fixes BMC#22540
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When we call connect and disconnect a service we might
reenter the session state machine. So we should defer
these calls and finishing up the state change first.
|
|
|
|
|
|
In case we didn't select a service (entry) reset the one
in the info (deselection). And then we have also take
a refence if the reason was CONNECT.
|
|
If the reason code has been set the proper action has
been executed already.
|
|
Instead of trying to figure out what we are supposed to do
we just rely on the reason code.
|
|
|
|
|
|
|
|
|
|
Service states unknown, idle and association do not have
valid ipconfig data configured. Do not save it in these states.
|
|
When a service was disconnected, its ipconfig data was cleared.
Re-read service ipconfig data before setting manual addresses.
Fixes BMC#17738
|
|
Create new read functions for IPv4 and IPv6 from the code in
__connman_service_create_ip*config functions.
|
|
|
|
|
|
|
|
Notify proxy_changed listeners when Proxy.Configuration is set/changed.
|
|
Correctly check whether a service has a network or a VPN provider
associated with it if the service fails already in
__connman_service_connect().
|
|
The forked process inherits connmand's signal mask and thus has TERM and
INT blocked. As a consequence it can not be killed properly if the signal
mask is not reset.
|
|
VPN establishment fails on gateway less networks, like for example ppp
based cellular ones. To fix that, a host route to the VPN server is
established.
|
|
We need to call default_changed function for ONLINE state after
profile changed, else get_default function will return the previous
service, this will lead to we have wrong DNS after VPN connection
|
|
The default gateway for ppp connection should be 0.0.0.0 for ipv4
and :: for ipv6. This issue fixed before but removed by the commit
84a739d0082b89efa8cfbf376abe17937e4bc843
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the unit test framework crashes it can happen that the session mode
is still enabled but we have a connected service. So if the unit test
restarted we wont disconnect all services and therefore block for
ever. Since it is safe to call __connman_service_disconnect_all()
again there is no need to disallow this operation.
|
|
(gdb) bt
#0 __strlen_sse2 () at ../sysdeps/x86_64/strlen.S:32
#1 0x0000003a5ee2810b in marshal_string (pos_after=0x7fffffffdd80, byte_order=108, value=0x0,
insert_at=20, str=0x6bcc50) at dbus-marshal-basic.c:778
#2 _dbus_marshal_write_basic (str=0x6bcc50, insert_at=20, type=<optimized out>,
value=<optimized out>, byte_order=108, pos_after=0x7fffffffdd80)
at dbus-marshal-basic.c:858
#3 0x0000003a5ee15f29 in _dbus_type_writer_write_basic_no_typecode (value=<optimized out>,
type=115, writer=0x7fffffffdd60) at dbus-marshal-recursive.c:1589
#4 _dbus_type_writer_write_basic_no_typecode (value=<optimized out>, type=115, writer=
0x7fffffffdd60) at dbus-marshal-recursive.c:2736
#5 _dbus_type_writer_write_basic (writer=0x7fffffffdd60, type=115, value=<optimized out>)
at dbus-marshal-recursive.c:2311
#6 0x0000003a5ee19c1a in dbus_message_iter_append_basic (value=0x7fffffffde58, type=115, iter=
0x7fffffffdd50) at dbus-message.c:2563
#7 dbus_message_iter_append_basic (iter=0x7fffffffdd50, type=115, value=0x7fffffffde58)
at dbus-message.c:2506
#8 0x00000000004597ed in connman_dbus_property_append_basic (iter=0x7fffffffddd0, key=
0x479539 "Name", type=115, val=0x7fffffffde58) at src/dbus.c:123
#9 0x000000000045e11b in connman_dbus_dict_append_basic (dict=0x7fffffffdea0, key=
0x479539 "Name", type=115, val=0x7fffffffde58) at ./include/connman/dbus.h:112
#10 0x000000000045e8ab in append_notify (dict=0x7fffffffdea0, session=0x6d4580)
at src/session.c:375
#11 0x000000000045ecf6 in session_notify (user_data=0x6d4580) at src/session.c:498
#12 0x000000000045f885 in session_changed (session=0x6d4580, trigger=
CONNMAN_SESSION_TRIGGER_SERVICE) at src/session.c:954
#13 0x0000000000460f66 in service_add (service=0x6b4880, name=0x0) at src/session.c:1602
#14 0x0000000000447946 in __connman_notifier_service_add (service=0x6b4880, name=0x0)
at src/notifier.c:413
#15 0x0000000000442fa1 in __connman_service_create_from_network (network=0x6b4af0)
at src/service.c:4921
#16 0x00000000004332e4 in network_probe (network=0x6b4af0) at src/network.c:167
#17 0x0000000000433d32 in connman_network_set_group (network=0x6b4af0, group=
0x699ae0 "hidden_managed_psk") at src/network.c:544
#18 0x000000000041c4a5 in network_added (supplicant_network=0x69cab0) at plugins/wifi.c:856
#19 0x000000000041d39c in callback_network_added (network=0x69cab0)
at gsupplicant/supplicant.c:396
#20 0x000000000041e878 in add_bss_to_network (bss=0x6a68c0) at gsupplicant/supplicant.c:1023
#21 0x000000000041efa1 in bss_property (key=0x0, iter=0x0, user_data=0x6a68c0)
at gsupplicant/supplicant.c:1205
#22 0x000000000041f5f9 in interface_bss_added_with_keys (iter=0x7fffffffe300, user_data=
0x6a70a0) at gsupplicant/supplicant.c:1354
#23 0x0000000000420689 in signal_bss_added (path=
0x6b7818 "/fi/w1/wpa_supplicant1/Interfaces/39", iter=0x7fffffffe300)
at gsupplicant/supplicant.c:1783
#24 0x0000000000420cf9 in g_supplicant_filter (conn=0x699770, message=0x6a6b20, data=0x0)
at gsupplicant/supplicant.c:1998
#25 0x0000003a5ee0f926 in dbus_connection_dispatch (connection=0x699770)
at dbus-connection.c:4647
#26 0x000000000040c4ab in message_dispatch (data=0x699770) at gdbus/mainloop.c:80
#27 0x0000003edf64410b in g_timeout_dispatch (source=<optimized out>,
callback=<optimized out>, user_data=<optimized out>) at gmain.c:3895
#28 0x0000003edf6427ed in g_main_dispatch (context=0x698100) at gmain.c:2441
#29 g_main_context_dispatch (context=0x698100) at gmain.c:3014
#30 0x0000003edf642fc8 in g_main_context_iterate (context=0x698100, block=<optimized out>,
dispatch=1, self=<optimized out>) at gmain.c:3092
#31 0x0000003edf64360d in g_main_loop_run (loop=0x6980c0) at gmain.c:3300
#32 0x000000000042eab6 in main (argc=1, argv=0x7fffffffe6b8) at src/main.c:381
(gdb) f 10
#10 0x000000000045e8ab in append_notify (dict=0x7fffffffdea0, session=0x6d4580)
at src/session.c:375
375 connman_dbus_dict_append_basic(dict, "Name",
(gdb) l
370 ifname = info->entry->ifname;
371 service = info->entry->service;
372 bearer = info->entry->bearer;
373 }
374
375 connman_dbus_dict_append_basic(dict, "Name",
376 DBUS_TYPE_STRING,
377 &name);
378
379 connman_dbus_dict_append_dict(dict, "IPv4",
|
|
connman_inet_ifname() returns strdup() string.
|
|
When an element is removed from the list, the element will be passed
to destroy_service_entry() which expects only elements of type struct
service_entry.
|
|
|
|
|