On Mon, Mar 06, 2017 at 02:59:54PM +0200, Andrei Otcheretianski wrote: > MBO techspec v0.0_r27 change the MBO ANQP elements format. > The MBO element in ANQP query should now include a MBO query list > element that contains a list of MBO elements to query. > > Add API to add the MBO query list to ANQP query. The MBO elements > subtypes should be added as a colon delimited list. > > format: > ANQP_GET <bssid> <info_id>,mbo:<MBO element subtype>:...> This format is not consistent with the existing ANQP_GET cases. Is there a need for introducing this new syntax and the separate parsing loop for it in get_anqp() instead of using the existing design and parsing loop? The current parser uses the following encoding: ANQP_GET <addr> <info id>[,<info id>]...[,hs20:<subtype>][...,hs20:<subtype>] For example: ANQP_GET 00:11:22:33:44:55:66 258,268,hs20:3,hs20:4 Adding MBO to it using the same style (,mbo:2,mbo:3,...) would seem more consistent and simpler to implement as well and hopefully that would avoid issues like this: > diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c > @@ -6712,7 +6712,8 @@ static int get_anqp(struct wpa_supplicant *wpa_s, char *dst) > + while (mbo_pos && > + num_mbo_elems <= MAX_MBO_ANQP_SUBTYPE) { > + mbo_elems[num_mbo_elems] = atoi(mbo_pos); > + if (mbo_elems[num_mbo_elems] > > + MAX_MBO_ANQP_SUBTYPE) { > + wpa_printf(MSG_DEBUG, > + "Invalid MBO ANQP element subtype: %u", > + mbo_elems[num_mbo_elems]); > + return -1; > + } > + > + num_mbo_elems++; > + mbo_pos = os_strchr(mbo_pos, ':'); > + } This parser is broken since mbo_pos would be pointing at the separating colon in the second iteration and atoi(":<int>") returns 0, not <int>.. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap