wpa_supplicant AP: Add management frame RX for nl80211
[wpasupplicant] / src / eap_server / eap_ttls.c
index d04f4f6..6fe3bb1 100644 (file)
@@ -1045,6 +1045,11 @@ static void eap_ttls_process_phase2_eap_response(struct eap_sm *sm,
                next_type = sm->user->methods[0].method;
                sm->user_eap_method_index = 1;
                wpa_printf(MSG_DEBUG, "EAP-TTLS: try EAP type %d", next_type);
+               if (eap_ttls_phase2_eap_init(sm, data, next_type)) {
+                       wpa_printf(MSG_DEBUG, "EAP-TTLS: Failed to initialize "
+                                  "EAP type %d", next_type);
+                       eap_ttls_state(data, FAILURE);
+               }
                break;
        case PHASE2_METHOD:
                if (data->ttls_version > 0) {
@@ -1066,12 +1071,6 @@ static void eap_ttls_process_phase2_eap_response(struct eap_sm *sm,
                           __func__, data->state);
                break;
        }
-
-       if (eap_ttls_phase2_eap_init(sm, data, next_type)) {
-               wpa_printf(MSG_DEBUG, "EAP-TTLS: Failed to initialize EAP "
-                          "type %d", next_type);
-               eap_ttls_state(data, FAILURE);
-       }
 }
 
 
@@ -1222,14 +1221,14 @@ static void eap_ttls_process_phase2(struct eap_sm *sm,
                }
        }
 
-#ifdef EAP_TNC
+#ifdef EAP_SERVER_TNC
        if (data->tnc_started && parse.eap == NULL) {
                wpa_printf(MSG_DEBUG, "EAP-TTLS: TNC started but no EAP "
                           "response from peer");
                eap_ttls_state(data, FAILURE);
                goto done;
        }
-#endif /* EAP_TNC */
+#endif /* EAP_SERVER_TNC */
 
        if (parse.eap) {
                eap_ttls_process_phase2_eap(sm, data, parse.eap,
@@ -1265,7 +1264,7 @@ done:
 
 static void eap_ttls_start_tnc(struct eap_sm *sm, struct eap_ttls_data *data)
 {
-#ifdef EAP_TNC
+#ifdef EAP_SERVER_TNC
        if (!sm->tnc || data->state != SUCCESS || data->tnc_started)
                return;
 
@@ -1278,7 +1277,7 @@ static void eap_ttls_start_tnc(struct eap_sm *sm, struct eap_ttls_data *data)
 
        data->tnc_started = 1;
        eap_ttls_state(data, PHASE2_METHOD);
-#endif /* EAP_TNC */
+#endif /* EAP_SERVER_TNC */
 }