Question about new EAP method and EAP SM
Bar, Eitan
eitanb
Wed May 17 09:19:33 PDT 2006
Hi,
I?ve implemented a new EAP method (WSC) and have inserted it as one of the EAP modules supported in wpa_supplicant.
However, I have encountered some strange issues and I wonder if anyone can assist.
The EAP SM gets into METHOD state, and the EAP-WSC process routine is called (to process the incoming EAPOL).
Then, before my EAP-WSC process method finishes to build the response packet, the EAP SM ?triggers? and moves into SEND_RESPONSE state, without the process routine even returning. (trace log is attached at bottom of message)
So my question is:
How can I prevent the EAP SM from moving on to the next state before my ?process? method has finished?
Is this situation normal?
I?m reading RFC 4137 to try and find a solution ? however I will be most grateful if someone can answer my question.
Thanks!
Eitan
Btw: I AM aware that Intel has released their version of EAP-WSC ? I?m just trying to implement it in a different way.
State: ASSOCIATING -> ASSOCIATED
wpa_driver_get_bssid called
Associated to a new BSS: BSSID=00:50:f1:00:02:24
No keys have been configured - skip key clearing
wpa_driver_get_ssid called
wpa_driver_get_bssid called
Network configuration found for the current AP
WPA: clearing AP WPA IE
WPA: clearing AP RSN IE
WPA: clearing own WPA/RSN IE
EAPOL: External notification - portControl=Auto
Associated with 00:50:f1:00:02:24
WPA: Association event - clear replay counter
EAPOL: External notification - portEnabled=0
EAPOL: External notification - portValid=0
EAPOL: External notification - portEnabled=1
EAPOL: SUPP_PAE entering state CONNECTING
EAPOL: SUPP_BE entering state IDLE
EAP: EAP entering state INITIALIZE
EAP: EAP entering state IDLE
Setting authentication timeout: 10 sec 0 usec
wpa_driver_event_receive called
wpa_supplicant - EAPOL
RX EAPOL from 00:50:f1:00:02:24
RX EAPOL - hexdump(len=9): 01 00 00 05 01 01 00 05 01
Setting authentication timeout: 70 sec 0 usec
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_PAE entering state RESTART
EAP: EAP entering state INITIALIZE
EAP: EAP entering state IDLE
EAPOL: SUPP_PAE entering state AUTHENTICATING
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request id=1 method=1 vendor=0 vendorMethod=0
EAP: EAP entering state IDENTITY
CTRL-EVENT-EAP-STARTED EAP authentication started
EAP: EAP-Request Identity data - hexdump_ascii(len=0):
EAP: using real identity - hexdump_ascii(len=29):
57 46 41 2d 53 69 6d 70 6c 65 43 6f 6e 66 69 67 WFA-SimpleConfig
2d 45 6e 72 6f 6c 6c 65 65 2d 31 2d 30 -Enrollee-1-0
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
TX EAPOL - hexdump(len=38): 01 00 00 22 02 01 00 22 01 57 46 41 2d 53 69 6d 70 6c 65 43 6f 6e 66 69 67 2d 45 6e 72 6f 6c 6c 65 65 20
TI send_eapol called
WPA: FULL TX EAPOL-Key - hexdump(len=52): 00 50 f1 00 02 24 08 00 28 55 10 53 88 8e 01 00 00 22 02 01 00 22 01 57 46 41 2d 53 69 6d0
EAPOL: SUPP_BE entering state RECEIVE
wpa_driver_event_receive called
wpa_supplicant - EAPOL
RX EAPOL from 00:50:f1:00:02:24
RX EAPOL - hexdump(len=18): 01 00 00 0e 01 02 00 0e fe 00 37 2a 00 00 00 01 01 00
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request id=2 method=254 vendor=0 vendorMethod=0
EAP: EAP entering state GET_METHOD
EAP: initialize selected EAP method: vendor 0 method 254 (WSC)
EAP-WSC: Entered eap_wsc_init
scContext->regSessionInfo.LastMessageSent = 0xff
CTRL-EVENT-EAP-METHOD EAP vendor 0 method 254 (WSC) selected
EAP: EAP entering state METHOD
EAP-WSC: Entered eap_wsc_process
scContext->regSessionInfo.LastMessageSent = 0xff
<------
<--------- Here the EAP process method is still running, however the EAP SM continues to trigger onwards?
<------
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: startWhen --> 0
<------
<--------- Here the process method continues to execute, but the EAP SM is already in IDLE state...
<------
bufferObj: Explicitly allocating memory
SC-RegProtocol: scBuildMessageM1 built 525 byte message
EAP-WSC: Always setting EAP Method State to: METHOD_CONT
EAP: method process -> ignore=FALSE methodState=CONT decision=COND_SUCC
wpa_driver_event_receive called
wpa_supplicant - EAPOL
RX EAPOL from 00:50:f1:00:02:24
RX EAPOL - hexdump(len=18): 01 00 00 0e 01 02 00 0e fe 00 37 2a 00 00 00 01 01 00
EAPOL: Received EAP-Packet frame
More information about the Hostap
mailing list