summaryrefslogtreecommitdiff
path: root/src/lib/libssl/t1_enc.c
diff options
context:
space:
mode:
authormarkus <>2003-05-12 02:18:40 +0000
committermarkus <>2003-05-12 02:18:40 +0000
commitd4fcd82bb7f6d603bd61e19a81ba97337b89dfca (patch)
treed52e3a0f1f08f65ad283027e560e17ed0d720462 /src/lib/libssl/t1_enc.c
parent582bbd139cd2afd58d10dc051c5b0b989b441074 (diff)
downloadopenbsd-d4fcd82bb7f6d603bd61e19a81ba97337b89dfca.tar.gz
openbsd-d4fcd82bb7f6d603bd61e19a81ba97337b89dfca.tar.bz2
openbsd-d4fcd82bb7f6d603bd61e19a81ba97337b89dfca.zip
merge 0.9.7b with local changes; crank majors for libssl/libcrypto
Diffstat (limited to 'src/lib/libssl/t1_enc.c')
-rw-r--r--src/lib/libssl/t1_enc.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/lib/libssl/t1_enc.c b/src/lib/libssl/t1_enc.c
index 5290bf6665..271e247eea 100644
--- a/src/lib/libssl/t1_enc.c
+++ b/src/lib/libssl/t1_enc.c
@@ -124,7 +124,7 @@ static void tls1_P_hash(const EVP_MD *md, const unsigned char *sec,
124 unsigned int j; 124 unsigned int j;
125 HMAC_CTX ctx; 125 HMAC_CTX ctx;
126 HMAC_CTX ctx_tmp; 126 HMAC_CTX ctx_tmp;
127 unsigned char A1[HMAC_MAX_MD_CBLOCK]; 127 unsigned char A1[EVP_MAX_MD_SIZE];
128 unsigned int A1_len; 128 unsigned int A1_len;
129 129
130 chunk=EVP_MD_size(md); 130 chunk=EVP_MD_size(md);
@@ -161,7 +161,7 @@ static void tls1_P_hash(const EVP_MD *md, const unsigned char *sec,
161 } 161 }
162 HMAC_CTX_cleanup(&ctx); 162 HMAC_CTX_cleanup(&ctx);
163 HMAC_CTX_cleanup(&ctx_tmp); 163 HMAC_CTX_cleanup(&ctx_tmp);
164 memset(A1,0,sizeof(A1)); 164 OPENSSL_cleanse(A1,sizeof(A1));
165 } 165 }
166 166
167static void tls1_PRF(const EVP_MD *md5, const EVP_MD *sha1, 167static void tls1_PRF(const EVP_MD *md5, const EVP_MD *sha1,
@@ -418,10 +418,10 @@ printf("\niv=");
418printf("\n"); 418printf("\n");
419#endif 419#endif
420 420
421 memset(tmp1,0,sizeof(tmp1)); 421 OPENSSL_cleanse(tmp1,sizeof(tmp1));
422 memset(tmp2,0,sizeof(tmp1)); 422 OPENSSL_cleanse(tmp2,sizeof(tmp1));
423 memset(iv1,0,sizeof(iv1)); 423 OPENSSL_cleanse(iv1,sizeof(iv1));
424 memset(iv2,0,sizeof(iv2)); 424 OPENSSL_cleanse(iv2,sizeof(iv2));
425 return(1); 425 return(1);
426err: 426err:
427 SSLerr(SSL_F_TLS1_CHANGE_CIPHER_STATE,ERR_R_MALLOC_FAILURE); 427 SSLerr(SSL_F_TLS1_CHANGE_CIPHER_STATE,ERR_R_MALLOC_FAILURE);
@@ -476,7 +476,7 @@ printf("pre-master\n");
476{ int z; for (z=0; z<s->session->master_key_length; z++) printf("%02X%c",s->session->master_key[z],((z+1)%16)?' ':'\n'); } 476{ int z; for (z=0; z<s->session->master_key_length; z++) printf("%02X%c",s->session->master_key[z],((z+1)%16)?' ':'\n'); }
477#endif 477#endif
478 tls1_generate_key_block(s,p1,p2,num); 478 tls1_generate_key_block(s,p1,p2,num);
479 memset(p2,0,num); 479 OPENSSL_cleanse(p2,num);
480 OPENSSL_free(p2); 480 OPENSSL_free(p2);
481#ifdef TLS_DEBUG 481#ifdef TLS_DEBUG
482printf("\nkey block\n"); 482printf("\nkey block\n");
@@ -683,10 +683,10 @@ int tls1_final_finish_mac(SSL *s, EVP_MD_CTX *in1_ctx, EVP_MD_CTX *in2_ctx,
683 683
684 tls1_PRF(s->ctx->md5,s->ctx->sha1,buf,(int)(q-buf), 684 tls1_PRF(s->ctx->md5,s->ctx->sha1,buf,(int)(q-buf),
685 s->session->master_key,s->session->master_key_length, 685 s->session->master_key,s->session->master_key_length,
686 out,buf2,12); 686 out,buf2,sizeof buf2);
687 EVP_MD_CTX_cleanup(&ctx); 687 EVP_MD_CTX_cleanup(&ctx);
688 688
689 return((int)12); 689 return sizeof buf2;
690 } 690 }
691 691
692int tls1_mac(SSL *ssl, unsigned char *md, int send) 692int tls1_mac(SSL *ssl, unsigned char *md, int send)
@@ -773,7 +773,7 @@ int tls1_generate_master_secret(SSL *s, unsigned char *out, unsigned char *p,
773 s->s3->server_random,SSL3_RANDOM_SIZE); 773 s->s3->server_random,SSL3_RANDOM_SIZE);
774 tls1_PRF(s->ctx->md5,s->ctx->sha1, 774 tls1_PRF(s->ctx->md5,s->ctx->sha1,
775 buf,TLS_MD_MASTER_SECRET_CONST_SIZE+SSL3_RANDOM_SIZE*2,p,len, 775 buf,TLS_MD_MASTER_SECRET_CONST_SIZE+SSL3_RANDOM_SIZE*2,p,len,
776 s->session->master_key,buff,SSL3_MASTER_SECRET_SIZE); 776 s->session->master_key,buff,sizeof buff);
777#ifdef KSSL_DEBUG 777#ifdef KSSL_DEBUG
778 printf ("tls1_generate_master_secret() complete\n"); 778 printf ("tls1_generate_master_secret() complete\n");
779#endif /* KSSL_DEBUG */ 779#endif /* KSSL_DEBUG */