Give ssl_session_copy() external linkage

A subsequent commit will need this function in the session ticket
and session cache implementations. As the latter are server-side,
this commit also removes the MBEDTLS_SSL_CLI_C guard.

For now, the function is declared in ssl_internal.h and hence not
part of the public API.
This commit is contained in:
Hanno Becker 2019-02-06 14:30:46 +00:00
parent 35e41771fe
commit 58fccf2f62
2 changed files with 8 additions and 5 deletions

View file

@ -989,6 +989,9 @@ int mbedtls_ssl_dtls_replay_check( mbedtls_ssl_context *ssl );
void mbedtls_ssl_dtls_replay_update( mbedtls_ssl_context *ssl ); void mbedtls_ssl_dtls_replay_update( mbedtls_ssl_context *ssl );
#endif #endif
int mbedtls_ssl_session_copy( mbedtls_ssl_session *dst,
const mbedtls_ssl_session *src );
/* constant-time buffer comparison */ /* constant-time buffer comparison */
static inline int mbedtls_ssl_safer_memcmp( const void *a, const void *b, size_t n ) static inline int mbedtls_ssl_safer_memcmp( const void *a, const void *b, size_t n )
{ {

View file

@ -368,8 +368,8 @@ static unsigned int ssl_mfl_code_to_length( int mfl )
} }
#endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */ #endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */
#if defined(MBEDTLS_SSL_CLI_C) int mbedtls_ssl_session_copy( mbedtls_ssl_session *dst,
static int ssl_session_copy( mbedtls_ssl_session *dst, const mbedtls_ssl_session *src ) const mbedtls_ssl_session *src )
{ {
mbedtls_ssl_session_free( dst ); mbedtls_ssl_session_free( dst );
memcpy( dst, src, sizeof( mbedtls_ssl_session ) ); memcpy( dst, src, sizeof( mbedtls_ssl_session ) );
@ -408,7 +408,6 @@ static int ssl_session_copy( mbedtls_ssl_session *dst, const mbedtls_ssl_session
return( 0 ); return( 0 );
} }
#endif /* MBEDTLS_SSL_CLI_C */
#if defined(MBEDTLS_SSL_HW_RECORD_ACCEL) #if defined(MBEDTLS_SSL_HW_RECORD_ACCEL)
int (*mbedtls_ssl_hw_record_init)( mbedtls_ssl_context *ssl, int (*mbedtls_ssl_hw_record_init)( mbedtls_ssl_context *ssl,
@ -7979,7 +7978,8 @@ int mbedtls_ssl_set_session( mbedtls_ssl_context *ssl, const mbedtls_ssl_session
return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );
} }
if( ( ret = ssl_session_copy( ssl->session_negotiate, session ) ) != 0 ) if( ( ret = mbedtls_ssl_session_copy( ssl->session_negotiate,
session ) ) != 0 )
return( ret ); return( ret );
ssl->handshake->resume = 1; ssl->handshake->resume = 1;
@ -8849,7 +8849,7 @@ int mbedtls_ssl_get_session( const mbedtls_ssl_context *ssl,
return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );
} }
return( ssl_session_copy( dst, ssl->session ) ); return( mbedtls_ssl_session_copy( dst, ssl->session ) );
} }
#endif /* MBEDTLS_SSL_CLI_C */ #endif /* MBEDTLS_SSL_CLI_C */