srp_ext_st *priv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRP,
&epriv);
if (ret < 0) { /* peer didn't send a username */
gnutls_assert();
srp_ext_st *priv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRP,
&epriv);
if (ret < 0) { /* peer didn't send a username */
gnutls_assert();
srp_ext_st *priv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRP,
&epriv);
if (ret < 0) {
gnutls_assert();
int selected_protocol_index;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_ALPN,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_ALPN,
&epriv);
if (ret < 0)
return 0;
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_ALPN,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_ALPN,
&epriv);
if (ret < 0)
return 0;
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_ALPN,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_ALPN,
&epriv);
if (ret < 0) {
gnutls_assert();
unsigned i;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_ALPN,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_ALPN,
&epriv);
if (ret < 0) {
priv = gnutls_calloc(1, sizeof(*priv));
return GNUTLS_E_MEMORY_ERROR;
}
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_ALPN, epriv);
} else
priv = epriv;
return 0;
epriv = (void*)(intptr_t)1;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_ETM,
epriv);
if (c == NULL || (c->type == CIPHER_AEAD || c->type == CIPHER_STREAM))
return 0;
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_ETM,
&epriv);
if (ret < 0 || ((intptr_t)epriv) == 0)
gnutls_ext_priv_data_t epriv;
epriv = (void*)(intptr_t)type;
- _gnutls_ext_set_session_data(session, GNUTLS_EXTENSION_HEARTBEAT,
+ _gnutls_hello_ext_set_sdata(session, GNUTLS_EXTENSION_HEARTBEAT,
epriv);
}
if (session->internals.handshake_in_progress != 0)
return 0; /* not allowed */
- if (_gnutls_ext_get_session_data
+ if (_gnutls_hello_ext_get_sdata
(session, GNUTLS_EXTENSION_HEARTBEAT, &epriv) < 0)
return 0; /* Not enabled */
unsigned policy;
gnutls_ext_priv_data_t epriv;
- if (_gnutls_ext_get_session_data
+ if (_gnutls_hello_ext_get_sdata
(session, GNUTLS_EXTENSION_HEARTBEAT, &epriv) < 0) {
if (session->security_parameters.entity == GNUTLS_CLIENT)
return
gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
epriv = (void*)(intptr_t)policy;
- _gnutls_ext_set_session_data(session, GNUTLS_EXTENSION_HEARTBEAT,
+ _gnutls_hello_ext_set_sdata(session, GNUTLS_EXTENSION_HEARTBEAT,
epriv);
return 0;
gnutls_ext_priv_data_t epriv;
uint8_t p;
- if (_gnutls_ext_get_session_data
+ if (_gnutls_hello_ext_get_sdata
(session, GNUTLS_EXTENSION_HEARTBEAT, &epriv) < 0)
return 0; /* nothing to send - not enabled */
} else { /* CLIENT SIDE - we must check if the sent record size is the right one
*/
if (data_size > 0) {
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_MAX_RECORD_SIZE,
&epriv);
if (ret < 0) {
if (session->security_parameters.entity == GNUTLS_CLIENT) {
gnutls_ext_priv_data_t epriv;
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_MAX_RECORD_SIZE,
&epriv);
if (ret < 0) { /* it is ok not to have it */
session->security_parameters.max_record_send_size = size;
epriv = (void *)(intptr_t)size;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_MAX_RECORD_SIZE,
epriv);
return 0;
}
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
&epriv);
if (ret < 0) {
return 0;
}
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
&epriv);
if (ret >= 0)
sr_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
&epriv);
if (ret < 0) {
_gnutls_hello_ext_save_sr(session);
if (set != 0)
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
epriv);
sr_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
&epriv);
if (ret < 0) {
}
if (set != 0)
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
epriv);
return 0;
}
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
&epriv);
if (ret < 0
}
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
epriv);
} else {
return 0;
}
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
&epriv);
if (ret < 0) {
}
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
epriv);
} else
sr_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
&epriv);
if (ret < 0) {
GNUTLS_NAME_DNS;
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SERVER_NAME,
epriv);
return 0;
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SERVER_NAME,
&epriv);
if (ret < 0)
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SERVER_NAME,
&epriv);
if (ret < 0) {
}
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SERVER_NAME,
&epriv);
if (ret < 0) {
priv->name_length = name_length;
if (set != 0)
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SERVER_NAME,
epriv);
}
if (name_length == 0) { /* unset extension */
- _gnutls_ext_unset_session_data(session, GNUTLS_EXTENSION_SERVER_NAME);
+ _gnutls_hello_ext_unset_sdata(session, GNUTLS_EXTENSION_SERVER_NAME);
return 0;
}
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session,
- GNUTLS_EXTENSION_SERVER_NAME,
- &epriv);
+ _gnutls_hello_ext_get_sdata(session,
+ GNUTLS_EXTENSION_SERVER_NAME,
+ &epriv);
if (ret < 0) /* no server name in this session */
priv1 = NULL;
else
priv1 = epriv;
ret =
- _gnutls_ext_get_resumed_session_data(session,
+ _gnutls_hello_ext_get_resumed_sdata(session,
GNUTLS_EXTENSION_SERVER_NAME,
&epriv);
if (ret < 0) /* no server name in extensions */
int ret;
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SESSION_TICKET,
&epriv);
if (ret < 0) {
int ret;
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SESSION_TICKET,
&epriv);
if (ret >= 0)
}
} else {
ret =
- _gnutls_ext_get_resumed_session_data(session,
+ _gnutls_hello_ext_get_resumed_sdata(session,
GNUTLS_EXTENSION_SESSION_TICKET,
&epriv);
if (ret >= 0)
priv->session_ticket_enable = 1;
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SESSION_TICKET,
epriv);
memcpy(&priv->key, key->data, key->size);
priv->session_ticket_enable = 1;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SESSION_TICKET,
epriv);
if (again == 0) {
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SESSION_TICKET,
&epriv);
if (ret < 0)
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SESSION_TICKET,
&epriv);
if (ret < 0) {
}
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS,
epriv);
cert_algo = gnutls_pubkey_get_pk_algorithm(cert->pubkey, NULL);
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS,
&epriv);
priv = epriv;
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS,
&epriv);
if (ret < 0) {
}
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SRP,
epriv);
}
}
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SRP,
epriv);
}
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SRP,
epriv);
uint16_t profile;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRTP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRTP,
&epriv);
if (ret < 0)
return 0;
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRTP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRTP,
&epriv);
if (ret < 0)
return 0;
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRTP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRTP,
&epriv);
if (ret < 0) {
gnutls_assert();
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRTP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRTP,
&epriv);
if (ret < 0)
return
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRTP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRTP,
&epriv);
if (ret < 0) {
priv = gnutls_calloc(1, sizeof(*priv));
return GNUTLS_E_MEMORY_ERROR;
}
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SRTP, epriv);
} else
priv = epriv;
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRTP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRTP,
&epriv);
if (ret < 0) {
priv = gnutls_calloc(1, sizeof(*priv));
return GNUTLS_E_MEMORY_ERROR;
}
epriv = priv;
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SRTP, epriv);
} else
priv = epriv;
gnutls_srtp_profile_t id;
ret =
- _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SRTP,
+ _gnutls_hello_ext_get_sdata(session, GNUTLS_EXTENSION_SRTP,
&epriv);
if (ret < 0) {
set = 1;
} while (col != NULL);
if (set != 0)
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_SRTP, epriv);
return 0;
if (_gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE) == NULL)
return 0;
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_STATUS_REQUEST,
&epriv);
if (priv == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_STATUS_REQUEST,
epriv);
status_request_ext_st *priv;
int ret;
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_STATUS_REQUEST,
&epriv);
if (ret < 0 || epriv == NULL) /* it is ok not to have it */
if (priv == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- _gnutls_ext_set_session_data(session,
+ _gnutls_hello_ext_set_sdata(session,
GNUTLS_EXTENSION_STATUS_REQUEST,
epriv);
if (session->security_parameters.entity == GNUTLS_SERVER)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret = _gnutls_ext_get_session_data(session,
+ ret = _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_STATUS_REQUEST,
&epriv);
if (ret < 0)
if (again == 0) {
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_STATUS_REQUEST,
&epriv);
if (ret < 0)
gnutls_ext_priv_data_t epriv;
ret =
- _gnutls_ext_get_session_data(session,
+ _gnutls_hello_ext_get_sdata(session,
GNUTLS_EXTENSION_STATUS_REQUEST,
&epriv);
if (ret < 0)
}
/* Global deinit and init of global extensions */
-int _gnutls_ext_init(void)
+int _gnutls_hello_ext_init(void)
{
return GNUTLS_E_SUCCESS;
}
-void _gnutls_ext_deinit(void)
+void _gnutls_hello_ext_deinit(void)
{
unsigned i;
for (i = 0; extfunc[i] != NULL; i++) {
int rval = 0;
ret =
- _gnutls_ext_get_session_data(session, extp->gid,
+ _gnutls_hello_ext_get_sdata(session, extp->gid,
&data);
if (ret >= 0 && extp->pack_func != NULL) {
BUFFER_APPEND_NUM(packed, extp->gid);
return rval;
}
-int _gnutls_ext_pack(gnutls_session_t session, gnutls_buffer_st *packed)
+int _gnutls_hello_ext_pack(gnutls_session_t session, gnutls_buffer_st *packed)
{
unsigned int i;
int ret;
}
}
-int _gnutls_ext_unpack(gnutls_session_t session, gnutls_buffer_st * packed)
+int _gnutls_hello_ext_unpack(gnutls_session_t session, gnutls_buffer_st * packed)
{
int i, ret;
gnutls_ext_priv_data_t data;
}
void
-_gnutls_ext_unset_session_data(gnutls_session_t session,
+_gnutls_hello_ext_unset_sdata(gnutls_session_t session,
extensions_t id)
{
int i;
/* Deinitializes all data that are associated with TLS extensions.
*/
-void _gnutls_ext_free_session_data(gnutls_session_t session)
+void _gnutls_hello_ext_sdata_deinit(gnutls_session_t session)
{
unsigned int i;
const struct hello_ext_entry_st *ext;
* private pointer, to allow API additions by individual extensions.
*/
void
-_gnutls_ext_set_session_data(gnutls_session_t session, extensions_t id,
+_gnutls_hello_ext_set_sdata(gnutls_session_t session, extensions_t id,
gnutls_ext_priv_data_t data)
{
unsigned int i;
}
int
-_gnutls_ext_get_session_data(gnutls_session_t session,
+_gnutls_hello_ext_get_sdata(gnutls_session_t session,
extensions_t id, gnutls_ext_priv_data_t * data)
{
int i;
}
int
-_gnutls_ext_get_resumed_session_data(gnutls_session_t session,
+_gnutls_hello_ext_get_resumed_sdata(gnutls_session_t session,
extensions_t id,
gnutls_ext_priv_data_t * data)
{
if (id == 0)
return;
- _gnutls_ext_set_session_data(session, id, data);
+ _gnutls_hello_ext_set_sdata(session, id, data);
}
/**
if (id == 0)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
- return _gnutls_ext_get_session_data(session, id, data);
+ return _gnutls_hello_ext_get_sdata(session, id, data);
}
#include <gnutls/gnutls.h>
+/* Functions for hello extension parsing.
+ */
int _gnutls_parse_hello_extensions(gnutls_session_t session,
gnutls_ext_flags_t msg,
gnutls_ext_parse_type_t parse_type,
gnutls_buffer_st * extdata,
gnutls_ext_flags_t msg,
gnutls_ext_parse_type_t);
-int _gnutls_ext_init(void);
-void _gnutls_ext_deinit(void);
+int _gnutls_hello_ext_init(void);
+void _gnutls_hello_ext_deinit(void);
-void _gnutls_ext_free_session_data(gnutls_session_t session);
+void _gnutls_hello_ext_sdata_deinit(gnutls_session_t session);
/* functions to be used by extensions internally
*/
-void _gnutls_ext_unset_session_data(gnutls_session_t session,
+void _gnutls_hello_ext_unset_sdata(gnutls_session_t session,
extensions_t ext);
-void _gnutls_ext_set_session_data(gnutls_session_t session, extensions_t ext,
+void _gnutls_hello_ext_set_sdata(gnutls_session_t session, extensions_t ext,
gnutls_ext_priv_data_t);
-int _gnutls_ext_get_session_data(gnutls_session_t session, extensions_t ext,
+int _gnutls_hello_ext_get_sdata(gnutls_session_t session, extensions_t ext,
gnutls_ext_priv_data_t *);
-int _gnutls_ext_get_resumed_session_data(gnutls_session_t session,
+int _gnutls_hello_ext_get_resumed_sdata(gnutls_session_t session,
extensions_t ext,
gnutls_ext_priv_data_t * data);
/* for session packing */
-int _gnutls_ext_pack(gnutls_session_t session, gnutls_buffer_st * packed);
-int _gnutls_ext_unpack(gnutls_session_t session,
+int _gnutls_hello_ext_pack(gnutls_session_t session, gnutls_buffer_st * packed);
+int _gnutls_hello_ext_unpack(gnutls_session_t session,
gnutls_buffer_st * packed);
inline static const char *ext_msg_validity_to_str(gnutls_ext_flags_t msg)
#include <random.h>
#include <gnutls/pkcs11.h>
-#include <extensions.h> /* for _gnutls_ext_init */
+#include <extensions.h> /* for _gnutls_hello_ext_init */
#include <supplemental.h> /* for _gnutls_supplemental_deinit */
#include <locks.h>
#include <system.h>
}
/* Initialize the default TLS extensions */
- ret = _gnutls_ext_init();
+ ret = _gnutls_hello_ext_init();
if (ret < 0) {
gnutls_assert();
goto out;
_gnutls_system_key_deinit();
gnutls_crypto_deinit();
_gnutls_rnd_deinit();
- _gnutls_ext_deinit();
+ _gnutls_hello_ext_deinit();
asn1_delete_structure(&_gnutls_gnutls_asn);
asn1_delete_structure(&_gnutls_pkix1_asn);
if (priority->no_tickets != 0) {
/* when PFS is explicitly requested, disable session tickets */
- _gnutls_ext_unset_session_data(session, GNUTLS_EXTENSION_SESSION_TICKET);
+ _gnutls_hello_ext_unset_sdata(session, GNUTLS_EXTENSION_SESSION_TICKET);
}
if (session->internals.priorities->protocol.algorithms == 0 ||
goto fail;
}
- ret = _gnutls_ext_pack(session, &sb);
+ ret = _gnutls_hello_ext_pack(session, &sb);
if (ret < 0) {
gnutls_assert();
goto fail;
goto error;
}
- ret = _gnutls_ext_unpack(session, &sb);
+ ret = _gnutls_hello_ext_unpack(session, &sb);
if (ret < 0) {
gnutls_assert();
goto error;
_gnutls_handshake_internal_state_clear(session);
_gnutls_handshake_io_buffer_clear(session);
- _gnutls_ext_free_session_data(session);
+ _gnutls_hello_ext_sdata_deinit(session);
for (i = 0; i < MAX_EPOCH_INDEX; i++)
if (session->record_parameters[i] != NULL) {