diff --git a/sys/net/application_layer/gcoap/Makefile.include b/sys/net/application_layer/gcoap/Makefile.include index 4cb403e57c..5cde727e7f 100644 --- a/sys/net/application_layer/gcoap/Makefile.include +++ b/sys/net/application_layer/gcoap/Makefile.include @@ -4,4 +4,5 @@ ifeq (2, $(words $(filter ipv4 ipv6, $(USEMODULE)))) endif CONFIG_GCOAP_PDU_BUF_SIZE := $(or $(CONFIG_GCOAP_PDU_BUF_SIZE),128) -DTLS_MAX_BUF ?= ($(CONFIG_GCOAP_PDU_BUF_SIZE) + 36) +# the initial DTLS handshake may exceed the block size +DTLS_MAX_BUF ?= $(shell echo $$(((${CONFIG_GCOAP_PDU_BUF_SIZE} + 36) > 200 ? (${CONFIG_GCOAP_PDU_BUF_SIZE} + 36) : 200 ))) diff --git a/sys/net/application_layer/nanocoap/Makefile.include b/sys/net/application_layer/nanocoap/Makefile.include index c8b8b33d8a..1ce0a348c9 100644 --- a/sys/net/application_layer/nanocoap/Makefile.include +++ b/sys/net/application_layer/nanocoap/Makefile.include @@ -1,4 +1,7 @@ ifneq (,$(filter nanocoap_dtls,$(USEMODULE))) CONFIG_NANOCOAP_BLOCKSIZE_DEFAULT := $(or $(CONFIG_NANOCOAP_BLOCKSIZE_DEFAULT),2) - DTLS_MAX_BUF ?= ((1 << ($(CONFIG_NANOCOAP_BLOCKSIZE_DEFAULT) + 3)) + 36) + NANOCOAP_BLOCK_FRAME := (1 << ($(CONFIG_NANOCOAP_BLOCKSIZE_DEFAULT) + 4)) + 36 + NANOCOAP_BLOCK_FRAME := $(shell echo $$((${NANOCOAP_BLOCK_FRAME}))) + # the initial DTLS handshake may exceed the block size + DTLS_MAX_BUF ?= $(shell echo $$((${NANOCOAP_BLOCK_FRAME} > 200 ? ${NANOCOAP_BLOCK_FRAME} : 200 ))) endif