Skip to content

Commit 8adbb9a

Browse files
committed
ssl: sync SSL_OP constants with OpenSSL 4.0
1 parent 743daa7 commit 8adbb9a

1 file changed

Lines changed: 31 additions & 1 deletion

File tree

ext/openssl/ossl_ssl.c

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3189,6 +3189,9 @@ Init_ossl_ssl(void)
31893189
rb_define_const(mSSL, "VERIFY_CLIENT_ONCE", INT2NUM(SSL_VERIFY_CLIENT_ONCE));
31903190

31913191
rb_define_const(mSSL, "OP_ALL", UINT64T2NUM(SSL_OP_ALL));
3192+
#ifdef SSL_OP_NO_EXTENDED_MASTER_SECRET /* OpenSSL 3.0 */
3193+
rb_define_const(mSSL, "OP_NO_EXTENDED_MASTER_SECRET", UINT64T2NUM(SSL_OP_NO_EXTENDED_MASTER_SECRET));
3194+
#endif
31923195
#ifdef SSL_OP_CLEANSE_PLAINTEXT /* OpenSSL 3.0 */
31933196
rb_define_const(mSSL, "OP_CLEANSE_PLAINTEXT", UINT64T2NUM(SSL_OP_CLEANSE_PLAINTEXT));
31943197
#endif
@@ -3234,10 +3237,37 @@ Init_ossl_ssl(void)
32343237
rb_define_const(mSSL, "OP_NO_TLSv1_3", UINT64T2NUM(SSL_OP_NO_TLSv1_3));
32353238
rb_define_const(mSSL, "OP_CIPHER_SERVER_PREFERENCE", UINT64T2NUM(SSL_OP_CIPHER_SERVER_PREFERENCE));
32363239
rb_define_const(mSSL, "OP_TLS_ROLLBACK_BUG", UINT64T2NUM(SSL_OP_TLS_ROLLBACK_BUG));
3237-
#ifdef SSL_OP_NO_RENEGOTIATION /* OpenSSL 1.1.1, missing in LibreSSL */
3240+
#ifdef SSL_OP_NO_RENEGOTIATION /* OpenSSL 1.1.1 and LibreSSL 4.1.1 */
32383241
rb_define_const(mSSL, "OP_NO_RENEGOTIATION", UINT64T2NUM(SSL_OP_NO_RENEGOTIATION));
32393242
#endif
32403243
rb_define_const(mSSL, "OP_CRYPTOPRO_TLSEXT_BUG", UINT64T2NUM(SSL_OP_CRYPTOPRO_TLSEXT_BUG));
3244+
#ifdef SSL_OP_NO_TX_CERTIFICATE_COMPRESSION /* OpenSSL 3.2 */
3245+
rb_define_const(mSSL, "OP_NO_TX_CERTIFICATE_COMPRESSION", UINT64T2NUM(SSL_OP_NO_TX_CERTIFICATE_COMPRESSION));
3246+
#endif
3247+
#ifdef SSL_OP_NO_RX_CERTIFICATE_COMPRESSION /* OpenSSL 3.2 */
3248+
rb_define_const(mSSL, "OP_NO_RX_CERTIFICATE_COMPRESSION", UINT64T2NUM(SSL_OP_NO_RX_CERTIFICATE_COMPRESSION));
3249+
#endif
3250+
#ifdef SSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE /* OpenSSL 3.2 */
3251+
rb_define_const(mSSL, "OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE", UINT64T2NUM(SSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE));
3252+
#endif
3253+
#ifdef SSL_OP_PREFER_NO_DHE_KEX /* OpenSSL 3.3 */
3254+
rb_define_const(mSSL, "OP_PREFER_NO_DHE_KEX", UINT64T2NUM(SSL_OP_PREFER_NO_DHE_KEX));
3255+
#endif
3256+
#ifdef SSL_OP_LEGACY_EC_POINT_FORMATS /* OpenSSL 3.6 */
3257+
rb_define_const(mSSL, "OP_LEGACY_EC_POINT_FORMATS", UINT64T2NUM(SSL_OP_LEGACY_EC_POINT_FORMATS));
3258+
#endif
3259+
#ifdef SSL_OP_ECH_GREASE /* OpenSSL 4.0 */
3260+
rb_define_const(mSSL, "OP_ECH_GREASE", UINT64T2NUM(SSL_OP_ECH_GREASE));
3261+
#endif
3262+
#ifdef SSL_OP_ECH_TRIALDECRYPT /* OpenSSL 4.0 */
3263+
rb_define_const(mSSL, "OP_ECH_TRIALDECRYPT", UINT64T2NUM(SSL_OP_ECH_TRIALDECRYPT));
3264+
#endif
3265+
#ifdef SSL_OP_ECH_IGNORE_CID /* OpenSSL 4.0 */
3266+
rb_define_const(mSSL, "OP_ECH_IGNORE_CID", UINT64T2NUM(SSL_OP_ECH_IGNORE_CID));
3267+
#endif
3268+
#ifdef SSL_OP_ECH_GREASE_RETRY_CONFIG /* OpenSSL 4.0 */
3269+
rb_define_const(mSSL, "OP_ECH_GREASE_RETRY_CONFIG", UINT64T2NUM(SSL_OP_ECH_GREASE_RETRY_CONFIG));
3270+
#endif
32413271

32423272
/* SSL_OP_* flags for DTLS */
32433273
#if 0

0 commit comments

Comments
 (0)