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");