Commit 3da721da authored by Nick Mathewson's avatar Nick Mathewson
Browse files

Refactor {client,server}_random to call an intermediate function

I'll be using this to make an option for randomizing the time.
parent f4c93b46
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -801,7 +801,7 @@ int dtls1_client_hello(SSL *s)
		for (i=0;p[i]=='\0' && i<sizeof(s->s3->client_random);i++) ;
		if (i==sizeof(s->s3->client_random))
			{
			RAND_pseudo_bytes(p,sizeof(s->s3->client_random));
			ssl_fill_hello_random(s,0,p,sizeof(s->s3->client_random));
			}

		/* Do the message type and length last */
+1 −1
Original line number Diff line number Diff line
@@ -918,7 +918,7 @@ int dtls1_send_server_hello(SSL *s)
		{
		buf=(unsigned char *)s->init_buf->data;
		p=s->s3->server_random;
		RAND_pseudo_bytes(p,SSL3_RANDOM_SIZE);
		ssl_fill_hello_random(s, 1, p, SSL3_RANDOM_SIZE);
		/* Do the message type and length last */
		d=p= &(buf[DTLS1_HM_HEADER_LENGTH]);

+8 −1
Original line number Diff line number Diff line
@@ -269,6 +269,13 @@ static int ssl23_no_ssl2_ciphers(SSL *s)
	return 1;
	}

/* Fill a ClientRandom or ServerRandom field of length len. Returns <= 0
 * on failure, 1 on success. */
int ssl_fill_hello_random(SSL *s, int server, unsigned char *result, int len)
	{
	return RAND_pseudo_bytes(result, len);
	}

static int ssl23_client_hello(SSL *s)
	{
	unsigned char *buf;
@@ -355,7 +362,7 @@ static int ssl23_client_hello(SSL *s)
#endif

		p=s->s3->client_random;
		if (RAND_pseudo_bytes(p,SSL3_RANDOM_SIZE) <= 0)
		if (ssl_fill_hello_random(s, 0, p, SSL3_RANDOM_SIZE) <= 0)
			return -1;

		if (version == TLS1_2_VERSION)
+2 −1
Original line number Diff line number Diff line
@@ -680,7 +680,8 @@ int ssl3_client_hello(SSL *s)
		/* else use the pre-loaded session */

		p=s->s3->client_random;
		if (RAND_pseudo_bytes(p,SSL3_RANDOM_SIZE) <= 0)

		if (ssl_fill_hello_random(s, 0, p, SSL3_RANDOM_SIZE) <= 0)
			goto err;

		/* Do the message type and length last */
+2 −2
Original line number Diff line number Diff line
@@ -1195,7 +1195,7 @@ int ssl3_get_client_hello(SSL *s)
	{
		unsigned char *pos;
		pos=s->s3->server_random;
		if (RAND_pseudo_bytes(pos,SSL3_RANDOM_SIZE) <= 0)
		if (ssl_fill_hello_random(s,1,pos,SSL3_RANDOM_SIZE) <= 0)
			{
			al=SSL_AD_INTERNAL_ERROR;
			goto f_err;
Loading