summaryrefslogtreecommitdiff
path: root/lib/gnutls_handshake.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gnutls_handshake.c')
-rw-r--r--lib/gnutls_handshake.c41
1 files changed, 15 insertions, 26 deletions
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
index aa16bab583..9d9de3d230 100644
--- a/lib/gnutls_handshake.c
+++ b/lib/gnutls_handshake.c
@@ -60,9 +60,7 @@
#define FALSE 0
int _gnutls_server_select_comp_method(gnutls_session session,
- opaque * data, int datalen);
-inline static
-void _gnutls_ssl3_hash_extra_data( gnutls_session session, int type, GNUTLS_MAC_HANDLE td);
+ opaque * data, int datalen);
/* Clears the handshake hash buffers and handles.
@@ -134,11 +132,15 @@ void _gnutls_set_client_random(gnutls_session session, uint8 * random)
/* Calculate The SSL3 Finished message
*/
-
+#define SSL3_CLIENT_MSG "CLNT"
+#define SSL3_SERVER_MSG "SRVR"
+#define SSL_MSG_LEN 4
static int _gnutls_ssl3_finished(gnutls_session session, int type, opaque * ret)
{
+ const int siz = SSL_MSG_LEN;
GNUTLS_MAC_HANDLE td_md5;
GNUTLS_MAC_HANDLE td_sha;
+ const char *mesg;
td_md5 = _gnutls_hash_copy( session->internals.handshake_mac_handle_md5);
if (td_md5 == NULL) {
@@ -153,8 +155,14 @@ static int _gnutls_ssl3_finished(gnutls_session session, int type, opaque * ret)
return GNUTLS_E_HASH_FAILED;
}
- _gnutls_ssl3_hash_extra_data( session, type, td_md5);
- _gnutls_ssl3_hash_extra_data( session, type, td_sha);
+ if (type == GNUTLS_SERVER) {
+ mesg = SSL3_SERVER_MSG;
+ } else {
+ mesg = SSL3_CLIENT_MSG;
+ }
+
+ _gnutls_hash(td_md5, mesg, siz);
+ _gnutls_hash(td_sha, mesg, siz);
_gnutls_mac_deinit_ssl3_handshake(td_md5, ret, session->security_parameters.master_secret, TLS_MASTER_SIZE);
_gnutls_mac_deinit_ssl3_handshake(td_sha, &ret[16], session->security_parameters.master_secret, TLS_MASTER_SIZE);
@@ -701,8 +709,7 @@ int ret;
return ret;
}
- if ( type != GNUTLS_HELLO_REQUEST)
- {
+ if ( type != GNUTLS_HELLO_REQUEST) {
_gnutls_hash( session->internals.handshake_mac_handle_sha, dataptr, datalen);
_gnutls_hash( session->internals.handshake_mac_handle_md5, dataptr, datalen);
}
@@ -2565,21 +2572,3 @@ gnutls_handshake_description gnutls_handshake_get_last_out( gnutls_session sessi
return session->internals.last_handshake_out;
}
-/* Appends to a hash handle the data required by the SSL 3.0
- * handshake hash.
- */
-#define SSL3_CLIENT_MSG "CLNT"
-#define SSL3_SERVER_MSG "SRVR"
-#define SSL_MSG_LEN 4
-inline static
-void _gnutls_ssl3_hash_extra_data( gnutls_session session, int type, GNUTLS_MAC_HANDLE td)
-{
-const char* mesg;
-
- if (type==GNUTLS_CLIENT)
- mesg = SSL3_CLIENT_MSG;
- else
- mesg = SSL3_SERVER_MSG;
-
- _gnutls_hash(td, mesg, SSL_MSG_LEN);
-}