2
* $Id: ossl_ssl.c 32975 2011-08-15 01:20:27Z emboss $
2
* $Id: ossl_ssl.c 34524 2012-02-09 17:04:41Z emboss $
3
3
* 'OpenSSL for Ruby' project
4
4
* Copyright (C) 2000-2002 GOTOU Yuuzou <gotoyuzo@notwork.org>
5
5
* Copyright (C) 2001-2002 Michal Rokos <m.rokos@sh.cvut.cz>
151
151
ossl_raise(eSSLError, "SSL_CTX_new:");
153
153
SSL_CTX_set_mode(ctx, mode);
154
SSL_CTX_set_options(ctx, SSL_OP_ALL);
155
154
return Data_Wrap_Struct(klass, 0, ossl_sslctx_free, ctx);
643
642
if(!NIL_P(val)) SSL_CTX_set_verify_depth(ctx, NUM2INT(val));
645
644
val = ossl_sslctx_get_options(self);
646
if(!NIL_P(val)) SSL_CTX_set_options(ctx, NUM2LONG(val));
646
SSL_CTX_set_options(ctx, NUM2LONG(val));
649
SSL_CTX_set_options(ctx, SSL_OP_ALL);
647
651
rb_obj_freeze(self);
649
653
val = ossl_sslctx_get_sess_id_ctx(self);
1966
1970
ossl_ssl_def_const(VERIFY_PEER);
1967
1971
ossl_ssl_def_const(VERIFY_FAIL_IF_NO_PEER_CERT);
1968
1972
ossl_ssl_def_const(VERIFY_CLIENT_ONCE);
1969
/* Not introduce constants included in OP_ALL such as...
1970
* ossl_ssl_def_const(OP_MICROSOFT_SESS_ID_BUG);
1971
* ossl_ssl_def_const(OP_NETSCAPE_CHALLENGE_BUG);
1972
* ossl_ssl_def_const(OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG);
1973
* ossl_ssl_def_const(OP_SSLREF2_REUSE_CERT_TYPE_BUG);
1974
* ossl_ssl_def_const(OP_MICROSOFT_BIG_SSLV3_BUFFER);
1975
* ossl_ssl_def_const(OP_MSIE_SSLV2_RSA_PADDING);
1976
* ossl_ssl_def_const(OP_SSLEAY_080_CLIENT_DH_BUG);
1977
* ossl_ssl_def_const(OP_TLS_D5_BUG);
1978
* ossl_ssl_def_const(OP_TLS_BLOCK_PADDING_BUG);
1979
* ossl_ssl_def_const(OP_DONT_INSERT_EMPTY_FRAGMENTS);
1973
/* Introduce constants included in OP_ALL. These constants are mostly for
1974
* unset some bits in OP_ALL such as:
1975
* ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
1977
ossl_ssl_def_const(OP_MICROSOFT_SESS_ID_BUG);
1978
ossl_ssl_def_const(OP_NETSCAPE_CHALLENGE_BUG);
1979
ossl_ssl_def_const(OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG);
1980
ossl_ssl_def_const(OP_SSLREF2_REUSE_CERT_TYPE_BUG);
1981
ossl_ssl_def_const(OP_MICROSOFT_BIG_SSLV3_BUFFER);
1982
ossl_ssl_def_const(OP_MSIE_SSLV2_RSA_PADDING);
1983
ossl_ssl_def_const(OP_SSLEAY_080_CLIENT_DH_BUG);
1984
ossl_ssl_def_const(OP_TLS_D5_BUG);
1985
ossl_ssl_def_const(OP_TLS_BLOCK_PADDING_BUG);
1986
ossl_ssl_def_const(OP_DONT_INSERT_EMPTY_FRAGMENTS);
1981
1987
ossl_ssl_def_const(OP_ALL);
1982
1988
#if defined(SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION)
1983
1989
ossl_ssl_def_const(OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);