]> git.ipfire.org Git - thirdparty/hostap.git/commit
P2P: Handle unexpected GO Neg Req reject message more cleanly
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 7 Feb 2014 14:26:59 +0000 (16:26 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 7 Feb 2014 14:26:59 +0000 (16:26 +0200)
commitd55fc03ef65e798c9f18f9aec3d1ed34ad534f48
tree240347a50be645ced912802af279b19ff4d7eb65
parent062a7c0d67f248391ec3bd946bde9dd2aad64ceb
P2P: Handle unexpected GO Neg Req reject message more cleanly

The mechanism of using Status attribute in GO Negotiation Request was
used in some early specification drafts, but it is not compliant with
the current P2P specification where GO Negotiation Request is used only
for the purpose of initiating a new GO Negotiation. However, some
deployed devices use it to indicate rejection of GO Negotiation in a
case where they have sent out GO Negotiation Response with status 1. The
P2P specification explicitly disallows this.

To avoid unnecessary interoperability issues and extra frames, mark the
pending negotiation as failed and do not reply to this GO Negotiation
Request frame. Previously, GO Negotiation Response frame with status=4
was sent back as an indication of the GO Negotiation Request frame being
invalid. This response is not sent anymore and the status code for the
P2P-GO-NEG-FAILURE event is changed from 4 (invalid parameters) to 11
(rejected by user) for this specific workaround case.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
src/p2p/p2p_go_neg.c