Question about new EAP method and EAP SM

Bar, Eitan eitanb at ti.com
Wed May 17 12:19:33 EDT 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