@@ -226,7 +226,11 @@ lws_gendtls_create(struct lws_gendtls_ctx *ctx,
226226int
227227lws_gendtls_handshake_done (struct lws_gendtls_ctx * ctx )
228228{
229+ #if defined(MBEDTLS_VERSION_NUMBER ) && MBEDTLS_VERSION_NUMBER >= 0x03000000
229230 return mbedtls_ssl_is_handshake_over (& ctx -> ssl );
231+ #else
232+ return ctx -> ssl .MBEDTLS_PRIVATE (state ) == MBEDTLS_SSL_HANDSHAKE_OVER ;
233+ #endif
230234}
231235
232236void
@@ -263,8 +267,11 @@ lws_gendtls_set_key_mem(struct lws_gendtls_ctx *ctx, const uint8_t *key, size_t
263267 int ret ;
264268
265269 if ((ret = mbedtls_pk_parse_key (& ctx -> pkey , (const unsigned char * )key , len ,
266- NULL , 0 ,
267- mbedtls_ctr_drbg_random , & ctx -> ctr_drbg )) != 0 ) {
270+ NULL , 0
271+ #if defined(MBEDTLS_VERSION_NUMBER ) && MBEDTLS_VERSION_NUMBER >= 0x03000000
272+ , mbedtls_ctr_drbg_random , & ctx -> ctr_drbg
273+ #endif
274+ )) != 0 ) {
268275 printf ("mbedtls_pk_parse_key failed: -0x%x\n" , - ret );
269276 return -1 ;
270277 }
@@ -367,6 +374,7 @@ lws_gendtls_export_keying_material(struct lws_gendtls_ctx *ctx, const char *labe
367374 size_t label_len , const uint8_t * context ,
368375 size_t context_len , uint8_t * out , size_t out_len )
369376{
377+ #if defined(LWS_HAVE_mbedtls_ssl_export_keying_material )
370378 int use_context = (context != NULL );
371379
372380 if (mbedtls_ssl_export_keying_material (& ctx -> ssl , out , out_len ,
@@ -376,6 +384,18 @@ lws_gendtls_export_keying_material(struct lws_gendtls_ctx *ctx, const char *labe
376384 return -1 ;
377385
378386 return 0 ;
387+ #else
388+ (void )ctx ;
389+ (void )label ;
390+ (void )label_len ;
391+ (void )context ;
392+ (void )context_len ;
393+ (void )out ;
394+ (void )out_len ;
395+
396+ lwsl_err ("%s: requires MBEDTLS_SSL_EXPORT_KEYS\n" , __func__ );
397+ return -1 ;
398+ #endif
379399}
380400
381401int
0 commit comments