summaryrefslogtreecommitdiff
path: root/lib/gnutls_extensions.c
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2010-10-14 15:02:12 +0200
committerSimon Josefsson <simon@josefsson.org>2010-10-14 15:02:12 +0200
commit03636f4440ae918d6f710935a00806469f65f1c6 (patch)
tree1969ad6201816d1eb1421d93ef6900ec3b647788 /lib/gnutls_extensions.c
parent59425cbec511cdc314f2a22ee95b299f8fa06fc8 (diff)
downloadgnutls-03636f4440ae918d6f710935a00806469f65f1c6.tar.gz
Indent (using GNU indent 2.2.11).
Diffstat (limited to 'lib/gnutls_extensions.c')
-rw-r--r--lib/gnutls_extensions.c320
1 files changed, 175 insertions, 145 deletions
diff --git a/lib/gnutls_extensions.c b/lib/gnutls_extensions.c
index cfa5a03725..81152911ad 100644
--- a/lib/gnutls_extensions.c
+++ b/lib/gnutls_extensions.c
@@ -42,13 +42,14 @@
#include <gnutls_num.h>
-static void _gnutls_ext_unset_resumed_session_data(gnutls_session_t session, uint16_t type);
+static void _gnutls_ext_unset_resumed_session_data (gnutls_session_t session,
+ uint16_t type);
static size_t extfunc_size = 0;
static extension_entry_st *extfunc = NULL;
-static gnutls_ext_parse_type_t
+static gnutls_ext_parse_type_t
_gnutls_ext_parse_type (uint16_t type)
{
size_t i;
@@ -56,7 +57,7 @@ _gnutls_ext_parse_type (uint16_t type)
for (i = 0; i < extfunc_size; i++)
{
if (extfunc[i].type == type)
- return extfunc[i].parse_type;
+ return extfunc[i].parse_type;
}
return GNUTLS_EXT_NONE;
@@ -82,7 +83,7 @@ _gnutls_ext_func_deinit (uint16_t type)
for (i = 0; i < extfunc_size; i++)
if (extfunc[i].type == type)
- return extfunc[i].deinit_func;
+ return extfunc[i].deinit_func;
return NULL;
}
@@ -94,7 +95,7 @@ _gnutls_ext_func_unpack (uint16_t type)
for (i = 0; i < extfunc_size; i++)
if (extfunc[i].type == type)
- return extfunc[i].unpack_func;
+ return extfunc[i].unpack_func;
return NULL;
}
@@ -194,8 +195,9 @@ _gnutls_parse_extensions (gnutls_session_t session,
if (ext_recv == NULL)
continue;
- _gnutls_debug_log ("EXT[%p]: Parsing extension '%s/%d' (%d bytes)\n", session,
- _gnutls_extension_get_name (type), type, size);
+ _gnutls_debug_log ("EXT[%p]: Parsing extension '%s/%d' (%d bytes)\n",
+ session, _gnutls_extension_get_name (type), type,
+ size);
if ((ret = ext_recv (session, sdata, size)) < 0)
{
@@ -374,7 +376,7 @@ _gnutls_ext_deinit (void)
}
int
-_gnutls_ext_register (extension_entry_st* mod)
+_gnutls_ext_register (extension_entry_st * mod)
{
extension_entry_st *p;
@@ -387,7 +389,7 @@ _gnutls_ext_register (extension_entry_st* mod)
extfunc = p;
- memcpy(&extfunc[extfunc_size], mod, sizeof(*mod));
+ memcpy (&extfunc[extfunc_size], mod, sizeof (*mod));
extfunc_size++;
@@ -415,226 +417,248 @@ gnutls_ext_register (int type,
gnutls_ext_recv_func recv_func,
gnutls_ext_send_func send_func)
{
-extension_entry_st ee;
+ extension_entry_st ee;
+
+ memset (&ee, 0, sizeof (ee));
- memset(&ee, 0, sizeof(ee));
-
ee.type = type;
ee.name = name;
ee.parse_type = parse_type;
ee.recv_func = recv_func;
ee.send_func = send_func;
- /* FIXME: Why is this exported? Should it be removed? */
+ /* FIXME: Why is this exported? Should it be removed? */
return _gnutls_ext_register (&ee);
}
-int _gnutls_ext_pack(gnutls_session_t session, gnutls_buffer_st* packed)
+int
+_gnutls_ext_pack (gnutls_session_t session, gnutls_buffer_st * packed)
{
-int i, ret;
-extension_priv_data_t data;
-int cur_size;
-int size_offset;
-int total_exts_pos;
-int exts = 0;
+ int i, ret;
+ extension_priv_data_t data;
+ int cur_size;
+ int size_offset;
+ int total_exts_pos;
+ int exts = 0;
total_exts_pos = packed->length;
- BUFFER_APPEND_NUM(packed, 0);
+ BUFFER_APPEND_NUM (packed, 0);
- for (i = 0; i < extfunc_size; i++)
+ for (i = 0; i < extfunc_size; i++)
{
- ret = _gnutls_ext_get_session_data(session, extfunc[i].type, &data);
- if (ret >= 0 && extfunc[i].pack_func != NULL)
- {
- BUFFER_APPEND_NUM(packed, extfunc[i].type);
-
+ ret = _gnutls_ext_get_session_data (session, extfunc[i].type, &data);
+ if (ret >= 0 && extfunc[i].pack_func != NULL)
+ {
+ BUFFER_APPEND_NUM (packed, extfunc[i].type);
+
size_offset = packed->length;
- BUFFER_APPEND_NUM(packed, 0);
-
+ BUFFER_APPEND_NUM (packed, 0);
+
cur_size = packed->length;
-
- ret = extfunc[i].pack_func(data, packed);
- if (ret < 0)
+
+ ret = extfunc[i].pack_func (data, packed);
+ if (ret < 0)
{
- gnutls_assert();
+ gnutls_assert ();
return ret;
}
-
+
exts++;
/* write the actual size */
- _gnutls_write_uint32(packed->length-cur_size, packed->data+size_offset);
- }
+ _gnutls_write_uint32 (packed->length - cur_size,
+ packed->data + size_offset);
+ }
}
- _gnutls_write_uint32(exts, packed->data+total_exts_pos);
+ _gnutls_write_uint32 (exts, packed->data + total_exts_pos);
return 0;
-
+
}
-void _gnutls_ext_restore_resumed_session(gnutls_session_t session)
+void
+_gnutls_ext_restore_resumed_session (gnutls_session_t session)
{
-int i;
+ int i;
/* clear everything except MANDATORY extensions */
- for (i=0;i<MAX_EXT_TYPES;i++)
+ for (i = 0; i < MAX_EXT_TYPES; i++)
{
- if (session->internals.extension_int_data[i].set != 0 &&
- _gnutls_ext_parse_type(session->internals.extension_int_data[i].type) != GNUTLS_EXT_MANDATORY)
- {
- _gnutls_ext_unset_session_data(session, session->internals.extension_int_data[i].type);
- }
+ if (session->internals.extension_int_data[i].set != 0 &&
+ _gnutls_ext_parse_type (session->internals.
+ extension_int_data[i].type) !=
+ GNUTLS_EXT_MANDATORY)
+ {
+ _gnutls_ext_unset_session_data (session,
+ session->
+ internals.extension_int_data[i].
+ type);
+ }
}
/* copy resumed to main */
- for (i=0;i<MAX_EXT_TYPES;i++)
+ for (i = 0; i < MAX_EXT_TYPES; i++)
{
- if (session->internals.resumed_extension_int_data[i].set != 0 &&
- _gnutls_ext_parse_type(session->internals.resumed_extension_int_data[i].type) != GNUTLS_EXT_MANDATORY)
- {
- _gnutls_ext_set_session_data(session, session->internals.resumed_extension_int_data[i].type,
- session->internals.resumed_extension_int_data[i].priv);
- session->internals.resumed_extension_int_data[i].set = 0;
- }
+ if (session->internals.resumed_extension_int_data[i].set != 0 &&
+ _gnutls_ext_parse_type (session->
+ internals.resumed_extension_int_data[i].
+ type) != GNUTLS_EXT_MANDATORY)
+ {
+ _gnutls_ext_set_session_data (session,
+ session->
+ internals.resumed_extension_int_data
+ [i].type,
+ session->
+ internals.resumed_extension_int_data
+ [i].priv);
+ session->internals.resumed_extension_int_data[i].set = 0;
+ }
}
}
-static void _gnutls_ext_set_resumed_session_data(gnutls_session_t session, uint16_t type,
- extension_priv_data_t data)
+static void
+_gnutls_ext_set_resumed_session_data (gnutls_session_t session, uint16_t type,
+ extension_priv_data_t data)
{
-int i;
+ int i;
- for (i=0;i<MAX_EXT_TYPES;i++)
+ for (i = 0; i < MAX_EXT_TYPES; i++)
{
- if (session->internals.resumed_extension_int_data[i].type == type || session->internals.resumed_extension_int_data[i].set == 0)
+ if (session->internals.resumed_extension_int_data[i].type == type
+ || session->internals.resumed_extension_int_data[i].set == 0)
{
-
- if (session->internals.resumed_extension_int_data[i].set != 0)
- _gnutls_ext_unset_resumed_session_data(session, type);
-
- session->internals.resumed_extension_int_data[i].type = type;
- session->internals.resumed_extension_int_data[i].priv = data;
- session->internals.resumed_extension_int_data[i].set = 1;
- return;
- }
+
+ if (session->internals.resumed_extension_int_data[i].set != 0)
+ _gnutls_ext_unset_resumed_session_data (session, type);
+
+ session->internals.resumed_extension_int_data[i].type = type;
+ session->internals.resumed_extension_int_data[i].priv = data;
+ session->internals.resumed_extension_int_data[i].set = 1;
+ return;
+ }
}
}
-int _gnutls_ext_unpack(gnutls_session_t session, gnutls_buffer_st* packed)
+int
+_gnutls_ext_unpack (gnutls_session_t session, gnutls_buffer_st * packed)
{
-int i, ret;
-extension_priv_data_t data;
-gnutls_ext_unpack_func unpack;
-int max_exts = 0;
-uint16_t type;
-int size_for_type, cur_pos;
+ int i, ret;
+ extension_priv_data_t data;
+ gnutls_ext_unpack_func unpack;
+ int max_exts = 0;
+ uint16_t type;
+ int size_for_type, cur_pos;
- BUFFER_POP_NUM(packed, max_exts);
- for (i = 0; i < max_exts; i++)
+ BUFFER_POP_NUM (packed, max_exts);
+ for (i = 0; i < max_exts; i++)
{
- BUFFER_POP_NUM(packed, type);
- BUFFER_POP_NUM(packed, size_for_type);
-
+ BUFFER_POP_NUM (packed, type);
+ BUFFER_POP_NUM (packed, size_for_type);
+
cur_pos = packed->length;
- unpack = _gnutls_ext_func_unpack(type);
+ unpack = _gnutls_ext_func_unpack (type);
if (unpack == NULL)
- {
- gnutls_assert();
+ {
+ gnutls_assert ();
return GNUTLS_E_PARSING_ERROR;
}
- ret = unpack(packed, &data);
- if (ret < 0)
+ ret = unpack (packed, &data);
+ if (ret < 0)
{
- gnutls_assert();
+ gnutls_assert ();
return ret;
}
/* verify that unpack read the correct bytes */
cur_pos = cur_pos - packed->length;
- if (cur_pos /* read length */ != size_for_type)
- {
- gnutls_assert();
+ if (cur_pos /* read length */ != size_for_type)
+ {
+ gnutls_assert ();
return GNUTLS_E_PARSING_ERROR;
}
- _gnutls_ext_set_resumed_session_data(session, type, data);
+ _gnutls_ext_set_resumed_session_data (session, type, data);
}
return 0;
error:
- return ret;
+ return ret;
}
-void _gnutls_ext_unset_session_data(gnutls_session_t session, uint16_t type)
+void
+_gnutls_ext_unset_session_data (gnutls_session_t session, uint16_t type)
{
-gnutls_ext_deinit_data_func deinit;
-extension_priv_data_t data;
-int ret, i;
+ gnutls_ext_deinit_data_func deinit;
+ extension_priv_data_t data;
+ int ret, i;
deinit = _gnutls_ext_func_deinit (type);
- ret = _gnutls_ext_get_session_data(session, type, &data);
+ ret = _gnutls_ext_get_session_data (session, type, &data);
if (ret >= 0 && deinit != NULL)
{
- deinit(data);
+ deinit (data);
}
- for (i=0;i<MAX_EXT_TYPES;i++)
+ for (i = 0; i < MAX_EXT_TYPES; i++)
{
if (session->internals.extension_int_data[i].type == type)
{
session->internals.extension_int_data[i].set = 0;
return;
- }
+ }
}
}
-static void _gnutls_ext_unset_resumed_session_data(gnutls_session_t session, uint16_t type)
+static void
+_gnutls_ext_unset_resumed_session_data (gnutls_session_t session,
+ uint16_t type)
{
-gnutls_ext_deinit_data_func deinit;
-extension_priv_data_t data;
-int ret, i;
+ gnutls_ext_deinit_data_func deinit;
+ extension_priv_data_t data;
+ int ret, i;
deinit = _gnutls_ext_func_deinit (type);
- ret = _gnutls_ext_get_resumed_session_data(session, type, &data);
+ ret = _gnutls_ext_get_resumed_session_data (session, type, &data);
if (ret >= 0 && deinit != NULL)
{
- deinit(data);
+ deinit (data);
}
- for (i=0;i<MAX_EXT_TYPES;i++)
+ for (i = 0; i < MAX_EXT_TYPES; i++)
{
if (session->internals.resumed_extension_int_data[i].type == type)
{
session->internals.resumed_extension_int_data[i].set = 0;
return;
- }
+ }
}
}
/* Deinitializes all data that are associated with TLS extensions.
*/
-void _gnutls_ext_free_session_data(gnutls_session_t session)
+void
+_gnutls_ext_free_session_data (gnutls_session_t session)
{
-int i;
+ int i;
- for (i = 0; i < extfunc_size; i++)
+ for (i = 0; i < extfunc_size; i++)
{
- _gnutls_ext_unset_session_data(session, extfunc[i].type);
+ _gnutls_ext_unset_session_data (session, extfunc[i].type);
}
- for (i = 0; i < extfunc_size; i++)
+ for (i = 0; i < extfunc_size; i++)
{
- _gnutls_ext_unset_resumed_session_data(session, extfunc[i].type);
+ _gnutls_ext_unset_resumed_session_data (session, extfunc[i].type);
}
}
@@ -643,60 +667,66 @@ int i;
* and retrieve them later on. We use functions instead of a pointer to a
* private pointer, to allow API additions by individual extensions.
*/
-void _gnutls_ext_set_session_data(gnutls_session_t session, uint16_t type,
- extension_priv_data_t data)
+void
+_gnutls_ext_set_session_data (gnutls_session_t session, uint16_t type,
+ extension_priv_data_t data)
{
-int i;
-gnutls_ext_deinit_data_func deinit;
+ int i;
+ gnutls_ext_deinit_data_func deinit;
deinit = _gnutls_ext_func_deinit (type);
- for (i=0;i<MAX_EXT_TYPES;i++)
+ for (i = 0; i < MAX_EXT_TYPES; i++)
{
- if (session->internals.extension_int_data[i].type == type || session->internals.extension_int_data[i].set == 0)
+ if (session->internals.extension_int_data[i].type == type
+ || session->internals.extension_int_data[i].set == 0)
{
- if (session->internals.extension_int_data[i].set != 0)
- {
- if (deinit) deinit(session->internals.extension_int_data[i].priv);
- }
- session->internals.extension_int_data[i].type = type;
- session->internals.extension_int_data[i].priv = data;
- session->internals.extension_int_data[i].set = 1;
- return;
- }
+ if (session->internals.extension_int_data[i].set != 0)
+ {
+ if (deinit)
+ deinit (session->internals.extension_int_data[i].priv);
+ }
+ session->internals.extension_int_data[i].type = type;
+ session->internals.extension_int_data[i].priv = data;
+ session->internals.extension_int_data[i].set = 1;
+ return;
+ }
}
}
-int _gnutls_ext_get_session_data(gnutls_session_t session,
- uint16_t type, extension_priv_data_t* data)
+int
+_gnutls_ext_get_session_data (gnutls_session_t session,
+ uint16_t type, extension_priv_data_t * data)
{
-int i;
+ int i;
- for (i=0;i<MAX_EXT_TYPES;i++)
+ for (i = 0; i < MAX_EXT_TYPES; i++)
{
if (session->internals.extension_int_data[i].set != 0 &&
- session->internals.extension_int_data[i].type == type)
+ session->internals.extension_int_data[i].type == type)
{
- *data = session->internals.extension_int_data[i].priv;
- return 0;
- }
+ *data = session->internals.extension_int_data[i].priv;
+ return 0;
+ }
}
return GNUTLS_E_INVALID_REQUEST;
}
-int _gnutls_ext_get_resumed_session_data(gnutls_session_t session,
- uint16_t type, extension_priv_data_t* data)
+int
+_gnutls_ext_get_resumed_session_data (gnutls_session_t session,
+ uint16_t type,
+ extension_priv_data_t * data)
{
-int i;
+ int i;
- for (i=0;i<MAX_EXT_TYPES;i++)
+ for (i = 0; i < MAX_EXT_TYPES; i++)
{
- if (session->internals.resumed_extension_int_data[i].set != 0 &&
- session->internals.resumed_extension_int_data[i].type == type)
+ if (session->internals.resumed_extension_int_data[i].set != 0 &&
+ session->internals.resumed_extension_int_data[i].type == type)
{
- *data = session->internals.resumed_extension_int_data[i].priv;
- return 0;
- }
+ *data = session->internals.resumed_extension_int_data[i].priv;
+ return 0;
+ }
}
return GNUTLS_E_INVALID_REQUEST;
}