diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index ee01a2c87934ed80557d327ee08d34f6f811d017..6142b08872da23ccd6485ad195b61051d1b24dfc 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -1370,10 +1370,9 @@ int ssl_cipher_list_to_bytes(SSL *s,STACK_OF(SSL_CIPHER) *sk,unsigned char *p, p+=j; } /* If p == q, no ciphers and caller indicates an error. Otherwise - * add SCSV if no extensions (i.e. SSL3 is client_version) - * since spec RECOMMENDS not sending both RI and SCSV. + * add SCSV if not renegotiating. */ - if (p != q && !s->new_session && s->client_version == SSL3_VERSION) + if (p != q && !s->new_session) { static SSL_CIPHER scsv = { diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index c4670346648a3f1331deea8a9f1c3de989a7b869..b50d2a52f61e275c30de7ebed12c52728e7fb76c 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -316,8 +316,9 @@ unsigned char *ssl_add_clienthello_tlsext(SSL *s, unsigned char *p, unsigned cha ret+=size_str; } - /* Add the renegotiation option: TODOEKR switch */ - { + /* Add RI if renegotiating */ + if (s->new_session) + { int el; if(!ssl_add_clienthello_renegotiate_ext(s, 0, &el, 0))