| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -852,12 +852,6 @@ | |||
| 852 | 852 | ||
| 853 | 853 | # End dummy list. | |
| 854 | 854 | ||
| 855 | - parser.add_argument('--with-quic', | ||
| 856 | - action='store_true', | ||
| 857 | - dest='quic', | ||
| 858 | - default=None, | ||
| 859 | - help='build with QUIC support') | ||
| 860 | - | ||
| 861 | 855 | parser.add_argument('--without-ssl', | |
| 862 | 856 | action='store_true', | |
| 863 | 857 | dest='without_ssl', | |
@@ -1835,7 +1829,6 @@ def configure_openssl(o): | |||
| 1835 | 1829 | variables['node_shared_ngtcp2'] = b(options.shared_ngtcp2) | |
| 1836 | 1830 | variables['node_shared_nghttp3'] = b(options.shared_nghttp3) | |
| 1837 | 1831 | variables['openssl_is_fips'] = b(options.openssl_is_fips) | |
| 1838 | - variables['node_quic'] = b(options.quic) | ||
| 1839 | 1832 | variables['node_fipsinstall'] = b(False) | |
| 1840 | 1833 | ||
| 1841 | 1834 | if options.openssl_no_asm: | |
@@ -1897,10 +1890,6 @@ def without_ssl_error(option): | |||
| 1897 | 1890 | if options.openssl_is_fips and not options.shared_openssl: | |
| 1898 | 1891 | variables['node_fipsinstall'] = b(True) | |
| 1899 | 1892 | ||
| 1900 | - variables['openssl_quic'] = b(options.quic) | ||
| 1901 | - if options.quic: | ||
| 1902 | - o['defines'] += ['NODE_OPENSSL_HAS_QUIC'] | ||
| 1903 | - | ||
| 1904 | 1893 | configure_library('openssl', o) | |
| 1905 | 1894 | ||
| 1906 | 1895 | o['variables']['openssl_version'] = get_openssl_version(o) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1135,6 +1135,16 @@ If the ES module being `require()`'d contains top-level `await`, this flag | |||
| 1135 | 1135 | allows Node.js to evaluate the module, try to locate the | |
| 1136 | 1136 | top-level awaits, and print their location to help users find them. | |
| 1137 | 1137 | ||
| 1138 | + ### `--experimental-quic` | ||
| 1139 | + | ||
| 1140 | + <!-- YAML | ||
| 1141 | + added: REPLACEME | ||
| 1142 | + --> | ||
| 1143 | + | ||
| 1144 | + > Stability: 1.1 - Active development | ||
| 1145 | + | ||
| 1146 | + Enable experimental support for the QUIC protocol. | ||
| 1147 | + | ||
| 1138 | 1148 | ### `--experimental-require-module` | |
| 1139 | 1149 | ||
| 1140 | 1150 | <!-- YAML | |
@@ -1816,6 +1826,16 @@ added: v21.2.0 | |||
| 1816 | 1826 | ||
| 1817 | 1827 | Disable exposition of [Navigator API][] on the global scope. | |
| 1818 | 1828 | ||
| 1829 | + ### `--no-experimental-quic` | ||
| 1830 | + | ||
| 1831 | + <!-- YAML | ||
| 1832 | + added: REPLACEME | ||
| 1833 | + --> | ||
| 1834 | + | ||
| 1835 | + > Stability: 1.1 - Active Development | ||
| 1836 | + | ||
| 1837 | + Use this flag to disable QUIC. | ||
| 1838 | + | ||
| 1819 | 1839 | ### `--no-experimental-repl-await` | |
| 1820 | 1840 | ||
| 1821 | 1841 | <!-- YAML | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -159,6 +159,9 @@ | |||
| 159 | 159 | "experimental-print-required-tla": { | |
| 160 | 160 | "type": "boolean" | |
| 161 | 161 | }, | |
| 162 | + "experimental-quic": { | ||
| 163 | + "type": "boolean" | ||
| 164 | + }, | ||
| 162 | 165 | "experimental-repl-await": { | |
| 163 | 166 | "type": "boolean" | |
| 164 | 167 | }, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -226,6 +226,9 @@ flag is no longer required as WASI is enabled by default. | |||
| 226 | 226 | .It Fl -experimental-quic | |
| 227 | 227 | Enable the experimental QUIC support. | |
| 228 | 228 | . | |
| 229 | + .It Fl -no-experimental-quic | ||
| 230 | + Disable the experimental QUIC support. | ||
| 231 | + . | ||
| 229 | 232 | .It Fl -experimental-inspector-network-resource | |
| 230 | 233 | Enable experimental support for inspector network resources. | |
| 231 | 234 | . | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -285,6 +285,13 @@ const features = { | |||
| 285 | 285 | get require_module() { | |
| 286 | 286 | return getOptionValue('--experimental-require-module'); | |
| 287 | 287 | }, | |
| 288 | + get quic() { | ||
| 289 | + // TODO(@jasnell): When the implementation is updated to support Boring, | ||
| 290 | + // then this should be refactored to depend not only on the OpenSSL version. | ||
| 291 | + return !openSSLIsBoringSSL && | ||
| 292 | + getOptionValue('--experimental-quic') && | ||
| 293 | + process.config.variables.openssl_version >= 810549279; // >= 3.5.1 | ||
| 294 | + }, | ||
| 288 | 295 | }; | |
| 289 | 296 | ||
| 290 | 297 | ObjectDefineProperty(process, 'features', { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -193,7 +193,14 @@ | |||
| 193 | 193 | 'src/quic/preferredaddress.cc', | |
| 194 | 194 | 'src/quic/sessionticket.cc', | |
| 195 | 195 | 'src/quic/tokens.cc', | |
| 196 | - # 'src/quic/transportparams.cc', | ||
| 196 | + 'src/quic/application.cc', | ||
| 197 | + 'src/quic/endpoint.cc', | ||
| 198 | + 'src/quic/http3.cc', | ||
| 199 | + 'src/quic/session.cc', | ||
| 200 | + 'src/quic/streams.cc', | ||
| 201 | + 'src/quic/tlscontext.cc', | ||
| 202 | + 'src/quic/transportparams.cc', | ||
| 203 | + 'src/quic/quic.cc', | ||
| 197 | 204 | # headers to make for a more pleasant IDE experience | |
| 198 | 205 | 'src/aliased_buffer.h', | |
| 199 | 206 | 'src/aliased_buffer-inl.h', | |
@@ -339,7 +346,13 @@ | |||
| 339 | 346 | 'src/quic/preferredaddress.h', | |
| 340 | 347 | 'src/quic/sessionticket.h', | |
| 341 | 348 | 'src/quic/tokens.h', | |
| 342 | - # 'src/quic/transportparams.h', | ||
| 349 | + 'src/quic/transportparams.h', | ||
| 350 | + 'src/quic/application.h', | ||
| 351 | + 'src/quic/endpoint.h', | ||
| 352 | + 'src/quic/http3.h', | ||
| 353 | + 'src/quic/session.h', | ||
| 354 | + 'src/quic/streams.h', | ||
| 355 | + 'src/quic/tlscontext.h', | ||
| 343 | 356 | 'src/quic/guard.h', | |
| 344 | 357 | ], | |
| 345 | 358 | 'node_crypto_sources': [ | |
@@ -402,21 +415,6 @@ | |||
| 402 | 415 | 'src/node_crypto.cc', | |
| 403 | 416 | 'src/node_crypto.h', | |
| 404 | 417 | ], | |
| 405 | - 'node_quic_sources': [ | ||
| 406 | - 'src/quic/application.cc', | ||
| 407 | - 'src/quic/endpoint.cc', | ||
| 408 | - 'src/quic/http3.cc', | ||
| 409 | - 'src/quic/session.cc', | ||
| 410 | - 'src/quic/streams.cc', | ||
| 411 | - 'src/quic/tlscontext.cc', | ||
| 412 | - 'src/quic/application.h', | ||
| 413 | - 'src/quic/endpoint.h', | ||
| 414 | - 'src/quic/http3.h', | ||
| 415 | - 'src/quic/session.h', | ||
| 416 | - 'src/quic/streams.h', | ||
| 417 | - 'src/quic/tlscontext.h', | ||
| 418 | - 'src/quic/quic.cc', | ||
| 419 | - ], | ||
| 420 | 418 | 'node_cctest_openssl_sources': [ | |
| 421 | 419 | 'test/cctest/test_crypto_clienthello.cc', | |
| 422 | 420 | 'test/cctest/test_node_crypto.cc', | |
@@ -960,11 +958,6 @@ | |||
| 960 | 958 | 'deps/ncrypto/ncrypto.gyp:ncrypto', | |
| 961 | 959 | ], | |
| 962 | 960 | }], | |
| 963 | - [ 'node_quic=="true"', { | ||
| 964 | - 'sources': [ | ||
| 965 | - '<@(node_quic_sources)', | ||
| 966 | - ], | ||
| 967 | - }], | ||
| 968 | 961 | [ 'node_use_sqlite=="true"', { | |
| 969 | 962 | 'sources': [ | |
| 970 | 963 | '<@(node_sqlite_sources)', | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -425,12 +425,6 @@ | |||
| 425 | 425 | }], | |
| 426 | 426 | ] | |
| 427 | 427 | }], | |
| 428 | - [ 'openssl_quic=="true" and node_shared_ngtcp2=="false"', { | ||
| 429 | - 'dependencies': [ './deps/ngtcp2/ngtcp2.gyp:ngtcp2' ] | ||
| 430 | - }], | ||
| 431 | - [ 'openssl_quic=="true" and node_shared_nghttp3=="false"', { | ||
| 432 | - 'dependencies': [ './deps/ngtcp2/ngtcp2.gyp:nghttp3' ] | ||
| 433 | - }] | ||
| 434 | 428 | ] | |
| 435 | 429 | }, { | |
| 436 | 430 | 'defines': [ 'HAVE_OPENSSL=0' ] | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -10,6 +10,7 @@ | |||
| 10 | 10 | #include "node.h" | |
| 11 | 11 | #define NAPI_EXPERIMENTAL | |
| 12 | 12 | #include "node_api.h" | |
| 13 | + #include "quic/guard.h" | ||
| 13 | 14 | #include "uv.h" | |
| 14 | 15 | ||
| 15 | 16 | enum { | |
@@ -30,7 +31,7 @@ static_assert(static_cast<int>(NM_F_LINKED) == | |||
| 30 | 31 | #define NODE_BUILTIN_ICU_BINDINGS(V) | |
| 31 | 32 | #endif | |
| 32 | 33 | ||
| 33 | - #if HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC | ||
| 34 | + #if HAVE_OPENSSL && OPENSSL_NO_QUIC != 1 | ||
| 34 | 35 | #define NODE_BUILTIN_QUIC_BINDINGS(V) V(quic) | |
| 35 | 36 | #else | |
| 36 | 37 | #define NODE_BUILTIN_QUIC_BINDINGS(V) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4,6 +4,7 @@ | |||
| 4 | 4 | #include "node_external_reference.h" | |
| 5 | 5 | #include "node_internals.h" | |
| 6 | 6 | #include "node_threadsafe_cow-inl.h" | |
| 7 | + #include "quic/guard.h" | ||
| 7 | 8 | #include "simdutf.h" | |
| 8 | 9 | #include "util-inl.h" | |
| 9 | 10 | ||
@@ -137,10 +138,10 @@ BuiltinLoader::BuiltinCategories BuiltinLoader::GetBuiltinCategories() const { | |||
| 137 | 138 | "internal/http2/core", "internal/http2/compat", | |
| 138 | 139 | "internal/streams/lazy_transform", | |
| 139 | 140 | #endif // !HAVE_OPENSSL | |
| 140 | - #if !NODE_OPENSSL_HAS_QUIC | ||
| 141 | + #ifndef OPENSSL_NO_QUIC | ||
| 141 | 142 | "internal/quic/quic", "internal/quic/symbols", "internal/quic/stats", | |
| 142 | 143 | "internal/quic/state", | |
| 143 | - #endif // !NODE_OPENSSL_HAS_QUIC | ||
| 144 | + #endif // !OPENSSL_NO_QUIC | ||
| 144 | 145 | "quic", // Experimental. | |
| 145 | 146 | "sqlite", // Experimental. | |
| 146 | 147 | "sys", // Deprecated. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -5,6 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | 6 | #include <cinttypes> | |
| 7 | 7 | #include <vector> | |
| 8 | + #include "quic/guard.h" | ||
| 8 | 9 | #include "v8-fast-api-calls.h" | |
| 9 | 10 | #include "v8.h" | |
| 10 | 11 | ||
@@ -135,7 +136,7 @@ class ExternalReferenceRegistry { | |||
| 135 | 136 | #define EXTERNAL_REFERENCE_BINDING_LIST_CRYPTO(V) | |
| 136 | 137 | #endif // HAVE_OPENSSL | |
| 137 | 138 | ||
| 138 | - #if HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC | ||
| 139 | + #if HAVE_OPENSSL && OPENSSL_NO_QUIC != 1 | ||
| 139 | 140 | #define EXTERNAL_REFERENCE_BINDING_LIST_QUIC(V) V(quic) | |
| 140 | 141 | #else | |
| 141 | 142 | #define EXTERNAL_REFERENCE_BINDING_LIST_QUIC(V) | |
| Back | FazBrowse Home | New Git URL |
0 commit comments