]> git.ipfire.org Git - thirdparty/hostap.git/commit
WPS: Fix clearing of SetSelectedRegistrar with multiple interfaces
authorJouni Malinen <jouni@qca.qualcomm.com>
Mon, 13 Feb 2012 21:02:57 +0000 (23:02 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 13 Feb 2012 21:02:57 +0000 (23:02 +0200)
commitff22d1e10e9d0ae870e4bb9986f863c17d2990cc
treeb2ed8fb48b65c63963803c55cc71403b5324f5cc
parent2624ed43117302cd97778f2f7e4c9fc8e7adf2e2
WPS: Fix clearing of SetSelectedRegistrar with multiple interfaces

The SetSelectedRegistrar timeout was registered for each registrar
instance, but the only context pointer (struct subscription *) was
shared with each registrar which resulted in the timeout getting
cancelled for some of the registrar instances before the selected
registrar (ER) information was cleared.

In addition, when an ER unsubscribed from receiving events, the
selected registrar information got cleared only from a single
registrar.

Fix these issues by registering a pointer to the registrar
instance in the timeout and by iterating over all UPnP interfaces
when removing a subscription.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
src/wps/wps_upnp.c
src/wps/wps_upnp_ap.c
src/wps/wps_upnp_i.h