SSL3_RANDOM_SIZE
if (!PACKET_forward(&msgpayload, SSL3_RANDOM_SIZE)
SSL3_RANDOM_SIZE)
SSL3_RANDOM_SIZE)
|| !EVP_DigestUpdate(s1, s->s3.server_random, SSL3_RANDOM_SIZE)
|| !EVP_DigestUpdate(s1, s->s3.client_random, SSL3_RANDOM_SIZE)
return SSL3_RANDOM_SIZE;
SSL3_RANDOM_SIZE,
unsigned char server_random[SSL3_RANDOM_SIZE];
unsigned char client_random[SSL3_RANDOM_SIZE];
unsigned char random[SSL3_RANDOM_SIZE];
|| !WPACKET_memcpy(&hrrpkt, hrrrandom, SSL3_RANDOM_SIZE)
#define MAX_HRR_SIZE (SSL3_HM_HEADER_LENGTH + 2 + SSL3_RANDOM_SIZE + 1 \
|| !WPACKET_memcpy(pkt, s->s3.client_random, SSL3_RANDOM_SIZE)) {
&& PACKET_remaining(pkt) >= SSL3_RANDOM_SIZE
&& memcmp(hrrrandom, PACKET_data(pkt), SSL3_RANDOM_SIZE) == 0) {
if (!PACKET_forward(pkt, SSL3_RANDOM_SIZE)) {
if (!PACKET_copy_bytes(pkt, s->s3.server_random, SSL3_RANDOM_SIZE)) {
SSL3_RANDOM_SIZE)
SSL3_RANDOM_SIZE)
|| EVP_DigestUpdate(hash, s->s3.client_random, SSL3_RANDOM_SIZE) <= 0
|| EVP_DigestUpdate(hash, s->s3.server_random, SSL3_RANDOM_SIZE) <= 0
|| s->init_num < SERVER_HELLO_RANDOM_OFFSET + SSL3_RANDOM_SIZE
SSL3_RANDOM_SIZE)
s->s3.server_random + SSL3_RANDOM_SIZE
s->s3.server_random + SSL3_RANDOM_SIZE
size_t tbslen = 2 * SSL3_RANDOM_SIZE + paramlen;
memcpy(tbs, s->s3.client_random, SSL3_RANDOM_SIZE);
memcpy(tbs + SSL3_RANDOM_SIZE, s->s3.server_random, SSL3_RANDOM_SIZE);
memcpy(tbs + SSL3_RANDOM_SIZE * 2, param, paramlen);
challenge_len = challenge_len > SSL3_RANDOM_SIZE
? SSL3_RANDOM_SIZE
memset(clienthello->random, 0, SSL3_RANDOM_SIZE);
clienthello->random + SSL3_RANDOM_SIZE - challenge_len, challenge_len)
if (!PACKET_copy_bytes(pkt, clienthello->random, SSL3_RANDOM_SIZE)
memcpy(s->s3.client_random, clienthello->random, SSL3_RANDOM_SIZE);
if (ssl_fill_hello_random(s, 1, pos, SSL3_RANDOM_SIZE, dgrd) <= 0) {
SSL3_RANDOM_SIZE)) {
BIO_dump_indent(trc_out, s->s3.client_random, SSL3_RANDOM_SIZE, 4);
BIO_dump_indent(trc_out, s->s3.server_random, SSL3_RANDOM_SIZE, 4);
s->s3.client_random, SSL3_RANDOM_SIZE,
s->s3.server_random, SSL3_RANDOM_SIZE,
BIO_dump_indent(trc_out, s->s3.client_random, SSL3_RANDOM_SIZE, 4);
BIO_dump_indent(trc_out, s->s3.server_random, SSL3_RANDOM_SIZE, 4);
vallen = llen + SSL3_RANDOM_SIZE * 2;
memcpy(val + currentvalpos, s->s3.client_random, SSL3_RANDOM_SIZE);
currentvalpos += SSL3_RANDOM_SIZE;
memcpy(val + currentvalpos, s->s3.server_random, SSL3_RANDOM_SIZE);
currentvalpos += SSL3_RANDOM_SIZE;
SSL3_RANDOM_SIZE, s->s3.client_random, SSL3_RANDOM_SIZE,
if (!PACKET_copy_bytes(&pkt, client_random, SSL3_RANDOM_SIZE))
static unsigned char client_random[SSL3_RANDOM_SIZE];
static unsigned char server_random[SSL3_RANDOM_SIZE];
server_random, SSL3_RANDOM_SIZE,
client_random, SSL3_RANDOM_SIZE,
|| !TEST_true(PACKET_forward(&pkt, CLIENT_VERSION_LEN + SSL3_RANDOM_SIZE))
|| !TEST_true(PACKET_forward(&pkt, CLIENT_VERSION_LEN + SSL3_RANDOM_SIZE))
unsigned char actual_client_random[SSL3_RANDOM_SIZE] = { 0 };
size_t client_random_size = SSL3_RANDOM_SIZE;
SSL3_RANDOM_SIZE);
if (!TEST_size_t_eq(client_random_size, SSL3_RANDOM_SIZE))
SSL3_RANDOM_SIZE);
if (!TEST_size_t_eq(client_random_size, SSL3_RANDOM_SIZE))
|| !TEST_true(PACKET_forward(&pkt, CLIENT_VERSION_LEN + SSL3_RANDOM_SIZE))