t1_lib.c contains this comment in ssl_parse_serverhello_tlsext():

     716  1.18     bodo         /* Determine if we need to see RI. Strictly 
speaking if we want to
     717  1.18     bodo          * avoid an attack we should *always* see RI 
even on initial server
     718  1.18     bodo          * hello because the client doesn't see any 
renegotiation during an
     719  1.17     bodo          * attack. However this would mean we could not 
connect to any server
     720  1.17     bodo          * which doesn't support RI so for the 
immediate future tolerate RI
     721  1.32     bodo          * absence on initial connect only.
     722  1.16     bodo          */
     723  1.32     bodo         if (!renegotiate_seen
     724  1.32     bodo                 && !(s->options & 
SSL_OP_LEGACY_SERVER_CONNECT)
     725  1.32     bodo                 && !(s->options & 
SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION))
     726  1.32     bodo                 {


However, after Steve's commit [*] which relaxed the check the "initial 
only" is no longer true since it now allows any Server Hello to not 
contain RI.


v.

[*] the comment for the commit in revision 1.13.2.26 said this:

Allow renegotiation if SSL_OP_LEGACY_SERVER_CONNECT is set as well as
initial connection to unpatched servers. There are no additional security
concerns in doing this as clients don't see renegotiation during an
attack anyway.


and did this:

708,709c708,709
<       if (!renegotiate_seen &&
<               (s->new_session || !(s->options & SSL_OP_LEGACY_SERVER_CONNECT))
---
 >      if (!renegotiate_seen
 >              && !(s->options & SSL_OP_LEGACY_SERVER_CONNECT)

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to