@@ -2825,9 +2825,24 @@ Init_ossl_ssl(void)
28252825 rb_define_const (mSSL , "VERIFY_CLIENT_ONCE" , INT2NUM (SSL_VERIFY_CLIENT_ONCE ));
28262826
28272827 rb_define_const (mSSL , "OP_ALL" , ULONG2NUM (SSL_OP_ALL ));
2828+ #ifdef SSL_OP_CLEANSE_PLAINTEXT /* OpenSSL 3.0 */
2829+ rb_define_const (mSSL , "OP_CLEANSE_PLAINTEXT" , ULONG2NUM (SSL_OP_CLEANSE_PLAINTEXT ));
2830+ #endif
28282831 rb_define_const (mSSL , "OP_LEGACY_SERVER_CONNECT" , ULONG2NUM (SSL_OP_LEGACY_SERVER_CONNECT ));
2832+ #ifdef SSL_OP_ENABLE_KTLS /* OpenSSL 3.0 */
2833+ rb_define_const (mSSL , "OP_ENABLE_KTLS" , ULONG2NUM (SSL_OP_ENABLE_KTLS ));
2834+ #endif
28292835 rb_define_const (mSSL , "OP_TLSEXT_PADDING" , ULONG2NUM (SSL_OP_TLSEXT_PADDING ));
28302836 rb_define_const (mSSL , "OP_SAFARI_ECDHE_ECDSA_BUG" , ULONG2NUM (SSL_OP_SAFARI_ECDHE_ECDSA_BUG ));
2837+ #ifdef SSL_OP_IGNORE_UNEXPECTED_EOF /* OpenSSL 3.0 */
2838+ rb_define_const (mSSL , "OP_IGNORE_UNEXPECTED_EOF" , ULONG2NUM (SSL_OP_IGNORE_UNEXPECTED_EOF ));
2839+ #endif
2840+ #ifdef SSL_OP_ALLOW_CLIENT_RENEGOTIATION /* OpenSSL 3.0 */
2841+ rb_define_const (mSSL , "OP_ALLOW_CLIENT_RENEGOTIATION" , ULONG2NUM (SSL_OP_ALLOW_CLIENT_RENEGOTIATION ));
2842+ #endif
2843+ #ifdef SSL_OP_DISABLE_TLSEXT_CA_NAMES /* OpenSSL 3.0 */
2844+ rb_define_const (mSSL , "OP_DISABLE_TLSEXT_CA_NAMES" , ULONG2NUM (SSL_OP_DISABLE_TLSEXT_CA_NAMES ));
2845+ #endif
28312846#ifdef SSL_OP_ALLOW_NO_DHE_KEX /* OpenSSL 1.1.1 */
28322847 rb_define_const (mSSL , "OP_ALLOW_NO_DHE_KEX" , ULONG2NUM (SSL_OP_ALLOW_NO_DHE_KEX ));
28332848#endif
@@ -2839,20 +2854,28 @@ Init_ossl_ssl(void)
28392854#ifdef SSL_OP_NO_ENCRYPT_THEN_MAC /* OpenSSL 1.1.1 */
28402855 rb_define_const (mSSL , "OP_NO_ENCRYPT_THEN_MAC" , ULONG2NUM (SSL_OP_NO_ENCRYPT_THEN_MAC ));
28412856#endif
2842- rb_define_const (mSSL , "OP_CIPHER_SERVER_PREFERENCE" , ULONG2NUM (SSL_OP_CIPHER_SERVER_PREFERENCE ));
2843- rb_define_const (mSSL , "OP_TLS_ROLLBACK_BUG" , ULONG2NUM (SSL_OP_TLS_ROLLBACK_BUG ));
2844- #ifdef SSL_OP_NO_RENEGOTIATION /* OpenSSL 1.1.1 */
2845- rb_define_const (mSSL , "OP_NO_RENEGOTIATION" , ULONG2NUM (SSL_OP_NO_RENEGOTIATION ));
2857+ #ifdef SSL_OP_ENABLE_MIDDLEBOX_COMPAT /* OpenSSL 1.1.1 */
2858+ rb_define_const (mSSL , "OP_ENABLE_MIDDLEBOX_COMPAT" , ULONG2NUM (SSL_OP_ENABLE_MIDDLEBOX_COMPAT ));
2859+ #endif
2860+ #ifdef SSL_OP_PRIORITIZE_CHACHA /* OpenSSL 1.1.1 */
2861+ rb_define_const (mSSL , "OP_PRIORITIZE_CHACHA" , ULONG2NUM (SSL_OP_PRIORITIZE_CHACHA ));
2862+ #endif
2863+ #ifdef SSL_OP_NO_ANTI_REPLAY /* OpenSSL 1.1.1 */
2864+ rb_define_const (mSSL , "OP_NO_ANTI_REPLAY" , ULONG2NUM (SSL_OP_NO_ANTI_REPLAY ));
28462865#endif
2847- rb_define_const (mSSL , "OP_CRYPTOPRO_TLSEXT_BUG" , ULONG2NUM (SSL_OP_CRYPTOPRO_TLSEXT_BUG ));
2848-
28492866 rb_define_const (mSSL , "OP_NO_SSLv3" , ULONG2NUM (SSL_OP_NO_SSLv3 ));
28502867 rb_define_const (mSSL , "OP_NO_TLSv1" , ULONG2NUM (SSL_OP_NO_TLSv1 ));
28512868 rb_define_const (mSSL , "OP_NO_TLSv1_1" , ULONG2NUM (SSL_OP_NO_TLSv1_1 ));
28522869 rb_define_const (mSSL , "OP_NO_TLSv1_2" , ULONG2NUM (SSL_OP_NO_TLSv1_2 ));
28532870#ifdef SSL_OP_NO_TLSv1_3 /* OpenSSL 1.1.1 */
28542871 rb_define_const (mSSL , "OP_NO_TLSv1_3" , ULONG2NUM (SSL_OP_NO_TLSv1_3 ));
28552872#endif
2873+ rb_define_const (mSSL , "OP_CIPHER_SERVER_PREFERENCE" , ULONG2NUM (SSL_OP_CIPHER_SERVER_PREFERENCE ));
2874+ rb_define_const (mSSL , "OP_TLS_ROLLBACK_BUG" , ULONG2NUM (SSL_OP_TLS_ROLLBACK_BUG ));
2875+ #ifdef SSL_OP_NO_RENEGOTIATION /* OpenSSL 1.1.1 */
2876+ rb_define_const (mSSL , "OP_NO_RENEGOTIATION" , ULONG2NUM (SSL_OP_NO_RENEGOTIATION ));
2877+ #endif
2878+ rb_define_const (mSSL , "OP_CRYPTOPRO_TLSEXT_BUG" , ULONG2NUM (SSL_OP_CRYPTOPRO_TLSEXT_BUG ));
28562879
28572880 /* SSL_OP_* flags for DTLS */
28582881#if 0
0 commit comments