hostap/src/p2p
Jouni Malinen 198f82a1e3 P2P: Ignore unexpected GO Neg Resp is we have sent Resp
There is a race condition in GO Negotiation Request frame sending and
processing that may end up with both devices sending GO Negotiation
Response. This response frame was previously accepted even if a response
had already been sent. This could result in two GO Negotiation Confirm
frames being exchanged and consequently, with two separate GO
Negotiations completing concurrently. These negotiations could result in
getting mismatching parameters (e.g., both device could believe it was
the GO).

Fix this by ignoring GO Negotiation Response from the peer if twe have
already sent a GO Negotiation Response frame and we have the higher P2P
Device Address. This is similar to the rule used to determine whether to
reply to GO Negotiation Request frame when Request was already sent,
i.e., the same direction of GO Negotiation is maintained here to enforce
that only the negotiation initiated by the device with smaller P2P
Device Address is completed.

Signed-hostap: Jouni Malinen <j@w1.fi>
intended-for: hostap-1
2012-06-09 18:31:24 +03:00
..
Makefile P2P: Add initial version of P2P Module 2010-09-09 07:17:17 -07:00
p2p.c P2P: Address race condition with GO Negotiation Request TX status 2012-06-09 18:03:47 +03:00
p2p.h P2P: Add option for Provision Discovery before GO Negotiation 2012-05-11 16:25:47 +03:00
p2p_build.c P2P: Advertise immediate availability of WPS credential 2012-02-27 23:14:35 +02:00
p2p_dev_disc.c Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00
p2p_go_neg.c P2P: Ignore unexpected GO Neg Resp is we have sent Resp 2012-06-09 18:31:24 +03:00
p2p_group.c P2P: Use consistent Device Capability in Beacon/Probe Response 2012-06-06 12:55:44 +03:00
p2p_i.h P2P: Add option for Provision Discovery before GO Negotiation 2012-05-11 16:25:47 +03:00
p2p_invitation.c P2P: Do not update peer Listen channel based on PD/Invitation 2012-04-26 16:11:17 +03:00
p2p_parse.c Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00
p2p_pd.c P2P: Add option for Provision Discovery before GO Negotiation 2012-05-11 16:25:47 +03:00
p2p_sd.c P2P: Clear P2P_DEV_SD_INFO when new wildcard SD query is added 2012-04-11 17:51:19 +03:00
p2p_utils.c Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00