@@ -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/*
@@ -2856,9 +2850,7 @@ Init_ossl_ssl(void)
28562850 ossl_sslctx_set_minmax_proto_version , 2 );
28572851 rb_define_method (cSSLContext , "ciphers" , ossl_sslctx_get_ciphers , 0 );
28582852 rb_define_method (cSSLContext , "ciphers=" , ossl_sslctx_set_ciphers , 1 );
2859- #ifdef HAVE_SSL_CTX_SET_CIPHERSUITES
28602853 rb_define_method (cSSLContext , "ciphersuites=" , ossl_sslctx_set_ciphersuites , 1 );
2861- #endif
28622854#ifndef OPENSSL_NO_DH
28632855 rb_define_method (cSSLContext , "tmp_dh=" , ossl_sslctx_set_tmp_dh , 1 );
28642856#endif
@@ -2994,36 +2986,34 @@ Init_ossl_ssl(void)
29942986#ifdef SSL_OP_DISABLE_TLSEXT_CA_NAMES /* OpenSSL 3.0 */
29952987 rb_define_const (mSSL , "OP_DISABLE_TLSEXT_CA_NAMES" , ULONG2NUM (SSL_OP_DISABLE_TLSEXT_CA_NAMES ));
29962988#endif
2997- #ifdef SSL_OP_ALLOW_NO_DHE_KEX /* OpenSSL 1.1.1 */
2989+ #ifdef SSL_OP_ALLOW_NO_DHE_KEX /* OpenSSL 1.1.1, missing in LibreSSL */
29982990 rb_define_const (mSSL , "OP_ALLOW_NO_DHE_KEX" , ULONG2NUM (SSL_OP_ALLOW_NO_DHE_KEX ));
29992991#endif
30002992 rb_define_const (mSSL , "OP_DONT_INSERT_EMPTY_FRAGMENTS" , ULONG2NUM (SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS ));
30012993 rb_define_const (mSSL , "OP_NO_TICKET" , ULONG2NUM (SSL_OP_NO_TICKET ));
30022994 rb_define_const (mSSL , "OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION" , ULONG2NUM (SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION ));
30032995 rb_define_const (mSSL , "OP_NO_COMPRESSION" , ULONG2NUM (SSL_OP_NO_COMPRESSION ));
30042996 rb_define_const (mSSL , "OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION" , ULONG2NUM (SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION ));
3005- #ifdef SSL_OP_NO_ENCRYPT_THEN_MAC /* OpenSSL 1.1.1 */
2997+ #ifdef SSL_OP_NO_ENCRYPT_THEN_MAC /* OpenSSL 1.1.1, missing in LibreSSL */
30062998 rb_define_const (mSSL , "OP_NO_ENCRYPT_THEN_MAC" , ULONG2NUM (SSL_OP_NO_ENCRYPT_THEN_MAC ));
30072999#endif
3008- #ifdef SSL_OP_ENABLE_MIDDLEBOX_COMPAT /* OpenSSL 1.1.1 */
3000+ #ifdef SSL_OP_ENABLE_MIDDLEBOX_COMPAT /* OpenSSL 1.1.1, missing in LibreSSL */
30093001 rb_define_const (mSSL , "OP_ENABLE_MIDDLEBOX_COMPAT" , ULONG2NUM (SSL_OP_ENABLE_MIDDLEBOX_COMPAT ));
30103002#endif
3011- #ifdef SSL_OP_PRIORITIZE_CHACHA /* OpenSSL 1.1.1 */
3003+ #ifdef SSL_OP_PRIORITIZE_CHACHA /* OpenSSL 1.1.1, missing in LibreSSL */
30123004 rb_define_const (mSSL , "OP_PRIORITIZE_CHACHA" , ULONG2NUM (SSL_OP_PRIORITIZE_CHACHA ));
30133005#endif
3014- #ifdef SSL_OP_NO_ANTI_REPLAY /* OpenSSL 1.1.1 */
3006+ #ifdef SSL_OP_NO_ANTI_REPLAY /* OpenSSL 1.1.1, missing in LibreSSL */
30153007 rb_define_const (mSSL , "OP_NO_ANTI_REPLAY" , ULONG2NUM (SSL_OP_NO_ANTI_REPLAY ));
30163008#endif
30173009 rb_define_const (mSSL , "OP_NO_SSLv3" , ULONG2NUM (SSL_OP_NO_SSLv3 ));
30183010 rb_define_const (mSSL , "OP_NO_TLSv1" , ULONG2NUM (SSL_OP_NO_TLSv1 ));
30193011 rb_define_const (mSSL , "OP_NO_TLSv1_1" , ULONG2NUM (SSL_OP_NO_TLSv1_1 ));
30203012 rb_define_const (mSSL , "OP_NO_TLSv1_2" , ULONG2NUM (SSL_OP_NO_TLSv1_2 ));
3021- #ifdef SSL_OP_NO_TLSv1_3 /* OpenSSL 1.1.1 */
30223013 rb_define_const (mSSL , "OP_NO_TLSv1_3" , ULONG2NUM (SSL_OP_NO_TLSv1_3 ));
3023- #endif
30243014 rb_define_const (mSSL , "OP_CIPHER_SERVER_PREFERENCE" , ULONG2NUM (SSL_OP_CIPHER_SERVER_PREFERENCE ));
30253015 rb_define_const (mSSL , "OP_TLS_ROLLBACK_BUG" , ULONG2NUM (SSL_OP_TLS_ROLLBACK_BUG ));
3026- #ifdef SSL_OP_NO_RENEGOTIATION /* OpenSSL 1.1.1 */
3016+ #ifdef SSL_OP_NO_RENEGOTIATION /* OpenSSL 1.1.1, missing in LibreSSL */
30273017 rb_define_const (mSSL , "OP_NO_RENEGOTIATION" , ULONG2NUM (SSL_OP_NO_RENEGOTIATION ));
30283018#endif
30293019 rb_define_const (mSSL , "OP_CRYPTOPRO_TLSEXT_BUG" , ULONG2NUM (SSL_OP_CRYPTOPRO_TLSEXT_BUG ));
@@ -3085,10 +3075,8 @@ Init_ossl_ssl(void)
30853075 rb_define_const (mSSL , "TLS1_1_VERSION" , INT2NUM (TLS1_1_VERSION ));
30863076 /* TLS 1.2 */
30873077 rb_define_const (mSSL , "TLS1_2_VERSION" , INT2NUM (TLS1_2_VERSION ));
3088- #ifdef TLS1_3_VERSION /* OpenSSL 1.1.1 */
30893078 /* TLS 1.3 */
30903079 rb_define_const (mSSL , "TLS1_3_VERSION" , INT2NUM (TLS1_3_VERSION ));
3091- #endif
30923080
30933081
30943082 sym_exception = ID2SYM (rb_intern_const ("exception" ));
0 commit comments