Source: imapfilter
Version: 1:2.6.2-1
Severity: serious
Control: block 797926 by -1

Hi,

In imapfilter.c you set things up like this:
        ssl3ctx = SSL_CTX_new(SSLv3_client_method());
        ssl23ctx = SSL_CTX_new(SSLv23_client_method());
        tls1ctx = SSL_CTX_new(TLSv1_client_method());
#if OPENSSL_VERSION_NUMBER >= 0x01000100fL
        tls11ctx = SSL_CTX_new(TLSv1_1_client_method());
        tls12ctx = SSL_CTX_new(TLSv1_2_client_method());
#endif


And then in socket.c you have things like:
        if (!ssn->sslproto) {
                ctx = ssl23ctx;
        } else if (!strcasecmp(ssn->sslproto, "ssl3")) {
                ctx = ssl3ctx;
        } else if (!strcasecmp(ssn->sslproto, "tls1")) {
                ctx = tls1ctx;
        } else if (!strcasecmp(ssn->sslproto, "tls1.1")) {
#if OPENSSL_VERSION_NUMBER >= 0x01000100fL
                ctx = tls11ctx;
#else
                ctx = tls1ctx;
#endif
        } else if (!strcasecmp(ssn->sslproto, "tls1.2")) {
#if OPENSSL_VERSION_NUMBER >= 0x01000100fL
                ctx = tls12ctx;
#else
                ctx = tls1ctx;
#endif
        } else {
                ctx = ssl23ctx;
        }


I have just removed the SSLv3_* methods in unstable.  You could
use OPENSSL_NO_SSL3 to remove the code making use of the SSLv3_*
methods.  But I suggest you get rid of all of this and just use
the SSLv23_* method.

The SSLv23_* methods are the only ones that support multiple
versions.  The plan is for all the others to go away because they
only support 1 version.

If you want to support selecting versions I suggest you use
SSL_set_options() with things like SSL_OP_NO_SSLv3.


Kurt

Reply via email to