X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=ssl%2Fs3_lib.c;h=7bb3a9257f1734fbd57b0b7e4506a09445ab6c81;hp=7023ba5d8365d951883c7cd1396332e433f9f4f5;hb=6ba8a5b77af5792bf0755388bc0ce4003af7cf86;hpb=258f8721a5d2c3ec5fd433e89112885139be1db3 diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 7023ba5d83..7bb3a9257f 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3078,16 +3078,6 @@ const SSL_CIPHER *ssl3_get_cipher(unsigned int u) return (NULL); } -int ssl3_pending(const SSL *s) -{ - if (s->rstate == SSL_ST_READ_BODY) - return 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) { unsigned char *p = (unsigned char *)s->init_buf->data; @@ -3112,11 +3102,9 @@ int ssl3_new(SSL *s) goto err; memset(s3, 0, sizeof *s3); 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)) + if (!SSL_SRP_CTX_init(s)) goto err; #endif s->method->ssl_clear(s); @@ -3131,7 +3119,6 @@ void ssl3_free(SSL *s) return; ssl3_cleanup_key_block(s); - SSL3_RECORD_release(RECORD_LAYER_get_rrec(&s->rlayer)); #ifndef OPENSSL_NO_DH DH_free(s->s3->tmp.dh); #endif @@ -3165,7 +3152,6 @@ 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); - SSL3_RECORD_release(RECORD_LAYER_get_rrec(&s->rlayer)); #ifndef OPENSSL_NO_DH DH_free(s->s3->tmp.dh); s->s3->tmp.dh = NULL; @@ -3197,7 +3183,6 @@ void ssl3_clear(SSL *s) ssl_free_wbio_buffer(s); - s->packet_length = 0; s->s3->renegotiate = 0; s->s3->total_renegotiations = 0; s->s3->num_renegotiations = 0; @@ -4476,8 +4461,8 @@ int ssl3_renegotiate_check(SSL *s) int ret = 0; if (s->s3->renegotiate) { - if ((SSL3_BUFFER_get_left(RECORD_LAYER_get_rbuf(&s->rlayer)) == 0) - && (SSL3_BUFFER_get_left(RECORD_LAYER_get_wbuf(&s->rlayer)) == 0) + if (!RECORD_LAYER_read_pending(&s->rlayer) + && !RECORD_LAYER_write_pending(&s->rlayer) && !SSL_in_init(s)) { /* * if we are the server, and we have sent a 'RENEGOTIATE'