Add EC J-PAKE context in handshake structure
diff --git a/include/mbedtls/ssl_internal.h b/include/mbedtls/ssl_internal.h
index e9d06da..dc2ddc1 100644
--- a/include/mbedtls/ssl_internal.h
+++ b/include/mbedtls/ssl_internal.h
@@ -41,6 +41,10 @@
#include "sha512.h"
#endif
+#if defined(MBEDTLS_ECJPAKE_C)
+#include "ecjpake.h"
+#endif
+
#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && !defined(inline)
#define inline __inline
#endif
@@ -168,6 +172,9 @@
#if defined(MBEDTLS_ECDH_C)
mbedtls_ecdh_context ecdh_ctx; /*!< ECDH key exchange */
#endif
+#if defined(MBEDTLS_ECJPAKE_C)
+ mbedtls_ecjpake_context ecjpake_ctx; /*!< EC J-PAKE key exchange */
+#endif
#if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) || \
defined(MBEDTLS_ECJPAKE_C)
const mbedtls_ecp_curve_info **curves; /*!< Supported elliptic curves */
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 14ee521..93055eb 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -4932,6 +4932,9 @@
#if defined(MBEDTLS_ECDH_C)
mbedtls_ecdh_init( &handshake->ecdh_ctx );
#endif
+#if defined(MBEDTLS_ECJPAKE_C)
+ mbedtls_ecjpake_init( &handshake->ecjpake_ctx );
+#endif
#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
handshake->sni_authmode = MBEDTLS_SSL_VERIFY_UNSET;
@@ -6590,6 +6593,9 @@
#if defined(MBEDTLS_ECDH_C)
mbedtls_ecdh_free( &handshake->ecdh_ctx );
#endif
+#if defined(MBEDTLS_ECJPAKE_C)
+ mbedtls_ecjpake_free( &handshake->ecjpake_ctx );
+#endif
#if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C)
/* explicit void pointer cast for buggy MS compiler */