summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorjsing <>2020-11-11 18:14:12 +0000
committerjsing <>2020-11-11 18:14:12 +0000
commit439875db3ebc782d7dcb3cef801a22813bf8470e (patch)
tree2762beb6ca3b039bd0212c1aba3c3a359ed4552d /src/lib
parent461c154feb8a5f1be014a0ac96358ab5f1ee8792 (diff)
downloadopenbsd-439875db3ebc782d7dcb3cef801a22813bf8470e.tar.gz
openbsd-439875db3ebc782d7dcb3cef801a22813bf8470e.tar.bz2
openbsd-439875db3ebc782d7dcb3cef801a22813bf8470e.zip
Use size_t for key_block_len.
This allows us to remove a check and will make future changes simpler. Use suitable names for tls1_generate_key_block() arguments while here. ok inoguchi@ tb@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libssl/ssl_locl.h4
-rw-r--r--src/lib/libssl/t1_enc.c12
2 files changed, 7 insertions, 9 deletions
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h
index 9c8310b83c..46a1ad4884 100644
--- a/src/lib/libssl/ssl_locl.h
+++ b/src/lib/libssl/ssl_locl.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_locl.h,v 1.306 2020/10/14 16:57:33 jsing Exp $ */ 1/* $OpenBSD: ssl_locl.h,v 1.307 2020/11/11 18:14:12 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 *
@@ -416,7 +416,7 @@ typedef struct ssl_handshake_st {
416 const SSL_CIPHER *new_cipher; 416 const SSL_CIPHER *new_cipher;
417 417
418 /* key_block is the record-layer key block for TLS 1.2 and earlier. */ 418 /* key_block is the record-layer key block for TLS 1.2 and earlier. */
419 int key_block_len; 419 size_t key_block_len;
420 unsigned char *key_block; 420 unsigned char *key_block;
421 421
422 /* Extensions seen in this handshake. */ 422 /* Extensions seen in this handshake. */
diff --git a/src/lib/libssl/t1_enc.c b/src/lib/libssl/t1_enc.c
index c5ff2c2435..d451ad531c 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.126 2020/10/14 16:57:33 jsing Exp $ */ 1/* $OpenBSD: t1_enc.c,v 1.127 2020/11/11 18:14:12 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 *
@@ -300,17 +300,14 @@ tls1_PRF(SSL *s, const unsigned char *secret, size_t secret_len,
300} 300}
301 301
302static int 302static int
303tls1_generate_key_block(SSL *s, unsigned char *km, int num) 303tls1_generate_key_block(SSL *s, uint8_t *key_block, size_t key_block_len)
304{ 304{
305 if (num < 0)
306 return (0);
307
308 return tls1_PRF(s, 305 return tls1_PRF(s,
309 s->session->master_key, s->session->master_key_length, 306 s->session->master_key, s->session->master_key_length,
310 TLS_MD_KEY_EXPANSION_CONST, TLS_MD_KEY_EXPANSION_CONST_SIZE, 307 TLS_MD_KEY_EXPANSION_CONST, TLS_MD_KEY_EXPANSION_CONST_SIZE,
311 s->s3->server_random, SSL3_RANDOM_SIZE, 308 s->s3->server_random, SSL3_RANDOM_SIZE,
312 s->s3->client_random, SSL3_RANDOM_SIZE, 309 s->s3->client_random, SSL3_RANDOM_SIZE,
313 NULL, 0, NULL, 0, km, num); 310 NULL, 0, NULL, 0, key_block, key_block_len);
314} 311}
315 312
316/* 313/*
@@ -590,7 +587,8 @@ tls1_setup_key_block(SSL *s)
590{ 587{
591 unsigned char *key_block; 588 unsigned char *key_block;
592 int mac_type = NID_undef, mac_secret_size = 0; 589 int mac_type = NID_undef, mac_secret_size = 0;
593 int key_block_len, key_len, iv_len; 590 size_t key_block_len;
591 int key_len, iv_len;
594 const EVP_CIPHER *cipher = NULL; 592 const EVP_CIPHER *cipher = NULL;
595 const EVP_AEAD *aead = NULL; 593 const EVP_AEAD *aead = NULL;
596 const EVP_MD *mac = NULL; 594 const EVP_MD *mac = NULL;