@@ -1739,17 +1739,9 @@ static sn_coap_hdr_s *sn_coap_handle_blockwise_message(struct coap_s *handle, sn
1739
1739
return NULL ;
1740
1740
}
1741
1741
1742
- // Response with COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE if the payload size is more than we can handle
1743
-
1744
- uint32_t max_size = SN_COAP_MAX_INCOMING_BLOCK_MESSAGE_SIZE ;
1745
1742
if (!blocks_in_order ) {
1746
1743
tr_error ("sn_coap_handle_blockwise_message - (recv block1) COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_INCOMPLETE!" );
1747
1744
src_coap_blockwise_ack_msg_ptr -> msg_code = COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_INCOMPLETE ;
1748
- } else if (received_coap_msg_ptr -> options_list_ptr -> size1 > max_size ) {
1749
- // Include maximum size that stack can handle into response
1750
- tr_error ("sn_coap_handle_blockwise_message - (recv block1) COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE!" );
1751
- src_coap_blockwise_ack_msg_ptr -> msg_code = COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE ;
1752
- src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> size1 = max_size ;
1753
1745
} else if (received_coap_msg_ptr -> msg_code == COAP_MSG_CODE_REQUEST_GET ) {
1754
1746
src_coap_blockwise_ack_msg_ptr -> msg_code = COAP_MSG_CODE_RESPONSE_CONTENT ;
1755
1747
} else if (received_coap_msg_ptr -> msg_code == COAP_MSG_CODE_REQUEST_POST ) {
@@ -1760,23 +1752,31 @@ static sn_coap_hdr_s *sn_coap_handle_blockwise_message(struct coap_s *handle, sn
1760
1752
src_coap_blockwise_ack_msg_ptr -> msg_code = COAP_MSG_CODE_RESPONSE_DELETED ;
1761
1753
}
1762
1754
1763
- src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> block1 = received_coap_msg_ptr -> options_list_ptr -> block1 ;
1764
- src_coap_blockwise_ack_msg_ptr -> msg_type = COAP_MSG_TYPE_ACKNOWLEDGEMENT ;
1765
-
1766
- /* Check block size */
1767
- block_temp = (src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> block1 & 0x07 );
1768
- uint16_t block_size = 1u << (block_temp + 4 );
1769
- if (block_size > handle -> sn_coap_block_data_size ) {
1770
- // Include maximum size that stack can handle into response
1771
- tr_error ("sn_coap_handle_blockwise_message - (recv block1) COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE!" );
1772
- src_coap_blockwise_ack_msg_ptr -> msg_code = COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE ;
1773
- src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> size1 = handle -> sn_coap_block_data_size ;
1774
- sn_coap_protocol_linked_list_blockwise_payload_remove_oldest (handle );
1755
+ // Response with COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE if the payload size is more than we can handle
1756
+ if (received_coap_msg_ptr -> options_list_ptr -> size1 > SN_COAP_MAX_INCOMING_BLOCK_MESSAGE_SIZE ) {
1757
+ // Include maximum size that stack can handle into response
1758
+ tr_error ("sn_coap_handle_blockwise_message - (recv block1) COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE!" );
1759
+ src_coap_blockwise_ack_msg_ptr -> msg_code = COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE ;
1775
1760
}
1761
+ else {
1762
+ src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> block1 = received_coap_msg_ptr -> options_list_ptr -> block1 ;
1763
+ src_coap_blockwise_ack_msg_ptr -> msg_type = COAP_MSG_TYPE_ACKNOWLEDGEMENT ;
1764
+
1765
+ /* Check block size */
1766
+ block_temp = (src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> block1 & 0x07 );
1767
+ uint16_t block_size = 1u << (block_temp + 4 );
1768
+ if (block_size > handle -> sn_coap_block_data_size ) {
1769
+ // Include maximum size that stack can handle into response
1770
+ tr_error ("sn_coap_handle_blockwise_message - (recv block1) COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE!" );
1771
+ src_coap_blockwise_ack_msg_ptr -> msg_code = COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE ;
1772
+ src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> size1 = handle -> sn_coap_block_data_size ;
1773
+ sn_coap_protocol_linked_list_blockwise_payload_remove_oldest (handle );
1774
+ }
1776
1775
1777
- if (block_temp > sn_coap_convert_block_size (handle -> sn_coap_block_data_size )) {
1778
- src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> block1 &= 0xFFFFF8 ;
1779
- src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> block1 |= sn_coap_convert_block_size (handle -> sn_coap_block_data_size );
1776
+ if (block_temp > sn_coap_convert_block_size (handle -> sn_coap_block_data_size )) {
1777
+ src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> block1 &= 0xFFFFF8 ;
1778
+ src_coap_blockwise_ack_msg_ptr -> options_list_ptr -> block1 |= sn_coap_convert_block_size (handle -> sn_coap_block_data_size );
1779
+ }
1780
1780
}
1781
1781
1782
1782
src_coap_blockwise_ack_msg_ptr -> msg_id = received_coap_msg_ptr -> msg_id ;
0 commit comments