diff options
Diffstat (limited to '')
34 files changed, 76 insertions, 130 deletions
| diff --git a/src/lib/libssl/d1_both.c b/src/lib/libssl/d1_both.c index 1eda4aef72..10659a5136 100644 --- a/src/lib/libssl/d1_both.c +++ b/src/lib/libssl/d1_both.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_both.c,v 1.28 2014/08/08 05:06:56 guenther Exp $ */ | 1 | /* $OpenBSD: d1_both.c,v 1.29 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -118,7 +118,6 @@ | |||
| 118 | #include <stdio.h> | 118 | #include <stdio.h> | 
| 119 | #include "ssl_locl.h" | 119 | #include "ssl_locl.h" | 
| 120 | #include <openssl/buffer.h> | 120 | #include <openssl/buffer.h> | 
| 121 | #include <openssl/rand.h> | ||
| 122 | #include <openssl/objects.h> | 121 | #include <openssl/objects.h> | 
| 123 | #include <openssl/evp.h> | 122 | #include <openssl/evp.h> | 
| 124 | #include <openssl/x509.h> | 123 | #include <openssl/x509.h> | 
| diff --git a/src/lib/libssl/d1_clnt.c b/src/lib/libssl/d1_clnt.c index 0cc4016d11..4b71f01a6c 100644 --- a/src/lib/libssl/d1_clnt.c +++ b/src/lib/libssl/d1_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_clnt.c,v 1.35 2014/09/07 12:16:23 jsing Exp $ */ | 1 | /* $OpenBSD: d1_clnt.c,v 1.36 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -116,7 +116,6 @@ | |||
| 116 | #include <stdio.h> | 116 | #include <stdio.h> | 
| 117 | #include "ssl_locl.h" | 117 | #include "ssl_locl.h" | 
| 118 | #include <openssl/buffer.h> | 118 | #include <openssl/buffer.h> | 
| 119 | #include <openssl/rand.h> | ||
| 120 | #include <openssl/objects.h> | 119 | #include <openssl/objects.h> | 
| 121 | #include <openssl/evp.h> | 120 | #include <openssl/evp.h> | 
| 122 | #include <openssl/md5.h> | 121 | #include <openssl/md5.h> | 
| @@ -779,7 +778,7 @@ dtls1_client_hello(SSL *s) | |||
| 779 | for (i = 0; p[i]=='\0' && i < sizeof(s->s3->client_random); i++) | 778 | for (i = 0; p[i]=='\0' && i < sizeof(s->s3->client_random); i++) | 
| 780 | ; | 779 | ; | 
| 781 | if (i == sizeof(s->s3->client_random)) | 780 | if (i == sizeof(s->s3->client_random)) | 
| 782 | RAND_pseudo_bytes(p, sizeof(s->s3->client_random)); | 781 | arc4random_buf(p, sizeof(s->s3->client_random)); | 
| 783 | 782 | ||
| 784 | /* Do the message type and length last */ | 783 | /* Do the message type and length last */ | 
| 785 | d = p = &(buf[DTLS1_HM_HEADER_LENGTH]); | 784 | d = p = &(buf[DTLS1_HM_HEADER_LENGTH]); | 
| @@ -954,8 +953,7 @@ dtls1_send_client_key_exchange(SSL *s) | |||
| 954 | 953 | ||
| 955 | tmp_buf[0] = s->client_version >> 8; | 954 | tmp_buf[0] = s->client_version >> 8; | 
| 956 | tmp_buf[1] = s->client_version&0xff; | 955 | tmp_buf[1] = s->client_version&0xff; | 
| 957 | if (RAND_bytes(&(tmp_buf[2]), sizeof tmp_buf - 2) <= 0) | 956 | arc4random_buf(&tmp_buf[2], sizeof(tmp_buf) - 2); | 
| 958 | goto err; | ||
| 959 | 957 | ||
| 960 | s->session->master_key_length = sizeof tmp_buf; | 958 | s->session->master_key_length = sizeof tmp_buf; | 
| 961 | 959 | ||
| diff --git a/src/lib/libssl/d1_enc.c b/src/lib/libssl/d1_enc.c index fe8df15a94..32fcd333f6 100644 --- a/src/lib/libssl/d1_enc.c +++ b/src/lib/libssl/d1_enc.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_enc.c,v 1.6 2014/07/10 08:51:14 tedu Exp $ */ | 1 | /* $OpenBSD: d1_enc.c,v 1.7 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -118,7 +118,6 @@ | |||
| 118 | #include <openssl/evp.h> | 118 | #include <openssl/evp.h> | 
| 119 | #include <openssl/hmac.h> | 119 | #include <openssl/hmac.h> | 
| 120 | #include <openssl/md5.h> | 120 | #include <openssl/md5.h> | 
| 121 | #include <openssl/rand.h> | ||
| 122 | 121 | ||
| 123 | /* dtls1_enc encrypts/decrypts the record in |s->wrec| / |s->rrec|, respectively. | 122 | /* dtls1_enc encrypts/decrypts the record in |s->wrec| / |s->rrec|, respectively. | 
| 124 | * | 123 | * | 
| @@ -154,8 +153,8 @@ dtls1_enc(SSL *s, int send) | |||
| 154 | fprintf(stderr, "%s:%d: rec->data != rec->input\n", | 153 | fprintf(stderr, "%s:%d: rec->data != rec->input\n", | 
| 155 | __FILE__, __LINE__); | 154 | __FILE__, __LINE__); | 
| 156 | else if (EVP_CIPHER_block_size(ds->cipher) > 1) { | 155 | else if (EVP_CIPHER_block_size(ds->cipher) > 1) { | 
| 157 | if (RAND_bytes(rec->input, EVP_CIPHER_block_size(ds->cipher)) <= 0) | 156 | arc4random_buf(rec->input, | 
| 158 | return -1; | 157 | EVP_CIPHER_block_size(ds->cipher)); | 
| 159 | } | 158 | } | 
| 160 | } | 159 | } | 
| 161 | } else { | 160 | } else { | 
| diff --git a/src/lib/libssl/d1_pkt.c b/src/lib/libssl/d1_pkt.c index 7b0d67bf15..6f3ee26217 100644 --- a/src/lib/libssl/d1_pkt.c +++ b/src/lib/libssl/d1_pkt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_pkt.c,v 1.34 2014/08/07 20:02:23 miod Exp $ */ | 1 | /* $OpenBSD: d1_pkt.c,v 1.35 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -119,7 +119,6 @@ | |||
| 119 | #include "ssl_locl.h" | 119 | #include "ssl_locl.h" | 
| 120 | #include <openssl/evp.h> | 120 | #include <openssl/evp.h> | 
| 121 | #include <openssl/buffer.h> | 121 | #include <openssl/buffer.h> | 
| 122 | #include <openssl/rand.h> | ||
| 123 | 122 | ||
| 124 | #include "pqueue.h" | 123 | #include "pqueue.h" | 
| 125 | 124 | ||
| @@ -1380,7 +1379,7 @@ do_dtls1_write(SSL *s, int type, const unsigned char *buf, unsigned int len) | |||
| 1380 | /* ssl3_enc can only have an error on read */ | 1379 | /* ssl3_enc can only have an error on read */ | 
| 1381 | if (bs) /* bs != 0 in case of CBC */ | 1380 | if (bs) /* bs != 0 in case of CBC */ | 
| 1382 | { | 1381 | { | 
| 1383 | RAND_pseudo_bytes(p, bs); | 1382 | arc4random_buf(p, bs); | 
| 1384 | /* master IV and last CBC residue stand for | 1383 | /* master IV and last CBC residue stand for | 
| 1385 | * the rest of randomness */ | 1384 | * the rest of randomness */ | 
| 1386 | wr->length += bs; | 1385 | wr->length += bs; | 
| diff --git a/src/lib/libssl/d1_srvr.c b/src/lib/libssl/d1_srvr.c index 68441fa63a..a85715753c 100644 --- a/src/lib/libssl/d1_srvr.c +++ b/src/lib/libssl/d1_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_srvr.c,v 1.39 2014/09/27 11:03:43 jsing Exp $ */ | 1 | /* $OpenBSD: d1_srvr.c,v 1.40 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -116,7 +116,6 @@ | |||
| 116 | #include <stdio.h> | 116 | #include <stdio.h> | 
| 117 | #include "ssl_locl.h" | 117 | #include "ssl_locl.h" | 
| 118 | #include <openssl/buffer.h> | 118 | #include <openssl/buffer.h> | 
| 119 | #include <openssl/rand.h> | ||
| 120 | #include <openssl/objects.h> | 119 | #include <openssl/objects.h> | 
| 121 | #include <openssl/evp.h> | 120 | #include <openssl/evp.h> | 
| 122 | #include <openssl/x509.h> | 121 | #include <openssl/x509.h> | 
| @@ -902,8 +901,7 @@ dtls1_send_server_hello(SSL *s) | |||
| 902 | 901 | ||
| 903 | if (s->state == SSL3_ST_SW_SRVR_HELLO_A) { | 902 | if (s->state == SSL3_ST_SW_SRVR_HELLO_A) { | 
| 904 | buf = (unsigned char *)s->init_buf->data; | 903 | buf = (unsigned char *)s->init_buf->data; | 
| 905 | p = s->s3->server_random; | 904 | arc4random_buf(s->s3->server_random, SSL3_RANDOM_SIZE); | 
| 906 | RAND_pseudo_bytes(p, SSL3_RANDOM_SIZE); | ||
| 907 | 905 | ||
| 908 | /* Do the message type and length last */ | 906 | /* Do the message type and length last */ | 
| 909 | d = p= &(buf[DTLS1_HM_HEADER_LENGTH]); | 907 | d = p= &(buf[DTLS1_HM_HEADER_LENGTH]); | 
| @@ -1513,7 +1511,7 @@ dtls1_send_newsession_ticket(SSL *s) | |||
| 1513 | return -1; | 1511 | return -1; | 
| 1514 | } | 1512 | } | 
| 1515 | } else { | 1513 | } else { | 
| 1516 | RAND_pseudo_bytes(iv, 16); | 1514 | arc4random_buf(iv, 16); | 
| 1517 | EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, | 1515 | EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, | 
| 1518 | tctx->tlsext_tick_aes_key, iv); | 1516 | tctx->tlsext_tick_aes_key, iv); | 
| 1519 | HMAC_Init_ex(&hctx, tctx->tlsext_tick_hmac_key, 16, | 1517 | HMAC_Init_ex(&hctx, tctx->tlsext_tick_hmac_key, 16, | 
| diff --git a/src/lib/libssl/s23_clnt.c b/src/lib/libssl/s23_clnt.c index 81683e5949..7967344e2a 100644 --- a/src/lib/libssl/s23_clnt.c +++ b/src/lib/libssl/s23_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s23_clnt.c,v 1.32 2014/08/10 14:42:56 jsing Exp $ */ | 1 | /* $OpenBSD: s23_clnt.c,v 1.33 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -112,7 +112,6 @@ | |||
| 112 | #include <stdio.h> | 112 | #include <stdio.h> | 
| 113 | #include "ssl_locl.h" | 113 | #include "ssl_locl.h" | 
| 114 | #include <openssl/buffer.h> | 114 | #include <openssl/buffer.h> | 
| 115 | #include <openssl/rand.h> | ||
| 116 | #include <openssl/objects.h> | 115 | #include <openssl/objects.h> | 
| 117 | #include <openssl/evp.h> | 116 | #include <openssl/evp.h> | 
| 118 | 117 | ||
| @@ -317,8 +316,7 @@ ssl23_client_hello(SSL *s) | |||
| 317 | 316 | ||
| 318 | buf = (unsigned char *)s->init_buf->data; | 317 | buf = (unsigned char *)s->init_buf->data; | 
| 319 | if (s->state == SSL23_ST_CW_CLNT_HELLO_A) { | 318 | if (s->state == SSL23_ST_CW_CLNT_HELLO_A) { | 
| 320 | p = s->s3->client_random; | 319 | arc4random_buf(s->s3->client_random, SSL3_RANDOM_SIZE); | 
| 321 | RAND_pseudo_bytes(p, SSL3_RANDOM_SIZE); | ||
| 322 | 320 | ||
| 323 | if (version == TLS1_2_VERSION) { | 321 | if (version == TLS1_2_VERSION) { | 
| 324 | version_major = TLS1_2_VERSION_MAJOR; | 322 | version_major = TLS1_2_VERSION_MAJOR; | 
| diff --git a/src/lib/libssl/s23_srvr.c b/src/lib/libssl/s23_srvr.c index 4733fc40a5..a278fe923b 100644 --- a/src/lib/libssl/s23_srvr.c +++ b/src/lib/libssl/s23_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s23_srvr.c,v 1.34 2014/08/10 14:42:56 jsing Exp $ */ | 1 | /* $OpenBSD: s23_srvr.c,v 1.35 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -112,7 +112,6 @@ | |||
| 112 | #include <stdio.h> | 112 | #include <stdio.h> | 
| 113 | #include "ssl_locl.h" | 113 | #include "ssl_locl.h" | 
| 114 | #include <openssl/buffer.h> | 114 | #include <openssl/buffer.h> | 
| 115 | #include <openssl/rand.h> | ||
| 116 | #include <openssl/objects.h> | 115 | #include <openssl/objects.h> | 
| 117 | #include <openssl/evp.h> | 116 | #include <openssl/evp.h> | 
| 118 | 117 | ||
| diff --git a/src/lib/libssl/s3_both.c b/src/lib/libssl/s3_both.c index 6d108c295b..cd0a4b8013 100644 --- a/src/lib/libssl/s3_both.c +++ b/src/lib/libssl/s3_both.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_both.c,v 1.30 2014/09/22 13:18:50 jsing Exp $ */ | 1 | /* $OpenBSD: s3_both.c,v 1.31 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -119,7 +119,6 @@ | |||
| 119 | #include <stdio.h> | 119 | #include <stdio.h> | 
| 120 | #include "ssl_locl.h" | 120 | #include "ssl_locl.h" | 
| 121 | #include <openssl/buffer.h> | 121 | #include <openssl/buffer.h> | 
| 122 | #include <openssl/rand.h> | ||
| 123 | #include <openssl/objects.h> | 122 | #include <openssl/objects.h> | 
| 124 | #include <openssl/evp.h> | 123 | #include <openssl/evp.h> | 
| 125 | #include <openssl/x509.h> | 124 | #include <openssl/x509.h> | 
| diff --git a/src/lib/libssl/s3_clnt.c b/src/lib/libssl/s3_clnt.c index 9aa599a1c6..179e9400d4 100644 --- a/src/lib/libssl/s3_clnt.c +++ b/src/lib/libssl/s3_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_clnt.c,v 1.91 2014/09/27 11:01:05 jsing Exp $ */ | 1 | /* $OpenBSD: s3_clnt.c,v 1.92 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -151,7 +151,6 @@ | |||
| 151 | #include <stdio.h> | 151 | #include <stdio.h> | 
| 152 | #include "ssl_locl.h" | 152 | #include "ssl_locl.h" | 
| 153 | #include <openssl/buffer.h> | 153 | #include <openssl/buffer.h> | 
| 154 | #include <openssl/rand.h> | ||
| 155 | #include <openssl/objects.h> | 154 | #include <openssl/objects.h> | 
| 156 | #include <openssl/evp.h> | 155 | #include <openssl/evp.h> | 
| 157 | #include <openssl/md5.h> | 156 | #include <openssl/md5.h> | 
| @@ -657,8 +656,7 @@ ssl3_client_hello(SSL *s) | |||
| 657 | } | 656 | } | 
| 658 | /* else use the pre-loaded session */ | 657 | /* else use the pre-loaded session */ | 
| 659 | 658 | ||
| 660 | p = s->s3->client_random; | 659 | arc4random_buf(s->s3->client_random, SSL3_RANDOM_SIZE); | 
| 661 | RAND_pseudo_bytes(p, SSL3_RANDOM_SIZE); | ||
| 662 | 660 | ||
| 663 | /* Do the message type and length last */ | 661 | /* Do the message type and length last */ | 
| 664 | d = p = &buf[4]; | 662 | d = p = &buf[4]; | 
| @@ -1990,8 +1988,7 @@ ssl3_send_client_key_exchange(SSL *s) | |||
| 1990 | 1988 | ||
| 1991 | tmp_buf[0] = s->client_version >> 8; | 1989 | tmp_buf[0] = s->client_version >> 8; | 
| 1992 | tmp_buf[1] = s->client_version & 0xff; | 1990 | tmp_buf[1] = s->client_version & 0xff; | 
| 1993 | if (RAND_bytes(&(tmp_buf[2]), sizeof tmp_buf - 2) <= 0) | 1991 | arc4random_buf(&tmp_buf[2], sizeof(tmp_buf) - 2); | 
| 1994 | goto err; | ||
| 1995 | 1992 | ||
| 1996 | s->session->master_key_length = sizeof tmp_buf; | 1993 | s->session->master_key_length = sizeof tmp_buf; | 
| 1997 | 1994 | ||
| @@ -2303,7 +2300,7 @@ ssl3_send_client_key_exchange(SSL *s) | |||
| 2303 | 2300 | ||
| 2304 | EVP_PKEY_encrypt_init(pkey_ctx); | 2301 | EVP_PKEY_encrypt_init(pkey_ctx); | 
| 2305 | /* Generate session key. */ | 2302 | /* Generate session key. */ | 
| 2306 | RAND_bytes(premaster_secret, 32); | 2303 | arc4random_buf(premaster_secret, 32); | 
| 2307 | /* | 2304 | /* | 
| 2308 | * If we have client certificate, use its secret | 2305 | * If we have client certificate, use its secret | 
| 2309 | * as peer key. | 2306 | * as peer key. | 
| diff --git a/src/lib/libssl/s3_pkt.c b/src/lib/libssl/s3_pkt.c index cbd35ff7e3..62fc6fbce2 100644 --- a/src/lib/libssl/s3_pkt.c +++ b/src/lib/libssl/s3_pkt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_pkt.c,v 1.50 2014/07/12 13:11:53 jsing Exp $ */ | 1 | /* $OpenBSD: s3_pkt.c,v 1.51 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -114,7 +114,6 @@ | |||
| 114 | #include "ssl_locl.h" | 114 | #include "ssl_locl.h" | 
| 115 | #include <openssl/evp.h> | 115 | #include <openssl/evp.h> | 
| 116 | #include <openssl/buffer.h> | 116 | #include <openssl/buffer.h> | 
| 117 | #include <openssl/rand.h> | ||
| 118 | 117 | ||
| 119 | static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, | 118 | static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, | 
| 120 | unsigned int len, int create_empty_fragment); | 119 | unsigned int len, int create_empty_fragment); | 
| diff --git a/src/lib/libssl/s3_srvr.c b/src/lib/libssl/s3_srvr.c index c4a8442a3e..719b4c56c1 100644 --- a/src/lib/libssl/s3_srvr.c +++ b/src/lib/libssl/s3_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_srvr.c,v 1.86 2014/10/03 13:58:18 jsing Exp $ */ | 1 | /* $OpenBSD: s3_srvr.c,v 1.87 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -154,7 +154,6 @@ | |||
| 154 | #include <stdio.h> | 154 | #include <stdio.h> | 
| 155 | #include "ssl_locl.h" | 155 | #include "ssl_locl.h" | 
| 156 | #include <openssl/buffer.h> | 156 | #include <openssl/buffer.h> | 
| 157 | #include <openssl/rand.h> | ||
| 158 | #include <openssl/objects.h> | 157 | #include <openssl/objects.h> | 
| 159 | #include <openssl/evp.h> | 158 | #include <openssl/evp.h> | 
| 160 | #include <openssl/hmac.h> | 159 | #include <openssl/hmac.h> | 
| @@ -1106,11 +1105,7 @@ ssl3_get_client_hello(SSL *s) | |||
| 1106 | * server_random before calling tls_session_secret_cb in order to allow | 1105 | * server_random before calling tls_session_secret_cb in order to allow | 
| 1107 | * SessionTicket processing to use it in key derivation. | 1106 | * SessionTicket processing to use it in key derivation. | 
| 1108 | */ | 1107 | */ | 
| 1109 | { | 1108 | arc4random_buf(s->s3->server_random, SSL3_RANDOM_SIZE); | 
| 1110 | unsigned char *pos; | ||
| 1111 | pos = s->s3->server_random; | ||
| 1112 | RAND_pseudo_bytes(pos, SSL3_RANDOM_SIZE); | ||
| 1113 | } | ||
| 1114 | 1109 | ||
| 1115 | if (!s->hit && s->version >= TLS1_VERSION && s->tls_session_secret_cb) { | 1110 | if (!s->hit && s->version >= TLS1_VERSION && s->tls_session_secret_cb) { | 
| 1116 | SSL_CIPHER *pref_cipher = NULL; | 1111 | SSL_CIPHER *pref_cipher = NULL; | 
| @@ -1961,7 +1956,7 @@ ssl3_get_client_key_exchange(SSL *s) | |||
| 1961 | i = SSL_MAX_MASTER_KEY_LENGTH; | 1956 | i = SSL_MAX_MASTER_KEY_LENGTH; | 
| 1962 | p[0] = s->client_version >> 8; | 1957 | p[0] = s->client_version >> 8; | 
| 1963 | p[1] = s->client_version & 0xff; | 1958 | p[1] = s->client_version & 0xff; | 
| 1964 | RAND_bytes(p+2, i-2); | 1959 | arc4random_buf(p + 2, i - 2); | 
| 1965 | } | 1960 | } | 
| 1966 | 1961 | ||
| 1967 | s->session->master_key_length = | 1962 | s->session->master_key_length = | 
| @@ -2774,7 +2769,7 @@ ssl3_send_newsession_ticket(SSL *s) | |||
| 2774 | return (-1); | 2769 | return (-1); | 
| 2775 | } | 2770 | } | 
| 2776 | } else { | 2771 | } else { | 
| 2777 | RAND_pseudo_bytes(iv, 16); | 2772 | arc4random_buf(iv, 16); | 
| 2778 | EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, | 2773 | EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, | 
| 2779 | tctx->tlsext_tick_aes_key, iv); | 2774 | tctx->tlsext_tick_aes_key, iv); | 
| 2780 | HMAC_Init_ex(&hctx, tctx->tlsext_tick_hmac_key, 16, | 2775 | HMAC_Init_ex(&hctx, tctx->tlsext_tick_hmac_key, 16, | 
| diff --git a/src/lib/libssl/src/ssl/d1_both.c b/src/lib/libssl/src/ssl/d1_both.c index 1eda4aef72..10659a5136 100644 --- a/src/lib/libssl/src/ssl/d1_both.c +++ b/src/lib/libssl/src/ssl/d1_both.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_both.c,v 1.28 2014/08/08 05:06:56 guenther Exp $ */ | 1 | /* $OpenBSD: d1_both.c,v 1.29 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -118,7 +118,6 @@ | |||
| 118 | #include <stdio.h> | 118 | #include <stdio.h> | 
| 119 | #include "ssl_locl.h" | 119 | #include "ssl_locl.h" | 
| 120 | #include <openssl/buffer.h> | 120 | #include <openssl/buffer.h> | 
| 121 | #include <openssl/rand.h> | ||
| 122 | #include <openssl/objects.h> | 121 | #include <openssl/objects.h> | 
| 123 | #include <openssl/evp.h> | 122 | #include <openssl/evp.h> | 
| 124 | #include <openssl/x509.h> | 123 | #include <openssl/x509.h> | 
| diff --git a/src/lib/libssl/src/ssl/d1_clnt.c b/src/lib/libssl/src/ssl/d1_clnt.c index 0cc4016d11..4b71f01a6c 100644 --- a/src/lib/libssl/src/ssl/d1_clnt.c +++ b/src/lib/libssl/src/ssl/d1_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_clnt.c,v 1.35 2014/09/07 12:16:23 jsing Exp $ */ | 1 | /* $OpenBSD: d1_clnt.c,v 1.36 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -116,7 +116,6 @@ | |||
| 116 | #include <stdio.h> | 116 | #include <stdio.h> | 
| 117 | #include "ssl_locl.h" | 117 | #include "ssl_locl.h" | 
| 118 | #include <openssl/buffer.h> | 118 | #include <openssl/buffer.h> | 
| 119 | #include <openssl/rand.h> | ||
| 120 | #include <openssl/objects.h> | 119 | #include <openssl/objects.h> | 
| 121 | #include <openssl/evp.h> | 120 | #include <openssl/evp.h> | 
| 122 | #include <openssl/md5.h> | 121 | #include <openssl/md5.h> | 
| @@ -779,7 +778,7 @@ dtls1_client_hello(SSL *s) | |||
| 779 | for (i = 0; p[i]=='\0' && i < sizeof(s->s3->client_random); i++) | 778 | for (i = 0; p[i]=='\0' && i < sizeof(s->s3->client_random); i++) | 
| 780 | ; | 779 | ; | 
| 781 | if (i == sizeof(s->s3->client_random)) | 780 | if (i == sizeof(s->s3->client_random)) | 
| 782 | RAND_pseudo_bytes(p, sizeof(s->s3->client_random)); | 781 | arc4random_buf(p, sizeof(s->s3->client_random)); | 
| 783 | 782 | ||
| 784 | /* Do the message type and length last */ | 783 | /* Do the message type and length last */ | 
| 785 | d = p = &(buf[DTLS1_HM_HEADER_LENGTH]); | 784 | d = p = &(buf[DTLS1_HM_HEADER_LENGTH]); | 
| @@ -954,8 +953,7 @@ dtls1_send_client_key_exchange(SSL *s) | |||
| 954 | 953 | ||
| 955 | tmp_buf[0] = s->client_version >> 8; | 954 | tmp_buf[0] = s->client_version >> 8; | 
| 956 | tmp_buf[1] = s->client_version&0xff; | 955 | tmp_buf[1] = s->client_version&0xff; | 
| 957 | if (RAND_bytes(&(tmp_buf[2]), sizeof tmp_buf - 2) <= 0) | 956 | arc4random_buf(&tmp_buf[2], sizeof(tmp_buf) - 2); | 
| 958 | goto err; | ||
| 959 | 957 | ||
| 960 | s->session->master_key_length = sizeof tmp_buf; | 958 | s->session->master_key_length = sizeof tmp_buf; | 
| 961 | 959 | ||
| diff --git a/src/lib/libssl/src/ssl/d1_enc.c b/src/lib/libssl/src/ssl/d1_enc.c index fe8df15a94..32fcd333f6 100644 --- a/src/lib/libssl/src/ssl/d1_enc.c +++ b/src/lib/libssl/src/ssl/d1_enc.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_enc.c,v 1.6 2014/07/10 08:51:14 tedu Exp $ */ | 1 | /* $OpenBSD: d1_enc.c,v 1.7 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -118,7 +118,6 @@ | |||
| 118 | #include <openssl/evp.h> | 118 | #include <openssl/evp.h> | 
| 119 | #include <openssl/hmac.h> | 119 | #include <openssl/hmac.h> | 
| 120 | #include <openssl/md5.h> | 120 | #include <openssl/md5.h> | 
| 121 | #include <openssl/rand.h> | ||
| 122 | 121 | ||
| 123 | /* dtls1_enc encrypts/decrypts the record in |s->wrec| / |s->rrec|, respectively. | 122 | /* dtls1_enc encrypts/decrypts the record in |s->wrec| / |s->rrec|, respectively. | 
| 124 | * | 123 | * | 
| @@ -154,8 +153,8 @@ dtls1_enc(SSL *s, int send) | |||
| 154 | fprintf(stderr, "%s:%d: rec->data != rec->input\n", | 153 | fprintf(stderr, "%s:%d: rec->data != rec->input\n", | 
| 155 | __FILE__, __LINE__); | 154 | __FILE__, __LINE__); | 
| 156 | else if (EVP_CIPHER_block_size(ds->cipher) > 1) { | 155 | else if (EVP_CIPHER_block_size(ds->cipher) > 1) { | 
| 157 | if (RAND_bytes(rec->input, EVP_CIPHER_block_size(ds->cipher)) <= 0) | 156 | arc4random_buf(rec->input, | 
| 158 | return -1; | 157 | EVP_CIPHER_block_size(ds->cipher)); | 
| 159 | } | 158 | } | 
| 160 | } | 159 | } | 
| 161 | } else { | 160 | } else { | 
| diff --git a/src/lib/libssl/src/ssl/d1_pkt.c b/src/lib/libssl/src/ssl/d1_pkt.c index 7b0d67bf15..6f3ee26217 100644 --- a/src/lib/libssl/src/ssl/d1_pkt.c +++ b/src/lib/libssl/src/ssl/d1_pkt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_pkt.c,v 1.34 2014/08/07 20:02:23 miod Exp $ */ | 1 | /* $OpenBSD: d1_pkt.c,v 1.35 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -119,7 +119,6 @@ | |||
| 119 | #include "ssl_locl.h" | 119 | #include "ssl_locl.h" | 
| 120 | #include <openssl/evp.h> | 120 | #include <openssl/evp.h> | 
| 121 | #include <openssl/buffer.h> | 121 | #include <openssl/buffer.h> | 
| 122 | #include <openssl/rand.h> | ||
| 123 | 122 | ||
| 124 | #include "pqueue.h" | 123 | #include "pqueue.h" | 
| 125 | 124 | ||
| @@ -1380,7 +1379,7 @@ do_dtls1_write(SSL *s, int type, const unsigned char *buf, unsigned int len) | |||
| 1380 | /* ssl3_enc can only have an error on read */ | 1379 | /* ssl3_enc can only have an error on read */ | 
| 1381 | if (bs) /* bs != 0 in case of CBC */ | 1380 | if (bs) /* bs != 0 in case of CBC */ | 
| 1382 | { | 1381 | { | 
| 1383 | RAND_pseudo_bytes(p, bs); | 1382 | arc4random_buf(p, bs); | 
| 1384 | /* master IV and last CBC residue stand for | 1383 | /* master IV and last CBC residue stand for | 
| 1385 | * the rest of randomness */ | 1384 | * the rest of randomness */ | 
| 1386 | wr->length += bs; | 1385 | wr->length += bs; | 
| diff --git a/src/lib/libssl/src/ssl/d1_srvr.c b/src/lib/libssl/src/ssl/d1_srvr.c index 68441fa63a..a85715753c 100644 --- a/src/lib/libssl/src/ssl/d1_srvr.c +++ b/src/lib/libssl/src/ssl/d1_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: d1_srvr.c,v 1.39 2014/09/27 11:03:43 jsing Exp $ */ | 1 | /* $OpenBSD: d1_srvr.c,v 1.40 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu | 
| 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 
| @@ -116,7 +116,6 @@ | |||
| 116 | #include <stdio.h> | 116 | #include <stdio.h> | 
| 117 | #include "ssl_locl.h" | 117 | #include "ssl_locl.h" | 
| 118 | #include <openssl/buffer.h> | 118 | #include <openssl/buffer.h> | 
| 119 | #include <openssl/rand.h> | ||
| 120 | #include <openssl/objects.h> | 119 | #include <openssl/objects.h> | 
| 121 | #include <openssl/evp.h> | 120 | #include <openssl/evp.h> | 
| 122 | #include <openssl/x509.h> | 121 | #include <openssl/x509.h> | 
| @@ -902,8 +901,7 @@ dtls1_send_server_hello(SSL *s) | |||
| 902 | 901 | ||
| 903 | if (s->state == SSL3_ST_SW_SRVR_HELLO_A) { | 902 | if (s->state == SSL3_ST_SW_SRVR_HELLO_A) { | 
| 904 | buf = (unsigned char *)s->init_buf->data; | 903 | buf = (unsigned char *)s->init_buf->data; | 
| 905 | p = s->s3->server_random; | 904 | arc4random_buf(s->s3->server_random, SSL3_RANDOM_SIZE); | 
| 906 | RAND_pseudo_bytes(p, SSL3_RANDOM_SIZE); | ||
| 907 | 905 | ||
| 908 | /* Do the message type and length last */ | 906 | /* Do the message type and length last */ | 
| 909 | d = p= &(buf[DTLS1_HM_HEADER_LENGTH]); | 907 | d = p= &(buf[DTLS1_HM_HEADER_LENGTH]); | 
| @@ -1513,7 +1511,7 @@ dtls1_send_newsession_ticket(SSL *s) | |||
| 1513 | return -1; | 1511 | return -1; | 
| 1514 | } | 1512 | } | 
| 1515 | } else { | 1513 | } else { | 
| 1516 | RAND_pseudo_bytes(iv, 16); | 1514 | arc4random_buf(iv, 16); | 
| 1517 | EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, | 1515 | EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, | 
| 1518 | tctx->tlsext_tick_aes_key, iv); | 1516 | tctx->tlsext_tick_aes_key, iv); | 
| 1519 | HMAC_Init_ex(&hctx, tctx->tlsext_tick_hmac_key, 16, | 1517 | HMAC_Init_ex(&hctx, tctx->tlsext_tick_hmac_key, 16, | 
| diff --git a/src/lib/libssl/src/ssl/s23_clnt.c b/src/lib/libssl/src/ssl/s23_clnt.c index 81683e5949..7967344e2a 100644 --- a/src/lib/libssl/src/ssl/s23_clnt.c +++ b/src/lib/libssl/src/ssl/s23_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s23_clnt.c,v 1.32 2014/08/10 14:42:56 jsing Exp $ */ | 1 | /* $OpenBSD: s23_clnt.c,v 1.33 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -112,7 +112,6 @@ | |||
| 112 | #include <stdio.h> | 112 | #include <stdio.h> | 
| 113 | #include "ssl_locl.h" | 113 | #include "ssl_locl.h" | 
| 114 | #include <openssl/buffer.h> | 114 | #include <openssl/buffer.h> | 
| 115 | #include <openssl/rand.h> | ||
| 116 | #include <openssl/objects.h> | 115 | #include <openssl/objects.h> | 
| 117 | #include <openssl/evp.h> | 116 | #include <openssl/evp.h> | 
| 118 | 117 | ||
| @@ -317,8 +316,7 @@ ssl23_client_hello(SSL *s) | |||
| 317 | 316 | ||
| 318 | buf = (unsigned char *)s->init_buf->data; | 317 | buf = (unsigned char *)s->init_buf->data; | 
| 319 | if (s->state == SSL23_ST_CW_CLNT_HELLO_A) { | 318 | if (s->state == SSL23_ST_CW_CLNT_HELLO_A) { | 
| 320 | p = s->s3->client_random; | 319 | arc4random_buf(s->s3->client_random, SSL3_RANDOM_SIZE); | 
| 321 | RAND_pseudo_bytes(p, SSL3_RANDOM_SIZE); | ||
| 322 | 320 | ||
| 323 | if (version == TLS1_2_VERSION) { | 321 | if (version == TLS1_2_VERSION) { | 
| 324 | version_major = TLS1_2_VERSION_MAJOR; | 322 | version_major = TLS1_2_VERSION_MAJOR; | 
| diff --git a/src/lib/libssl/src/ssl/s23_srvr.c b/src/lib/libssl/src/ssl/s23_srvr.c index 4733fc40a5..a278fe923b 100644 --- a/src/lib/libssl/src/ssl/s23_srvr.c +++ b/src/lib/libssl/src/ssl/s23_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s23_srvr.c,v 1.34 2014/08/10 14:42:56 jsing Exp $ */ | 1 | /* $OpenBSD: s23_srvr.c,v 1.35 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -112,7 +112,6 @@ | |||
| 112 | #include <stdio.h> | 112 | #include <stdio.h> | 
| 113 | #include "ssl_locl.h" | 113 | #include "ssl_locl.h" | 
| 114 | #include <openssl/buffer.h> | 114 | #include <openssl/buffer.h> | 
| 115 | #include <openssl/rand.h> | ||
| 116 | #include <openssl/objects.h> | 115 | #include <openssl/objects.h> | 
| 117 | #include <openssl/evp.h> | 116 | #include <openssl/evp.h> | 
| 118 | 117 | ||
| diff --git a/src/lib/libssl/src/ssl/s3_both.c b/src/lib/libssl/src/ssl/s3_both.c index 6d108c295b..cd0a4b8013 100644 --- a/src/lib/libssl/src/ssl/s3_both.c +++ b/src/lib/libssl/src/ssl/s3_both.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_both.c,v 1.30 2014/09/22 13:18:50 jsing Exp $ */ | 1 | /* $OpenBSD: s3_both.c,v 1.31 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -119,7 +119,6 @@ | |||
| 119 | #include <stdio.h> | 119 | #include <stdio.h> | 
| 120 | #include "ssl_locl.h" | 120 | #include "ssl_locl.h" | 
| 121 | #include <openssl/buffer.h> | 121 | #include <openssl/buffer.h> | 
| 122 | #include <openssl/rand.h> | ||
| 123 | #include <openssl/objects.h> | 122 | #include <openssl/objects.h> | 
| 124 | #include <openssl/evp.h> | 123 | #include <openssl/evp.h> | 
| 125 | #include <openssl/x509.h> | 124 | #include <openssl/x509.h> | 
| diff --git a/src/lib/libssl/src/ssl/s3_clnt.c b/src/lib/libssl/src/ssl/s3_clnt.c index 9aa599a1c6..179e9400d4 100644 --- a/src/lib/libssl/src/ssl/s3_clnt.c +++ b/src/lib/libssl/src/ssl/s3_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_clnt.c,v 1.91 2014/09/27 11:01:05 jsing Exp $ */ | 1 | /* $OpenBSD: s3_clnt.c,v 1.92 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -151,7 +151,6 @@ | |||
| 151 | #include <stdio.h> | 151 | #include <stdio.h> | 
| 152 | #include "ssl_locl.h" | 152 | #include "ssl_locl.h" | 
| 153 | #include <openssl/buffer.h> | 153 | #include <openssl/buffer.h> | 
| 154 | #include <openssl/rand.h> | ||
| 155 | #include <openssl/objects.h> | 154 | #include <openssl/objects.h> | 
| 156 | #include <openssl/evp.h> | 155 | #include <openssl/evp.h> | 
| 157 | #include <openssl/md5.h> | 156 | #include <openssl/md5.h> | 
| @@ -657,8 +656,7 @@ ssl3_client_hello(SSL *s) | |||
| 657 | } | 656 | } | 
| 658 | /* else use the pre-loaded session */ | 657 | /* else use the pre-loaded session */ | 
| 659 | 658 | ||
| 660 | p = s->s3->client_random; | 659 | arc4random_buf(s->s3->client_random, SSL3_RANDOM_SIZE); | 
| 661 | RAND_pseudo_bytes(p, SSL3_RANDOM_SIZE); | ||
| 662 | 660 | ||
| 663 | /* Do the message type and length last */ | 661 | /* Do the message type and length last */ | 
| 664 | d = p = &buf[4]; | 662 | d = p = &buf[4]; | 
| @@ -1990,8 +1988,7 @@ ssl3_send_client_key_exchange(SSL *s) | |||
| 1990 | 1988 | ||
| 1991 | tmp_buf[0] = s->client_version >> 8; | 1989 | tmp_buf[0] = s->client_version >> 8; | 
| 1992 | tmp_buf[1] = s->client_version & 0xff; | 1990 | tmp_buf[1] = s->client_version & 0xff; | 
| 1993 | if (RAND_bytes(&(tmp_buf[2]), sizeof tmp_buf - 2) <= 0) | 1991 | arc4random_buf(&tmp_buf[2], sizeof(tmp_buf) - 2); | 
| 1994 | goto err; | ||
| 1995 | 1992 | ||
| 1996 | s->session->master_key_length = sizeof tmp_buf; | 1993 | s->session->master_key_length = sizeof tmp_buf; | 
| 1997 | 1994 | ||
| @@ -2303,7 +2300,7 @@ ssl3_send_client_key_exchange(SSL *s) | |||
| 2303 | 2300 | ||
| 2304 | EVP_PKEY_encrypt_init(pkey_ctx); | 2301 | EVP_PKEY_encrypt_init(pkey_ctx); | 
| 2305 | /* Generate session key. */ | 2302 | /* Generate session key. */ | 
| 2306 | RAND_bytes(premaster_secret, 32); | 2303 | arc4random_buf(premaster_secret, 32); | 
| 2307 | /* | 2304 | /* | 
| 2308 | * If we have client certificate, use its secret | 2305 | * If we have client certificate, use its secret | 
| 2309 | * as peer key. | 2306 | * as peer key. | 
| diff --git a/src/lib/libssl/src/ssl/s3_pkt.c b/src/lib/libssl/src/ssl/s3_pkt.c index cbd35ff7e3..62fc6fbce2 100644 --- a/src/lib/libssl/src/ssl/s3_pkt.c +++ b/src/lib/libssl/src/ssl/s3_pkt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_pkt.c,v 1.50 2014/07/12 13:11:53 jsing Exp $ */ | 1 | /* $OpenBSD: s3_pkt.c,v 1.51 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -114,7 +114,6 @@ | |||
| 114 | #include "ssl_locl.h" | 114 | #include "ssl_locl.h" | 
| 115 | #include <openssl/evp.h> | 115 | #include <openssl/evp.h> | 
| 116 | #include <openssl/buffer.h> | 116 | #include <openssl/buffer.h> | 
| 117 | #include <openssl/rand.h> | ||
| 118 | 117 | ||
| 119 | static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, | 118 | static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, | 
| 120 | unsigned int len, int create_empty_fragment); | 119 | unsigned int len, int create_empty_fragment); | 
| diff --git a/src/lib/libssl/src/ssl/s3_srvr.c b/src/lib/libssl/src/ssl/s3_srvr.c index c4a8442a3e..719b4c56c1 100644 --- a/src/lib/libssl/src/ssl/s3_srvr.c +++ b/src/lib/libssl/src/ssl/s3_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_srvr.c,v 1.86 2014/10/03 13:58:18 jsing Exp $ */ | 1 | /* $OpenBSD: s3_srvr.c,v 1.87 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -154,7 +154,6 @@ | |||
| 154 | #include <stdio.h> | 154 | #include <stdio.h> | 
| 155 | #include "ssl_locl.h" | 155 | #include "ssl_locl.h" | 
| 156 | #include <openssl/buffer.h> | 156 | #include <openssl/buffer.h> | 
| 157 | #include <openssl/rand.h> | ||
| 158 | #include <openssl/objects.h> | 157 | #include <openssl/objects.h> | 
| 159 | #include <openssl/evp.h> | 158 | #include <openssl/evp.h> | 
| 160 | #include <openssl/hmac.h> | 159 | #include <openssl/hmac.h> | 
| @@ -1106,11 +1105,7 @@ ssl3_get_client_hello(SSL *s) | |||
| 1106 | * server_random before calling tls_session_secret_cb in order to allow | 1105 | * server_random before calling tls_session_secret_cb in order to allow | 
| 1107 | * SessionTicket processing to use it in key derivation. | 1106 | * SessionTicket processing to use it in key derivation. | 
| 1108 | */ | 1107 | */ | 
| 1109 | { | 1108 | arc4random_buf(s->s3->server_random, SSL3_RANDOM_SIZE); | 
| 1110 | unsigned char *pos; | ||
| 1111 | pos = s->s3->server_random; | ||
| 1112 | RAND_pseudo_bytes(pos, SSL3_RANDOM_SIZE); | ||
| 1113 | } | ||
| 1114 | 1109 | ||
| 1115 | if (!s->hit && s->version >= TLS1_VERSION && s->tls_session_secret_cb) { | 1110 | if (!s->hit && s->version >= TLS1_VERSION && s->tls_session_secret_cb) { | 
| 1116 | SSL_CIPHER *pref_cipher = NULL; | 1111 | SSL_CIPHER *pref_cipher = NULL; | 
| @@ -1961,7 +1956,7 @@ ssl3_get_client_key_exchange(SSL *s) | |||
| 1961 | i = SSL_MAX_MASTER_KEY_LENGTH; | 1956 | i = SSL_MAX_MASTER_KEY_LENGTH; | 
| 1962 | p[0] = s->client_version >> 8; | 1957 | p[0] = s->client_version >> 8; | 
| 1963 | p[1] = s->client_version & 0xff; | 1958 | p[1] = s->client_version & 0xff; | 
| 1964 | RAND_bytes(p+2, i-2); | 1959 | arc4random_buf(p + 2, i - 2); | 
| 1965 | } | 1960 | } | 
| 1966 | 1961 | ||
| 1967 | s->session->master_key_length = | 1962 | s->session->master_key_length = | 
| @@ -2774,7 +2769,7 @@ ssl3_send_newsession_ticket(SSL *s) | |||
| 2774 | return (-1); | 2769 | return (-1); | 
| 2775 | } | 2770 | } | 
| 2776 | } else { | 2771 | } else { | 
| 2777 | RAND_pseudo_bytes(iv, 16); | 2772 | arc4random_buf(iv, 16); | 
| 2778 | EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, | 2773 | EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, | 
| 2779 | tctx->tlsext_tick_aes_key, iv); | 2774 | tctx->tlsext_tick_aes_key, iv); | 
| 2780 | HMAC_Init_ex(&hctx, tctx->tlsext_tick_hmac_key, 16, | 2775 | HMAC_Init_ex(&hctx, tctx->tlsext_tick_hmac_key, 16, | 
| diff --git a/src/lib/libssl/src/ssl/ssl_lib.c b/src/lib/libssl/src/ssl/ssl_lib.c index d3108f2663..3fa8f5039f 100644 --- a/src/lib/libssl/src/ssl/ssl_lib.c +++ b/src/lib/libssl/src/ssl/ssl_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_lib.c,v 1.86 2014/10/15 17:39:34 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_lib.c,v 1.87 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -145,7 +145,6 @@ | |||
| 145 | #include <openssl/objects.h> | 145 | #include <openssl/objects.h> | 
| 146 | #include <openssl/lhash.h> | 146 | #include <openssl/lhash.h> | 
| 147 | #include <openssl/x509v3.h> | 147 | #include <openssl/x509v3.h> | 
| 148 | #include <openssl/rand.h> | ||
| 149 | #include <openssl/ocsp.h> | 148 | #include <openssl/ocsp.h> | 
| 150 | #include <openssl/dh.h> | 149 | #include <openssl/dh.h> | 
| 151 | #ifndef OPENSSL_NO_ENGINE | 150 | #ifndef OPENSSL_NO_ENGINE | 
| @@ -1786,11 +1785,11 @@ SSL_CTX_new(const SSL_METHOD *meth) | |||
| 1786 | 1785 | ||
| 1787 | ret->tlsext_servername_callback = 0; | 1786 | ret->tlsext_servername_callback = 0; | 
| 1788 | ret->tlsext_servername_arg = NULL; | 1787 | ret->tlsext_servername_arg = NULL; | 
| 1788 | |||
| 1789 | /* Setup RFC4507 ticket keys */ | 1789 | /* Setup RFC4507 ticket keys */ | 
| 1790 | if ((RAND_pseudo_bytes(ret->tlsext_tick_key_name, 16) <= 0) | 1790 | arc4random_buf(ret->tlsext_tick_key_name, 16); | 
| 1791 | || (RAND_bytes(ret->tlsext_tick_hmac_key, 16) <= 0) | 1791 | arc4random_buf(ret->tlsext_tick_hmac_key, 16); | 
| 1792 | || (RAND_bytes(ret->tlsext_tick_aes_key, 16) <= 0)) | 1792 | arc4random_buf(ret->tlsext_tick_aes_key, 16); | 
| 1793 | ret->options |= SSL_OP_NO_TICKET; | ||
| 1794 | 1793 | ||
| 1795 | ret->tlsext_status_cb = 0; | 1794 | ret->tlsext_status_cb = 0; | 
| 1796 | ret->tlsext_status_arg = NULL; | 1795 | ret->tlsext_status_arg = NULL; | 
| diff --git a/src/lib/libssl/src/ssl/ssl_sess.c b/src/lib/libssl/src/ssl/ssl_sess.c index 3ffd7078a5..d76fb8b9c8 100644 --- a/src/lib/libssl/src/ssl/ssl_sess.c +++ b/src/lib/libssl/src/ssl/ssl_sess.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_sess.c,v 1.41 2014/09/22 14:26:22 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_sess.c,v 1.42 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -136,7 +136,6 @@ | |||
| 136 | */ | 136 | */ | 
| 137 | 137 | ||
| 138 | #include <openssl/lhash.h> | 138 | #include <openssl/lhash.h> | 
| 139 | #include <openssl/rand.h> | ||
| 140 | 139 | ||
| 141 | #ifndef OPENSSL_NO_ENGINE | 140 | #ifndef OPENSSL_NO_ENGINE | 
| 142 | #include <openssl/engine.h> | 141 | #include <openssl/engine.h> | 
| @@ -258,8 +257,7 @@ def_generate_session_id(const SSL *ssl, unsigned char *id, unsigned int *id_len) | |||
| 258 | unsigned int retry = 0; | 257 | unsigned int retry = 0; | 
| 259 | 258 | ||
| 260 | do { | 259 | do { | 
| 261 | if (RAND_pseudo_bytes(id, *id_len) <= 0) | 260 | arc4random_buf(id, *id_len); | 
| 262 | return 0; | ||
| 263 | } while (SSL_has_matching_session_id(ssl, id, *id_len) && | 261 | } while (SSL_has_matching_session_id(ssl, id, *id_len) && | 
| 264 | (++retry < MAX_SESS_ID_ATTEMPTS)); | 262 | (++retry < MAX_SESS_ID_ATTEMPTS)); | 
| 265 | 263 | ||
| diff --git a/src/lib/libssl/src/ssl/t1_clnt.c b/src/lib/libssl/src/ssl/t1_clnt.c index 3781063eb6..cb5f26a07c 100644 --- a/src/lib/libssl/src/ssl/t1_clnt.c +++ b/src/lib/libssl/src/ssl/t1_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_clnt.c,v 1.14 2014/08/10 14:42:56 jsing Exp $ */ | 1 | /* $OpenBSD: t1_clnt.c,v 1.15 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -59,7 +59,6 @@ | |||
| 59 | #include <stdio.h> | 59 | #include <stdio.h> | 
| 60 | #include "ssl_locl.h" | 60 | #include "ssl_locl.h" | 
| 61 | #include <openssl/buffer.h> | 61 | #include <openssl/buffer.h> | 
| 62 | #include <openssl/rand.h> | ||
| 63 | #include <openssl/objects.h> | 62 | #include <openssl/objects.h> | 
| 64 | #include <openssl/evp.h> | 63 | #include <openssl/evp.h> | 
| 65 | 64 | ||
| diff --git a/src/lib/libssl/src/ssl/t1_enc.c b/src/lib/libssl/src/ssl/t1_enc.c index a62d7a939c..ea5df0bf63 100644 --- a/src/lib/libssl/src/ssl/t1_enc.c +++ b/src/lib/libssl/src/ssl/t1_enc.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_enc.c,v 1.70 2014/10/18 03:04:28 doug Exp $ */ | 1 | /* $OpenBSD: t1_enc.c,v 1.71 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -140,7 +140,6 @@ | |||
| 140 | #include <openssl/evp.h> | 140 | #include <openssl/evp.h> | 
| 141 | #include <openssl/hmac.h> | 141 | #include <openssl/hmac.h> | 
| 142 | #include <openssl/md5.h> | 142 | #include <openssl/md5.h> | 
| 143 | #include <openssl/rand.h> | ||
| 144 | 143 | ||
| 145 | /* seed1 through seed5 are virtually concatenated */ | 144 | /* seed1 through seed5 are virtually concatenated */ | 
| 146 | static int | 145 | static int | 
| @@ -810,8 +809,8 @@ tls1_enc(SSL *s, int send) | |||
| 810 | fprintf(stderr, | 809 | fprintf(stderr, | 
| 811 | "%s:%d: rec->data != rec->input\n", | 810 | "%s:%d: rec->data != rec->input\n", | 
| 812 | __FILE__, __LINE__); | 811 | __FILE__, __LINE__); | 
| 813 | else if (RAND_bytes(rec->input, ivlen) <= 0) | 812 | else | 
| 814 | return -1; | 813 | arc4random_buf(rec->input, ivlen); | 
| 815 | } | 814 | } | 
| 816 | } | 815 | } | 
| 817 | } else { | 816 | } else { | 
| diff --git a/src/lib/libssl/src/ssl/t1_lib.c b/src/lib/libssl/src/ssl/t1_lib.c index 22e84fe122..604187f2fe 100644 --- a/src/lib/libssl/src/ssl/t1_lib.c +++ b/src/lib/libssl/src/ssl/t1_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_lib.c,v 1.64 2014/10/15 14:02:16 jsing Exp $ */ | 1 | /* $OpenBSD: t1_lib.c,v 1.65 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -115,7 +115,6 @@ | |||
| 115 | #include <openssl/hmac.h> | 115 | #include <openssl/hmac.h> | 
| 116 | #include <openssl/objects.h> | 116 | #include <openssl/objects.h> | 
| 117 | #include <openssl/ocsp.h> | 117 | #include <openssl/ocsp.h> | 
| 118 | #include <openssl/rand.h> | ||
| 119 | 118 | ||
| 120 | #include "ssl_locl.h" | 119 | #include "ssl_locl.h" | 
| 121 | 120 | ||
| diff --git a/src/lib/libssl/src/ssl/t1_srvr.c b/src/lib/libssl/src/ssl/t1_srvr.c index 99712b6fb6..ba579dd110 100644 --- a/src/lib/libssl/src/ssl/t1_srvr.c +++ b/src/lib/libssl/src/ssl/t1_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_srvr.c,v 1.14 2014/08/10 14:42:56 jsing Exp $ */ | 1 | /* $OpenBSD: t1_srvr.c,v 1.15 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -59,7 +59,6 @@ | |||
| 59 | #include <stdio.h> | 59 | #include <stdio.h> | 
| 60 | #include "ssl_locl.h" | 60 | #include "ssl_locl.h" | 
| 61 | #include <openssl/buffer.h> | 61 | #include <openssl/buffer.h> | 
| 62 | #include <openssl/rand.h> | ||
| 63 | #include <openssl/objects.h> | 62 | #include <openssl/objects.h> | 
| 64 | #include <openssl/evp.h> | 63 | #include <openssl/evp.h> | 
| 65 | #include <openssl/x509.h> | 64 | #include <openssl/x509.h> | 
| diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index d3108f2663..3fa8f5039f 100644 --- a/src/lib/libssl/ssl_lib.c +++ b/src/lib/libssl/ssl_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_lib.c,v 1.86 2014/10/15 17:39:34 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_lib.c,v 1.87 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -145,7 +145,6 @@ | |||
| 145 | #include <openssl/objects.h> | 145 | #include <openssl/objects.h> | 
| 146 | #include <openssl/lhash.h> | 146 | #include <openssl/lhash.h> | 
| 147 | #include <openssl/x509v3.h> | 147 | #include <openssl/x509v3.h> | 
| 148 | #include <openssl/rand.h> | ||
| 149 | #include <openssl/ocsp.h> | 148 | #include <openssl/ocsp.h> | 
| 150 | #include <openssl/dh.h> | 149 | #include <openssl/dh.h> | 
| 151 | #ifndef OPENSSL_NO_ENGINE | 150 | #ifndef OPENSSL_NO_ENGINE | 
| @@ -1786,11 +1785,11 @@ SSL_CTX_new(const SSL_METHOD *meth) | |||
| 1786 | 1785 | ||
| 1787 | ret->tlsext_servername_callback = 0; | 1786 | ret->tlsext_servername_callback = 0; | 
| 1788 | ret->tlsext_servername_arg = NULL; | 1787 | ret->tlsext_servername_arg = NULL; | 
| 1788 | |||
| 1789 | /* Setup RFC4507 ticket keys */ | 1789 | /* Setup RFC4507 ticket keys */ | 
| 1790 | if ((RAND_pseudo_bytes(ret->tlsext_tick_key_name, 16) <= 0) | 1790 | arc4random_buf(ret->tlsext_tick_key_name, 16); | 
| 1791 | || (RAND_bytes(ret->tlsext_tick_hmac_key, 16) <= 0) | 1791 | arc4random_buf(ret->tlsext_tick_hmac_key, 16); | 
| 1792 | || (RAND_bytes(ret->tlsext_tick_aes_key, 16) <= 0)) | 1792 | arc4random_buf(ret->tlsext_tick_aes_key, 16); | 
| 1793 | ret->options |= SSL_OP_NO_TICKET; | ||
| 1794 | 1793 | ||
| 1795 | ret->tlsext_status_cb = 0; | 1794 | ret->tlsext_status_cb = 0; | 
| 1796 | ret->tlsext_status_arg = NULL; | 1795 | ret->tlsext_status_arg = NULL; | 
| diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c index 3ffd7078a5..d76fb8b9c8 100644 --- a/src/lib/libssl/ssl_sess.c +++ b/src/lib/libssl/ssl_sess.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_sess.c,v 1.41 2014/09/22 14:26:22 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_sess.c,v 1.42 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -136,7 +136,6 @@ | |||
| 136 | */ | 136 | */ | 
| 137 | 137 | ||
| 138 | #include <openssl/lhash.h> | 138 | #include <openssl/lhash.h> | 
| 139 | #include <openssl/rand.h> | ||
| 140 | 139 | ||
| 141 | #ifndef OPENSSL_NO_ENGINE | 140 | #ifndef OPENSSL_NO_ENGINE | 
| 142 | #include <openssl/engine.h> | 141 | #include <openssl/engine.h> | 
| @@ -258,8 +257,7 @@ def_generate_session_id(const SSL *ssl, unsigned char *id, unsigned int *id_len) | |||
| 258 | unsigned int retry = 0; | 257 | unsigned int retry = 0; | 
| 259 | 258 | ||
| 260 | do { | 259 | do { | 
| 261 | if (RAND_pseudo_bytes(id, *id_len) <= 0) | 260 | arc4random_buf(id, *id_len); | 
| 262 | return 0; | ||
| 263 | } while (SSL_has_matching_session_id(ssl, id, *id_len) && | 261 | } while (SSL_has_matching_session_id(ssl, id, *id_len) && | 
| 264 | (++retry < MAX_SESS_ID_ATTEMPTS)); | 262 | (++retry < MAX_SESS_ID_ATTEMPTS)); | 
| 265 | 263 | ||
| diff --git a/src/lib/libssl/t1_clnt.c b/src/lib/libssl/t1_clnt.c index 3781063eb6..cb5f26a07c 100644 --- a/src/lib/libssl/t1_clnt.c +++ b/src/lib/libssl/t1_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_clnt.c,v 1.14 2014/08/10 14:42:56 jsing Exp $ */ | 1 | /* $OpenBSD: t1_clnt.c,v 1.15 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -59,7 +59,6 @@ | |||
| 59 | #include <stdio.h> | 59 | #include <stdio.h> | 
| 60 | #include "ssl_locl.h" | 60 | #include "ssl_locl.h" | 
| 61 | #include <openssl/buffer.h> | 61 | #include <openssl/buffer.h> | 
| 62 | #include <openssl/rand.h> | ||
| 63 | #include <openssl/objects.h> | 62 | #include <openssl/objects.h> | 
| 64 | #include <openssl/evp.h> | 63 | #include <openssl/evp.h> | 
| 65 | 64 | ||
| diff --git a/src/lib/libssl/t1_enc.c b/src/lib/libssl/t1_enc.c index a62d7a939c..ea5df0bf63 100644 --- a/src/lib/libssl/t1_enc.c +++ b/src/lib/libssl/t1_enc.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_enc.c,v 1.70 2014/10/18 03:04:28 doug Exp $ */ | 1 | /* $OpenBSD: t1_enc.c,v 1.71 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -140,7 +140,6 @@ | |||
| 140 | #include <openssl/evp.h> | 140 | #include <openssl/evp.h> | 
| 141 | #include <openssl/hmac.h> | 141 | #include <openssl/hmac.h> | 
| 142 | #include <openssl/md5.h> | 142 | #include <openssl/md5.h> | 
| 143 | #include <openssl/rand.h> | ||
| 144 | 143 | ||
| 145 | /* seed1 through seed5 are virtually concatenated */ | 144 | /* seed1 through seed5 are virtually concatenated */ | 
| 146 | static int | 145 | static int | 
| @@ -810,8 +809,8 @@ tls1_enc(SSL *s, int send) | |||
| 810 | fprintf(stderr, | 809 | fprintf(stderr, | 
| 811 | "%s:%d: rec->data != rec->input\n", | 810 | "%s:%d: rec->data != rec->input\n", | 
| 812 | __FILE__, __LINE__); | 811 | __FILE__, __LINE__); | 
| 813 | else if (RAND_bytes(rec->input, ivlen) <= 0) | 812 | else | 
| 814 | return -1; | 813 | arc4random_buf(rec->input, ivlen); | 
| 815 | } | 814 | } | 
| 816 | } | 815 | } | 
| 817 | } else { | 816 | } else { | 
| diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c index 22e84fe122..604187f2fe 100644 --- a/src/lib/libssl/t1_lib.c +++ b/src/lib/libssl/t1_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_lib.c,v 1.64 2014/10/15 14:02:16 jsing Exp $ */ | 1 | /* $OpenBSD: t1_lib.c,v 1.65 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -115,7 +115,6 @@ | |||
| 115 | #include <openssl/hmac.h> | 115 | #include <openssl/hmac.h> | 
| 116 | #include <openssl/objects.h> | 116 | #include <openssl/objects.h> | 
| 117 | #include <openssl/ocsp.h> | 117 | #include <openssl/ocsp.h> | 
| 118 | #include <openssl/rand.h> | ||
| 119 | 118 | ||
| 120 | #include "ssl_locl.h" | 119 | #include "ssl_locl.h" | 
| 121 | 120 | ||
| diff --git a/src/lib/libssl/t1_srvr.c b/src/lib/libssl/t1_srvr.c index 99712b6fb6..ba579dd110 100644 --- a/src/lib/libssl/t1_srvr.c +++ b/src/lib/libssl/t1_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_srvr.c,v 1.14 2014/08/10 14:42:56 jsing Exp $ */ | 1 | /* $OpenBSD: t1_srvr.c,v 1.15 2014/10/18 16:13:16 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -59,7 +59,6 @@ | |||
| 59 | #include <stdio.h> | 59 | #include <stdio.h> | 
| 60 | #include "ssl_locl.h" | 60 | #include "ssl_locl.h" | 
| 61 | #include <openssl/buffer.h> | 61 | #include <openssl/buffer.h> | 
| 62 | #include <openssl/rand.h> | ||
| 63 | #include <openssl/objects.h> | 62 | #include <openssl/objects.h> | 
| 64 | #include <openssl/evp.h> | 63 | #include <openssl/evp.h> | 
| 65 | #include <openssl/x509.h> | 64 | #include <openssl/x509.h> | 
