Loading ssl/s3_both.c +23 −9 Original line number Diff line number Diff line Loading @@ -284,6 +284,10 @@ long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok) p=(unsigned char *)s->init_buf->data; if (s->state == st1) /* s->init_num < 4 */ { int skip_message; do { while (s->init_num < 4) { Loading @@ -298,7 +302,17 @@ long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok) s->init_num+=i; } /* XXX server may always send Hello Request */ skip_message = 0; if (!s->server) if (p[0] == SSL3_MT_HELLO_REQUEST) /* The server may always send 'Hello Request' messages -- * we are doing a handshake anyway now, so ignore them * if their format is correct */ if (p[1] == 0 && p[2] == 0 &&p[3] == 0) skip_message = 1; } while (skip_message); if ((mt >= 0) && (*p != mt)) { al=SSL_AD_UNEXPECTED_MESSAGE; Loading Loading
ssl/s3_both.c +23 −9 Original line number Diff line number Diff line Loading @@ -284,6 +284,10 @@ long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok) p=(unsigned char *)s->init_buf->data; if (s->state == st1) /* s->init_num < 4 */ { int skip_message; do { while (s->init_num < 4) { Loading @@ -298,7 +302,17 @@ long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok) s->init_num+=i; } /* XXX server may always send Hello Request */ skip_message = 0; if (!s->server) if (p[0] == SSL3_MT_HELLO_REQUEST) /* The server may always send 'Hello Request' messages -- * we are doing a handshake anyway now, so ignore them * if their format is correct */ if (p[1] == 0 && p[2] == 0 &&p[3] == 0) skip_message = 1; } while (skip_message); if ((mt >= 0) && (*p != mt)) { al=SSL_AD_UNEXPECTED_MESSAGE; Loading