mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-10-06 04:03:18 +03:00
properly
This commit is contained in:
1 parent
a0a601db24
commit
ff8f2f43c2
19 files changed
+568
-542
No files matched your search
@@ -168,8 +168,8 @@ MHD__gnutls_get_private_rsa_params (MHD_gtls_session_t session,
|
||||
}
|
||||
|
||||
bits =
|
||||
MHD__gnutls_mpi_get_nbits (session->internals.selected_cert_list[0].
|
||||
params[0]);
|
||||
MHD__gnutls_mpi_get_nbits (session->internals.
|
||||
selected_cert_list[0].params[0]);
|
||||
|
||||
if (MHD_gtls_cipher_suite_get_kx_algo
|
||||
(&session->security_parameters.current_cipher_suite)
|
||||
|
||||
@@ -183,8 +183,8 @@ MHD_gtls_cert_type_send_params (MHD_gtls_session_t session, opaque * data,
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
data[i + 1] =
|
||||
MHD__gnutls_cert_type2num (session->internals.
|
||||
priorities.cert_type.priority[i]);
|
||||
MHD__gnutls_cert_type2num (session->internals.priorities.
|
||||
cert_type.priority[i]);
|
||||
}
|
||||
return len + 1;
|
||||
}
|
||||
@@ -203,8 +203,8 @@ MHD_gtls_cert_type_send_params (MHD_gtls_session_t session, opaque * data,
|
||||
}
|
||||
|
||||
data[0] =
|
||||
MHD__gnutls_cert_type2num (session->
|
||||
security_parameters.cert_type);
|
||||
MHD__gnutls_cert_type2num (session->security_parameters.
|
||||
cert_type);
|
||||
return len;
|
||||
}
|
||||
|
||||
|
||||
@@ -121,8 +121,8 @@ MHD_gtls_max_record_send_params (MHD_gtls_session_t session, opaque * data,
|
||||
}
|
||||
|
||||
data[0] =
|
||||
(uint8_t) MHD_gtls_mre_record2num (session->internals.
|
||||
proposed_record_size);
|
||||
(uint8_t) MHD_gtls_mre_record2num (session->
|
||||
internals.proposed_record_size);
|
||||
return len;
|
||||
}
|
||||
|
||||
|
||||
@@ -104,12 +104,12 @@ MHD_gtls_server_name_recv_params (MHD_gtls_session_t session,
|
||||
case 0: /* NAME_DNS */
|
||||
if (len <= MAX_SERVER_NAME_SIZE)
|
||||
{
|
||||
memcpy (session->security_parameters.extensions.
|
||||
server_names[i].name, p, len);
|
||||
session->security_parameters.extensions.
|
||||
server_names[i].name_length = len;
|
||||
session->security_parameters.extensions.
|
||||
server_names[i].type = GNUTLS_NAME_DNS;
|
||||
memcpy (session->security_parameters.
|
||||
extensions.server_names[i].name, p, len);
|
||||
session->security_parameters.extensions.server_names[i].
|
||||
name_length = len;
|
||||
session->security_parameters.extensions.server_names[i].
|
||||
type = GNUTLS_NAME_DNS;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -150,8 +150,8 @@ MHD_gtls_server_name_send_params (MHD_gtls_session_t session,
|
||||
/* count the total size
|
||||
*/
|
||||
len =
|
||||
session->security_parameters.extensions.server_names[i].
|
||||
name_length;
|
||||
session->security_parameters.extensions.
|
||||
server_names[i].name_length;
|
||||
|
||||
/* uint8_t + uint16_t + size
|
||||
*/
|
||||
@@ -170,14 +170,14 @@ MHD_gtls_server_name_send_params (MHD_gtls_session_t session,
|
||||
i < session->security_parameters.extensions.server_names_size; i++)
|
||||
{
|
||||
|
||||
switch (session->security_parameters.extensions.
|
||||
server_names[i].type)
|
||||
switch (session->security_parameters.extensions.server_names[i].
|
||||
type)
|
||||
{
|
||||
case GNUTLS_NAME_DNS:
|
||||
|
||||
len =
|
||||
session->security_parameters.extensions.
|
||||
server_names[i].name_length;
|
||||
session->security_parameters.extensions.server_names[i].
|
||||
name_length;
|
||||
if (len == 0)
|
||||
break;
|
||||
|
||||
@@ -195,8 +195,8 @@ MHD_gtls_server_name_send_params (MHD_gtls_session_t session,
|
||||
p += 2;
|
||||
|
||||
memcpy (p,
|
||||
session->security_parameters.extensions.
|
||||
server_names[0].name, len);
|
||||
session->security_parameters.extensions.server_names[0].
|
||||
name, len);
|
||||
p += len;
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -1339,8 +1339,8 @@ MHD_gtls_supported_compression_methods (MHD_gtls_session_t session,
|
||||
for (i = j = 0; i < SUPPORTED_COMPRESSION_METHODS; i++)
|
||||
{
|
||||
int tmp =
|
||||
MHD_gtls_compression_get_num (session->internals.priorities.
|
||||
compression.priority[i]);
|
||||
MHD_gtls_compression_get_num (session->internals.
|
||||
priorities.compression.priority[i]);
|
||||
|
||||
/* remove private compression algorithms, if requested.
|
||||
*/
|
||||
|
||||
@@ -166,8 +166,9 @@ MHD_gtls_auth_get_type (MHD_gtls_session_t session)
|
||||
|
||||
return
|
||||
MHD_gtls_map_kx_get_cred (MHD_gtls_cipher_suite_get_kx_algo
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite), server);
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite),
|
||||
server);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -738,9 +738,9 @@ MHD_gtls_io_write_buffered (MHD_gtls_session_t session,
|
||||
session->internals.record_send_buffer_prev_size += n - left;
|
||||
|
||||
retval =
|
||||
MHD__gnutls_buffer_insert (&session->
|
||||
internals.record_send_buffer,
|
||||
&ptr[n - left], left);
|
||||
MHD__gnutls_buffer_insert (&session->internals.
|
||||
record_send_buffer, &ptr[n - left],
|
||||
left);
|
||||
if (retval < 0)
|
||||
{
|
||||
MHD_gnutls_assert ();
|
||||
@@ -948,8 +948,8 @@ MHD_gtls_handshake_io_send_int (MHD_gtls_session_t session,
|
||||
MHD_gnutls_assert ();
|
||||
|
||||
retval =
|
||||
MHD__gnutls_buffer_insert (&session->internals.
|
||||
handshake_send_buffer,
|
||||
MHD__gnutls_buffer_insert (&session->
|
||||
internals.handshake_send_buffer,
|
||||
&ptr[n - left], left);
|
||||
if (retval < 0)
|
||||
{
|
||||
@@ -1051,8 +1051,9 @@ MHD_gtls_handshake_io_recv_int (MHD_gtls_session_t session,
|
||||
|
||||
session->internals.handshake_recv_buffer.data
|
||||
=
|
||||
MHD_gtls_realloc_fast (session->internals.
|
||||
handshake_recv_buffer.data, dsize);
|
||||
MHD_gtls_realloc_fast (session->
|
||||
internals.handshake_recv_buffer.data,
|
||||
dsize);
|
||||
if (session->internals.handshake_recv_buffer.data == NULL)
|
||||
{
|
||||
MHD_gnutls_assert ();
|
||||
@@ -1103,13 +1104,9 @@ MHD_gtls_handshake_buffer_put (MHD_gtls_session_t session, opaque * data,
|
||||
|
||||
if ((session->internals.max_handshake_data_buffer_size > 0) && ((length
|
||||
+
|
||||
session->
|
||||
internals.
|
||||
handshake_hash_buffer.
|
||||
length) >
|
||||
session->
|
||||
internals.
|
||||
max_handshake_data_buffer_size))
|
||||
session->internals.handshake_hash_buffer.length)
|
||||
>
|
||||
session->internals.max_handshake_data_buffer_size))
|
||||
{
|
||||
MHD_gnutls_assert ();
|
||||
return GNUTLS_E_MEMORY_ERROR;
|
||||
|
||||
@@ -302,15 +302,15 @@ MHD_gtls_compressed2ciphertext (MHD_gtls_session_t session,
|
||||
uint8_t type = _type;
|
||||
uint8_t major, minor;
|
||||
int hash_size =
|
||||
MHD_gnutls_hash_get_algo_len (session->security_parameters.
|
||||
write_mac_algorithm);
|
||||
MHD_gnutls_hash_get_algo_len (session->
|
||||
security_parameters.write_mac_algorithm);
|
||||
enum MHD_GNUTLS_Protocol ver;
|
||||
int blocksize =
|
||||
MHD_gtls_cipher_get_block_size (session->security_parameters.
|
||||
write_bulk_cipher_algorithm);
|
||||
MHD_gtls_cipher_get_block_size (session->
|
||||
security_parameters.write_bulk_cipher_algorithm);
|
||||
cipher_type_t block_algo =
|
||||
MHD_gtls_cipher_is_block (session->security_parameters.
|
||||
write_bulk_cipher_algorithm);
|
||||
MHD_gtls_cipher_is_block (session->
|
||||
security_parameters.write_bulk_cipher_algorithm);
|
||||
opaque *data_ptr;
|
||||
|
||||
|
||||
@@ -337,8 +337,9 @@ MHD_gtls_compressed2ciphertext (MHD_gtls_session_t session,
|
||||
if (td != GNUTLS_MAC_FAILED)
|
||||
{ /* actually when the algorithm in not the NULL one */
|
||||
MHD_gnutls_hash (td,
|
||||
UINT64DATA (session->connection_state.
|
||||
write_sequence_number), 8);
|
||||
UINT64DATA (session->
|
||||
connection_state.write_sequence_number),
|
||||
8);
|
||||
|
||||
MHD_gnutls_hash (td, &type, 1);
|
||||
if (ver >= MHD_GNUTLS_PROTOCOL_TLS1_0)
|
||||
@@ -432,16 +433,16 @@ MHD_gtls_ciphertext2compressed (MHD_gtls_session_t session,
|
||||
uint8_t major, minor;
|
||||
enum MHD_GNUTLS_Protocol ver;
|
||||
int hash_size =
|
||||
MHD_gnutls_hash_get_algo_len (session->security_parameters.
|
||||
read_mac_algorithm);
|
||||
MHD_gnutls_hash_get_algo_len (session->
|
||||
security_parameters.read_mac_algorithm);
|
||||
|
||||
ver = MHD__gnutls_protocol_get_version (session);
|
||||
minor = MHD_gtls_version_get_minor (ver);
|
||||
major = MHD_gtls_version_get_major (ver);
|
||||
|
||||
blocksize =
|
||||
MHD_gtls_cipher_get_block_size (session->security_parameters.
|
||||
read_bulk_cipher_algorithm);
|
||||
MHD_gtls_cipher_get_block_size (session->
|
||||
security_parameters.read_bulk_cipher_algorithm);
|
||||
|
||||
/* initialize MAC
|
||||
*/
|
||||
@@ -465,9 +466,9 @@ MHD_gtls_ciphertext2compressed (MHD_gtls_session_t session,
|
||||
{
|
||||
case CIPHER_STREAM:
|
||||
if ((ret =
|
||||
MHD_gtls_cipher_decrypt (session->connection_state.
|
||||
read_cipher_state, ciphertext.data,
|
||||
ciphertext.size)) < 0)
|
||||
MHD_gtls_cipher_decrypt (session->
|
||||
connection_state.read_cipher_state,
|
||||
ciphertext.data, ciphertext.size)) < 0)
|
||||
{
|
||||
MHD_gnutls_assert ();
|
||||
return ret;
|
||||
@@ -484,9 +485,9 @@ MHD_gtls_ciphertext2compressed (MHD_gtls_session_t session,
|
||||
}
|
||||
|
||||
if ((ret =
|
||||
MHD_gtls_cipher_decrypt (session->connection_state.
|
||||
read_cipher_state, ciphertext.data,
|
||||
ciphertext.size)) < 0)
|
||||
MHD_gtls_cipher_decrypt (session->
|
||||
connection_state.read_cipher_state,
|
||||
ciphertext.data, ciphertext.size)) < 0)
|
||||
{
|
||||
MHD_gnutls_assert ();
|
||||
return ret;
|
||||
@@ -544,8 +545,8 @@ MHD_gtls_ciphertext2compressed (MHD_gtls_session_t session,
|
||||
if (td != GNUTLS_MAC_FAILED)
|
||||
{
|
||||
MHD_gnutls_hash (td,
|
||||
UINT64DATA (session->connection_state.
|
||||
read_sequence_number), 8);
|
||||
UINT64DATA (session->
|
||||
connection_state.read_sequence_number), 8);
|
||||
|
||||
MHD_gnutls_hash (td, &type, 1);
|
||||
if (ver >= MHD_GNUTLS_PROTOCOL_TLS1_0)
|
||||
|
||||
@@ -105,10 +105,9 @@ MHD__gnutls_set_keys (MHD_gtls_session_t session, int hash_size, int IV_size,
|
||||
{ /* TLS 1.0 */
|
||||
ret =
|
||||
MHD_gtls_PRF (session,
|
||||
(const unsigned char *) session->
|
||||
security_parameters.master_secret, TLS_MASTER_SIZE,
|
||||
keyexp, keyexp_length, rnd, 2 * TLS_RANDOM_SIZE,
|
||||
block_size, key_block);
|
||||
(const unsigned char *) session->security_parameters.
|
||||
master_secret, TLS_MASTER_SIZE, keyexp, keyexp_length,
|
||||
rnd, 2 * TLS_RANDOM_SIZE, block_size, key_block);
|
||||
}
|
||||
|
||||
if (ret < 0)
|
||||
@@ -507,35 +506,35 @@ MHD_gtls_read_connection_state_init (MHD_gtls_session_t session)
|
||||
{
|
||||
rc = MHD_gtls_set_read_cipher (session,
|
||||
MHD_gtls_cipher_suite_get_cipher_algo
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
rc = MHD_gtls_set_read_mac (session,
|
||||
MHD_gtls_cipher_suite_get_mac_algo
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
|
||||
rc = MHD_gtls_set_kx (session,
|
||||
MHD_gtls_cipher_suite_get_kx_algo
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
|
||||
rc = MHD_gtls_set_read_compression (session,
|
||||
session->internals.
|
||||
compression_method);
|
||||
session->
|
||||
internals.compression_method);
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
}
|
||||
else
|
||||
{ /* RESUME_TRUE */
|
||||
MHD__gnutls_cpy_read_security_parameters (&session->security_parameters,
|
||||
&session->internals.
|
||||
resumed_security_parameters);
|
||||
&session->
|
||||
internals.resumed_security_parameters);
|
||||
}
|
||||
|
||||
|
||||
@@ -546,8 +545,8 @@ MHD_gtls_read_connection_state_init (MHD_gtls_session_t session)
|
||||
MHD__gnutls_handshake_log ("HSK[%x]: Cipher Suite: %s\n",
|
||||
session,
|
||||
MHD_gtls_cipher_suite_get_name
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
|
||||
if (MHD_gtls_compression_is_ok
|
||||
(session->security_parameters.read_compression_algorithm) != 0)
|
||||
@@ -577,8 +576,8 @@ MHD_gtls_read_connection_state_init (MHD_gtls_session_t session)
|
||||
|
||||
|
||||
mac_size =
|
||||
MHD_gnutls_hash_get_algo_len (session->security_parameters.
|
||||
read_mac_algorithm);
|
||||
MHD_gnutls_hash_get_algo_len (session->
|
||||
security_parameters.read_mac_algorithm);
|
||||
|
||||
MHD__gnutls_handshake_log
|
||||
("HSK[%x]: Initializing internal [read] cipher sessions\n", session);
|
||||
@@ -589,8 +588,8 @@ MHD_gtls_read_connection_state_init (MHD_gtls_session_t session)
|
||||
/* initialize cipher session
|
||||
*/
|
||||
session->connection_state.read_cipher_state =
|
||||
MHD_gtls_cipher_init (session->security_parameters.
|
||||
read_bulk_cipher_algorithm,
|
||||
MHD_gtls_cipher_init (session->
|
||||
security_parameters.read_bulk_cipher_algorithm,
|
||||
&session->cipher_specs.client_write_key,
|
||||
&session->cipher_specs.client_write_IV);
|
||||
if (session->connection_state.read_cipher_state == GNUTLS_CIPHER_FAILED
|
||||
@@ -621,8 +620,8 @@ MHD_gtls_read_connection_state_init (MHD_gtls_session_t session)
|
||||
#if MHD_DEBUG_TLS
|
||||
case GNUTLS_CLIENT:
|
||||
session->connection_state.read_cipher_state =
|
||||
MHD_gtls_cipher_init (session->security_parameters.
|
||||
read_bulk_cipher_algorithm,
|
||||
MHD_gtls_cipher_init (session->
|
||||
security_parameters.read_bulk_cipher_algorithm,
|
||||
&session->cipher_specs.server_write_key,
|
||||
&session->cipher_specs.server_write_IV);
|
||||
|
||||
@@ -658,8 +657,8 @@ MHD_gtls_read_connection_state_init (MHD_gtls_session_t session)
|
||||
}
|
||||
|
||||
session->connection_state.read_compression_state =
|
||||
MHD_gtls_comp_init (session->security_parameters.
|
||||
read_compression_algorithm, 1);
|
||||
MHD_gtls_comp_init (session->
|
||||
security_parameters.read_compression_algorithm, 1);
|
||||
|
||||
if (session->connection_state.read_compression_state == GNUTLS_COMP_FAILED)
|
||||
{
|
||||
@@ -690,27 +689,27 @@ MHD_gtls_write_connection_state_init (MHD_gtls_session_t session)
|
||||
{
|
||||
rc = MHD_gtls_set_write_cipher (session,
|
||||
MHD_gtls_cipher_suite_get_cipher_algo
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
rc = MHD_gtls_set_write_mac (session,
|
||||
MHD_gtls_cipher_suite_get_mac_algo
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
|
||||
rc = MHD_gtls_set_kx (session,
|
||||
MHD_gtls_cipher_suite_get_kx_algo
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
|
||||
rc = MHD_gtls_set_write_compression (session,
|
||||
session->internals.
|
||||
compression_method);
|
||||
session->
|
||||
internals.compression_method);
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
}
|
||||
@@ -727,8 +726,8 @@ MHD_gtls_write_connection_state_init (MHD_gtls_session_t session)
|
||||
|
||||
MHD__gnutls_handshake_log ("HSK[%x]: Cipher Suite: %s\n", session,
|
||||
MHD_gtls_cipher_suite_get_name
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
|
||||
if (MHD_gtls_compression_is_ok
|
||||
(session->security_parameters.write_compression_algorithm) != 0)
|
||||
@@ -759,8 +758,8 @@ MHD_gtls_write_connection_state_init (MHD_gtls_session_t session)
|
||||
0);
|
||||
|
||||
mac_size =
|
||||
MHD_gnutls_hash_get_algo_len (session->security_parameters.
|
||||
write_mac_algorithm);
|
||||
MHD_gnutls_hash_get_algo_len (session->
|
||||
security_parameters.write_mac_algorithm);
|
||||
|
||||
MHD__gnutls_handshake_log
|
||||
("HSK[%x]: Initializing internal [write] cipher sessions\n", session);
|
||||
@@ -771,8 +770,8 @@ MHD_gtls_write_connection_state_init (MHD_gtls_session_t session)
|
||||
/* initialize cipher session
|
||||
*/
|
||||
session->connection_state.write_cipher_state =
|
||||
MHD_gtls_cipher_init (session->security_parameters.
|
||||
write_bulk_cipher_algorithm,
|
||||
MHD_gtls_cipher_init (session->
|
||||
security_parameters.write_bulk_cipher_algorithm,
|
||||
&session->cipher_specs.server_write_key,
|
||||
&session->cipher_specs.server_write_IV);
|
||||
|
||||
@@ -807,8 +806,8 @@ MHD_gtls_write_connection_state_init (MHD_gtls_session_t session)
|
||||
#if MHD_DEBUG_TLS
|
||||
case GNUTLS_CLIENT:
|
||||
session->connection_state.write_cipher_state =
|
||||
MHD_gtls_cipher_init (session->security_parameters.
|
||||
write_bulk_cipher_algorithm,
|
||||
MHD_gtls_cipher_init (session->
|
||||
security_parameters.write_bulk_cipher_algorithm,
|
||||
&session->cipher_specs.client_write_key,
|
||||
&session->cipher_specs.client_write_IV);
|
||||
|
||||
@@ -844,8 +843,8 @@ MHD_gtls_write_connection_state_init (MHD_gtls_session_t session)
|
||||
|
||||
|
||||
session->connection_state.write_compression_state =
|
||||
MHD_gtls_comp_init (session->security_parameters.
|
||||
write_compression_algorithm, 0);
|
||||
MHD_gtls_comp_init (session->
|
||||
security_parameters.write_compression_algorithm, 0);
|
||||
|
||||
if (session->connection_state.write_compression_state == GNUTLS_COMP_FAILED)
|
||||
{
|
||||
|
||||
@@ -204,8 +204,9 @@ MHD__gnutls_extension_list_add (MHD_gtls_session_t session, uint16_t type)
|
||||
{
|
||||
if (session->internals.extensions_sent_size < MAX_EXT_TYPES)
|
||||
{
|
||||
session->internals.extensions_sent[session->internals.
|
||||
extensions_sent_size] = type;
|
||||
session->internals.extensions_sent[session->
|
||||
internals.extensions_sent_size] =
|
||||
type;
|
||||
session->internals.extensions_sent_size++;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -119,8 +119,8 @@ resume_copy_required_values (MHD_gtls_session_t session)
|
||||
* hello message.
|
||||
*/
|
||||
memcpy (session->security_parameters.current_cipher_suite.suite,
|
||||
session->internals.resumed_security_parameters.
|
||||
current_cipher_suite.suite, 2);
|
||||
session->internals.resumed_security_parameters.current_cipher_suite.
|
||||
suite, 2);
|
||||
|
||||
session->internals.compression_method =
|
||||
session->internals.resumed_security_parameters.read_compression_algorithm;
|
||||
@@ -132,8 +132,9 @@ resume_copy_required_values (MHD_gtls_session_t session)
|
||||
session->internals.resumed_security_parameters.entity;
|
||||
|
||||
MHD_gtls_set_current_version (session,
|
||||
session->internals.
|
||||
resumed_security_parameters.version);
|
||||
session->
|
||||
internals.resumed_security_parameters.
|
||||
version);
|
||||
|
||||
session->security_parameters.cert_type =
|
||||
session->internals.resumed_security_parameters.cert_type;
|
||||
@@ -216,11 +217,13 @@ MHD__gnutls_ssl3_finished (MHD_gtls_session_t session, int type, opaque * ret)
|
||||
MHD_gnutls_hash (td_sha, mesg, siz);
|
||||
|
||||
MHD_gnutls_mac_deinit_ssl3_handshake (td_md5, ret,
|
||||
session->security_parameters.
|
||||
master_secret, TLS_MASTER_SIZE);
|
||||
session->
|
||||
security_parameters.master_secret,
|
||||
TLS_MASTER_SIZE);
|
||||
MHD_gnutls_mac_deinit_ssl3_handshake (td_sha, &ret[16],
|
||||
session->security_parameters.
|
||||
master_secret, TLS_MASTER_SIZE);
|
||||
session->
|
||||
security_parameters.master_secret,
|
||||
TLS_MASTER_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -438,8 +441,8 @@ MHD__gnutls_read_client_hello (MHD_gtls_session_t session, opaque * data,
|
||||
else
|
||||
{
|
||||
MHD_gtls_generate_session_id (session->security_parameters.session_id,
|
||||
&session->security_parameters.
|
||||
session_id_size);
|
||||
&session->
|
||||
security_parameters.session_id_size);
|
||||
|
||||
session->internals.resumed = RESUME_FALSE;
|
||||
}
|
||||
@@ -796,9 +799,9 @@ finish:
|
||||
*/
|
||||
if (MHD_gtls_get_kx_cred
|
||||
(session,
|
||||
MHD_gtls_cipher_suite_get_kx_algo (&session->security_parameters.
|
||||
current_cipher_suite), &err) == NULL
|
||||
&& err != 0)
|
||||
MHD_gtls_cipher_suite_get_kx_algo (&session->
|
||||
security_parameters.current_cipher_suite),
|
||||
&err) == NULL && err != 0)
|
||||
{
|
||||
MHD_gnutls_assert ();
|
||||
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
|
||||
@@ -811,8 +814,8 @@ finish:
|
||||
*/
|
||||
session->internals.auth_struct =
|
||||
MHD_gtls_kx_auth_struct (MHD_gtls_cipher_suite_get_kx_algo
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
if (session->internals.auth_struct == NULL)
|
||||
{
|
||||
|
||||
@@ -861,8 +864,8 @@ MHD__gnutls_server_select_comp_method (MHD_gtls_session_t session,
|
||||
|
||||
MHD__gnutls_handshake_log
|
||||
("HSK[%x]: Selected Compression Method: %s\n", session,
|
||||
MHD_gtls_compression_get_name (session->internals.
|
||||
compression_method));
|
||||
MHD_gtls_compression_get_name (session->
|
||||
internals.compression_method));
|
||||
|
||||
|
||||
return 0;
|
||||
@@ -1026,8 +1029,8 @@ MHD__gnutls_recv_handshake_header (MHD_gtls_session_t session,
|
||||
if (session->internals.handshake_header_buffer.header_size ==
|
||||
handshake_header_size || (session->internals.v2_hello != 0
|
||||
&& type == GNUTLS_HANDSHAKE_CLIENT_HELLO
|
||||
&& session->internals.
|
||||
handshake_header_buffer.packet_length > 0))
|
||||
&& session->internals.handshake_header_buffer.
|
||||
packet_length > 0))
|
||||
{
|
||||
|
||||
*recv_type = session->internals.handshake_header_buffer.recv_type;
|
||||
@@ -1070,11 +1073,13 @@ MHD__gnutls_recv_handshake_header (MHD_gtls_session_t session,
|
||||
MHD_gtls_handshake_io_recv_int (session, GNUTLS_HANDSHAKE,
|
||||
type,
|
||||
&dataptr
|
||||
[session->internals.
|
||||
handshake_header_buffer.header_size],
|
||||
[session->
|
||||
internals.handshake_header_buffer.
|
||||
header_size],
|
||||
HANDSHAKE_HEADER_SIZE -
|
||||
session->internals.
|
||||
handshake_header_buffer.header_size);
|
||||
session->
|
||||
internals.handshake_header_buffer.
|
||||
header_size);
|
||||
if (ret <= 0)
|
||||
{
|
||||
MHD_gnutls_assert ();
|
||||
@@ -1257,11 +1262,12 @@ MHD_gtls_recv_handshake (MHD_gtls_session_t session, uint8_t ** data,
|
||||
|
||||
|
||||
ret = MHD__gnutls_handshake_hash_add_recvd (session, recv_type,
|
||||
session->internals.
|
||||
handshake_header_buffer.header,
|
||||
session->internals.
|
||||
handshake_header_buffer.header_size,
|
||||
dataptr, length32);
|
||||
session->
|
||||
internals.handshake_header_buffer.
|
||||
header,
|
||||
session->
|
||||
internals.handshake_header_buffer.
|
||||
header_size, dataptr, length32);
|
||||
if (ret < 0)
|
||||
{
|
||||
MHD_gnutls_assert ();
|
||||
@@ -1355,8 +1361,8 @@ MHD__gnutls_client_set_ciphersuite (MHD_gtls_session_t session,
|
||||
|
||||
MHD__gnutls_handshake_log ("HSK[%x]: Selected cipher suite: %s\n", session,
|
||||
MHD_gtls_cipher_suite_get_name
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
|
||||
|
||||
/* check if the credentials (username, public key etc.) are ok.
|
||||
@@ -1379,8 +1385,8 @@ MHD__gnutls_client_set_ciphersuite (MHD_gtls_session_t session,
|
||||
*/
|
||||
session->internals.auth_struct =
|
||||
MHD_gtls_kx_auth_struct (MHD_gtls_cipher_suite_get_kx_algo
|
||||
(&session->security_parameters.
|
||||
current_cipher_suite));
|
||||
(&session->
|
||||
security_parameters.current_cipher_suite));
|
||||
|
||||
if (session->internals.auth_struct == NULL)
|
||||
{
|
||||
@@ -1954,8 +1960,8 @@ MHD__gnutls_send_server_hello (MHD_gtls_session_t session, int again)
|
||||
pos += 2;
|
||||
|
||||
comp =
|
||||
(uint8_t) MHD_gtls_compression_get_num (session->
|
||||
internals.compression_method);
|
||||
(uint8_t) MHD_gtls_compression_get_num (session->internals.
|
||||
compression_method);
|
||||
data[pos++] = comp;
|
||||
|
||||
|
||||
|
||||
@@ -65,13 +65,13 @@ generate_normal_master (MHD_gtls_session_t session, int keep_premaster)
|
||||
MHD_gtls_bin2hex (PREMASTER.data, PREMASTER.size, buf,
|
||||
sizeof (buf)));
|
||||
MHD__gnutls_hard_log ("INT: CLIENT RANDOM[%d]: %s\n", 32,
|
||||
MHD_gtls_bin2hex (session->security_parameters.
|
||||
client_random, 32, buf,
|
||||
sizeof (buf)));
|
||||
MHD_gtls_bin2hex (session->
|
||||
security_parameters.client_random,
|
||||
32, buf, sizeof (buf)));
|
||||
MHD__gnutls_hard_log ("INT: SERVER RANDOM[%d]: %s\n", 32,
|
||||
MHD_gtls_bin2hex (session->security_parameters.
|
||||
server_random, 32, buf,
|
||||
sizeof (buf)));
|
||||
MHD_gtls_bin2hex (session->
|
||||
security_parameters.server_random,
|
||||
32, buf, sizeof (buf)));
|
||||
|
||||
if (MHD__gnutls_protocol_get_version (session) == MHD_GNUTLS_PROTOCOL_SSL3)
|
||||
{
|
||||
@@ -86,8 +86,8 @@ generate_normal_master (MHD_gtls_session_t session, int keep_premaster)
|
||||
MHD_gnutls_ssl3_generate_random (PREMASTER.data, PREMASTER.size,
|
||||
rnd, 2 * TLS_RANDOM_SIZE,
|
||||
TLS_MASTER_SIZE,
|
||||
session->security_parameters.
|
||||
master_secret);
|
||||
session->
|
||||
security_parameters.master_secret);
|
||||
|
||||
}
|
||||
else if (session->security_parameters.extensions.oprfi_client_len > 0 &&
|
||||
@@ -107,21 +107,25 @@ generate_normal_master (MHD_gtls_session_t session, int keep_premaster)
|
||||
}
|
||||
|
||||
MHD__gnutls_hard_log ("INT: CLIENT OPRFI[%d]: %s\n",
|
||||
session->security_parameters.
|
||||
extensions.oprfi_server_len,
|
||||
MHD_gtls_bin2hex (session->security_parameters.
|
||||
extensions.oprfi_client,
|
||||
session->security_parameters.
|
||||
extensions.oprfi_client_len,
|
||||
buf, sizeof (buf)));
|
||||
session->security_parameters.extensions.
|
||||
oprfi_server_len,
|
||||
MHD_gtls_bin2hex (session->
|
||||
security_parameters.extensions.
|
||||
oprfi_client,
|
||||
session->
|
||||
security_parameters.extensions.
|
||||
oprfi_client_len, buf,
|
||||
sizeof (buf)));
|
||||
MHD__gnutls_hard_log ("INT: SERVER OPRFI[%d]: %s\n",
|
||||
session->security_parameters.
|
||||
extensions.oprfi_server_len,
|
||||
MHD_gtls_bin2hex (session->security_parameters.
|
||||
extensions.oprfi_server,
|
||||
session->security_parameters.
|
||||
extensions.oprfi_server_len,
|
||||
buf, sizeof (buf)));
|
||||
session->security_parameters.extensions.
|
||||
oprfi_server_len,
|
||||
MHD_gtls_bin2hex (session->
|
||||
security_parameters.extensions.
|
||||
oprfi_server,
|
||||
session->
|
||||
security_parameters.extensions.
|
||||
oprfi_server_len, buf,
|
||||
sizeof (buf)));
|
||||
|
||||
memcpy (rnd, session->security_parameters.client_random,
|
||||
TLS_RANDOM_SIZE);
|
||||
@@ -171,8 +175,9 @@ generate_normal_master (MHD_gtls_session_t session, int keep_premaster)
|
||||
return ret;
|
||||
|
||||
MHD__gnutls_hard_log ("INT: MASTER SECRET: %s\n",
|
||||
MHD_gtls_bin2hex (session->security_parameters.
|
||||
master_secret, TLS_MASTER_SIZE, buf,
|
||||
MHD_gtls_bin2hex (session->
|
||||
security_parameters.master_secret,
|
||||
TLS_MASTER_SIZE, buf,
|
||||
sizeof (buf)));
|
||||
|
||||
return ret;
|
||||
@@ -239,8 +244,8 @@ MHD_gtls_send_server_certificate_request (MHD_gtls_session_t session,
|
||||
int data_size = 0;
|
||||
int ret = 0;
|
||||
|
||||
if (session->internals.auth_struct->
|
||||
MHD_gtls_gen_server_certificate_request == NULL)
|
||||
if (session->internals.
|
||||
auth_struct->MHD_gtls_gen_server_certificate_request == NULL)
|
||||
return 0;
|
||||
|
||||
if (session->internals.send_cert_req <= 0)
|
||||
@@ -252,8 +257,8 @@ MHD_gtls_send_server_certificate_request (MHD_gtls_session_t session,
|
||||
if (again == 0)
|
||||
{
|
||||
data_size =
|
||||
session->internals.auth_struct->
|
||||
MHD_gtls_gen_server_certificate_request (session, &data);
|
||||
session->internals.
|
||||
auth_struct->MHD_gtls_gen_server_certificate_request (session, &data);
|
||||
|
||||
if (data_size < 0)
|
||||
{
|
||||
@@ -352,8 +357,8 @@ MHD_gtls_send_client_certificate_verify (MHD_gtls_session_t session,
|
||||
if (again == 0)
|
||||
{
|
||||
data_size =
|
||||
session->internals.auth_struct->
|
||||
MHD_gtls_gen_client_cert_vrfy (session, &data);
|
||||
session->internals.
|
||||
auth_struct->MHD_gtls_gen_client_cert_vrfy (session, &data);
|
||||
if (data_size < 0)
|
||||
{
|
||||
MHD_gnutls_assert ();
|
||||
@@ -425,8 +430,8 @@ MHD_gtls_recv_server_certificate_request (MHD_gtls_session_t session)
|
||||
int datasize;
|
||||
int ret = 0;
|
||||
|
||||
if (session->internals.auth_struct->
|
||||
MHD_gtls_process_server_certificate_request != NULL)
|
||||
if (session->internals.
|
||||
auth_struct->MHD_gtls_process_server_certificate_request != NULL)
|
||||
{
|
||||
|
||||
ret =
|
||||
@@ -441,8 +446,10 @@ MHD_gtls_recv_server_certificate_request (MHD_gtls_session_t session)
|
||||
return 0; /* ignored */
|
||||
|
||||
ret =
|
||||
session->internals.auth_struct->
|
||||
MHD_gtls_process_server_certificate_request (session, data, datasize);
|
||||
session->internals.
|
||||
auth_struct->MHD_gtls_process_server_certificate_request (session,
|
||||
data,
|
||||
datasize);
|
||||
MHD_gnutls_free (data);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
@@ -513,8 +520,8 @@ MHD_gtls_send_client_certificate (MHD_gtls_session_t session, int again)
|
||||
/* TLS 1.0 or SSL 3.0 with a valid certificate
|
||||
*/
|
||||
data_size =
|
||||
session->internals.auth_struct->
|
||||
MHD_gtls_gen_client_certificate (session, &data);
|
||||
session->internals.
|
||||
auth_struct->MHD_gtls_gen_client_certificate (session, &data);
|
||||
|
||||
if (data_size < 0)
|
||||
{
|
||||
@@ -574,8 +581,8 @@ MHD_gtls_send_server_certificate (MHD_gtls_session_t session, int again)
|
||||
if (again == 0)
|
||||
{
|
||||
data_size =
|
||||
session->internals.auth_struct->
|
||||
MHD_gtls_gen_server_certificate (session, &data);
|
||||
session->internals.
|
||||
auth_struct->MHD_gtls_gen_server_certificate (session, &data);
|
||||
|
||||
if (data_size < 0)
|
||||
{
|
||||
@@ -671,8 +678,9 @@ MHD_gtls_recv_client_certificate (MHD_gtls_session_t session)
|
||||
return 0;
|
||||
}
|
||||
ret =
|
||||
session->internals.auth_struct->
|
||||
MHD_gtls_process_client_certificate (session, data, datasize);
|
||||
session->internals.
|
||||
auth_struct->MHD_gtls_process_client_certificate (session, data,
|
||||
datasize);
|
||||
|
||||
MHD_gnutls_free (data);
|
||||
if (ret < 0 && ret != GNUTLS_E_NO_CERTIFICATE_FOUND)
|
||||
@@ -716,8 +724,9 @@ MHD_gtls_recv_server_certificate (MHD_gtls_session_t session)
|
||||
}
|
||||
|
||||
ret =
|
||||
session->internals.auth_struct->
|
||||
MHD_gtls_process_server_certificate (session, data, datasize);
|
||||
session->internals.
|
||||
auth_struct->MHD_gtls_process_server_certificate (session, data,
|
||||
datasize);
|
||||
MHD_gnutls_free (data);
|
||||
if (ret < 0)
|
||||
{
|
||||
@@ -768,8 +777,9 @@ MHD_gtls_recv_client_certificate_verify_message (MHD_gtls_session_t session)
|
||||
}
|
||||
|
||||
ret =
|
||||
session->internals.auth_struct->
|
||||
MHD_gtls_process_client_cert_vrfy (session, data, datasize);
|
||||
session->internals.
|
||||
auth_struct->MHD_gtls_process_client_cert_vrfy (session, data,
|
||||
datasize);
|
||||
MHD_gnutls_free (data);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@@ -294,8 +294,8 @@ MHD_gtls_send_int (MHD_gtls_session_t session,
|
||||
|
||||
MHD__gnutls_record_log
|
||||
("REC[%x]: Sending Packet[%d] %s(%d) with length: %d\n", session,
|
||||
(int) MHD_gtls_uint64touint32 (&session->connection_state.
|
||||
write_sequence_number),
|
||||
(int) MHD_gtls_uint64touint32 (&session->
|
||||
connection_state.write_sequence_number),
|
||||
MHD__gnutls_packet2str (type), type, sizeofdata);
|
||||
|
||||
if (sizeofdata > MAX_RECORD_SEND_SIZE)
|
||||
@@ -860,13 +860,13 @@ begin:
|
||||
|
||||
MHD__gnutls_record_log
|
||||
("REC[%x]: Expected Packet[%d] %s(%d) with length: %d\n", session,
|
||||
(int) MHD_gtls_uint64touint32 (&session->connection_state.
|
||||
read_sequence_number),
|
||||
(int) MHD_gtls_uint64touint32 (&session->
|
||||
connection_state.read_sequence_number),
|
||||
MHD__gnutls_packet2str (type), type, sizeofdata);
|
||||
MHD__gnutls_record_log
|
||||
("REC[%x]: Received Packet[%d] %s(%d) with length: %d\n", session,
|
||||
(int) MHD_gtls_uint64touint32 (&session->connection_state.
|
||||
read_sequence_number),
|
||||
(int) MHD_gtls_uint64touint32 (&session->
|
||||
connection_state.read_sequence_number),
|
||||
MHD__gnutls_packet2str (recv_type), recv_type, length);
|
||||
|
||||
if (length > MAX_RECV_SIZE)
|
||||
@@ -942,8 +942,8 @@ begin:
|
||||
|
||||
MHD__gnutls_record_log
|
||||
("REC[%x]: Decrypted Packet[%d] %s(%d) with length: %d\n", session,
|
||||
(int) MHD_gtls_uint64touint32 (&session->connection_state.
|
||||
read_sequence_number),
|
||||
(int) MHD_gtls_uint64touint32 (&session->
|
||||
connection_state.read_sequence_number),
|
||||
MHD__gnutls_packet2str (recv_type), recv_type, decrypted_length);
|
||||
|
||||
/* increase sequence number
|
||||
|
||||
@@ -75,8 +75,9 @@ MHD_gtls_tls_sign_hdata (MHD_gtls_session_t session,
|
||||
}
|
||||
|
||||
MHD_gnutls_mac_deinit_ssl3_handshake (td_sha, &concat[16],
|
||||
session->security_parameters.
|
||||
master_secret, TLS_MASTER_SIZE);
|
||||
session->
|
||||
security_parameters.master_secret,
|
||||
TLS_MASTER_SIZE);
|
||||
}
|
||||
else
|
||||
MHD_gnutls_hash_deinit (td_sha, &concat[16]);
|
||||
@@ -94,8 +95,9 @@ MHD_gtls_tls_sign_hdata (MHD_gtls_session_t session,
|
||||
|
||||
if (ver == MHD_GNUTLS_PROTOCOL_SSL3)
|
||||
MHD_gnutls_mac_deinit_ssl3_handshake (td_md5, concat,
|
||||
session->security_parameters.
|
||||
master_secret, TLS_MASTER_SIZE);
|
||||
session->
|
||||
security_parameters.master_secret,
|
||||
TLS_MASTER_SIZE);
|
||||
else
|
||||
MHD_gnutls_hash_deinit (td_md5, concat);
|
||||
|
||||
@@ -265,8 +267,8 @@ MHD__gnutls_tls_sign (MHD_gtls_session_t session,
|
||||
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
|
||||
|
||||
return (*session->internals.sign_func) (session,
|
||||
session->internals.
|
||||
sign_func_userdata,
|
||||
session->
|
||||
internals.sign_func_userdata,
|
||||
cert->cert_type, &cert->raw,
|
||||
hash_concat, signature);
|
||||
}
|
||||
@@ -365,11 +367,13 @@ MHD_gtls_verify_sig_hdata (MHD_gtls_session_t session,
|
||||
}
|
||||
|
||||
MHD_gnutls_mac_deinit_ssl3_handshake (td_md5, concat,
|
||||
session->security_parameters.
|
||||
master_secret, TLS_MASTER_SIZE);
|
||||
session->
|
||||
security_parameters.master_secret,
|
||||
TLS_MASTER_SIZE);
|
||||
MHD_gnutls_mac_deinit_ssl3_handshake (td_sha, &concat[16],
|
||||
session->security_parameters.
|
||||
master_secret, TLS_MASTER_SIZE);
|
||||
session->
|
||||
security_parameters.master_secret,
|
||||
TLS_MASTER_SIZE);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -806,8 +806,8 @@ MHD_gtls_session_is_export (MHD_gtls_session_t session)
|
||||
enum MHD_GNUTLS_CipherAlgorithm cipher;
|
||||
|
||||
cipher =
|
||||
MHD_gtls_cipher_suite_get_cipher_algo (&session->security_parameters.
|
||||
current_cipher_suite);
|
||||
MHD_gtls_cipher_suite_get_cipher_algo (&session->
|
||||
security_parameters.current_cipher_suite);
|
||||
|
||||
if (MHD_gtls_cipher_get_export_flag (cipher) != 0)
|
||||
return 1;
|
||||
|
||||
@@ -113,8 +113,8 @@ MHD__gnutls_check_key_cert_match (MHD_gtls_cert_credentials_t res)
|
||||
1].params_size, &kid);
|
||||
|
||||
|
||||
MHD__gnutls_x509_write_rsa_params (res->
|
||||
cert_list[res->ncerts - 1][0].params,
|
||||
MHD__gnutls_x509_write_rsa_params (res->cert_list[res->ncerts - 1][0].
|
||||
params,
|
||||
res->cert_list[res->ncerts -
|
||||
1][0].params_size, &cid);
|
||||
|
||||
|
||||
Reference in new issue
Block a user