From b89c4f35a1362d1cc56c375a87a584cde6816701 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Wed, 21 Jan 2015 13:24:10 +0000 Subject: [PATCH] Fixes for the renego-option merge --- library/ssl_srv.c | 12 ++++++------ library/ssl_tls.c | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/library/ssl_srv.c b/library/ssl_srv.c index 6621faa6b..dc80ed049 100644 --- a/library/ssl_srv.c +++ b/library/ssl_srv.c @@ -1345,7 +1345,12 @@ read_record_header: msg_len = ( ssl->in_len[0] << 8 ) | ssl->in_len[1]; #if defined(POLARSSL_SSL_RENEGOTIATION) - if( ssl->renegotiation == SSL_INITIAL_HANDSHAKE ) + if( ssl->renegotiation != SSL_INITIAL_HANDSHAKE ) + { + /* Set by ssl_read_record() */ + msg_len = ssl->in_hslen; + } + else #endif { if( msg_len > SSL_MAX_CONTENT_LEN ) @@ -1368,11 +1373,6 @@ read_record_header: #endif ssl->in_left = 0; } - else - { - /* Set by ssl_read_record() */ - msg_len = ssl->in_hslen; - } buf = ssl->in_msg; diff --git a/library/ssl_tls.c b/library/ssl_tls.c index 43f7f1464..e25e5655c 100644 --- a/library/ssl_tls.c +++ b/library/ssl_tls.c @@ -2079,7 +2079,7 @@ static int ssl_decompress_buf( ssl_context *ssl ) } #endif /* POLARSSL_ZLIB_SUPPORT */ -#if defined(POLARSSL_SSL_SRV_C) +#if defined(POLARSSL_SSL_SRV_C) && defined(POLARSSL_SSL_RENEGOTIATION) static int ssl_write_hello_request( ssl_context *ssl ); #if defined(POLARSSL_SSL_PROTO_DTLS) @@ -2108,7 +2108,7 @@ static int ssl_resend_hello_request( ssl_context *ssl ) return( ssl_write_hello_request( ssl ) ); } #endif -#endif +#endif /* POLARSSL_SSL_SRV_C && POLARSSL_SSL_RENEGOTIATION */ /* * Fill the input message buffer by appending data to it. @@ -2258,7 +2258,7 @@ int ssl_fetch_input( ssl_context *ssl, size_t nb_want ) return( POLARSSL_ERR_NET_WANT_READ ); } -#if defined(POLARSSL_SSL_SRV_C) +#if defined(POLARSSL_SSL_SRV_C) && defined(POLARSSL_SSL_RENEGOTIATION) else if( ssl->endpoint == SSL_IS_SERVER && ssl->renegotiation == SSL_RENEGOTIATION_PENDING ) { @@ -2270,7 +2270,7 @@ int ssl_fetch_input( ssl_context *ssl, size_t nb_want ) return( POLARSSL_ERR_NET_WANT_READ ); } -#endif /* POLARSSL_SSL_SRV_C */ +#endif /* POLARSSL_SSL_SRV_C && POLARSSL_SSL_RENEGOTIATION */ } if( ret < 0 ) @@ -6274,7 +6274,7 @@ int ssl_read( ssl_context *ssl, unsigned char *buf, size_t len ) /* If we requested renego but received AppData, resend HelloRequest. * Do it now, after setting in_offt, to avoid taking this branch * again if ssl_write_hello_request() returns WANT_WRITE */ -#if defined(POLARSSL_SSL_SRV_C) +#if defined(POLARSSL_SSL_SRV_C) && defined(POLARSSL_SSL_RENEGOTIATION) if( ssl->endpoint == SSL_IS_SERVER && ssl->renegotiation == SSL_RENEGOTIATION_PENDING ) { @@ -6284,7 +6284,7 @@ int ssl_read( ssl_context *ssl, unsigned char *buf, size_t len ) return( ret ); } } -#endif /* POLARSSL_SSL_SRV_C */ +#endif /* POLARSSL_SSL_SRV_C && POLARSSL_SSL_RENEGOTIATION */ #endif }