[PATCH] client: Fix missing Connected Network display
by Tim Kourt
The connected network wasn’t displayed correctly within Station
object when connection was created before the start of iwctl
due to object dependency and timing of the sequential parsing of
the Object Manager’s objects. The issue is corrected by storing
the network path and doing lookups of the network proxy objects
at the time of display.
---
client/station.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/client/station.c b/client/station.c
index b6b59239..86e18f06 100644
--- a/client/station.c
+++ b/client/station.c
@@ -35,7 +35,7 @@
struct station {
bool scanning;
char *state;
- const struct proxy_interface *connected_network;
+ char *connected_network;
};
static void *station_create(void)
@@ -48,7 +48,7 @@ static void station_destroy(void *data)
struct station *station = data;
l_free(station->state);
- station->connected_network = NULL;
+ l_free(station->connected_network);
l_free(station);
}
@@ -106,14 +106,15 @@ static void update_connected_network(void *data,
struct station *station = data;
const char *path;
+ l_free(station->connected_network);
+
if (!l_dbus_message_iter_get_variant(variant, "o", &path)) {
station->connected_network = NULL;
return;
}
- station->connected_network = proxy_interface_find(IWD_NETWORK_INTERFACE,
- path);
+ station->connected_network = l_strdup(path);
}
static const struct proxy_interface_property station_properties[] = {
@@ -145,10 +146,16 @@ static void display_station(const char *device_name,
proxy_properties_display(proxy, caption, MARGIN, 20, 47);
l_free(caption);
- if (station->connected_network)
- display("%s%*s %-*s%-*s\n", MARGIN, 8, "", 20,
- "Connected network", 47,
- network_get_name(station->connected_network));
+ if (station->connected_network) {
+ const struct proxy_interface *network_proxy =
+ proxy_interface_find(IWD_NETWORK_INTERFACE,
+ station->connected_network);
+
+ if (network_proxy)
+ display("%s%*s %-*s%-*s\n", MARGIN, 8, "", 20,
+ "Connected network", 47,
+ network_get_name(network_proxy));
+ }
display_table_footer();
}
--
2.13.6
1 year
[PATCH] peap: Ensure TLV uniqueness
by Tim Kourt
Processing the duplicated TLVs while connecting to a malicious AP may lead
to overflow of the response buffer. This patch ensures that the
duplicated TLVs are not parsed.
---
src/eap-peap.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/eap-peap.c b/src/eap-peap.c
index 8c3ba2f3..c17e5b92 100644
--- a/src/eap-peap.c
+++ b/src/eap-peap.c
@@ -353,6 +353,8 @@ static int eap_extensions_process_tlvs(struct eap_state *eap,
int response_len = 0;
uint16_t tlv_type;
uint16_t tlv_value_len;
+ bool seen_result_tlv = false;
+ bool seen_cryptobinding_tlv = false;
while (data_len >= EAP_EXTENSIONS_TLV_HEADER_LEN) {
int response_tlv_len = 0;
@@ -370,12 +372,22 @@ static int eap_extensions_process_tlvs(struct eap_state *eap,
switch (tlv_type) {
case EAP_EXTENSIONS_TLV_TYPE_RESULT:
+ if (seen_result_tlv)
+ return -EBADMSG;
+
+ seen_result_tlv = true;
+
response_tlv_len = eap_extensions_handle_result_tlv(eap,
data, tlv_value_len, response,
result);
break;
case EAP_EXTENSIONS_TLV_TYPE_CRYPTOBINDING:
+ if (seen_cryptobinding_tlv)
+ return -EBADMSG;
+
+ seen_cryptobinding_tlv = true;
+
response_tlv_len =
eap_extensions_handle_cryptobinding_tlv(eap,
data, tlv_value_len, response);
--
2.13.6
1 year
Interface not detected sometimes
by hector@ikatu.com
Hi,
I'm using iwd 1.4 with connman on my embedded system. I need to delay the iwd.service some seconds in order to make it work all the times. When it doesn't work I don't see any interface listed using "iwctl device list".
The differences in the logs of an initialization that works and one that doesn't are:
In the case where it works this functions are being called:
../git/src/manager.c:manager_interface_dump_callback()
../git/src/manager.c:manager_get_interface_cb()
../git/src/manager.c:manager_interface_dump_callback()
../git/src/manager.c:manager_get_interface_cb()
In the case where it doesn't work this event is logged at the beginning:
../git/src/manager.c:manager_config_notify() Notification of command New Wiphy(3)
Here are the full logs of both initializations with debug enabled:
####### Good initialization #######
/lib/systemd/network/80-iwd.link:5: Failed to parse interface name policy, ignoring: keep
Mounting Bind mount for /var/lib/iwd...
Mounted Bind mount for /var/lib/iwd.
Wireless daemon version 1.4
../git/src/main.c:main() Using configuration directory /etc/iwd
../git/src/storage.c:storage_create_dirs() Using state directory /var/lib/iwd
../git/src/main.c:nl80211_appeared() Found nl80211 interface
../git/src/module.c:iwd_modules_init()
../git/src/netdev.c:netdev_init() Opening route netlink socket
netconfig: Network configuration is disabled.
../git/src/wsc.c:wsc_init()
../git/src/knownnetworks.c:known_network_frequencies_load() No known frequency file found.
../git/src/eap.c:__eap_method_enable()
../git/src/eap-wsc.c:eap_wsc_init()
../git/src/eap-md5.c:eap_md5_init()
../git/src/eap-tls.c:eap_tls_init()
../git/src/eap-ttls.c:eap_ttls_init()
../git/src/eap-mschapv2.c:eap_mschapv2_init()
../git/src/eap-sim.c:eap_sim_init()
../git/src/eap-aka.c:eap_aka_prime_init()
../git/src/eap-aka.c:eap_aka_init()
../git/src/eap-peap.c:eap_peap_init()
../git/src/eap-gtc.c:eap_gtc_init()
../git/src/eap-pwd.c:eap_pwd_init()
../git/src/manager.c:manager_wiphy_dump_callback()
Wiphy phy0 will only use the default interface
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_interface_dump_callback()
../git/src/manager.c:manager_get_interface_cb()
../git/src/manager.c:manager_interface_dump_callback()
../git/src/manager.c:manager_get_interface_cb()
Wiphy: 0, Name: phy0
Permanent Address: 10:98:c3:ff:f6:9d
Bands: 2.4 GHz 5 GHz
Ciphers: CCMP TKIP BIP
Supported iftypes: ad-hoc station ap p2p-client p2p-go p2p-device
../git/src/manager.c:manager_use_default()
../git/src/netdev.c:netdev_create_from_genl() Created interface wlan0[3 1]
../git/src/netdev.c:netdev_cqm_rssi_update()
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 3
../git/src/netdev.c:netdev_set_4addr() netdev: 3 use_4addr: 0
../git/src/netdev.c:netdev_initial_up_cb() Interface 3 initialized
../git/src/station.c:station_enter_state() Old State: disconnected, new state: autoconnect_quick
../git/src/station.c:station_enter_state() Old State: disconnected, new state: autoconnect_full
../git/src/scan.c:scan_periodic_start() Starting periodic scan for wdev 1
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 3
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 3
../git/src/scan.c:scan_notify() Scan notification Trigger Scan(33)
../git/src/scan.c:scan_request_triggered()
../git/src/scan.c:scan_request_triggered() Passive scan triggered for wdev 1
../git/src/scan.c:scan_periodic_triggered() Periodic scan triggered for wdev 1
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 2
../git/src/agent.c:agent_register() agent register called
../git/src/agent.c:agent_register() agent :1.5 path /net/connman/iwd_agent
../git/src/scan.c:scan_notify() Scan notification New Scan Results(34)
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 3
../git/src/scan.c:get_scan_callback() get_scan_callback
../git/src/scan.c:scan_parse_bss_information_elements() Load: 14/255
../git/src/scan.c:get_scan_callback() get_scan_callback
../git/src/scan.c:scan_parse_bss_information_elements() Load: 31/255
../git/src/scan.c:get_scan_callback() get_scan_callback
../git/src/scan.c:scan_parse_bss_information_elements() Load: 4/255
../git/src/scan.c:get_scan_callback() get_scan_callback
../git/src/scan.c:scan_parse_bss_information_elements() Load: 4/255
../git/src/scan.c:get_scan_callback() get_scan_callback
(...)
#################################################################################
####### Bad initialization #######
/lib/systemd/network/80-iwd.link:5: Failed to parse interface name policy, ignoring: keep
Mounting Bind mount for /var/lib/iwd...
Mounted Bind mount for /var/lib/iwd.
Wireless daemon version 1.4
../git/src/main.c:main() Using configuration directory /etc/iwd
../git/src/storage.c:storage_create_dirs() Using state directory /var/lib/iwd
../git/src/main.c:nl80211_appeared() Found nl80211 interface
../git/src/module.c:iwd_modules_init()
../git/src/netdev.c:netdev_init() Opening route netlink socket
netconfig: Network configuration is disabled.
../git/src/wsc.c:wsc_init()
../git/src/knownnetworks.c:known_network_frequencies_load() No known frequency file found.
../git/src/eap.c:__eap_method_enable()
../git/src/eap-wsc.c:eap_wsc_init()
../git/src/eap-md5.c:eap_md5_init()
../git/src/eap-tls.c:eap_tls_init()
../git/src/eap-ttls.c:eap_ttls_init()
../git/src/eap-mschapv2.c:eap_mschapv2_init()
../git/src/eap-sim.c:eap_sim_init()
../git/src/eap-aka.c:eap_aka_prime_init()
../git/src/eap-aka.c:eap_aka_init()
../git/src/eap-peap.c:eap_peap_init()
../git/src/eap-gtc.c:eap_gtc_init()
../git/src/eap-pwd.c:eap_pwd_init()
../git/src/manager.c:manager_config_notify() Notification of command New Wiphy(3)
../git/src/manager.c:manager_new_wiphy_event()
../git/src/manager.c:manager_wiphy_dump_callback()
Wiphy phy0 will only use the default interface
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/wiphy.c:parse_supported_frequencies()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/wiphy.c:parse_supported_bands()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
../git/src/manager.c:manager_wiphy_dump_callback()
../git/src/wiphy.c:wiphy_update_from_genl()
Wiphy: 0, Name: phy0
Permanent Address: 10:98:c3:ff:f6:9d
Bands: 2.4 GHz 5 GHz
Ciphers: CCMP TKIP BIP
Supported iftypes: ad-hoc station ap p2p-client p2p-go p2p-device
../git/src/manager.c:manager_use_default()
No default interface for wiphy 0
../git/src/manager.c:manager_config_notify() Notification of command New Interface(7)
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 3
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 3
../git/src/manager.c:manager_config_notify() Notification of command New Interface(7)
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 4
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 4
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 4
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 4
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 3
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 4
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 2
../git/src/agent.c:agent_register() agent register called
../git/src/agent.c:agent_register() agent :1.5 path /net/connman/iwd_agent
../git/src/netdev.c:netdev_link_notify() event 16 on ifindex 2
#################################################################################
Any inputs on what might be going on? Any other information I can provide you?
Thanks in advance!
Best regards,
Hector
1 year
AP mode crash
by Daniel Wagner
Hi,
While playing with the AP mode I triggered following crash:
AP Probe Request from 30:4b:07:ee:49:8d
AP Probe Response sent OK
src/netdev.c:netdev_unicast_notify() Unicast notification 59
AP Probe Request from 30:4b:07:ee:49:8d
src/netdev.c:netdev_unicast_notify() Unicast notification 59
AP Probe Request from 30:4b:07:ee:49:8d
src/netdev.c:netdev_link_notify() event 16 on ifindex 8
src/agent.c:agent_unregister() agent unregister
src/agent.c:agent_free() agent free 0xde6820
src/netdev.c:netdev_mlme_notify() MLME notification Stop AP(16)
src/netdev.c:netdev_link_notify() event 16 on ifindex 8
src/netdev.c:netdev_bridge_port_event() netdev: 8 added to bridge: 9
src/netdev.c:netdev_link_notify() event 16 on ifindex 2
src/netdev.c:netdev_link_notify() event 16 on ifindex 9
src/netdev.c:netdev_link_notify() event 16 on ifindex 8
src/netdev.c:netdev_link_notify() event 16 on ifindex 8
src/netdev.c:netdev_bridge_port_event() netdev: 8 added to bridge: 9
src/netdev.c:netdev_link_notify() event 17 on ifindex 8
src/netdev.c:netdev_bridge_port_event() netdev: 8 removed from bridge: 9
src/netdev.c:netdev_link_notify() event 16 on ifindex 8
src/netdev.c:netdev_link_notify() event 17 on ifindex 9
src/netdev.c:netdev_link_notify() event 16 on ifindex 2
src/agent.c:agent_register() agent register called
src/agent.c:agent_register() agent :1.83 path /net/connman/iwd_agent
src/netdev.c:netdev_link_notify() event 16 on ifindex 8
src/netdev.c:netdev_unicast_notify() Unicast notification 59
AP Probe Request from 30:4b:07:ee:49:8d
src/netdev.c:netdev_unicast_notify() Unicast notification 59
AP Probe Request from 30:4b:07:ee:49:8d
src/netdev.c:netdev_unicast_notify() Unicast notification 59
AP Probe Request from 30:4b:07:ee:49:8d
Aborting (signal 11) [/home/wagi/prj/connman/iwd/src/iwd]
++++++++ backtrace ++++++++
#0 0x7fc63e910030 in /lib64/libc.so.6
#1 0x7fc63ea35891 in /lib64/libc.so.6
#2 0x43ad5e in ap_probe_req_cb() at src/ap.c:1100 (discriminator 1)
#3 0x45435a in frame_watch_unicast_notify() at src/frame-xchg.c:184
(discriminator 6)
#4 0x4818c3 in dispatch_unicast_watches() at ell/genl.c:899
#5 0x48197b in process_unicast() at ell/genl.c:919
#6 0x481d21 in received_data() at ell/genl.c:1035
#7 0x47cfea in io_callback() at ell/io.c:126
#8 0x47baf8 in l_main_iterate() at ell/main.c:473
#9 0x47bbff in l_main_run() at ell/main.c:516
#10 0x47bf17 in l_main_run_with_signal() at ell/main.c:642
#11 0x404a36 in main() at src/main.c:497
#12 0x7fc63e8fae0b in /lib64/libc.so.6
+++++++++++++++++++++++++++
What I did was, enabling WiFi tethering in ConnMan, terminate ConnMan
(this tells iwd to shutdown the connection) and restart ConnMan again.
ConnMan then tries to restore the old setup, starting the AP mode.
Haven't really debugged it yet. Maybe someone spots the problem more
easily than I do :)
Thanks,
Daniel
1 year
[PATCH] wiphy: Relpace rawmemchr with memchr
by Robert Joslyn
The rawmemchr function is a GNU extension, and not available in other
libc implementations, such as musl.
---
src/wiphy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/wiphy.c b/src/wiphy.c
index 1da479db..141b3cb9 100644
--- a/src/wiphy.c
+++ b/src/wiphy.c
@@ -500,7 +500,7 @@ const uint8_t *wiphy_get_supported_rates(struct wiphy *wiphy, unsigned int band,
if (out_num)
*out_num =
- (uint8_t *) rawmemchr(wiphy->supported_rates[band], 0) -
+ (uint8_t *) memchr(wiphy->supported_rates[band], 0, (size_t)-1) -
wiphy->supported_rates[band];
return wiphy->supported_rates[band];
--
2.24.1
1 year
[PATCH 1/2] frame-watch: Actually unregister removed groups
by Andrew Zaborowski
Actually close the sockets for removed groups an free resources
---
src/frame-xchg.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/frame-xchg.c b/src/frame-xchg.c
index 0a6c1fc6..4c8b4a9f 100644
--- a/src/frame-xchg.c
+++ b/src/frame-xchg.c
@@ -362,8 +362,10 @@ static bool frame_watch_group_remove_wdev(void *data, void *user_data)
struct watch_group *group = data;
const uint64_t *wdev_id = user_data;
- if (group->wdev_id == *wdev_id)
+ if (group->wdev_id == *wdev_id) {
+ frame_watch_group_destroy(group);
return true;
+ }
if (group->id != 0)
return false;
--
2.20.1
1 year