Fix wpa_supplicant AP mode to ignore EAPOL Supplicant port callback
authorJouni Malinen <jouni.malinen@atheros.com>
Sun, 18 Jul 2010 03:25:41 +0000 (20:25 -0700)
committerJouni Malinen <j@w1.fi>
Sun, 18 Jul 2010 03:25:41 +0000 (20:25 -0700)
This is needed to avoid setting EAPOL PAE port status incorrectly
when using wpa_supplicant to control AP mode operations.

wpa_supplicant/wpas_glue.c

index a3622b3..4af0cd0 100644 (file)
@@ -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)
 {
        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",
                   authorized ? "Authorized" : "Unauthorized");
        wpa_drv_set_supp_port(wpa_s, authorized);