Introduce the qcrypto_tls_creds_check_endpoint() helper to avoid accessing QCryptoTLSCreds internal 'endpoint' field directly.
Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> --- include/crypto/tlssession.h | 13 +++++++++++++ crypto/tlssession.c | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/include/crypto/tlssession.h b/include/crypto/tlssession.h index 15b9cef086c..fdf7578609c 100644 --- a/include/crypto/tlssession.h +++ b/include/crypto/tlssession.h @@ -162,6 +162,19 @@ void qcrypto_tls_session_free(QCryptoTLSSession *sess); G_DEFINE_AUTOPTR_CLEANUP_FUNC(QCryptoTLSSession, qcrypto_tls_session_free) +/** + * qcrypto_tls_session_check_role: + * @creds: pointer to a TLS credentials object + * @endpoint: role of the TLS session, client or server + * + * Check whether the session object operates according to + * the role of the @endpoint argument. + * + * Returns true if the session is setup for the endpoint role, false otherwise + */ +bool qcrypto_tls_session_check_role(QCryptoTLSCreds *creds, + QCryptoTLSCredsEndpoint endpoint); + /** * qcrypto_tls_session_check_credentials: * @sess: the TLS session object diff --git a/crypto/tlssession.c b/crypto/tlssession.c index 33203e8ca71..cf2781363fe 100644 --- a/crypto/tlssession.c +++ b/crypto/tlssession.c @@ -640,3 +640,9 @@ qcrypto_tls_session_get_peer_name(QCryptoTLSSession *sess) } #endif + +bool qcrypto_tls_session_check_role(QCryptoTLSCreds *creds, + QCryptoTLSCredsEndpoint endpoint) +{ + return qcrypto_tls_creds_check_endpoint(creds, endpoint); +} -- 2.31.1