Subject: RE: [eap] Issue 193: Peer SM review

From: <[email-masked]>
Date: Mon, 15 Dec 2003 18:34:59 +0200

Replying to myself (not a good habit):
>
> However, eapSuccess and eapFail must be initialized by 
> the lower layer; otherwise there's a race condition.

...but 1X-REV/D8 explicitly states that they are 
initialized by EAP. And yes, there's a race condition.

Here's a possible sequence of events:

  1. portEnabled becomes TRUE

  2. Supplicant PAE moves to CONNECTING state and executes it

  3. After a while, eapolEap becomes TRUE (a request is received)

  4. Supplicant PAE moves to RESTART state and executes it, 
     setting eapRestart to TRUE

  5. EAP peer moves to DISABLED state and executes it,
     resetting eapRestart to FALSE

  6. Supplicant PAE moves to AUTHENTICATING state and executes it,
     setting suppStart to TRUE (among other things).

  7. Supplicant backend was sitting happily in the IDLE state.
     Now it checks the conditions "eapFail && suppStart" and
     "eapSuccess && suppStart".

  8. EAP peer moves to INITIALIZE state and executes it; but
     it's now too late to initialize eapSuccess and eapFail!
                                        
Hmm, would this change fix it?                                           
   
                                            portEnabled && eapRestart
                                                        |
                                                        V       
                                             +----------------------+
                 +----------+                |      INITIALIZE      |
                 | DISABLED |                +----------------------+
!portEnabled --->+----------+--portEnabled-->| eapSuccess=FALSE     |
                 |          |                | eapFail=FALSE        |
                 +----------+                | ...                  |
                                             | eapRestart=FALSE     |
                                             +----------------------+
                                                        |
                                                       UCT
                                                        | 
                                                        V

Best regards,
Pasi
_______________________________________________
eap mailing list
[email-masked]
http://mail.frascone.com/mailman/listinfo/eap