Question about new EAP method and EAP SM

Jouni Malinen jkmaline at cc.hut.fi
Sat May 20 01:28:17 EDT 2006


On Wed, May 17, 2006 at 07:19:33PM +0300, Bar, Eitan wrote:

> I’ve implemented a new EAP method (WSC) and have inserted it as one of the EAP modules supported in wpa_supplicant.

Which version of wpa_supplicant are you using?

> 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)

> How can I prevent the EAP SM from moving on to the next state before my “process” method has finished?

It would be easier to answer this, if you would describe how you
implemented the method. Source code would be ideal way of doing this,
but if that is not possible, at least the part showing how the new EAP
method is being registered. My guess is that the answer would be "By
fixing the way vendor-specific EAP method is used.."

> Btw: I AM aware that Intel has released their version of EAP-WSC – I’m just trying to implement it in a different way.

Unfortunately, it looks like your version is sharing one of the main
flaws in the Intel version..

> 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)

Method 254 is reserved for vendor specific mechanisms (expanded EAP
header) and it must not be defined to be WSC. If this is done in the
same way as it was in the Intel patch, this is completely incorrect way
of adding vendor specific EAP methods.

Since you seem to be using new enough wpa_supplicant version, please
take a look at eap_vendor_test.c for an example on how vendor
types must be implemented. In other words, no vendor code should change
EAP type 254 handling; it should just define a new EAP method like any
other method, but use non-IETF Vendor-ID in eap_peer_method_alloc()
call.

-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the HostAP mailing list