1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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
|