diff --git a/repos/dde_linux/patches/wpa_supplicant.patch b/repos/dde_linux/patches/wpa_supplicant.patch index 443e222b48..641395ff75 100644 --- a/repos/dde_linux/patches/wpa_supplicant.patch +++ b/repos/dde_linux/patches/wpa_supplicant.patch @@ -180,7 +180,7 @@ } -+void wpa_report_connect_event(struct wpa_ssid *); ++void wpa_report_connect_event(struct wpa_supplicant *); + + /** @@ -190,7 +190,7 @@ if (state == WPA_COMPLETED && wpa_s->new_connection) { struct wpa_ssid *ssid = wpa_s->current_ssid; -+ wpa_report_connect_event(ssid); ++ wpa_report_connect_event(wpa_s); #if defined(CONFIG_CTRL_IFACE) || !defined(CONFIG_NO_STDOUT_DEBUG) wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_CONNECTED "- Connection to " MACSTR " completed [id=%d id_str=%s]", diff --git a/repos/dde_linux/ports/dde_linux.hash b/repos/dde_linux/ports/dde_linux.hash index cd00af1f8c..fc4a6a0a2d 100644 --- a/repos/dde_linux/ports/dde_linux.hash +++ b/repos/dde_linux/ports/dde_linux.hash @@ -1 +1 @@ -855e35cd76da3acd12421ad9d09ff55c80bcf1fa +e4d1e3eb5776e7a8f6a6cf0310d3fc78443c58ca diff --git a/repos/dde_linux/src/lib/wpa_supplicant/reporter.cc b/repos/dde_linux/src/lib/wpa_supplicant/reporter.cc index 87bd4130ee..6ce52e9523 100644 --- a/repos/dde_linux/src/lib/wpa_supplicant/reporter.cc +++ b/repos/dde_linux/src/lib/wpa_supplicant/reporter.cc @@ -43,17 +43,19 @@ static inline void mac2str(char *buf, u8 const *mac) } -extern "C" void wpa_report_connect_event(struct wpa_ssid *wpa_ssid) +extern "C" void wpa_report_connect_event(struct wpa_supplicant *wpa_s) { state_reporter.enabled(true); try { Genode::Reporter::Xml_generator xml(state_reporter, [&]() { + struct wpa_ssid *wpa_ssid = wpa_s->current_ssid; + /* FIXME ssid may contain any characters, even NUL */ Genode::String ssid((char const*)wpa_ssid->ssid, wpa_ssid->ssid_len); char bssid_buf[MAC_STR_LEN]; - mac2str(bssid_buf, wpa_ssid->bssid); + mac2str(bssid_buf, wpa_s->bssid); xml.node("accesspoint", [&]() { xml.attribute("ssid", ssid.string());