From 1feb70026720ad30e973bd66caa430a0a10cd830 Mon Sep 17 00:00:00 2001 From: Antti Yli-Tokola Date: Thu, 12 Apr 2018 10:04:50 +0300 Subject: [PATCH] Update mbed-coap to version 4.4.2 Contains one error fix: IOTCLT-2469 CoAP UDP retransmission does not work for blocks after first one for requests (Eg. registration POST) NOTE! These are internal changes required for cloud client. This has no direct relevance to any mbed-os functionality. --- features/FEATURE_COMMON_PAL/mbed-coap/CHANGELOG.md | 6 ++++++ features/FEATURE_COMMON_PAL/mbed-coap/module.json | 2 +- .../mbed-coap/source/sn_coap_protocol.c | 13 +++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/features/FEATURE_COMMON_PAL/mbed-coap/CHANGELOG.md b/features/FEATURE_COMMON_PAL/mbed-coap/CHANGELOG.md index 2bd63c3511..1d7bf2f59d 100644 --- a/features/FEATURE_COMMON_PAL/mbed-coap/CHANGELOG.md +++ b/features/FEATURE_COMMON_PAL/mbed-coap/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## [v4.4.2](https://github.com/ARMmbed/mbed-coap/releases/tag/v4.4.2) +**Closed issues:** + - IOTCLT-2469 CoAP UDP retransmission does not work for blocks after first one for requests (Eg. registration POST) + +-[Full Changelog](https://github.com/ARMmbed/mbed-coap/compare/v4.4.1...v4.4.2) + ## [v4.4.1](https://github.com/ARMmbed/mbed-coap/releases/tag/v4.4.1) **Closed issues:** - IOTCLT-2539 Block wise messaging call-backs not working logically diff --git a/features/FEATURE_COMMON_PAL/mbed-coap/module.json b/features/FEATURE_COMMON_PAL/mbed-coap/module.json index b8401cd41a..96516963b1 100644 --- a/features/FEATURE_COMMON_PAL/mbed-coap/module.json +++ b/features/FEATURE_COMMON_PAL/mbed-coap/module.json @@ -1,6 +1,6 @@ { "name": "mbed-coap", - "version": "4.4.1", + "version": "4.4.2", "description": "COAP library", "keywords": [ "coap", diff --git a/features/FEATURE_COMMON_PAL/mbed-coap/source/sn_coap_protocol.c b/features/FEATURE_COMMON_PAL/mbed-coap/source/sn_coap_protocol.c index 5804c45d0e..abee6767b2 100644 --- a/features/FEATURE_COMMON_PAL/mbed-coap/source/sn_coap_protocol.c +++ b/features/FEATURE_COMMON_PAL/mbed-coap/source/sn_coap_protocol.c @@ -1732,8 +1732,17 @@ static sn_coap_hdr_s *sn_coap_handle_blockwise_message(struct coap_s *handle, sn } sn_coap_builder_2(dst_ack_packet_data_ptr, src_coap_blockwise_ack_msg_ptr, handle->sn_coap_block_data_size); + handle->sn_coap_tx_callback(dst_ack_packet_data_ptr, dst_packed_data_needed_mem, src_addr_ptr, param); +#if ENABLE_RESENDINGS + uint32_t resend_time = sn_coap_calculate_new_resend_time(handle->system_time, handle->sn_coap_resending_intervall, 0); + sn_coap_protocol_linked_list_send_msg_store(handle, src_addr_ptr, + dst_packed_data_needed_mem, + dst_ack_packet_data_ptr, + resend_time, param); +#endif + handle->sn_coap_protocol_free(dst_ack_packet_data_ptr); dst_ack_packet_data_ptr = 0; @@ -2053,13 +2062,13 @@ static sn_coap_hdr_s *sn_coap_handle_blockwise_message(struct coap_s *handle, sn handle->sn_coap_tx_callback(dst_ack_packet_data_ptr, dst_packed_data_needed_mem, src_addr_ptr, param); - #if ENABLE_RESENDINGS +#if ENABLE_RESENDINGS uint32_t resend_time = sn_coap_calculate_new_resend_time(handle->system_time, handle->sn_coap_resending_intervall, 0); sn_coap_protocol_linked_list_send_msg_store(handle, src_addr_ptr, dst_packed_data_needed_mem, dst_ack_packet_data_ptr, resend_time, param); - #endif +#endif handle->sn_coap_protocol_free(dst_ack_packet_data_ptr); dst_ack_packet_data_ptr = 0; }