diff options
Diffstat (limited to '')
-rw-r--r-- | extra/wolfssl/wolfssl/src/dtls.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/extra/wolfssl/wolfssl/src/dtls.c b/extra/wolfssl/wolfssl/src/dtls.c index fceeedbe..aecd2605 100644 --- a/extra/wolfssl/wolfssl/src/dtls.c +++ b/extra/wolfssl/wolfssl/src/dtls.c @@ -114,6 +114,7 @@ int DtlsIgnoreError(int err) case SOCKET_ERROR_E: case WANT_READ: case WANT_WRITE: + case COOKIE_ERROR: return 0; default: return 1; @@ -207,6 +208,13 @@ static int CreateDtls12Cookie(const WOLFSSL* ssl, const WolfSSL_CH* ch, { int ret; Hmac cookieHmac; + + if (ssl->buffers.dtlsCookieSecret.buffer == NULL || + ssl->buffers.dtlsCookieSecret.length == 0) { + WOLFSSL_MSG("Missing DTLS 1.2 cookie secret"); + return COOKIE_ERROR; + } + ret = wc_HmacInit(&cookieHmac, ssl->heap, ssl->devId); if (ret == 0) { ret = wc_HmacSetKey(&cookieHmac, DTLS_COOKIE_TYPE, |