]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
WPS UPnP: Do not update Beacon frames unnecessarily on subscription removal
authorJouni Malinen <jouni@codeaurora.org>
Thu, 4 Jun 2020 18:04:59 +0000 (21:04 +0300)
committerJouni Malinen <j@w1.fi>
Thu, 4 Jun 2020 20:53:55 +0000 (23:53 +0300)
There is no need to update the WPS IE in Beacon frames when a
subscription is removed if that subscription is not for an actual
selected registrar. For example, this gets rids of unnecessary driver
operations when a subscription request gets rejected when parsing the
callback URLs.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
src/wps/wps_upnp_ap.c

index cca390530a16938085184091a451d683d46ebaac..b6c9478ffe9bc6f36454772548ead0e8f12f944f 100644 (file)
@@ -76,8 +76,10 @@ int upnp_er_set_selected_registrar(struct wps_registrar *reg,
 void upnp_er_remove_notification(struct wps_registrar *reg,
                                 struct subscription *s)
 {
+       bool was_sel_reg = s->selected_registrar;
+
        s->selected_registrar = 0;
        eloop_cancel_timeout(upnp_er_set_selected_timeout, s, reg);
-       if (reg)
+       if (reg && was_sel_reg)
                wps_registrar_selected_registrar_changed(reg, 0);
 }