diff -wbBur bzrtp-1.0.3/configure.ac bzrtp-1.0.3.my/configure.ac --- bzrtp-1.0.3/configure.ac 2015-11-02 16:41:21.000000000 +0300 +++ bzrtp-1.0.3.my/configure.ac 2015-11-03 18:28:22.098298959 +0300 @@ -44,9 +44,9 @@ LIBS_save=$LIBS LIBS="$LIBS $POLARSSL_LIBS" -AC_CHECK_LIB(mbedtls, ssl_init , [POLARSSL_LIBS="$POLARSSL_LIBS -lmbedtls"], +AC_CHECK_LIB(mbedtls, mbedtls_ssl_init , [POLARSSL_LIBS="$POLARSSL_LIBS -lmbedtls"], [ - AC_CHECK_LIB(polarssl, ssl_init, [POLARSSL_LIBS="$POLARSSL_LIBS -lpolarssl"], + AC_CHECK_LIB(polarssl, mbedtls_ssl_init, [POLARSSL_LIBS="$POLARSSL_LIBS -lmbedtls"], [ AC_MSG_ERROR([Polarssl or mbedTLS library not found]) ] ) ]) diff -wbBur bzrtp-1.0.3/src/cryptoPolarssl.c bzrtp-1.0.3.my/src/cryptoPolarssl.c --- bzrtp-1.0.3/src/cryptoPolarssl.c 2015-11-02 16:41:21.000000000 +0300 +++ bzrtp-1.0.3.my/src/cryptoPolarssl.c 2015-11-03 18:23:56.821626356 +0300 @@ -25,17 +25,18 @@ #include /* Random number generator */ -#include "polarssl/entropy.h" -#include "polarssl/ctr_drbg.h" +#include "mbedtls/compat-1.3.h" +#include "mbedtls/entropy.h" +#include "mbedtls/ctr_drbg.h" /* Hash function sha1(sha2 is different for polarssl v1.2 and v1.3 ) */ -#include "polarssl/sha1.h" +#include "mbedtls/md.h" /* Asymmetrics encryption */ -#include "polarssl/dhm.h" +#include "mbedtls/dhm.h" /* Symmetric encryption */ -#include "polarssl/aes.h" +#include "mbedtls/aes.h" #include "cryptoWrapper.h" @@ -133,7 +134,8 @@ entropy_init(&(polarsslContext->entropyContext)); /* init the polarssl entropy engine */ /* init the polarssl rng context */ - if (ctr_drbg_init(&(polarsslContext->rngContext), entropy_func, &(polarsslContext->entropyContext), (const unsigned char *)entropyString, entropyStringLength) != 0) { + ctr_drbg_init(&(polarsslContext->rngContext)); + if (mbedtls_ctr_drbg_seed(&(polarsslContext->rngContext), entropy_func, &(polarsslContext->entropyContext), (const unsigned char *)entropyString, entropyStringLength) != 0) { return NULL; } @@ -183,7 +185,8 @@ uint8_t *output) { uint8_t hmacOutput[20]; - sha1_hmac(key, keyLength, input, inputLength, hmacOutput); + const mbedtls_md_info_t *mdinfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA1); + mbedtls_md_hmac(mdinfo, key, keyLength, input, inputLength, hmacOutput); /* check output length, can't be>20 */ if (hmacLength>20) { @@ -396,11 +399,11 @@ /*** End of code common to polarSSL version 1.2 and 1.3 ***/ /* check polarssl version */ -#include +#include #if POLARSSL_VERSION_NUMBER >= 0x01030000 /* for Polarssl version 1.3 */ /* Hashs */ -#include "polarssl/sha256.h" +#include "mbedtls/sha256.h" /* * @brief SHA256 wrapper @@ -444,7 +447,8 @@ uint8_t *output) { uint8_t hmacOutput[32]; - sha256_hmac(key, keyLength, input, inputLength, hmacOutput, 0); /* last param to zero to select SHA256 and not SHA224 */ + const mbedtls_md_info_t *mdinfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); + mbedtls_md_hmac(mdinfo, key, keyLength, input, inputLength, hmacOutput); /* check output length, can't be>32 */ if (hmacLength>32) { @@ -464,7 +468,7 @@ /* compute the secret key */ keyLength = context->primeLength; /* undocumented but this value seems to be in/out, so we must set it to the expected key length */ context->key = (uint8_t *)malloc(keyLength*sizeof(uint8_t)); /* allocate key buffer */ - dhm_calc_secret((dhm_context *)(context->cryptoModuleData), context->key, &keyLength, (int (*)(void *, unsigned char *, size_t))rngFunction, rngContext); + dhm_calc_secret((dhm_context *)(context->cryptoModuleData), context->key, keyLength, &keyLength, (int (*)(void *, unsigned char *, size_t))rngFunction, rngContext); } @@ -472,7 +476,7 @@ #else /* POLAR SSL VERSION 1.2 */ /* Hashs */ -#include "polarssl/sha2.h" +#include "mbedtls/sha2.h" /* * @brief SHA256 wrapper