From 11ff95783ec7746feaf579ede37714af16a68d7e Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 21 Nov 2009 18:39:12 +0200 Subject: [PATCH] WPS ER: Deinitialize protocol instance with STA after completion In addition, remove the WPS ER Enrollee entry 10 seconds after successful completion of the protocol run. --- src/wps/wps_er.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/wps/wps_er.c b/src/wps/wps_er.c index bedd60ace..c88bee5d6 100644 --- a/src/wps/wps_er.c +++ b/src/wps/wps_er.c @@ -832,6 +832,18 @@ static void wps_er_sta_process(struct wps_er_sta *sta, struct wpabuf *msg, struct wpabuf *next = wps_get_msg(sta->wps, &op_code); if (next) wps_er_sta_send_msg(sta, next); + } else { + wpa_printf(MSG_DEBUG, "WPS ER: Protocol run %s with the " + "enrollee (res=%d)", + res == WPS_DONE ? "succeeded" : "failed", res); + wps_deinit(sta->wps); + sta->wps = NULL; + if (res == WPS_DONE) { + /* Remove the STA entry after short timeout */ + eloop_cancel_timeout(wps_er_sta_timeout, sta, NULL); + eloop_register_timeout(10, 0, wps_er_sta_timeout, sta, + NULL); + } } }