From 4fe788cc172e6c06f40a42ba516a60f21369018c Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Tue, 2 May 2023 08:41:08 +0900 Subject: psk: Add basic support for RFC 9258 external PSK importer interface This adds a minimal, callback-based API to import external PSK, following RFC 9258. The client and the server importing external PSK are supposed to set a callback to retrieve PSK, which returns flags that may indicate the PSK is imported, along with the key: typedef int gnutls_psk_client_credentials_function3( gnutls_session_t session, gnutls_datum_t *username, gnutls_datum_t *key, gnutls_psk_key_flags *flags); typedef int gnutls_psk_server_credentials_function3( gnutls_session_t session, const gnutls_datum_t *username, gnutls_datum_t *key, gnutls_psk_key_flags *flags); Those callbacks are responsible to call gnutls_psk_format_imported_identity() for external PSKs to build a serialized PSK identity, and set GNUTLS_PSK_KEY_EXT in flags if the identity is an imported one. Signed-off-by: Daiki Ueno --- devel/libgnutls.abignore | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'devel/libgnutls.abignore') diff --git a/devel/libgnutls.abignore b/devel/libgnutls.abignore index c19dce38e1..7ed194a515 100644 --- a/devel/libgnutls.abignore +++ b/devel/libgnutls.abignore @@ -70,3 +70,15 @@ name = drbg_aes_reseed # The following should be removed in the new release, after updating the # abi-dump repository: +[suppress_function] +name = gnutls_psk_set_server_credentials_function3 + +[suppress_function] +name = gnutls_psk_set_client_credentials_function3 + +[suppress_function] +name = gnutls_psk_format_imported_identity + +[suppress_type] +name = gnutls_psk_key_flags +changed_enumerators = GNUTLS_PSK_KEY_EXT -- cgit v1.2.1