| From 85aac526af8612c21b3117dadc8ef5944985b476 Mon Sep 17 00:00:00 2001 |
| From: Jouni Malinen <jouni@codeaurora.org> |
| Date: Thu, 4 Jun 2020 21:24:04 +0300 |
| Subject: [PATCH 3/3] WPS UPnP: Handle HTTP initiation failures for events more |
| properly |
| |
| While it is appropriate to try to retransmit the event to another |
| callback URL on a failure to initiate the HTTP client connection, there |
| is no point in trying the exact same operation multiple times in a row. |
| Replve the event_retry() calls with event_addr_failure() for these cases |
| to avoid busy loops trying to repeat the same failing operation. |
| |
| These potential busy loops would go through eloop callbacks, so the |
| process is not completely stuck on handling them, but unnecessary CPU |
| would be used to process the continues retries that will keep failing |
| for the same reason. |
| |
| Upstream-Status: Backport |
| CVE: CVE-2020-12695 patch #2 |
| Signed-off-by: Jouni Malinen <jouni@codeaurora.org> |
| Signed-off-by: Armin Kuster <akuster@mvista.com> |
| |
| --- |
| src/wps/wps_upnp_event.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/src/wps/wps_upnp_event.c b/src/wps/wps_upnp_event.c |
| index 08a23612f338..c0d9e41d9a38 100644 |
| --- a/src/wps/wps_upnp_event.c |
| +++ b/src/wps/wps_upnp_event.c |
| @@ -294,7 +294,7 @@ static int event_send_start(struct subscription *s) |
| |
| buf = event_build_message(e); |
| if (buf == NULL) { |
| - event_retry(e, 0); |
| + event_addr_failure(e); |
| return -1; |
| } |
| |
| @@ -302,7 +302,7 @@ static int event_send_start(struct subscription *s) |
| event_http_cb, e); |
| if (e->http_event == NULL) { |
| wpabuf_free(buf); |
| - event_retry(e, 0); |
| + event_addr_failure(e); |
| return -1; |
| } |
| |
| -- |
| 2.20.1 |