From f34df28e9370aa2924ae1ad38740f62942c3c7ef Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 22 Feb 2014 18:51:37 +0200 Subject: [PATCH] WPS: Fix UNSUBSCRIBE to return 412 if no SID match found UPnP-arch-DeviceArchitecture describe ErrorCode 412 to be used for the case where no un-epxired subscription matches. This used to return 200 which is not strictly speaking correct even though it is unlikely to cause any problems. Signed-off-by: Jouni Malinen --- src/wps/wps_upnp_web.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/wps/wps_upnp_web.c b/src/wps/wps_upnp_web.c index 37bdc8e00..31963ffbc 100644 --- a/src/wps/wps_upnp_web.c +++ b/src/wps/wps_upnp_web.c @@ -1207,6 +1207,10 @@ static void web_connection_parse_unsubscribe(struct upnp_wps_device_sm *sm, sa->domain_and_port : "-null-"); dl_list_del(&s->list); subscription_destroy(s); + } else { + wpa_printf(MSG_INFO, "WPS UPnP: Could not find matching subscription to unsubscribe"); + ret = HTTP_PRECONDITION_FAILED; + goto send_msg; } } else { wpa_printf(MSG_INFO, "WPS UPnP: Unsubscribe fails (not "