aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/notify.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2011-07-07 11:18:38 -0700
committerDmitry Shmidt <dimitrysh@google.com>2011-07-07 11:23:25 -0700
commitc55524ad84d13014e8019491c2b17e5dcf13545a (patch)
tree3c1a0f04ed12cadca7312b1b6f3f0c0caa6018ca /wpa_supplicant/notify.c
parent13970b010f3e5b274336677311a5586410ecc8fa (diff)
downloadexternal_wpa_supplicant_8-c55524ad84d13014e8019491c2b17e5dcf13545a.zip
external_wpa_supplicant_8-c55524ad84d13014e8019491c2b17e5dcf13545a.tar.gz
external_wpa_supplicant_8-c55524ad84d13014e8019491c2b17e5dcf13545a.tar.bz2
Accumulative patch from commit 8fd0f0f323a922aa88ec720ee524f7105d3b0f64
Fix D-Bus build without CONFIG_P2P=y nl80211: Allow AP mode to be started without monitor interface nl80211: Process association/disassociation events in AP mode DBus/P2P: Adding decl for PersistentGroupRemoved signal DBus/P2P: Rectified type of SecondaryDeviceTypes in device property Get P2P: Only call dev_lost() for devices that have been dev_found() wpa_cli: Add missing parameter for P2P_GROUP_ADD command wpa_supplicant: Respect PKG_CONFIG variable if set in the environment TLS: Add support for tls_disable_time_checks=1 in client mode hostapd: Clear keys configured when hostapd reloads configuration Add dbus signal for information about server certification Move peer certificate wpa_msg() calls to notify.c wpa_supplicant AP: Disable AP mode on disassoc paths wpa_s AP mode: Enable HT20 if driver supports it Allow PMKSA caching to be disabled on Authenticator FT: Disable PMKSA cache for FT-IEEE8021X FT: Clear SME ft_used/ft_ies when disconnecting 8fd0f0f323a922aa88ec720ee524f7105d3b0f64 Change-Id: I6ae333196c36ffa7589662d5269fabfc3b994605 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'wpa_supplicant/notify.c')
-rw-r--r--wpa_supplicant/notify.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/wpa_supplicant/notify.c b/wpa_supplicant/notify.c
index 6595fec..0d2f542 100644
--- a/wpa_supplicant/notify.c
+++ b/wpa_supplicant/notify.c
@@ -220,14 +220,18 @@ void wpas_notify_network_added(struct wpa_supplicant *wpa_s,
void wpas_notify_persistent_group_added(struct wpa_supplicant *wpa_s,
struct wpa_ssid *ssid)
{
+#ifdef CONFIG_P2P
wpas_dbus_register_persistent_group(wpa_s, ssid);
+#endif /* CONFIG_P2P */
}
void wpas_notify_persistent_group_removed(struct wpa_supplicant *wpa_s,
struct wpa_ssid *ssid)
{
+#ifdef CONFIG_P2P
wpas_dbus_unregister_persistent_group(wpa_s, ssid->id);
+#endif /* CONFIG_P2P */
}
@@ -551,3 +555,36 @@ void wpas_notify_sta_authorized(struct wpa_supplicant *wpa_s,
else
wpas_notify_ap_sta_deauthorized(wpa_s, mac_addr);
}
+
+
+void wpas_notify_certification(struct wpa_supplicant *wpa_s, int depth,
+ const char *subject, const char *cert_hash,
+ const struct wpabuf *cert)
+{
+ wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_EAP_PEER_CERT
+ "depth=%d subject='%s'%s%s",
+ depth, subject,
+ cert_hash ? " hash=" : "",
+ cert_hash ? cert_hash : "");
+
+ if (cert) {
+ char *cert_hex;
+ size_t len = wpabuf_len(cert) * 2 + 1;
+ cert_hex = os_malloc(len);
+ if (cert_hex) {
+ wpa_snprintf_hex(cert_hex, len, wpabuf_head(cert),
+ wpabuf_len(cert));
+ wpa_msg_ctrl(wpa_s, MSG_INFO,
+ WPA_EVENT_EAP_PEER_CERT
+ "depth=%d subject='%s' cert=%s",
+ depth, subject, cert_hex);
+ os_free(cert_hex);
+ }
+ }
+
+ /* notify the old DBus API */
+ wpa_supplicant_dbus_notify_certification(wpa_s, depth, subject,
+ cert_hash, cert);
+ /* notify the new DBus API */
+ wpas_dbus_signal_certification(wpa_s, depth, subject, cert_hash, cert);
+}