@@ -109,9 +109,7 @@ parse_proto_version(VALUE str)
109109 { "TLS1" , TLS1_VERSION },
110110 { "TLS1_1" , TLS1_1_VERSION },
111111 { "TLS1_2" , TLS1_2_VERSION },
112- #ifdef TLS1_3_VERSION
113112 { "TLS1_3" , TLS1_3_VERSION },
114- #endif
115113 };
116114
117115 if (NIL_P (str ))
@@ -383,7 +381,7 @@ ossl_sslctx_session_new_cb(SSL *ssl, SSL_SESSION *sess)
383381 return 0 ;
384382}
385383
386- #if OPENSSL_VERSION_NUMBER >= 0x10101000 && !defined( LIBRESSL_VERSION_NUMBER )
384+ #if ! OSSL_IS_LIBRESSL
387385/*
388386 * It is only compatible with OpenSSL >= 1.1.1. Even if LibreSSL implements
389387 * SSL_CTX_set_keylog_callback() from v3.4.2, it does nothing (see
@@ -762,9 +760,7 @@ ossl_sslctx_setup(VALUE self)
762760 SSL_CTX_set_tmp_dh_callback (ctx , ossl_tmp_dh_callback );
763761#endif
764762
765- #ifdef HAVE_SSL_CTX_SET_POST_HANDSHAKE_AUTH
766763 SSL_CTX_set_post_handshake_auth (ctx , 1 );
767- #endif
768764
769765 val = rb_attr_get (self , id_i_cert_store );
770766 if (!NIL_P (val )) {
@@ -904,7 +900,7 @@ ossl_sslctx_setup(VALUE self)
904900 OSSL_Debug ("SSL TLSEXT servername callback added" );
905901 }
906902
907- #if OPENSSL_VERSION_NUMBER >= 0x10101000 && !defined( LIBRESSL_VERSION_NUMBER )
903+ #if ! OSSL_IS_LIBRESSL
908904 /*
909905 * It is only compatible with OpenSSL >= 1.1.1. Even if LibreSSL implements
910906 * SSL_CTX_set_keylog_callback() from v3.4.2, it does nothing (see
@@ -1016,7 +1012,6 @@ ossl_sslctx_set_ciphers(VALUE self, VALUE v)
10161012 return v ;
10171013}
10181014
1019- #ifdef HAVE_SSL_CTX_SET_CIPHERSUITES
10201015/*
10211016 * call-seq:
10221017 * ctx.ciphersuites = "cipher1:cipher2:..."
@@ -1043,7 +1038,6 @@ ossl_sslctx_set_ciphersuites(VALUE self, VALUE v)
10431038
10441039 return v ;
10451040}
1046- #endif
10471041
10481042#ifndef OPENSSL_NO_DH
10491043/*
@@ -2829,9 +2823,7 @@ Init_ossl_ssl(void)
28292823 ossl_sslctx_set_minmax_proto_version , 2 );
28302824 rb_define_method (cSSLContext , "ciphers" , ossl_sslctx_get_ciphers , 0 );
28312825 rb_define_method (cSSLContext , "ciphers=" , ossl_sslctx_set_ciphers , 1 );
2832- #ifdef HAVE_SSL_CTX_SET_CIPHERSUITES
28332826 rb_define_method (cSSLContext , "ciphersuites=" , ossl_sslctx_set_ciphersuites , 1 );
2834- #endif
28352827#ifndef OPENSSL_NO_DH
28362828 rb_define_method (cSSLContext , "tmp_dh=" , ossl_sslctx_set_tmp_dh , 1 );
28372829#endif
@@ -2967,36 +2959,34 @@ Init_ossl_ssl(void)
29672959#ifdef SSL_OP_DISABLE_TLSEXT_CA_NAMES /* OpenSSL 3.0 */
29682960 rb_define_const (mSSL , "OP_DISABLE_TLSEXT_CA_NAMES" , ULONG2NUM (SSL_OP_DISABLE_TLSEXT_CA_NAMES ));
29692961#endif
2970- #ifdef SSL_OP_ALLOW_NO_DHE_KEX /* OpenSSL 1.1.1 */
2962+ #ifdef SSL_OP_ALLOW_NO_DHE_KEX /* OpenSSL 1.1.1, missing in LibreSSL */
29712963 rb_define_const (mSSL , "OP_ALLOW_NO_DHE_KEX" , ULONG2NUM (SSL_OP_ALLOW_NO_DHE_KEX ));
29722964#endif
29732965 rb_define_const (mSSL , "OP_DONT_INSERT_EMPTY_FRAGMENTS" , ULONG2NUM (SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS ));
29742966 rb_define_const (mSSL , "OP_NO_TICKET" , ULONG2NUM (SSL_OP_NO_TICKET ));
29752967 rb_define_const (mSSL , "OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION" , ULONG2NUM (SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION ));
29762968 rb_define_const (mSSL , "OP_NO_COMPRESSION" , ULONG2NUM (SSL_OP_NO_COMPRESSION ));
29772969 rb_define_const (mSSL , "OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION" , ULONG2NUM (SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION ));
2978- #ifdef SSL_OP_NO_ENCRYPT_THEN_MAC /* OpenSSL 1.1.1 */
2970+ #ifdef SSL_OP_NO_ENCRYPT_THEN_MAC /* OpenSSL 1.1.1, missing in LibreSSL */
29792971 rb_define_const (mSSL , "OP_NO_ENCRYPT_THEN_MAC" , ULONG2NUM (SSL_OP_NO_ENCRYPT_THEN_MAC ));
29802972#endif
2981- #ifdef SSL_OP_ENABLE_MIDDLEBOX_COMPAT /* OpenSSL 1.1.1 */
2973+ #ifdef SSL_OP_ENABLE_MIDDLEBOX_COMPAT /* OpenSSL 1.1.1, missing in LibreSSL */
29822974 rb_define_const (mSSL , "OP_ENABLE_MIDDLEBOX_COMPAT" , ULONG2NUM (SSL_OP_ENABLE_MIDDLEBOX_COMPAT ));
29832975#endif
2984- #ifdef SSL_OP_PRIORITIZE_CHACHA /* OpenSSL 1.1.1 */
2976+ #ifdef SSL_OP_PRIORITIZE_CHACHA /* OpenSSL 1.1.1, missing in LibreSSL */
29852977 rb_define_const (mSSL , "OP_PRIORITIZE_CHACHA" , ULONG2NUM (SSL_OP_PRIORITIZE_CHACHA ));
29862978#endif
2987- #ifdef SSL_OP_NO_ANTI_REPLAY /* OpenSSL 1.1.1 */
2979+ #ifdef SSL_OP_NO_ANTI_REPLAY /* OpenSSL 1.1.1, missing in LibreSSL */
29882980 rb_define_const (mSSL , "OP_NO_ANTI_REPLAY" , ULONG2NUM (SSL_OP_NO_ANTI_REPLAY ));
29892981#endif
29902982 rb_define_const (mSSL , "OP_NO_SSLv3" , ULONG2NUM (SSL_OP_NO_SSLv3 ));
29912983 rb_define_const (mSSL , "OP_NO_TLSv1" , ULONG2NUM (SSL_OP_NO_TLSv1 ));
29922984 rb_define_const (mSSL , "OP_NO_TLSv1_1" , ULONG2NUM (SSL_OP_NO_TLSv1_1 ));
29932985 rb_define_const (mSSL , "OP_NO_TLSv1_2" , ULONG2NUM (SSL_OP_NO_TLSv1_2 ));
2994- #ifdef SSL_OP_NO_TLSv1_3 /* OpenSSL 1.1.1 */
29952986 rb_define_const (mSSL , "OP_NO_TLSv1_3" , ULONG2NUM (SSL_OP_NO_TLSv1_3 ));
2996- #endif
29972987 rb_define_const (mSSL , "OP_CIPHER_SERVER_PREFERENCE" , ULONG2NUM (SSL_OP_CIPHER_SERVER_PREFERENCE ));
29982988 rb_define_const (mSSL , "OP_TLS_ROLLBACK_BUG" , ULONG2NUM (SSL_OP_TLS_ROLLBACK_BUG ));
2999- #ifdef SSL_OP_NO_RENEGOTIATION /* OpenSSL 1.1.1 */
2989+ #ifdef SSL_OP_NO_RENEGOTIATION /* OpenSSL 1.1.1, missing in LibreSSL */
30002990 rb_define_const (mSSL , "OP_NO_RENEGOTIATION" , ULONG2NUM (SSL_OP_NO_RENEGOTIATION ));
30012991#endif
30022992 rb_define_const (mSSL , "OP_CRYPTOPRO_TLSEXT_BUG" , ULONG2NUM (SSL_OP_CRYPTOPRO_TLSEXT_BUG ));
@@ -3058,10 +3048,8 @@ Init_ossl_ssl(void)
30583048 rb_define_const (mSSL , "TLS1_1_VERSION" , INT2NUM (TLS1_1_VERSION ));
30593049 /* TLS 1.2 */
30603050 rb_define_const (mSSL , "TLS1_2_VERSION" , INT2NUM (TLS1_2_VERSION ));
3061- #ifdef TLS1_3_VERSION /* OpenSSL 1.1.1 */
30623051 /* TLS 1.3 */
30633052 rb_define_const (mSSL , "TLS1_3_VERSION" , INT2NUM (TLS1_3_VERSION ));
3064- #endif
30653053
30663054
30673055 sym_exception = ID2SYM (rb_intern_const ("exception" ));
0 commit comments