wpa supplicant handling of P2P invitation
Jouni Malinen
j
Mon Aug 24 10:51:04 PDT 2015
On Sat, Aug 22, 2015 at 07:42:29AM +0000, Atul Joshi wrote:
> A P2P Device that receives an Invitation Request frame to re-invoke a Persistent Group and responds with a P2P Invitation Response frame with a Status attribute with the Status Code field set to "Fail: information is currently unavailable" shall behave as follows:
>
> ? If a response is received from higher layers within 120 seconds (e.g. as a result of user input) authorizing the request, the invited P2P Device shall restart the Invitation procedure by sending an Invitation Request frame to the requesting P2P Device.
>
> In the code in supplicant in function p2p_process_invitation_resp, I could not find the handling of the status code "fail: Information currently unavailable".
Well, there is code for handling this status code, but that piece of
code does not too much:
wpas_invitation_result()
if (status == P2P_SC_FAIL_INFO_CURRENTLY_UNAVAILABLE) {
wpa_printf(MSG_DEBUG, "P2P: Waiting for peer to start another "
"invitation exchange to indicate readiness for "
"re-invocation");
}
I don't remember why the persistent group re-invocation case ended up
being different from the GO Negotiation case, but this was considered at
the design time and the current behavior is there by design.. In other
words, this results in the following control interface event message
being generated on receiving the invitation response:
P2P-INVITATION-RESULT status=1
If the upper layers want to wait for the peer to act, it would need to
issue P2P_LISTEN here. The following Invitation Request does get
automatically accepted with "P2P: Accept previously initiated invitation
to re-invoke a persistent group", so that part is also included in
wpa_supplicant behavior and it is only that "missing" P2P_LISTEN that
differs from the GO Negotiation case.
--
Jouni Malinen PGP id EFC895FA
More information about the Hostap
mailing list