[PATCH] Added event messages for more eap states.

Michael Baird Michael.Baird at ecs.vuw.ac.nz
Mon Oct 2 12:59:07 PDT 2017


Apologies forgot to sign the patch off. So have added it below.




On 28/09/17 18:53, Michael Baird wrote:
> While using an external RADIUS server SUCCESS messages were not being 
> sent (internal was fine).
> Also added event messages for other states that others might find 
> useful, and consistency between the two.
>

Signed-off-by: Michael Baird <Michael.Baird at ecs.vuw.ac.nz>
> ---
>  src/common/wpa_ctrl.h       | 11 +++++++++++
>  src/eap_server/eap_server.c | 27 +++++++++++++++++++++++++++
>  2 files changed, 38 insertions(+)
>
> diff --git a/src/common/wpa_ctrl.h b/src/common/wpa_ctrl.h
> index c59bc60..7577387 100644
> --- a/src/common/wpa_ctrl.h
> +++ b/src/common/wpa_ctrl.h
> @@ -50,10 +50,21 @@ extern "C" {
>  #define WPA_EVENT_EAP_TLS_CERT_ERROR "CTRL-EVENT-EAP-TLS-CERT-ERROR "
>  /** EAP status */
>  #define WPA_EVENT_EAP_STATUS "CTRL-EVENT-EAP-STATUS "
> +/** EAP statemachine is waiting */
> +#define WPA_EVENT_EAP_IDLE "CTRL-EVENT-EAP-IDLE "
> +#define WPA_EVENT_EAP_IDLE2 "CTRL-EVENT-EAP-IDLE2 "
> +/** Retransmits the previous request packet */
> +#define WPA_EVENT_EAP_RETRANSMIT "CTRL-EVENT-EAP-RETRANSMIT "
> +#define WPA_EVENT_EAP_RETRANSMIT2 "CTRL-EVENT-EAP-RETRANSMIT2 "
>  /** EAP authentication completed successfully */
>  #define WPA_EVENT_EAP_SUCCESS "CTRL-EVENT-EAP-SUCCESS "
> +#define WPA_EVENT_EAP_SUCCESS2 "CTRL-EVENT-EAP-SUCCESS2 "
>  /** EAP authentication failed (EAP-Failure received) */
>  #define WPA_EVENT_EAP_FAILURE "CTRL-EVENT-EAP-FAILURE "
> +#define WPA_EVENT_EAP_FAILURE2 "CTRL-EVENT-EAP-FAILURE2 "
> +/** EAP authentication failed  due to no response received */
> +#define WPA_EVENT_EAP_TIMEOUT_FAILURE "CTRL-EVENT-EAP-TIMEOUT-FAILURE "
> +#define WPA_EVENT_EAP_TIMEOUT_FAILURE2 
> "CTRL-EVENT-EAP-TIMEOUT-FAILURE2 "
>  /** Network block temporarily disabled (e.g., due to authentication 
> failure) */
>  #define WPA_EVENT_TEMP_DISABLED "CTRL-EVENT-SSID-TEMP-DISABLED "
>  /** Temporarily disabled network block re-enabled */
> diff --git a/src/eap_server/eap_server.c b/src/eap_server/eap_server.c
> index 9706e25..53873d6 100644
> --- a/src/eap_server/eap_server.c
> +++ b/src/eap_server/eap_server.c
> @@ -314,6 +314,8 @@ SM_STATE(EAP, IDLE)
>      sm->eap_if.retransWhile = eap_sm_calculateTimeout(
>          sm, sm->retransCount, sm->eap_if.eapSRTT, sm->eap_if.eapRTTVAR,
>          sm->methodTimeout);
> +    wpa_msg(sm->msg_ctx, MSG_INFO, WPA_EVENT_EAP_FAILURE
> +        MACSTR, MAC2STR(sm->peer_addr));
>  }
>
>
> @@ -326,6 +328,9 @@ SM_STATE(EAP, RETRANSMIT)
>          if (eap_copy_buf(&sm->eap_if.eapReqData, sm->lastReqData) == 0)
>              sm->eap_if.eapReq = TRUE;
>      }
> +
> +    wpa_msg(sm->msg_ctx, MSG_INFO, WPA_EVENT_EAP_RETRANSMIT
> +        MACSTR, MAC2STR(sm->peer_addr));
>  }
>
>
> @@ -634,6 +639,9 @@ SM_STATE(EAP, TIMEOUT_FAILURE)
>      SM_ENTRY(EAP, TIMEOUT_FAILURE);
>
>      sm->eap_if.eapTimeout = TRUE;
> +
> +    wpa_msg(sm->msg_ctx, MSG_INFO, WPA_EVENT_EAP_TIMEOUT_FAILURE
> +        MACSTR, MAC2STR(sm->peer_addr));
>  }
>
>
> @@ -999,6 +1007,9 @@ SM_STATE(EAP, IDLE2)
>      sm->eap_if.retransWhile = eap_sm_calculateTimeout(
>          sm, sm->retransCount, sm->eap_if.eapSRTT, sm->eap_if.eapRTTVAR,
>          sm->methodTimeout);
> +
> +    wpa_msg(sm->msg_ctx, MSG_INFO, WPA_EVENT_EAP_IDLE2
> +        MACSTR, MAC2STR(sm->peer_addr));
>  }
>
>
> @@ -1011,6 +1022,9 @@ SM_STATE(EAP, RETRANSMIT2)
>          if (eap_copy_buf(&sm->eap_if.eapReqData, sm->lastReqData) == 0)
>              sm->eap_if.eapReq = TRUE;
>      }
> +
> +    wpa_msg(sm->msg_ctx, MSG_INFO, WPA_EVENT_EAP_RETRANSMIT2
> +        MACSTR, MAC2STR(sm->peer_addr));
>  }
>
>
> @@ -1093,6 +1107,9 @@ SM_STATE(EAP, AAA_IDLE)
>      sm->eap_if.aaaEapReq = FALSE;
>      sm->eap_if.aaaEapNoReq = FALSE;
>      sm->eap_if.aaaEapResp = TRUE;
> +
> +    wpa_msg(sm->msg_ctx, MSG_INFO, WPA_EVENT_EAP_IDLE
> +        MACSTR, MAC2STR(sm->peer_addr));
>  }
>
>
> @@ -1101,6 +1118,9 @@ SM_STATE(EAP, TIMEOUT_FAILURE2)
>      SM_ENTRY(EAP, TIMEOUT_FAILURE2);
>
>      sm->eap_if.eapTimeout = TRUE;
> +
> +    wpa_msg(sm->msg_ctx, MSG_INFO, WPA_EVENT_EAP_TIMEOUT_FAILURE2
> +        MACSTR, MAC2STR(sm->peer_addr));
>  }
>
>
> @@ -1110,6 +1130,9 @@ SM_STATE(EAP, FAILURE2)
>
>      eap_copy_buf(&sm->eap_if.eapReqData, sm->eap_if.aaaEapReqData);
>      sm->eap_if.eapFail = TRUE;
> +
> +    wpa_msg(sm->msg_ctx, MSG_INFO, WPA_EVENT_EAP_FAILURE2
> +        MACSTR, MAC2STR(sm->peer_addr));
>  }
>
>
> @@ -1136,6 +1159,10 @@ SM_STATE(EAP, SUCCESS2)
>       * started properly.
>       */
>      sm->start_reauth = TRUE;
> +
> +    wpa_msg(sm->msg_ctx, MSG_INFO, WPA_EVENT_EAP_SUCCESS2
> +        MACSTR, MAC2STR(sm->peer_addr));
> +
>  }
>
>
> -- 2.7.4
>




More information about the Hostap mailing list