Age | Commit message (Collapse) | Author | Files | Lines |
|
When a WiFi USB dongle is removed, both rtnl and wpa_supplicant will
be telling that the device is gone. While disconnecting and removing
an interface via gsupplicant, check that D-Bus doesn't give us an
error indicating the interface is already unregistered from D-Bus.
The gdb output looks like:
(gdb) where
#0 0x0042247c in network_connect (network=0x2) at plugins/wifi.c:1197
#1 0x004228f0 in disconnect_callback (result=<value optimized out>,
interface=0x0, user_data=0x99) at plugins/wifi.c:1254
#2 0x0042b910 in network_remove_result (error=0x4d5458
"org.freedesktop.DBus.Error.UnknownMethod", iter=<value optimized
out>,
user_data=<value optimized out>) at gsupplicant/supplicant.c:3593
#3 0x0042ede0 in method_call_reply (call=0x4c6fd0,
user_data=0x4d3be8) at gsupplicant/dbus.c:386
#4 0x2abfddb4 in complete_pending_call_and_unlock () from
/usr/lib/libdbus-1.so.3
Also don't call the same callback twice.
|
|
|
|
When soft rfkill is on, wpa_supplicant sets the interface disabled and
sends a state named 'interface_disabled'. Taking this information into
account fixes the following issue:
- disable wifi (user setting) and hard rfkill it
- then un-hard rfkill it, whereafter rfkill states (soft/hard) will go
like this:
* from 1/1 to 0/0
* from 0/0 to 1/0
when 0/0 occurs, connman will request to enable wifi
The problem with this is that enabling wifi takes quite some time and
in between ConnMan will soft block wifi to disable it (according to
previous user setting). Thus it will request to disable wifi but since
enabling is still going on, this request won't do anything. Meanwhile
wpa_supplicant will also catch the soft rfkill event and wpa_supplicant
will set the state to 'interface_disabled', but since it's not handled
properly by ConnMan, the wifi_enable() callback will be called and the
function will assume wifi got enabled.
|
|
|
|
|
|
|
|
This is necessary for the next coming patches, to fix country setting by interface
|
|
Check whether a scan callback is set for the interface when
an interface removed signal is received from wpa_supplicant.
wpa_supplicant seems not to reply to any outstanding scan method
calls after a wpa_supplicant 'RemoveInterface' has been received.
|
|
|
|
Handle RSN and WPA security separately and combine the results.
|
|
This resolves several post-commit review coding style comments for
raw PSK support.
|
|
wpa_supplicant sends error if wlan interface cannot be created.
Do not treat this error as critical because after calling
g_critical() the program logging will be disabled.
|
|
This fixes "raw" PSK support by first converting the "raw" PSK from
a 64-character hexadecimal string to 32-byte array before appending
it to the network dictionary.
|
|
|
|
Fixes BMC#25120
|
|
|
|
Do no limit the scan entries to 4 (G_SUPPLICANT_MAX_FAST_SCAN)
but use the limit given by the driver. The limit is given by wpa_s.
If the supplicant does not return the limit, then use 4 as a max
value.
|
|
|
|
Note: on wpa_supplivant 0.7.x this fixes bug 21332 _only_ when switching
from wep to psk, not the other way round due to wpa_supplicant not telling
about RSN/WPA fields being empty. This could be fixed in parsing IE every
time it is updated, if wpa_s signals it. It work properly on
wpa_supplicant 0.8.x and 1.x since signaling RSN/WPA changes has been
fixed.
Fixes BMC#21332
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If gsupplicant sends a malformed passphrase,
wpa_supplicant return an error "invalid message format",
parsing this error avoids future usage of this passphrase.
|
|
|
|
Create proper UTF-8 encoded names from SSIDs. Invalid
sequneces will be replaced by replacement characters.
This function is based on the _g_utf8_make_valid() from glib.
|
|
As interface_added can potentially show up before the interface creation
callback, the device powered flag can be set from the latter.
|
|
|
|
Lot of fixes by Jukka Rissanen <jukka.rissanen@linux.intel.com>
|
|
|
|
|
|
Get the frequncy of gsupplicant network on connman network
creation, and always save the frequency of the wifi service.
|
|
This is only used for propagatong signal changes for now.
|
|
|
|
IE list was traversed past buffer limit in the last round.
|
|
This patch fix an issue with WEP40, i tested it with WEP40 WEP104 and open AP.
It set the group cipher even if security is WEP otherwise connman won't connect to WEP40 service.
|
|
|
|
|
|
Call interface_connect_data callback when an error is reported for
wpa_supplicant AddNetwork and SelectNetwork method calls. In the case
of WPA-PSK or WEP key being incorrectly formatted, set the callback
result to -ENOKEY.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|