Merge pull request #665 from mrdeep1/observe_non_2xx

Observe: Make sure Observe option is not in non 2.xx response
This commit is contained in:
obgm authored and GitHub committed 2021-04-29 09:25:53 +02:00
commit c99b39f094
2 files changed
+8

No files matched your search

+5
View File
@@ -2830,6 +2830,11 @@ skip_handler:
respond = no_response(pdu, response, session);
if (respond != RESPONSE_DROP) {
coap_mid_t mid = pdu->mid;
if (COAP_RESPONSE_CLASS(response->code) != 2) {
if (observe) {
coap_remove_option(response, COAP_OPTION_OBSERVE);
}
}
if (COAP_RESPONSE_CLASS(response->code) > 2) {
if (observe)
coap_delete_observer(resource, session, &token);
+3
View File
@@ -931,6 +931,9 @@ coap_notify_observers(coap_context_t *context, coap_resource_t *r,
h(r, obs->session, NULL, obs->query, response);
/* Check if lg_xmit generated and update PDU code if so */
coap_check_code_lg_xmit(obs->session, response, r, obs->query);
if (COAP_RESPONSE_CLASS(response->code) != 2) {
coap_remove_option(response, COAP_OPTION_OBSERVE);
}
if (COAP_RESPONSE_CLASS(response->code) > 2) {
coap_delete_observer(r, obs->session, &token);
}