diff options
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/s3_enc.c | 10 | ||||
-rw-r--r-- | ssl/t1_enc.c | 12 |
2 files changed, 17 insertions, 5 deletions
diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c index 72ac8b6913..2bb5be49f1 100644 --- a/ssl/s3_enc.c +++ b/ssl/s3_enc.c @@ -385,10 +385,16 @@ int ssl3_setup_key_block(SSL *s) */ s->s3->need_empty_fragments = 1; + if (s->session->cipher != NULL) + { + if ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_eNULL) + s->s3->need_empty_fragments = 0; + #ifndef OPENSSL_NO_RC4 - if ((s->session->cipher != NULL) && ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4)) - s->s3->need_empty_fragments = 0; + if ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4) + s->s3->need_empty_fragments = 0; #endif + } } return ret; diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c index ecd2d6cbb5..1f6bb2edf3 100644 --- a/ssl/t1_enc.c +++ b/ssl/t1_enc.c @@ -490,10 +490,16 @@ printf("\nkey block\n"); */ s->s3->need_empty_fragments = 1; -#ifndef NO_RC4 - if ((s->session->cipher != NULL) && ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4)) - s->s3->need_empty_fragments = 0; + if (s->session->cipher != NULL) + { + if ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_eNULL) + s->s3->need_empty_fragments = 0; + +#ifndef OPENSSL_NO_RC4 + if ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4) + s->s3->need_empty_fragments = 0; #endif + } } return(1); |