mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-28 00:21:48 +03:00
Merge pull request #8414 from lpy4105/issue/uniform-ssl-check-function
Harmonise the names and return values of check functions in TLS code
This commit is contained in:
@ -1914,89 +1914,89 @@ int mbedtls_ssl_tls13_handshake_server_step(mbedtls_ssl_context *ssl);
|
||||
/*
|
||||
* Helper functions around key exchange modes.
|
||||
*/
|
||||
static inline unsigned mbedtls_ssl_conf_tls13_check_kex_modes(mbedtls_ssl_context *ssl,
|
||||
int kex_mode_mask)
|
||||
static inline int mbedtls_ssl_conf_tls13_is_kex_mode_enabled(mbedtls_ssl_context *ssl,
|
||||
int kex_mode_mask)
|
||||
{
|
||||
return (ssl->conf->tls13_kex_modes & kex_mode_mask) != 0;
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_conf_tls13_psk_enabled(mbedtls_ssl_context *ssl)
|
||||
static inline int mbedtls_ssl_conf_tls13_is_psk_enabled(mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return mbedtls_ssl_conf_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK);
|
||||
return mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK);
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_conf_tls13_psk_ephemeral_enabled(mbedtls_ssl_context *ssl)
|
||||
static inline int mbedtls_ssl_conf_tls13_is_psk_ephemeral_enabled(mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return mbedtls_ssl_conf_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL);
|
||||
return mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL);
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_conf_tls13_ephemeral_enabled(mbedtls_ssl_context *ssl)
|
||||
static inline int mbedtls_ssl_conf_tls13_is_ephemeral_enabled(mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return mbedtls_ssl_conf_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL);
|
||||
return mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL);
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_conf_tls13_some_ephemeral_enabled(mbedtls_ssl_context *ssl)
|
||||
static inline int mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled(mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return mbedtls_ssl_conf_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ALL);
|
||||
return mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ALL);
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_conf_tls13_some_psk_enabled(mbedtls_ssl_context *ssl)
|
||||
static inline int mbedtls_ssl_conf_tls13_is_some_psk_enabled(mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return mbedtls_ssl_conf_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL);
|
||||
return mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL);
|
||||
}
|
||||
|
||||
#if defined(MBEDTLS_SSL_SRV_C) && \
|
||||
defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED)
|
||||
/**
|
||||
* Given a list of key exchange modes, check if at least one of them is
|
||||
* supported.
|
||||
* supported by peer.
|
||||
*
|
||||
* \param[in] ssl SSL context
|
||||
* \param kex_modes_mask Mask of the key exchange modes to check
|
||||
*
|
||||
* \return 0 if at least one of the key exchange modes is supported,
|
||||
* !=0 otherwise.
|
||||
* \return Non-zero if at least one of the key exchange modes is supported by
|
||||
* the peer, otherwise \c 0.
|
||||
*/
|
||||
static inline unsigned mbedtls_ssl_tls13_check_kex_modes(mbedtls_ssl_context *ssl,
|
||||
int kex_modes_mask)
|
||||
static inline int mbedtls_ssl_tls13_is_kex_mode_supported(mbedtls_ssl_context *ssl,
|
||||
int kex_modes_mask)
|
||||
{
|
||||
return (ssl->handshake->tls13_kex_modes & kex_modes_mask) == 0;
|
||||
return (ssl->handshake->tls13_kex_modes & kex_modes_mask) != 0;
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_tls13_psk_enabled(mbedtls_ssl_context *ssl)
|
||||
static inline int mbedtls_ssl_tls13_is_psk_supported(mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return !mbedtls_ssl_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK);
|
||||
return mbedtls_ssl_tls13_is_kex_mode_supported(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK);
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_tls13_psk_ephemeral_enabled(
|
||||
static inline int mbedtls_ssl_tls13_is_psk_ephemeral_supported(
|
||||
mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return !mbedtls_ssl_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL);
|
||||
return mbedtls_ssl_tls13_is_kex_mode_supported(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL);
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_tls13_ephemeral_enabled(mbedtls_ssl_context *ssl)
|
||||
static inline int mbedtls_ssl_tls13_is_ephemeral_supported(mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return !mbedtls_ssl_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL);
|
||||
return mbedtls_ssl_tls13_is_kex_mode_supported(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL);
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_tls13_some_ephemeral_enabled(mbedtls_ssl_context *ssl)
|
||||
static inline int mbedtls_ssl_tls13_is_some_ephemeral_supported(mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return !mbedtls_ssl_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ALL);
|
||||
return mbedtls_ssl_tls13_is_kex_mode_supported(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ALL);
|
||||
}
|
||||
|
||||
static inline int mbedtls_ssl_tls13_some_psk_enabled(mbedtls_ssl_context *ssl)
|
||||
static inline int mbedtls_ssl_tls13_is_some_psk_supported(mbedtls_ssl_context *ssl)
|
||||
{
|
||||
return !mbedtls_ssl_tls13_check_kex_modes(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL);
|
||||
return mbedtls_ssl_tls13_is_kex_mode_supported(ssl,
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL);
|
||||
}
|
||||
#endif /* MBEDTLS_SSL_SRV_C &&
|
||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */
|
||||
@ -2782,47 +2782,53 @@ int mbedtls_ssl_session_set_hostname(mbedtls_ssl_session *session,
|
||||
|
||||
#define MBEDTLS_SSL_TLS1_3_MAX_ALLOWED_TICKET_LIFETIME (604800)
|
||||
|
||||
static inline unsigned int mbedtls_ssl_session_get_ticket_flags(
|
||||
static inline unsigned int mbedtls_ssl_tls13_session_get_ticket_flags(
|
||||
mbedtls_ssl_session *session, unsigned int flags)
|
||||
{
|
||||
return session->ticket_flags &
|
||||
(flags & MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK);
|
||||
}
|
||||
|
||||
static inline unsigned int mbedtls_ssl_session_check_ticket_flags(
|
||||
/**
|
||||
* Check if at least one of the given flags is set in
|
||||
* the session ticket. See the definition of
|
||||
* `MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK` to get all
|
||||
* permitted flags.
|
||||
*/
|
||||
static inline int mbedtls_ssl_tls13_session_ticket_has_flags(
|
||||
mbedtls_ssl_session *session, unsigned int flags)
|
||||
{
|
||||
return mbedtls_ssl_session_get_ticket_flags(session, flags) == 0;
|
||||
return mbedtls_ssl_tls13_session_get_ticket_flags(session, flags) != 0;
|
||||
}
|
||||
|
||||
static inline unsigned int mbedtls_ssl_session_ticket_allow_psk(
|
||||
static inline int mbedtls_ssl_tls13_session_ticket_allow_psk(
|
||||
mbedtls_ssl_session *session)
|
||||
{
|
||||
return !mbedtls_ssl_session_check_ticket_flags(session,
|
||||
MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_RESUMPTION);
|
||||
return mbedtls_ssl_tls13_session_ticket_has_flags(
|
||||
session, MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_RESUMPTION);
|
||||
}
|
||||
|
||||
static inline unsigned int mbedtls_ssl_session_ticket_allow_psk_ephemeral(
|
||||
static inline int mbedtls_ssl_tls13_session_ticket_allow_psk_ephemeral(
|
||||
mbedtls_ssl_session *session)
|
||||
{
|
||||
return !mbedtls_ssl_session_check_ticket_flags(session,
|
||||
MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_EPHEMERAL_RESUMPTION);
|
||||
return mbedtls_ssl_tls13_session_ticket_has_flags(
|
||||
session, MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_EPHEMERAL_RESUMPTION);
|
||||
}
|
||||
|
||||
static inline unsigned int mbedtls_ssl_session_ticket_allow_early_data(
|
||||
static inline unsigned int mbedtls_ssl_tls13_session_ticket_allow_early_data(
|
||||
mbedtls_ssl_session *session)
|
||||
{
|
||||
return !mbedtls_ssl_session_check_ticket_flags(session,
|
||||
MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_EARLY_DATA);
|
||||
return mbedtls_ssl_tls13_session_ticket_has_flags(
|
||||
session, MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_EARLY_DATA);
|
||||
}
|
||||
|
||||
static inline void mbedtls_ssl_session_set_ticket_flags(
|
||||
static inline void mbedtls_ssl_tls13_session_set_ticket_flags(
|
||||
mbedtls_ssl_session *session, unsigned int flags)
|
||||
{
|
||||
session->ticket_flags |= (flags & MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK);
|
||||
}
|
||||
|
||||
static inline void mbedtls_ssl_session_clear_ticket_flags(
|
||||
static inline void mbedtls_ssl_tls13_session_clear_ticket_flags(
|
||||
mbedtls_ssl_session *session, unsigned int flags)
|
||||
{
|
||||
session->ticket_flags &= ~(flags & MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK);
|
||||
|
Reference in New Issue
Block a user