[patch] WPS: hostapd fails to proxy registrations with Intel ext. registrar

Andriy Tkachuk andriy.v.tkachuk at globallogic.com
Thu Apr 1 05:37:07 EDT 2010


On 2010-03-31 19:34, Jouni Malinen wrote:
> On Wed, Mar 31, 2010 at 09:53:11AM +0300, Andriy Tkachuk wrote:
>
>   
>> I used here the Intel card and SW (driver & Intel PROSet application)
>> versions from WFA testbed...
>>     
>
> Interesting.. I have not seen this in my tests, but maybe I have only
> tested with different PROset versions.
>   

I used PROSet version 11.5.0.0 (that conforms with
WPS_TestPlan_v1-10_2009-11-02a.pdf)

>> 1269872027.309206: WPS UPnP: Got HTTP request type 4 from 192.168.1.111:60057
>> 1269872027.309228: WPS UPnP: PutWLANResponse
>> 1269872027.309259: WPS UPnP: POST failure ret=600
>>
>> This failure, as appeared, happened on parsing the NewWLANEventMAC value
>> in web_process_put_wlan_response() here:
>>
>>         val = xml_get_first_item(data, "NewWLANEventMAC");
>>         if (val == NULL || hwaddr_aton(val, macaddr)) {
>>                 wpabuf_free(msg);
>>                 os_free(val);
>>                 return UPNP_ARG_VALUE_INVALID;
>>         }
>>     
>
> OK. I would prefer this to be worked around in more visible way, i.e.,
> something like (completely untested; hwaddr_aton_dots would be the new
> function handling the incorrect format that was used by the ER).
>
> val = xml_get_first_item(data, "NewWLANEventMAC");
> if (val) {
> 	if (hwaddr_aton(val, macaddr)) {
> 	    wpa_printf(MSG_DEBUG, "WPS: Invalid NewWLANEventMAC '%s'",
> 		       val);
> 	    if (hwaddr_aton_dots(val, macaddr)) {
> 		os_free(val);
> 		val = NULL;
> 	    } else
> 		wpa_printf(MSG_DEBUG, "WPS: Workaround - accepted "
> 			   "incorrect NewWLANEventMAC format");
> 	}
> }
> if (val == NULL) {
> 	wpabuf_free(msg);
> 	return UPNP_ARG_VALUE_INVALID;
> }
> os_free(val);
>   

Ok, will try it...

BTW, why you are against dots in mac address format so much - is it
really so critical?

Thank you,
    Andriy


More information about the HostAP mailing list