Skip to content

Commit 1640aeb

Browse files
authored
crypto: remove obsolete SSL_OP_* constants
None of these constants have any effect in recent OpenSSL versions, not even in Node.js release lines that still use OpenSSL 1.1.1. It is likely rare that these options are still used (intentionally), and removing them is unlikely to break any existing applications. These constants can only be passed to the secureOptions option of tls.createSecureContext() and related APIs, and a value of undefined will be ignored. Similarly, if a bitwise combination of multiple options is used, undefined constants will not change the behavior because (a | undefined | b) === (a | b) for (small) integers a and b. Refs: #46954 Refs: #47066 PR-URL: #47073 Reviewed-By: Filip Skokan <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
1 parent d1eaded commit 1640aeb

File tree

2 files changed

+0
-80
lines changed

2 files changed

+0
-80
lines changed

src/node_constants.cc

-64
Original file line numberDiff line numberDiff line change
@@ -844,42 +844,10 @@ void DefineCryptoConstants(Local<Object> target) {
844844
NODE_DEFINE_CONSTANT(target, SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS);
845845
#endif
846846

847-
#ifdef SSL_OP_EPHEMERAL_RSA
848-
NODE_DEFINE_CONSTANT(target, SSL_OP_EPHEMERAL_RSA);
849-
#endif
850-
851847
#ifdef SSL_OP_LEGACY_SERVER_CONNECT
852848
NODE_DEFINE_CONSTANT(target, SSL_OP_LEGACY_SERVER_CONNECT);
853849
#endif
854850

855-
#ifdef SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER
856-
NODE_DEFINE_CONSTANT(target, SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER);
857-
#endif
858-
859-
#ifdef SSL_OP_MICROSOFT_SESS_ID_BUG
860-
NODE_DEFINE_CONSTANT(target, SSL_OP_MICROSOFT_SESS_ID_BUG);
861-
#endif
862-
863-
#ifdef SSL_OP_MSIE_SSLV2_RSA_PADDING
864-
NODE_DEFINE_CONSTANT(target, SSL_OP_MSIE_SSLV2_RSA_PADDING);
865-
#endif
866-
867-
#ifdef SSL_OP_NETSCAPE_CA_DN_BUG
868-
NODE_DEFINE_CONSTANT(target, SSL_OP_NETSCAPE_CA_DN_BUG);
869-
#endif
870-
871-
#ifdef SSL_OP_NETSCAPE_CHALLENGE_BUG
872-
NODE_DEFINE_CONSTANT(target, SSL_OP_NETSCAPE_CHALLENGE_BUG);
873-
#endif
874-
875-
#ifdef SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
876-
NODE_DEFINE_CONSTANT(target, SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG);
877-
#endif
878-
879-
#ifdef SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG
880-
NODE_DEFINE_CONSTANT(target, SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG);
881-
#endif
882-
883851
#ifdef SSL_OP_NO_COMPRESSION
884852
NODE_DEFINE_CONSTANT(target, SSL_OP_NO_COMPRESSION);
885853
#endif
@@ -928,42 +896,10 @@ void DefineCryptoConstants(Local<Object> target) {
928896
NODE_DEFINE_CONSTANT(target, SSL_OP_NO_TLSv1_3);
929897
#endif
930898

931-
#ifdef SSL_OP_PKCS1_CHECK_1
932-
NODE_DEFINE_CONSTANT(target, SSL_OP_PKCS1_CHECK_1);
933-
#endif
934-
935-
#ifdef SSL_OP_PKCS1_CHECK_2
936-
NODE_DEFINE_CONSTANT(target, SSL_OP_PKCS1_CHECK_2);
937-
#endif
938-
939899
#ifdef SSL_OP_PRIORITIZE_CHACHA
940900
NODE_DEFINE_CONSTANT(target, SSL_OP_PRIORITIZE_CHACHA);
941901
#endif
942902

943-
#ifdef SSL_OP_SINGLE_DH_USE
944-
NODE_DEFINE_CONSTANT(target, SSL_OP_SINGLE_DH_USE);
945-
#endif
946-
947-
#ifdef SSL_OP_SINGLE_ECDH_USE
948-
NODE_DEFINE_CONSTANT(target, SSL_OP_SINGLE_ECDH_USE);
949-
#endif
950-
951-
#ifdef SSL_OP_SSLEAY_080_CLIENT_DH_BUG
952-
NODE_DEFINE_CONSTANT(target, SSL_OP_SSLEAY_080_CLIENT_DH_BUG);
953-
#endif
954-
955-
#ifdef SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG
956-
NODE_DEFINE_CONSTANT(target, SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG);
957-
#endif
958-
959-
#ifdef SSL_OP_TLS_BLOCK_PADDING_BUG
960-
NODE_DEFINE_CONSTANT(target, SSL_OP_TLS_BLOCK_PADDING_BUG);
961-
#endif
962-
963-
#ifdef SSL_OP_TLS_D5_BUG
964-
NODE_DEFINE_CONSTANT(target, SSL_OP_TLS_D5_BUG);
965-
#endif
966-
967903
#ifdef SSL_OP_TLS_ROLLBACK_BUG
968904
NODE_DEFINE_CONSTANT(target, SSL_OP_TLS_ROLLBACK_BUG);
969905
#endif

typings/internalBinding/constants.d.ts

-16
Original file line numberDiff line numberDiff line change
@@ -197,15 +197,7 @@ declare function InternalBinding(binding: 'constants'): {
197197
SSL_OP_COOKIE_EXCHANGE: 8192;
198198
SSL_OP_CRYPTOPRO_TLSEXT_BUG: 2147483648;
199199
SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: 2048;
200-
SSL_OP_EPHEMERAL_RSA: 0;
201200
SSL_OP_LEGACY_SERVER_CONNECT: 4;
202-
SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: 0;
203-
SSL_OP_MICROSOFT_SESS_ID_BUG: 0;
204-
SSL_OP_MSIE_SSLV2_RSA_PADDING: 0;
205-
SSL_OP_NETSCAPE_CA_DN_BUG: 0;
206-
SSL_OP_NETSCAPE_CHALLENGE_BUG: 0;
207-
SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: 0;
208-
SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: 0;
209201
SSL_OP_NO_COMPRESSION: 131072;
210202
SSL_OP_NO_ENCRYPT_THEN_MAC: 524288;
211203
SSL_OP_NO_QUERY_MTU: 4096;
@@ -218,15 +210,7 @@ declare function InternalBinding(binding: 'constants'): {
218210
SSL_OP_NO_TLSv1_1: 268435456;
219211
SSL_OP_NO_TLSv1_2: 134217728;
220212
SSL_OP_NO_TLSv1_3: 536870912;
221-
SSL_OP_PKCS1_CHECK_1: 0;
222-
SSL_OP_PKCS1_CHECK_2: 0;
223213
SSL_OP_PRIORITIZE_CHACHA: 2097152;
224-
SSL_OP_SINGLE_DH_USE: 0;
225-
SSL_OP_SINGLE_ECDH_USE: 0;
226-
SSL_OP_SSLEAY_080_CLIENT_DH_BUG: 0;
227-
SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: 0;
228-
SSL_OP_TLS_BLOCK_PADDING_BUG: 0;
229-
SSL_OP_TLS_D5_BUG: 0;
230214
SSL_OP_TLS_ROLLBACK_BUG: 8388608;
231215
ENGINE_METHOD_RSA: 1;
232216
ENGINE_METHOD_DSA: 2;

0 commit comments

Comments
 (0)