static int ssl23_get_server_hello(SSL *s);
static SSL_METHOD *ssl23_get_client_method(int ver)
{
-#ifndef NO_RSA
if (ver == SSL2_VERSION)
return(SSLv2_client_method());
-#endif
if (ver == SSL3_VERSION)
return(SSLv3_client_method());
else if (ver == TLS1_VERSION)
if ((p[0] & 0x80) && (p[2] == SSL2_MT_SERVER_HELLO) &&
(p[5] == 0x00) && (p[6] == 0x02))
{
-#ifdef NO_RSA
- goto err;
-#else
/* we are talking sslv2 */
/* we need to clean up the SSLv3 setup and put in the
* sslv2 stuff. */
s->method=SSLv2_client_method();
s->handshake_func=s->method->ssl_connect;
-#endif
}
else if ((p[0] == SSL3_RT_HANDSHAKE) &&
(p[1] == SSL3_VERSION_MAJOR) &&
int ssl23_get_client_hello(SSL *s);
static SSL_METHOD *ssl23_get_server_method(int ver)
{
-#ifndef NO_RSA
if (ver == SSL2_VERSION)
return(SSLv2_server_method());
-#endif
if (ver == SSL3_VERSION)
return(SSLv3_server_method());
else if (ver == TLS1_VERSION)
if (type == 1)
{
-#ifdef NO_RSA
- goto err;
-#else
/* we are talking sslv2 */
/* we need to clean up the SSLv3/TLSv1 setup and put in the
* sslv2 stuff. */
s->method=SSLv2_server_method();
s->handshake_func=s->method->ssl_accept;
-#endif
}
if ((type == 2) || (type == 3))