P2P: Override P2P_PEER group_capab with 0 if no matching BSS entry found

Relying on the group_capab from the P2P peer information can result in
improper information on whether the peer is currently operating as a GO.
However, there is a known implementation in Android that does this.

To reduce issues from this misuse in upper layer to try to determine
whether a specific peer is operationg a group, override the group_capab
value in P2P_PEER output with 0 if there are no BSS entries with the
peer P2P Device as a GO. This is not a perfect information since there
may not have been a recent scan on all channels, but this results in
less issues than trying to decide between new group formation and
joining an existing group based on stale or incorrect information.

Since no upper layer application is really supposed to use the
group_capab field value in P2P_PEER command, this change should not
cause any impact for properly design components and the possibility of
regressions is limited to cases that are already known to work
incorrectly in number of identifiable cases.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Git-commit: f47f93617086635bd0515d1bddbc3e9b01175e97
Git-repo : git://w1.fi/srv/git/hostap.git
Change-Id: I3a8a2777b6c56d84e7b055ba70e22641b7a28852
CRs-Fixed: 2004013
1 file changed