diff options
author | Matt Caswell <matt@openssl.org> | 2015-01-30 17:29:41 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2015-03-26 13:53:07 +0000 |
commit | 258f8721a5d2c3ec5fd433e89112885139be1db3 (patch) | |
tree | e43ce47ce54ae67d4a50f28306fdde89f5f5241d /ssl/s3_lib.c | |
parent | ab97b2cd4301074fd88fd2f13b8c79342593dae4 (diff) |
Encapsulate s->s3->rrec
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'ssl/s3_lib.c')
-rw-r--r-- | ssl/s3_lib.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 948e14e5a4..7023ba5d83 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3083,8 +3083,9 @@ int ssl3_pending(const SSL *s) if (s->rstate == SSL_ST_READ_BODY) return 0; - return (s->s3->rrec.type == - SSL3_RT_APPLICATION_DATA) ? s->s3->rrec.length : 0; + return (SSL3_RECORD_get_type(RECORD_LAYER_get_rrec(&s->rlayer)) + == SSL3_RT_APPLICATION_DATA) + ? SSL3_RECORD_get_length(RECORD_LAYER_get_rrec(&s->rlayer)) : 0; } int ssl3_set_handshake_header(SSL *s, int htype, unsigned long len) @@ -3110,11 +3111,10 @@ int ssl3_new(SSL *s) if ((s3 = OPENSSL_malloc(sizeof *s3)) == NULL) goto err; memset(s3, 0, sizeof *s3); - memset(s3->rrec.seq_num, 0, sizeof(s3->rrec.seq_num)); - memset(s3->wrec.seq_num, 0, sizeof(s3->wrec.seq_num)); - s->s3 = s3; - + SSL3_RECORD_clear(RECORD_LAYER_get_rrec(&s->rlayer)); + memset(s3->wrec.seq_num, 0, sizeof(s3->wrec.seq_num)); + #ifndef OPENSSL_NO_SRP if(!SSL_SRP_CTX_init(s)) goto err; @@ -3131,8 +3131,7 @@ void ssl3_free(SSL *s) return; ssl3_cleanup_key_block(s); - if (s->s3->rrec.comp != NULL) - OPENSSL_free(s->s3->rrec.comp); + SSL3_RECORD_release(RECORD_LAYER_get_rrec(&s->rlayer)); #ifndef OPENSSL_NO_DH DH_free(s->s3->tmp.dh); #endif @@ -3166,10 +3165,7 @@ void ssl3_clear(SSL *s) if (s->s3->tmp.ca_names != NULL) sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free); - if (s->s3->rrec.comp != NULL) { - OPENSSL_free(s->s3->rrec.comp); - s->s3->rrec.comp = NULL; - } + SSL3_RECORD_release(RECORD_LAYER_get_rrec(&s->rlayer)); #ifndef OPENSSL_NO_DH DH_free(s->s3->tmp.dh); s->s3->tmp.dh = NULL; |