Commit e1e088ec authored by Matt Caswell's avatar Matt Caswell
Browse files

Remove erroneous server_random filling



Commit e481f9b9 removed OPENSSL_NO_TLSEXT from the code.

Previously if OPENSSL_NO_TLSEXT *was not* defined then the server random was
filled during getting of the ClientHello. If it *was* defined then the
server random would be filled in ssl3_send_server_hello(). Unfortunately in
commit e481f9b9 the OPENSSL_NO_TLSEXT guards were removed but *both*
server random fillings were left in. This could cause problems for session
ticket callbacks.

Reviewed-by: default avatarStephen Henson <steve@openssl.org>
parent 1a586b39
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -1580,19 +1580,16 @@ int ssl3_send_server_hello(SSL *s)
    if (s->state == SSL3_ST_SW_SRVR_HELLO_A) {
        buf = (unsigned char *)s->init_buf->data;

        p = s->s3->server_random;
        if (ssl_fill_hello_random(s, 1, p, SSL3_RANDOM_SIZE) <= 0) {
            s->state = SSL_ST_ERR;
            return -1;
        }

        /* Do the message type and length last */
        d = p = ssl_handshake_start(s);

        *(p++) = s->version >> 8;
        *(p++) = s->version & 0xff;

        /* Random stuff */
        /*
         * Random stuff. Filling of the server_random takes place in
         * ssl3_get_client_hello()
         */
        memcpy(p, s->s3->server_random, SSL3_RANDOM_SIZE);
        p += SSL3_RANDOM_SIZE;