diff --git a/src/core/crypto/mbedtls.cpp b/src/core/crypto/mbedtls.cpp index fe5fa9290..d598ab73e 100644 --- a/src/core/crypto/mbedtls.cpp +++ b/src/core/crypto/mbedtls.cpp @@ -33,7 +33,9 @@ #include "mbedtls.hpp" +#include #include +#include #include #include @@ -106,6 +108,8 @@ otError MbedTls::MapError(int rval) case MBEDTLS_ERR_X509_UNKNOWN_VERSION: #endif // MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED case MBEDTLS_ERR_SSL_BAD_INPUT_DATA: + case MBEDTLS_ERR_CTR_DRBG_REQUEST_TOO_BIG: + case MBEDTLS_ERR_CTR_DRBG_INPUT_TOO_BIG: error = OT_ERROR_INVALID_ARGS; break; @@ -117,6 +121,7 @@ otError MbedTls::MapError(int rval) #endif // MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED case MBEDTLS_ERR_SSL_ALLOC_FAILED: case MBEDTLS_ERR_SSL_WANT_WRITE: + case MBEDTLS_ERR_ENTROPY_MAX_SOURCES: error = OT_ERROR_NO_BUFS; break; @@ -127,6 +132,9 @@ otError MbedTls::MapError(int rval) case MBEDTLS_ERR_X509_CERT_VERIFY_FAILED: #endif // MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED case MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED: + case MBEDTLS_ERR_ENTROPY_SOURCE_FAILED: + case MBEDTLS_ERR_ENTROPY_NO_SOURCES_DEFINED: + case MBEDTLS_ERR_ENTROPY_NO_STRONG_SOURCE: case MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED: error = OT_ERROR_SECURITY; break;