From 6f4c8b68de2f0f26f88c9acf0f575fe2c1fed06b Mon Sep 17 00:00:00 2001 From: Jon Shallow Date: Wed, 26 Mar 2025 09:38:19 +0000 Subject: [PATCH] coap_proxy.c: Correct returning responses match Correctly match proxy_entry against session when checking unpstream response when there are multiple proxy entries. --- src/coap_proxy.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/coap_proxy.c b/src/coap_proxy.c index b8e9d3cf..160946e0 100644 --- a/src/coap_proxy.c +++ b/src/coap_proxy.c @@ -810,15 +810,18 @@ coap_proxy_forward_response_lkd(coap_session_t *session, for (i = 0; i < proxy_list_count; i++) { proxy_entry = &proxy_list[i]; - for (j = 0; j < proxy_entry->req_count; j++) { - if (coap_binary_equal(&rcv_token, proxy_entry->req_list[j].token_used)) { - proxy_req = &proxy_entry->req_list[j]; + if (proxy_entry->ongoing == session) { + for (j = 0; j < proxy_entry->req_count; j++) { + if (coap_binary_equal(&rcv_token, proxy_entry->req_list[j].token_used)) { + proxy_req = &proxy_entry->req_list[j]; + coap_ticks(&proxy_entry->last_used); + break; + } + } + if (j != proxy_entry->req_count) { break; } } - if (j != proxy_entry->req_count) { - break; - } } if (i == proxy_list_count) { coap_log_warn("Unknown proxy ongoing session response received\n");