Commit df4bf34b authored by Youness Alaoui's avatar Youness Alaoui Committed by Olivier Crête

Check real received size for pseuddossl handshake

parent 766bdaeb
...@@ -171,12 +171,12 @@ socket_close (NiceSocket *sock) ...@@ -171,12 +171,12 @@ socket_close (NiceSocket *sock)
} }
static gboolean static gboolean
server_handshake_valid(NiceSocket *sock, GInputVector *data) server_handshake_valid(NiceSocket *sock, GInputVector *data, guint length)
{ {
PseudoSSLPriv *priv = sock->priv; PseudoSSLPriv *priv = sock->priv;
if (priv->compatibility == NICE_PSEUDOSSL_SOCKET_COMPATIBILITY_MSOC) { if (priv->compatibility == NICE_PSEUDOSSL_SOCKET_COMPATIBILITY_MSOC) {
if (data->size == sizeof(SSL_SERVER_MSOC_HANDSHAKE)) { if (length == sizeof(SSL_SERVER_MSOC_HANDSHAKE)) {
guint8 *buf = data->buffer; guint8 *buf = data->buffer;
memset(buf + 11, 0, 32); memset(buf + 11, 0, 32);
...@@ -186,7 +186,7 @@ server_handshake_valid(NiceSocket *sock, GInputVector *data) ...@@ -186,7 +186,7 @@ server_handshake_valid(NiceSocket *sock, GInputVector *data)
} }
return FALSE; return FALSE;
} else { } else {
return data->size == sizeof(SSL_SERVER_GOOGLE_HANDSHAKE) && return length == sizeof(SSL_SERVER_GOOGLE_HANDSHAKE) &&
memcmp(SSL_SERVER_GOOGLE_HANDSHAKE, data->buffer, memcmp(SSL_SERVER_GOOGLE_HANDSHAKE, data->buffer,
sizeof(SSL_SERVER_GOOGLE_HANDSHAKE)) == 0; sizeof(SSL_SERVER_GOOGLE_HANDSHAKE)) == 0;
} }
...@@ -225,7 +225,8 @@ socket_recv_messages (NiceSocket *sock, ...@@ -225,7 +225,8 @@ socket_recv_messages (NiceSocket *sock,
if (ret <= 0) { if (ret <= 0) {
return ret; return ret;
} else if (ret == 1 && server_handshake_valid(sock, &local_recv_buf)) { } else if (ret == 1 && server_handshake_valid(sock, &local_recv_buf,
local_recv_message.length)) {
priv->handshaken = TRUE; priv->handshaken = TRUE;
nice_socket_flush_send_queue (priv->base_socket, &priv->send_queue); nice_socket_flush_send_queue (priv->base_socket, &priv->send_queue);
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment