Browse Source

Fix wpa_supplicant AP mode to ignore EAPOL Supplicant port callback

This is needed to avoid setting EAPOL PAE port status incorrectly
when using wpa_supplicant to control AP mode operations.
Jouni Malinen 14 years ago
parent
commit
69a6b47aa0
1 changed files with 8 additions and 0 deletions
  1. 8 0
      wpa_supplicant/wpas_glue.c

+ 8 - 0
wpa_supplicant/wpas_glue.c

@@ -560,6 +560,14 @@ static void wpa_supplicant_eap_param_needed(void *ctx, const char *field,
 static void wpa_supplicant_port_cb(void *ctx, int authorized)
 static void wpa_supplicant_port_cb(void *ctx, int authorized)
 {
 {
 	struct wpa_supplicant *wpa_s = ctx;
 	struct wpa_supplicant *wpa_s = ctx;
+#ifdef CONFIG_AP
+	if (wpa_s->ap_iface) {
+		wpa_printf(MSG_DEBUG, "AP mode active - skip EAPOL Supplicant "
+			   "port status: %s",
+			   authorized ? "Authorized" : "Unauthorized");
+		return;
+	}
+#endif /* CONFIG_AP */
 	wpa_printf(MSG_DEBUG, "EAPOL: Supplicant port status: %s",
 	wpa_printf(MSG_DEBUG, "EAPOL: Supplicant port status: %s",
 		   authorized ? "Authorized" : "Unauthorized");
 		   authorized ? "Authorized" : "Unauthorized");
 	wpa_drv_set_supp_port(wpa_s, authorized);
 	wpa_drv_set_supp_port(wpa_s, authorized);