@fails-components/webtransport 0.0.1-rc.2 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CMakeLists.txt +5 -2
- package/package.json +1 -1
- package/platform/net/quiche/common/platform/impl/quiche_flags_impl.h +1 -54
- package/platform/quiche_platform_impl/quic_flags_impl.h +1 -27
- package/platform/quiche_platform_impl/quiche_flag_utils_impl.h +1 -16
- package/platform/quiche_platform_impl/quiche_flags_impl.h +6 -1
- package/src/http3client.cc +14 -2
- package/src/http3client.h +10 -15
- package/src/webtransport.js +4 -1
- package/third_party/boringssl/src/.clang-format +11 -0
- package/third_party/boringssl/src/crypto/CMakeLists.txt +0 -1
- package/third_party/boringssl/src/crypto/asn1/a_strex.c +61 -95
- package/third_party/boringssl/src/crypto/asn1/asn1_par.c +31 -9
- package/third_party/boringssl/src/crypto/asn1/tasn_dec.c +33 -19
- package/third_party/boringssl/src/crypto/cipher_extra/asm/chacha20_poly1305_armv8.pl +8 -8
- package/third_party/boringssl/src/crypto/cipher_extra/derive_key.c +4 -4
- package/third_party/boringssl/src/crypto/cipher_extra/e_des.c +1 -0
- package/third_party/boringssl/src/crypto/cipher_extra/e_null.c +1 -0
- package/third_party/boringssl/src/crypto/cipher_extra/e_rc2.c +1 -0
- package/third_party/boringssl/src/crypto/cipher_extra/e_rc4.c +2 -0
- package/third_party/boringssl/src/crypto/fipsmodule/bcm.c +1 -0
- package/third_party/boringssl/src/crypto/fipsmodule/bn/asm/x86_64-mont5.pl +0 -197
- package/third_party/boringssl/src/crypto/fipsmodule/bn/bn_test.cc +0 -9
- package/third_party/boringssl/src/crypto/fipsmodule/bn/bn_tests.txt +68 -0
- package/third_party/boringssl/src/crypto/fipsmodule/bn/exponentiation.c +45 -40
- package/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h +11 -8
- package/third_party/boringssl/src/crypto/fipsmodule/bn/rsaz_exp.c +15 -106
- package/third_party/boringssl/src/crypto/fipsmodule/bn/rsaz_exp.h +5 -1
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +12 -32
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/internal.h +39 -0
- package/third_party/boringssl/src/crypto/{evp → fipsmodule/digestsign}/digestsign.c +7 -9
- package/third_party/boringssl/src/crypto/fipsmodule/ec/ec_key.c +1 -0
- package/third_party/boringssl/src/crypto/fipsmodule/ecdh/ecdh.c +2 -1
- package/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa.c +1 -0
- package/third_party/boringssl/src/crypto/fipsmodule/hmac/hmac.c +1 -0
- package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator.c +1 -0
- package/third_party/boringssl/src/crypto/pkcs8/pkcs8_x509.c +4 -4
- package/third_party/boringssl/src/crypto/x509/algorithm.c +18 -1
- package/third_party/boringssl/src/crypto/x509/x_algor.c +1 -1
- package/third_party/boringssl/src/crypto/x509/x_crl.c +3 -3
- package/third_party/boringssl/src/crypto/x509/x_exten.c +1 -1
- package/third_party/boringssl/src/crypto/x509/x_name.c +1 -1
- package/third_party/boringssl/src/crypto/x509/x_pubkey.c +1 -1
- package/third_party/boringssl/src/crypto/x509/x_req.c +2 -2
- package/third_party/boringssl/src/crypto/x509/x_sig.c +1 -1
- package/third_party/boringssl/src/crypto/x509/x_spki.c +2 -2
- package/third_party/boringssl/src/crypto/x509/x_val.c +1 -1
- package/third_party/boringssl/src/crypto/x509/x_x509.c +2 -2
- package/third_party/boringssl/src/crypto/x509v3/v3_akey.c +1 -1
- package/third_party/boringssl/src/crypto/x509v3/v3_akeya.c +1 -1
- package/third_party/boringssl/src/crypto/x509v3/v3_bcons.c +2 -2
- package/third_party/boringssl/src/crypto/x509v3/v3_cpols.c +6 -6
- package/third_party/boringssl/src/crypto/x509v3/v3_crld.c +6 -6
- package/third_party/boringssl/src/crypto/x509v3/v3_enum.c +1 -1
- package/third_party/boringssl/src/crypto/x509v3/v3_extku.c +2 -2
- package/third_party/boringssl/src/crypto/x509v3/v3_genn.c +3 -3
- package/third_party/boringssl/src/crypto/x509v3/v3_info.c +3 -3
- package/third_party/boringssl/src/crypto/x509v3/v3_int.c +3 -3
- package/third_party/boringssl/src/crypto/x509v3/v3_ncons.c +2 -2
- package/third_party/boringssl/src/crypto/x509v3/v3_ocsp.c +2 -2
- package/third_party/boringssl/src/crypto/x509v3/v3_pcons.c +1 -1
- package/third_party/boringssl/src/crypto/x509v3/v3_pmaps.c +2 -2
- package/third_party/boringssl/src/crypto/x509v3/v3_skey.c +1 -1
- package/third_party/boringssl/src/decrepit/blowfish/blowfish.c +1 -0
- package/third_party/boringssl/src/decrepit/cast/cast.c +1 -0
- package/third_party/boringssl/src/decrepit/cfb/cfb.c +1 -0
- package/third_party/boringssl/src/decrepit/xts/xts.c +2 -1
- package/third_party/boringssl/src/fuzz/CMakeLists.txt +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip.cc +57 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/0461791e54b4840c109637952eab43d9b938cab8 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/06e57a7b98a403a00822739739924b97ae6c74e9 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/078c3c1199930781466871c8dda69bec379286a4 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/082a991742f652549e4b207100ee521f474e0a99 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/091e3389548686c5038d04e3d76b9c4d30502074 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/13e484c406efe97dc9d91f8b80a27b0e597c34da +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/153d254254345b61e20e7b37637dd6f6fd71ba01 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/163605136e22f5b5302fe60d1f17837bee6b6b2b +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/1a96ec99b487b93052cd860c447e6d126dcc36d4 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/1cc9ad96fcee279e8589b7071c7a0ccd111098f2 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/229b8e1825512868e0e11a199ed71231dd41bb4f +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/236d820eadf7f84d70de7bb8be5f1c57a4005de2 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/24fd9742dbdee3167509db4af245ad6f8c4c1e99 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/2896f8deb3c4e8bdfeab743b22c64c92316880f7 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/29b6252fe9c4d1186394b1664c421cca795b61a5 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/2b4955132275314d1d377f37f93d8c1879a3519a +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/2e7112ac524a7a663632397cbb41f7dfd22e92c6 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/396d197005432accf99bf0f483286e459eb24063 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/3c75fe79266cf639f2180722a3f03f8fc3e25685 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/3fbb104fb0eb6cae4af34d8a516998336b3a6778 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/422fa995b3fdfed572b68b292062c330d6d05272 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/428b48fc494cee828f0c27f77aef477cb2e1fd80 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/4bd69e424b6fa38f9e63e58b8d0e95ac2d38d598 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/4be7e1f134e1c55aeadeead515200f6f1e6254ba +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/4de268400e174db2dc306f45c833cf968a6c6546 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/52d2c7efcd7da0eb7463829e05a598e36729bfae +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/53cf415eb9de49fb5a0cb46e745e413a99aa0779 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/53ea84c48a5792281a46eb5a9c896d54ea3f1838 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/5ba93c9db0cff93f52b521d7420e43f6eda2784f +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/5bab61eb53176449e25c2c82f172b82cb13ffb9d +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/5e5361730362736fe3e2804d8566e3c91454509b +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/6654fedb1fc4b07095695b062b5af4c2f12d59ae +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/6cad8b2a41194372ec897bece6512fe8331e274d +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/6f40330ec07e8e22f113f982b297ff7f86b8e485 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/738f291e53e97c08dae378c71ef70a60e31ae900 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/7396791821e64fc9340249a4bcbd2198e9f237db +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/7653595e28f23e62ea6707c99ca08c780a69335f +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/77de68daecd823babbb58edb1c8e14d7106e83bb +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/7cb5c71603a787032973d6ddc9c2c34638005784 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/80a1e1ae75c1e5ef7bbde5f5877e3e5b26b3cf58 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/872ba8af52a8c1380c388bab0e20bec2e729db80 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/8855f2d904cf1bbaffc54e68d98890fdc9ec14cc +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/8a22f56ee86cc2d67e9610a6b0ed59f21008a341 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/935a69e9f3bfa1dd3bf058fa3e1b953e82195de6 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/951ccb49640c8f9e81fb4e0d82730321f4e15bb3 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/9af1f3ed10c7a54f6b57c344015141cc082db23b +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a0b7dd1684089c63a4aac2e4a832544df4d639d6 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a22d0d3565a509a4bfedce078090d8c6a908d950 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a22f1185582f66227118c8e9002a5c29728f0650 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a457945cb86ec812235f407ed70fe72fbaf694a1 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a4ee44c4e8728d4924642ef8765063262e8c4601 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a4fc609a6546fc0061f499f0faed9054fd388c9a +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a7c13e6fe60eee08b9aac00a095a9301ea1a9824 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a98e22a5a8c2f5dda365d55e76536931010e1560 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/aca6ed86348b1176bfbe4ebf32b2d48a0aa42f9f +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/aeefb82d7f5cc69168aade3b196a84d0f5c14bf2 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/b37e0f6fa42840c773747c4cb608c278ab65021d +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/b5d4e67f0ec5b1a90100d8ad424d77aea8e16353 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/b65ea16ba4dae8599ebbad7c4cb9fcd505edf485 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/b95311782071c4d9182c0effe32487fc5cdbd33d +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/bbcaf4d15f92bfc6d624eee967fade1a74329f30 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/bc26b8c794ac0adf948cbca02e88b3901824ef17 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/bc7b23c2c68e4ad33ecea493ff6e60d423371cd0 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/bd8daf3e78d8ba3a25838053b6993edc7a21c30e +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/c4d94647e646f02da1736b3179804ad6083acde9 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/c869b259f9f81bec8ed24a9bc2cef35a513fb9fc +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/ceee46f04a09ef5d3342ef25d9f483e861727575 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/d05c069216b54f35bc7e3ee08371baee243c089a +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/d18c30ba21e0d085dd983ad528f2c9001285d3d2 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/d2c00146b2f2bcb4c6cecb731d2062273523d8c8 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/d9bc7157a485958a5fce35ce777f551fe3f7d94c +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/defce76f0d3c3e057bb623986bacee7bbd07d1a1 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/df9b696736847e43672b7a99ca05655af8a81135 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/e5b420f71cf412bd9fdebdd46245fabd1f3462e5 +1 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/e7979b0e6e3e9cd64ceab99778c55205d6f92a73 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/ee629f1935abc05fdc32ba314ec1f80f4bff2a17 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/f944dcd635f9801f7ac90a407fbc479964dec024 +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/fadcde7d914246ca04bd56e68fd4045b1cf1c5ef +0 -0
- package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/fd8be6506a9995f626eef831b9c981a80b0e3640 +0 -0
- package/third_party/boringssl/src/include/openssl/cipher.h +21 -48
- package/third_party/boringssl/src/include/openssl/ssl.h +38 -0
- package/third_party/boringssl/src/ssl/handshake_client.cc +8 -2
- package/third_party/boringssl/src/ssl/internal.h +16 -3
- package/third_party/boringssl/src/ssl/s3_both.cc +23 -1
- package/third_party/boringssl/src/ssl/ssl_lib.cc +94 -1
- package/third_party/boringssl/src/ssl/test/runner/runner.go +192 -0
- package/third_party/boringssl/src/ssl/test/test_config.cc +6 -0
- package/third_party/boringssl/src/ssl/test/test_config.h +1 -0
- package/third_party/boringssl/src/ssl/tls13_client.cc +7 -3
- package/third_party/boringssl/src/ssl/tls13_server.cc +2 -1
- package/third_party/boringssl/src/util/convert_comments.go +23 -0
- package/third_party/boringssl/src/util/fipstools/acvp/acvptool/acvp/acvp.go +1 -1
- package/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/modulewrapper.cc +32 -21
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.cc +1 -1
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h +1 -1
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h +3 -2
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc +2 -2
- package/third_party/quiche/quiche/http2/adapter/http2_protocol.h +5 -1
- package/third_party/quiche/quiche/http2/adapter/http2_util.cc +2 -0
- package/third_party/quiche/quiche/http2/adapter/http2_visitor_interface.h +2 -0
- package/third_party/quiche/quiche/http2/adapter/nghttp2_adapter_test.cc +119 -0
- package/third_party/quiche/quiche/http2/adapter/oghttp2_adapter_test.cc +130 -0
- package/third_party/quiche/quiche/http2/adapter/oghttp2_session.cc +23 -12
- package/third_party/quiche/quiche/http2/decoder/decode_buffer_test.cc +6 -11
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.cc +0 -5
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.h +0 -2
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr_sender.cc +0 -10
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr_sender.h +0 -1
- package/third_party/quiche/quiche/quic/core/congestion_control/send_algorithm_interface.h +0 -6
- package/third_party/quiche/quiche/quic/core/congestion_control/tcp_cubic_sender_bytes.cc +0 -2
- package/third_party/quiche/quiche/quic/core/congestion_control/tcp_cubic_sender_bytes.h +0 -1
- package/third_party/quiche/quiche/quic/core/crypto/transport_parameters_test.cc +1 -3
- package/third_party/quiche/quiche/quic/core/http/end_to_end_test.cc +19 -9
- package/third_party/quiche/quiche/quic/core/http/http_decoder_test.cc +6 -3
- package/third_party/quiche/quiche/quic/core/http/quic_server_session_base.cc +4 -16
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.h +6 -6
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_session_test.cc +25 -15
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream_test.cc +6 -5
- package/third_party/quiche/quiche/quic/core/http/web_transport_http3.cc +1 -2
- package/third_party/quiche/quiche/quic/core/quic_bandwidth_test.cc +12 -12
- package/third_party/quiche/quiche/quic/core/quic_connection.cc +5 -95
- package/third_party/quiche/quiche/quic/core/quic_connection.h +0 -35
- package/third_party/quiche/quiche/quic/core/quic_connection_test.cc +80 -196
- package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.cc +1 -1
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream.cc +29 -5
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream_test.cc +46 -0
- package/third_party/quiche/quiche/quic/core/quic_dispatcher_test.cc +17 -14
- package/third_party/quiche/quiche/quic/core/quic_flags_list.h +54 -54
- package/third_party/quiche/quiche/quic/core/quic_flow_controller_test.cc +8 -5
- package/third_party/quiche/quiche/quic/core/quic_framer_test.cc +8 -5
- package/third_party/quiche/quiche/quic/core/quic_idle_network_detector.cc +1 -0
- package/third_party/quiche/quiche/quic/core/quic_idle_network_detector_test.cc +29 -0
- package/third_party/quiche/quiche/quic/core/quic_packet_creator.cc +1 -5
- package/third_party/quiche/quiche/quic/core/quic_packet_creator_test.cc +18 -11
- package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.cc +9 -28
- package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.h +0 -13
- package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager_test.cc +1 -49
- package/third_party/quiche/quiche/quic/core/quic_session.cc +0 -8
- package/third_party/quiche/quiche/quic/core/quic_session.h +0 -1
- package/third_party/quiche/quiche/quic/core/quic_stream.cc +1 -1
- package/third_party/quiche/quiche/quic/core/quic_stream_sequencer.cc +5 -0
- package/third_party/quiche/quiche/quic/core/quic_stream_sequencer.h +4 -0
- package/third_party/quiche/quiche/quic/core/quic_stream_sequencer_test.cc +12 -5
- package/third_party/quiche/quiche/quic/core/quic_stream_test.cc +27 -12
- package/third_party/quiche/quiche/quic/core/quic_types.cc +0 -1
- package/third_party/quiche/quiche/quic/core/quic_types.h +0 -3
- package/third_party/quiche/quiche/quic/core/quic_utils.cc +0 -3
- package/third_party/quiche/quiche/quic/core/quic_utils_test.cc +0 -2
- package/third_party/quiche/quiche/quic/core/tls_client_handshaker_test.cc +16 -12
- package/third_party/quiche/quiche/quic/core/tls_handshaker.cc +18 -3
- package/third_party/quiche/quiche/quic/qbone/platform/internet_checksum.cc +7 -2
- package/third_party/quiche/quiche/quic/test_tools/crypto_test_utils.cc +20 -12
- package/third_party/quiche/quiche/quic/test_tools/crypto_test_utils.h +10 -5
- package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.h +0 -2
- package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint.cc +0 -8
- package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint.h +0 -1
- package/third_party/quiche/quiche/quic/tools/quic_simple_server_stream_test.cc +2 -1
- package/platform/net/quiche/common/platform/impl/quic_flags_list_add.h +0 -379
- package/platform/net/quiche/common/platform/impl/quiche_flags_impl.cc +0 -21
- package/third_party/boringssl/src/crypto/asn1/charmap.h +0 -15
- package/third_party/boringssl/src/crypto/asn1/charmap.pl +0 -135
|
@@ -64,6 +64,15 @@
|
|
|
64
64
|
|
|
65
65
|
#include "internal.h"
|
|
66
66
|
|
|
67
|
+
/* Restrict the digests that are allowed in X509 certificates */
|
|
68
|
+
static int x509_digest_nid_ok(const int digest_nid) {
|
|
69
|
+
switch (digest_nid) {
|
|
70
|
+
case NID_md4:
|
|
71
|
+
case NID_md5:
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
return 1;
|
|
75
|
+
}
|
|
67
76
|
|
|
68
77
|
int x509_digest_sign_algorithm(EVP_MD_CTX *ctx, X509_ALGOR *algor) {
|
|
69
78
|
EVP_PKEY *pkey = EVP_PKEY_CTX_get0_pkey(ctx->pctx);
|
|
@@ -95,8 +104,10 @@ int x509_digest_sign_algorithm(EVP_MD_CTX *ctx, X509_ALGOR *algor) {
|
|
|
95
104
|
return 0;
|
|
96
105
|
}
|
|
97
106
|
|
|
107
|
+
const int digest_nid = EVP_MD_type(digest);
|
|
98
108
|
int sign_nid;
|
|
99
|
-
if (!
|
|
109
|
+
if (!x509_digest_nid_ok(digest_nid) ||
|
|
110
|
+
!OBJ_find_sigid_by_algs(&sign_nid, digest_nid,
|
|
100
111
|
EVP_PKEY_id(pkey))) {
|
|
101
112
|
OPENSSL_PUT_ERROR(ASN1, ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED);
|
|
102
113
|
return 0;
|
|
@@ -126,6 +137,12 @@ int x509_digest_verify_init(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg,
|
|
|
126
137
|
return 0;
|
|
127
138
|
}
|
|
128
139
|
|
|
140
|
+
/* Check for permitted digest algorithms */
|
|
141
|
+
if (!x509_digest_nid_ok(digest_nid)) {
|
|
142
|
+
OPENSSL_PUT_ERROR(ASN1, ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED);
|
|
143
|
+
return 0;
|
|
144
|
+
}
|
|
145
|
+
|
|
129
146
|
/* NID_undef signals that there are custom parameters to set. */
|
|
130
147
|
if (digest_nid == NID_undef) {
|
|
131
148
|
if (sigalg_nid == NID_rsassaPss) {
|
|
@@ -74,7 +74,7 @@ static int setup_idp(X509_CRL *crl, ISSUING_DIST_POINT *idp);
|
|
|
74
74
|
ASN1_SEQUENCE(X509_REVOKED) = {
|
|
75
75
|
ASN1_SIMPLE(X509_REVOKED,serialNumber, ASN1_INTEGER),
|
|
76
76
|
ASN1_SIMPLE(X509_REVOKED,revocationDate, ASN1_TIME),
|
|
77
|
-
ASN1_SEQUENCE_OF_OPT(X509_REVOKED,extensions, X509_EXTENSION)
|
|
77
|
+
ASN1_SEQUENCE_OF_OPT(X509_REVOKED,extensions, X509_EXTENSION),
|
|
78
78
|
} ASN1_SEQUENCE_END(X509_REVOKED)
|
|
79
79
|
|
|
80
80
|
static int crl_lookup(X509_CRL *crl, X509_REVOKED **ret, ASN1_INTEGER *serial,
|
|
@@ -112,7 +112,7 @@ ASN1_SEQUENCE_enc(X509_CRL_INFO, enc, crl_inf_cb) = {
|
|
|
112
112
|
ASN1_SIMPLE(X509_CRL_INFO, lastUpdate, ASN1_TIME),
|
|
113
113
|
ASN1_OPT(X509_CRL_INFO, nextUpdate, ASN1_TIME),
|
|
114
114
|
ASN1_SEQUENCE_OF_OPT(X509_CRL_INFO, revoked, X509_REVOKED),
|
|
115
|
-
ASN1_EXP_SEQUENCE_OF_OPT(X509_CRL_INFO, extensions, X509_EXTENSION, 0)
|
|
115
|
+
ASN1_EXP_SEQUENCE_OF_OPT(X509_CRL_INFO, extensions, X509_EXTENSION, 0),
|
|
116
116
|
} ASN1_SEQUENCE_END_enc(X509_CRL_INFO, X509_CRL_INFO)
|
|
117
117
|
|
|
118
118
|
/*
|
|
@@ -356,7 +356,7 @@ static int setup_idp(X509_CRL *crl, ISSUING_DIST_POINT *idp)
|
|
|
356
356
|
ASN1_SEQUENCE_ref(X509_CRL, crl_cb) = {
|
|
357
357
|
ASN1_SIMPLE(X509_CRL, crl, X509_CRL_INFO),
|
|
358
358
|
ASN1_SIMPLE(X509_CRL, sig_alg, X509_ALGOR),
|
|
359
|
-
ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING)
|
|
359
|
+
ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING),
|
|
360
360
|
} ASN1_SEQUENCE_END_ref(X509_CRL, X509_CRL)
|
|
361
361
|
|
|
362
362
|
IMPLEMENT_ASN1_FUNCTIONS(X509_REVOKED)
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
ASN1_SEQUENCE(X509_EXTENSION) = {
|
|
66
66
|
ASN1_SIMPLE(X509_EXTENSION, object, ASN1_OBJECT),
|
|
67
67
|
ASN1_OPT(X509_EXTENSION, critical, ASN1_BOOLEAN),
|
|
68
|
-
ASN1_SIMPLE(X509_EXTENSION, value, ASN1_OCTET_STRING)
|
|
68
|
+
ASN1_SIMPLE(X509_EXTENSION, value, ASN1_OCTET_STRING),
|
|
69
69
|
} ASN1_SEQUENCE_END(X509_EXTENSION)
|
|
70
70
|
|
|
71
71
|
ASN1_ITEM_TEMPLATE(X509_EXTENSIONS) =
|
|
@@ -99,7 +99,7 @@ static int i2d_name_canon(STACK_OF(STACK_OF_X509_NAME_ENTRY) * intname,
|
|
|
99
99
|
|
|
100
100
|
ASN1_SEQUENCE(X509_NAME_ENTRY) = {
|
|
101
101
|
ASN1_SIMPLE(X509_NAME_ENTRY, object, ASN1_OBJECT),
|
|
102
|
-
ASN1_SIMPLE(X509_NAME_ENTRY, value, ASN1_PRINTABLE)
|
|
102
|
+
ASN1_SIMPLE(X509_NAME_ENTRY, value, ASN1_PRINTABLE),
|
|
103
103
|
} ASN1_SEQUENCE_END(X509_NAME_ENTRY)
|
|
104
104
|
|
|
105
105
|
IMPLEMENT_ASN1_FUNCTIONS(X509_NAME_ENTRY)
|
|
@@ -83,7 +83,7 @@ static int pubkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
|
|
|
83
83
|
|
|
84
84
|
ASN1_SEQUENCE_cb(X509_PUBKEY, pubkey_cb) = {
|
|
85
85
|
ASN1_SIMPLE(X509_PUBKEY, algor, X509_ALGOR),
|
|
86
|
-
ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING)
|
|
86
|
+
ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING),
|
|
87
87
|
} ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY)
|
|
88
88
|
|
|
89
89
|
IMPLEMENT_ASN1_FUNCTIONS(X509_PUBKEY)
|
|
@@ -98,7 +98,7 @@ ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = {
|
|
|
98
98
|
ASN1_SIMPLE(X509_REQ_INFO, subject, X509_NAME),
|
|
99
99
|
ASN1_SIMPLE(X509_REQ_INFO, pubkey, X509_PUBKEY),
|
|
100
100
|
/* This isn't really OPTIONAL but it gets around invalid encodings. */
|
|
101
|
-
ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0)
|
|
101
|
+
ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0),
|
|
102
102
|
} ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO)
|
|
103
103
|
|
|
104
104
|
IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO)
|
|
@@ -106,7 +106,7 @@ IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO)
|
|
|
106
106
|
ASN1_SEQUENCE_ref(X509_REQ, 0) = {
|
|
107
107
|
ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO),
|
|
108
108
|
ASN1_SIMPLE(X509_REQ, sig_alg, X509_ALGOR),
|
|
109
|
-
ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING)
|
|
109
|
+
ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING),
|
|
110
110
|
} ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ)
|
|
111
111
|
|
|
112
112
|
IMPLEMENT_ASN1_FUNCTIONS(X509_REQ)
|
|
@@ -68,7 +68,7 @@ struct X509_sig_st {
|
|
|
68
68
|
|
|
69
69
|
ASN1_SEQUENCE(X509_SIG) = {
|
|
70
70
|
ASN1_SIMPLE(X509_SIG, algor, X509_ALGOR),
|
|
71
|
-
ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING)
|
|
71
|
+
ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING),
|
|
72
72
|
} ASN1_SEQUENCE_END(X509_SIG)
|
|
73
73
|
|
|
74
74
|
IMPLEMENT_ASN1_FUNCTIONS(X509_SIG)
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
|
|
67
67
|
ASN1_SEQUENCE(NETSCAPE_SPKAC) = {
|
|
68
68
|
ASN1_SIMPLE(NETSCAPE_SPKAC, pubkey, X509_PUBKEY),
|
|
69
|
-
ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING)
|
|
69
|
+
ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING),
|
|
70
70
|
} ASN1_SEQUENCE_END(NETSCAPE_SPKAC)
|
|
71
71
|
|
|
72
72
|
IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKAC)
|
|
@@ -74,7 +74,7 @@ IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKAC)
|
|
|
74
74
|
ASN1_SEQUENCE(NETSCAPE_SPKI) = {
|
|
75
75
|
ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC),
|
|
76
76
|
ASN1_SIMPLE(NETSCAPE_SPKI, sig_algor, X509_ALGOR),
|
|
77
|
-
ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING)
|
|
77
|
+
ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING),
|
|
78
78
|
} ASN1_SEQUENCE_END(NETSCAPE_SPKI)
|
|
79
79
|
|
|
80
80
|
IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKI)
|
|
@@ -83,7 +83,7 @@ ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = {
|
|
|
83
83
|
ASN1_SIMPLE(X509_CINF, key, X509_PUBKEY),
|
|
84
84
|
ASN1_IMP_OPT(X509_CINF, issuerUID, ASN1_BIT_STRING, 1),
|
|
85
85
|
ASN1_IMP_OPT(X509_CINF, subjectUID, ASN1_BIT_STRING, 2),
|
|
86
|
-
ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3)
|
|
86
|
+
ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3),
|
|
87
87
|
} ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF)
|
|
88
88
|
|
|
89
89
|
IMPLEMENT_ASN1_FUNCTIONS(X509_CINF)
|
|
@@ -167,7 +167,7 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
|
|
|
167
167
|
ASN1_SEQUENCE_ref(X509, x509_cb) = {
|
|
168
168
|
ASN1_SIMPLE(X509, cert_info, X509_CINF),
|
|
169
169
|
ASN1_SIMPLE(X509, sig_alg, X509_ALGOR),
|
|
170
|
-
ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING)
|
|
170
|
+
ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING),
|
|
171
171
|
} ASN1_SEQUENCE_END_ref(X509, X509)
|
|
172
172
|
|
|
173
173
|
IMPLEMENT_ASN1_FUNCTIONS(X509)
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
ASN1_SEQUENCE(AUTHORITY_KEYID) = {
|
|
67
67
|
ASN1_IMP_OPT(AUTHORITY_KEYID, keyid, ASN1_OCTET_STRING, 0),
|
|
68
68
|
ASN1_IMP_SEQUENCE_OF_OPT(AUTHORITY_KEYID, issuer, GENERAL_NAME, 1),
|
|
69
|
-
ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2)
|
|
69
|
+
ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2),
|
|
70
70
|
} ASN1_SEQUENCE_END(AUTHORITY_KEYID)
|
|
71
71
|
|
|
72
72
|
IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_KEYID)
|
|
@@ -79,12 +79,12 @@ const X509V3_EXT_METHOD v3_bcons = {
|
|
|
79
79
|
i2v_BASIC_CONSTRAINTS,
|
|
80
80
|
v2i_BASIC_CONSTRAINTS,
|
|
81
81
|
NULL, NULL,
|
|
82
|
-
NULL
|
|
82
|
+
NULL,
|
|
83
83
|
};
|
|
84
84
|
|
|
85
85
|
ASN1_SEQUENCE(BASIC_CONSTRAINTS) = {
|
|
86
86
|
ASN1_OPT(BASIC_CONSTRAINTS, ca, ASN1_FBOOLEAN),
|
|
87
|
-
ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER)
|
|
87
|
+
ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER),
|
|
88
88
|
} ASN1_SEQUENCE_END(BASIC_CONSTRAINTS)
|
|
89
89
|
|
|
90
90
|
IMPLEMENT_ASN1_FUNCTIONS(BASIC_CONSTRAINTS)
|
|
@@ -93,7 +93,7 @@ const X509V3_EXT_METHOD v3_cpols = {
|
|
|
93
93
|
0, 0,
|
|
94
94
|
i2r_certpol,
|
|
95
95
|
r2i_certpol,
|
|
96
|
-
NULL
|
|
96
|
+
NULL,
|
|
97
97
|
};
|
|
98
98
|
|
|
99
99
|
ASN1_ITEM_TEMPLATE(CERTIFICATEPOLICIES) =
|
|
@@ -104,7 +104,7 @@ IMPLEMENT_ASN1_FUNCTIONS(CERTIFICATEPOLICIES)
|
|
|
104
104
|
|
|
105
105
|
ASN1_SEQUENCE(POLICYINFO) = {
|
|
106
106
|
ASN1_SIMPLE(POLICYINFO, policyid, ASN1_OBJECT),
|
|
107
|
-
ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO)
|
|
107
|
+
ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO),
|
|
108
108
|
} ASN1_SEQUENCE_END(POLICYINFO)
|
|
109
109
|
|
|
110
110
|
IMPLEMENT_ASN1_FUNCTIONS(POLICYINFO)
|
|
@@ -113,26 +113,26 @@ ASN1_ADB_TEMPLATE(policydefault) = ASN1_SIMPLE(POLICYQUALINFO, d.other, ASN1_ANY
|
|
|
113
113
|
|
|
114
114
|
ASN1_ADB(POLICYQUALINFO) = {
|
|
115
115
|
ADB_ENTRY(NID_id_qt_cps, ASN1_SIMPLE(POLICYQUALINFO, d.cpsuri, ASN1_IA5STRING)),
|
|
116
|
-
ADB_ENTRY(NID_id_qt_unotice, ASN1_SIMPLE(POLICYQUALINFO, d.usernotice, USERNOTICE))
|
|
116
|
+
ADB_ENTRY(NID_id_qt_unotice, ASN1_SIMPLE(POLICYQUALINFO, d.usernotice, USERNOTICE)),
|
|
117
117
|
} ASN1_ADB_END(POLICYQUALINFO, 0, pqualid, 0, &policydefault_tt, NULL);
|
|
118
118
|
|
|
119
119
|
ASN1_SEQUENCE(POLICYQUALINFO) = {
|
|
120
120
|
ASN1_SIMPLE(POLICYQUALINFO, pqualid, ASN1_OBJECT),
|
|
121
|
-
ASN1_ADB_OBJECT(POLICYQUALINFO)
|
|
121
|
+
ASN1_ADB_OBJECT(POLICYQUALINFO),
|
|
122
122
|
} ASN1_SEQUENCE_END(POLICYQUALINFO)
|
|
123
123
|
|
|
124
124
|
IMPLEMENT_ASN1_FUNCTIONS(POLICYQUALINFO)
|
|
125
125
|
|
|
126
126
|
ASN1_SEQUENCE(USERNOTICE) = {
|
|
127
127
|
ASN1_OPT(USERNOTICE, noticeref, NOTICEREF),
|
|
128
|
-
ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT)
|
|
128
|
+
ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT),
|
|
129
129
|
} ASN1_SEQUENCE_END(USERNOTICE)
|
|
130
130
|
|
|
131
131
|
IMPLEMENT_ASN1_FUNCTIONS(USERNOTICE)
|
|
132
132
|
|
|
133
133
|
ASN1_SEQUENCE(NOTICEREF) = {
|
|
134
134
|
ASN1_SIMPLE(NOTICEREF, organization, DISPLAYTEXT),
|
|
135
|
-
ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER)
|
|
135
|
+
ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER),
|
|
136
136
|
} ASN1_SEQUENCE_END(NOTICEREF)
|
|
137
137
|
|
|
138
138
|
IMPLEMENT_ASN1_FUNCTIONS(NOTICEREF)
|
|
@@ -82,7 +82,7 @@ const X509V3_EXT_METHOD v3_crld = {
|
|
|
82
82
|
0,
|
|
83
83
|
v2i_crld,
|
|
84
84
|
i2r_crldp, 0,
|
|
85
|
-
NULL
|
|
85
|
+
NULL,
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
const X509V3_EXT_METHOD v3_freshest_crl = {
|
|
@@ -92,7 +92,7 @@ const X509V3_EXT_METHOD v3_freshest_crl = {
|
|
|
92
92
|
0,
|
|
93
93
|
v2i_crld,
|
|
94
94
|
i2r_crldp, 0,
|
|
95
|
-
NULL
|
|
95
|
+
NULL,
|
|
96
96
|
};
|
|
97
97
|
|
|
98
98
|
static STACK_OF(GENERAL_NAME) *gnames_from_sectname(X509V3_CTX *ctx,
|
|
@@ -366,7 +366,7 @@ static int dpn_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
|
|
|
366
366
|
|
|
367
367
|
ASN1_CHOICE_cb(DIST_POINT_NAME, dpn_cb) = {
|
|
368
368
|
ASN1_IMP_SEQUENCE_OF(DIST_POINT_NAME, name.fullname, GENERAL_NAME, 0),
|
|
369
|
-
ASN1_IMP_SET_OF(DIST_POINT_NAME, name.relativename, X509_NAME_ENTRY, 1)
|
|
369
|
+
ASN1_IMP_SET_OF(DIST_POINT_NAME, name.relativename, X509_NAME_ENTRY, 1),
|
|
370
370
|
} ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type)
|
|
371
371
|
|
|
372
372
|
|
|
@@ -375,7 +375,7 @@ IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT_NAME)
|
|
|
375
375
|
ASN1_SEQUENCE(DIST_POINT) = {
|
|
376
376
|
ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0),
|
|
377
377
|
ASN1_IMP_OPT(DIST_POINT, reasons, ASN1_BIT_STRING, 1),
|
|
378
|
-
ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2)
|
|
378
|
+
ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2),
|
|
379
379
|
} ASN1_SEQUENCE_END(DIST_POINT)
|
|
380
380
|
|
|
381
381
|
IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT)
|
|
@@ -392,7 +392,7 @@ ASN1_SEQUENCE(ISSUING_DIST_POINT) = {
|
|
|
392
392
|
ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyCA, ASN1_FBOOLEAN, 2),
|
|
393
393
|
ASN1_IMP_OPT(ISSUING_DIST_POINT, onlysomereasons, ASN1_BIT_STRING, 3),
|
|
394
394
|
ASN1_IMP_OPT(ISSUING_DIST_POINT, indirectCRL, ASN1_FBOOLEAN, 4),
|
|
395
|
-
ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5)
|
|
395
|
+
ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5),
|
|
396
396
|
} ASN1_SEQUENCE_END(ISSUING_DIST_POINT)
|
|
397
397
|
|
|
398
398
|
IMPLEMENT_ASN1_FUNCTIONS(ISSUING_DIST_POINT)
|
|
@@ -410,7 +410,7 @@ const X509V3_EXT_METHOD v3_idp = {
|
|
|
410
410
|
0,
|
|
411
411
|
v2i_idp,
|
|
412
412
|
i2r_idp, 0,
|
|
413
|
-
NULL
|
|
413
|
+
NULL,
|
|
414
414
|
};
|
|
415
415
|
|
|
416
416
|
static void *v2i_idp(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
|
|
@@ -78,7 +78,7 @@ const X509V3_EXT_METHOD v3_ext_ku = {
|
|
|
78
78
|
i2v_EXTENDED_KEY_USAGE,
|
|
79
79
|
v2i_EXTENDED_KEY_USAGE,
|
|
80
80
|
0, 0,
|
|
81
|
-
NULL
|
|
81
|
+
NULL,
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
/* NB OCSP acceptable responses also is a SEQUENCE OF OBJECT */
|
|
@@ -90,7 +90,7 @@ const X509V3_EXT_METHOD v3_ocsp_accresp = {
|
|
|
90
90
|
i2v_EXTENDED_KEY_USAGE,
|
|
91
91
|
v2i_EXTENDED_KEY_USAGE,
|
|
92
92
|
0, 0,
|
|
93
|
-
NULL
|
|
93
|
+
NULL,
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
ASN1_ITEM_TEMPLATE(EXTENDED_KEY_USAGE) =
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
ASN1_SEQUENCE(OTHERNAME) = {
|
|
67
67
|
ASN1_SIMPLE(OTHERNAME, type_id, ASN1_OBJECT),
|
|
68
68
|
/* Maybe have a true ANY DEFINED BY later */
|
|
69
|
-
ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0)
|
|
69
|
+
ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0),
|
|
70
70
|
} ASN1_SEQUENCE_END(OTHERNAME)
|
|
71
71
|
|
|
72
72
|
IMPLEMENT_ASN1_FUNCTIONS(OTHERNAME)
|
|
@@ -74,7 +74,7 @@ IMPLEMENT_ASN1_FUNCTIONS(OTHERNAME)
|
|
|
74
74
|
ASN1_SEQUENCE(EDIPARTYNAME) = {
|
|
75
75
|
/* DirectoryString is a CHOICE type, so use explicit tagging. */
|
|
76
76
|
ASN1_EXP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0),
|
|
77
|
-
ASN1_EXP(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1)
|
|
77
|
+
ASN1_EXP(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1),
|
|
78
78
|
} ASN1_SEQUENCE_END(EDIPARTYNAME)
|
|
79
79
|
|
|
80
80
|
IMPLEMENT_ASN1_FUNCTIONS(EDIPARTYNAME)
|
|
@@ -90,7 +90,7 @@ ASN1_CHOICE(GENERAL_NAME) = {
|
|
|
90
90
|
ASN1_IMP(GENERAL_NAME, d.ediPartyName, EDIPARTYNAME, GEN_EDIPARTY),
|
|
91
91
|
ASN1_IMP(GENERAL_NAME, d.uniformResourceIdentifier, ASN1_IA5STRING, GEN_URI),
|
|
92
92
|
ASN1_IMP(GENERAL_NAME, d.iPAddress, ASN1_OCTET_STRING, GEN_IPADD),
|
|
93
|
-
ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID)
|
|
93
|
+
ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID),
|
|
94
94
|
} ASN1_CHOICE_END(GENERAL_NAME)
|
|
95
95
|
|
|
96
96
|
IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAME)
|
|
@@ -81,7 +81,7 @@ const X509V3_EXT_METHOD v3_info = { NID_info_access, X509V3_EXT_MULTILINE,
|
|
|
81
81
|
i2v_AUTHORITY_INFO_ACCESS,
|
|
82
82
|
v2i_AUTHORITY_INFO_ACCESS,
|
|
83
83
|
0, 0,
|
|
84
|
-
NULL
|
|
84
|
+
NULL,
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
const X509V3_EXT_METHOD v3_sinfo = { NID_sinfo_access, X509V3_EXT_MULTILINE,
|
|
@@ -91,12 +91,12 @@ const X509V3_EXT_METHOD v3_sinfo = { NID_sinfo_access, X509V3_EXT_MULTILINE,
|
|
|
91
91
|
i2v_AUTHORITY_INFO_ACCESS,
|
|
92
92
|
v2i_AUTHORITY_INFO_ACCESS,
|
|
93
93
|
0, 0,
|
|
94
|
-
NULL
|
|
94
|
+
NULL,
|
|
95
95
|
};
|
|
96
96
|
|
|
97
97
|
ASN1_SEQUENCE(ACCESS_DESCRIPTION) = {
|
|
98
98
|
ASN1_SIMPLE(ACCESS_DESCRIPTION, method, ASN1_OBJECT),
|
|
99
|
-
ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME)
|
|
99
|
+
ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME),
|
|
100
100
|
} ASN1_SEQUENCE_END(ACCESS_DESCRIPTION)
|
|
101
101
|
|
|
102
102
|
IMPLEMENT_ASN1_FUNCTIONS(ACCESS_DESCRIPTION)
|
|
@@ -77,7 +77,7 @@ const X509V3_EXT_METHOD v3_crl_num = {
|
|
|
77
77
|
0, 0, 0, 0,
|
|
78
78
|
i2s_ASN1_INTEGER_cb,
|
|
79
79
|
0,
|
|
80
|
-
0, 0, 0, 0, NULL
|
|
80
|
+
0, 0, 0, 0, NULL,
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
const X509V3_EXT_METHOD v3_delta_crl = {
|
|
@@ -85,7 +85,7 @@ const X509V3_EXT_METHOD v3_delta_crl = {
|
|
|
85
85
|
0, 0, 0, 0,
|
|
86
86
|
i2s_ASN1_INTEGER_cb,
|
|
87
87
|
0,
|
|
88
|
-
0, 0, 0, 0, NULL
|
|
88
|
+
0, 0, 0, 0, NULL,
|
|
89
89
|
};
|
|
90
90
|
|
|
91
91
|
const X509V3_EXT_METHOD v3_inhibit_anyp = {
|
|
@@ -93,5 +93,5 @@ const X509V3_EXT_METHOD v3_inhibit_anyp = {
|
|
|
93
93
|
0, 0, 0, 0,
|
|
94
94
|
i2s_ASN1_INTEGER_cb,
|
|
95
95
|
s2i_asn1_int,
|
|
96
|
-
0, 0, 0, 0, NULL
|
|
96
|
+
0, 0, 0, 0, NULL,
|
|
97
97
|
};
|
|
@@ -93,13 +93,13 @@ const X509V3_EXT_METHOD v3_name_constraints = {
|
|
|
93
93
|
0, 0,
|
|
94
94
|
0, v2i_NAME_CONSTRAINTS,
|
|
95
95
|
i2r_NAME_CONSTRAINTS, 0,
|
|
96
|
-
NULL
|
|
96
|
+
NULL,
|
|
97
97
|
};
|
|
98
98
|
|
|
99
99
|
ASN1_SEQUENCE(GENERAL_SUBTREE) = {
|
|
100
100
|
ASN1_SIMPLE(GENERAL_SUBTREE, base, GENERAL_NAME),
|
|
101
101
|
ASN1_IMP_OPT(GENERAL_SUBTREE, minimum, ASN1_INTEGER, 0),
|
|
102
|
-
ASN1_IMP_OPT(GENERAL_SUBTREE, maximum, ASN1_INTEGER, 1)
|
|
102
|
+
ASN1_IMP_OPT(GENERAL_SUBTREE, maximum, ASN1_INTEGER, 1),
|
|
103
103
|
} ASN1_SEQUENCE_END(GENERAL_SUBTREE)
|
|
104
104
|
|
|
105
105
|
ASN1_SEQUENCE(NAME_CONSTRAINTS) = {
|
|
@@ -31,7 +31,7 @@ const X509V3_EXT_METHOD v3_crl_invdate = {
|
|
|
31
31
|
0, 0,
|
|
32
32
|
0, 0,
|
|
33
33
|
i2r_ocsp_acutoff, 0,
|
|
34
|
-
NULL
|
|
34
|
+
NULL,
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
const X509V3_EXT_METHOD v3_ocsp_nocheck = {
|
|
@@ -40,7 +40,7 @@ const X509V3_EXT_METHOD v3_ocsp_nocheck = {
|
|
|
40
40
|
0, s2i_ocsp_nocheck,
|
|
41
41
|
0, 0,
|
|
42
42
|
i2r_ocsp_nocheck, 0,
|
|
43
|
-
NULL
|
|
43
|
+
NULL,
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
static int i2r_ocsp_acutoff(const X509V3_EXT_METHOD *method, void *cutoff,
|
|
@@ -85,7 +85,7 @@ const X509V3_EXT_METHOD v3_policy_constraints = {
|
|
|
85
85
|
|
|
86
86
|
ASN1_SEQUENCE(POLICY_CONSTRAINTS) = {
|
|
87
87
|
ASN1_IMP_OPT(POLICY_CONSTRAINTS, requireExplicitPolicy, ASN1_INTEGER,0),
|
|
88
|
-
ASN1_IMP_OPT(POLICY_CONSTRAINTS, inhibitPolicyMapping, ASN1_INTEGER,1)
|
|
88
|
+
ASN1_IMP_OPT(POLICY_CONSTRAINTS, inhibitPolicyMapping, ASN1_INTEGER,1),
|
|
89
89
|
} ASN1_SEQUENCE_END(POLICY_CONSTRAINTS)
|
|
90
90
|
|
|
91
91
|
IMPLEMENT_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS)
|
|
@@ -77,12 +77,12 @@ const X509V3_EXT_METHOD v3_policy_mappings = {
|
|
|
77
77
|
i2v_POLICY_MAPPINGS,
|
|
78
78
|
v2i_POLICY_MAPPINGS,
|
|
79
79
|
0, 0,
|
|
80
|
-
NULL
|
|
80
|
+
NULL,
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
ASN1_SEQUENCE(POLICY_MAPPING) = {
|
|
84
84
|
ASN1_SIMPLE(POLICY_MAPPING, issuerDomainPolicy, ASN1_OBJECT),
|
|
85
|
-
ASN1_SIMPLE(POLICY_MAPPING, subjectDomainPolicy, ASN1_OBJECT)
|
|
85
|
+
ASN1_SIMPLE(POLICY_MAPPING, subjectDomainPolicy, ASN1_OBJECT),
|
|
86
86
|
} ASN1_SEQUENCE_END(POLICY_MAPPING)
|
|
87
87
|
|
|
88
88
|
ASN1_ITEM_TEMPLATE(POLICY_MAPPINGS) =
|
|
@@ -53,7 +53,8 @@
|
|
|
53
53
|
#include <openssl/aes.h>
|
|
54
54
|
#include <openssl/cipher.h>
|
|
55
55
|
|
|
56
|
-
#include "
|
|
56
|
+
#include "../../crypto/fipsmodule/cipher/internal.h"
|
|
57
|
+
#include "../../crypto/fipsmodule/modes/internal.h"
|
|
57
58
|
|
|
58
59
|
|
|
59
60
|
typedef struct xts128_context {
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/* Copyright (c) 2022, Google Inc.
|
|
2
|
+
*
|
|
3
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
4
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
5
|
+
* copyright notice and this permission notice appear in all copies.
|
|
6
|
+
*
|
|
7
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
8
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
9
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|
10
|
+
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
11
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
|
12
|
+
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
|
13
|
+
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
|
|
14
|
+
|
|
15
|
+
#include <stdlib.h>
|
|
16
|
+
#include <string.h>
|
|
17
|
+
|
|
18
|
+
#include <openssl/bytestring.h>
|
|
19
|
+
#include <openssl/ecdsa.h>
|
|
20
|
+
#include <openssl/mem.h>
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len) {
|
|
24
|
+
CBS cbs, body;
|
|
25
|
+
unsigned tag;
|
|
26
|
+
CBS_init(&cbs, buf, len);
|
|
27
|
+
if (CBS_get_any_asn1(&cbs, &body, &tag)) {
|
|
28
|
+
// DER has a unique encoding, so any parsed input should round-trip
|
|
29
|
+
// correctly.
|
|
30
|
+
size_t consumed = len - CBS_len(&cbs);
|
|
31
|
+
bssl::ScopedCBB cbb;
|
|
32
|
+
CBB body_cbb;
|
|
33
|
+
if (!CBB_init(cbb.get(), consumed) ||
|
|
34
|
+
!CBB_add_asn1(cbb.get(), &body_cbb, tag) ||
|
|
35
|
+
!CBB_add_bytes(&body_cbb, CBS_data(&body), CBS_len(&body)) ||
|
|
36
|
+
!CBB_flush(cbb.get()) ||
|
|
37
|
+
CBB_len(cbb.get()) != consumed ||
|
|
38
|
+
memcmp(CBB_data(cbb.get()), buf, consumed) != 0) {
|
|
39
|
+
abort();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
ECDSA_SIG *sig = ECDSA_SIG_from_bytes(buf, len);
|
|
44
|
+
if (sig != NULL) {
|
|
45
|
+
uint8_t *enc;
|
|
46
|
+
size_t enc_len;
|
|
47
|
+
if (!ECDSA_SIG_to_bytes(&enc, &enc_len, sig) ||
|
|
48
|
+
enc_len != len ||
|
|
49
|
+
memcmp(buf, enc, len) != 0) {
|
|
50
|
+
abort();
|
|
51
|
+
}
|
|
52
|
+
OPENSSL_free(enc);
|
|
53
|
+
ECDSA_SIG_free(sig);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return 0;
|
|
57
|
+
}
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/0461791e54b4840c109637952eab43d9b938cab8
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/06e57a7b98a403a00822739739924b97ae6c74e9
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/078c3c1199930781466871c8dda69bec379286a4
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/082a991742f652549e4b207100ee521f474e0a99
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0�
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/091e3389548686c5038d04e3d76b9c4d30502074
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/13e484c406efe97dc9d91f8b80a27b0e597c34da
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
��3
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/153d254254345b61e20e7b37637dd6f6fd71ba01
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/163605136e22f5b5302fe60d1f17837bee6b6b2b
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/1a96ec99b487b93052cd860c447e6d126dcc36d4
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
���
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/1cc9ad96fcee279e8589b7071c7a0ccd111098f2
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0]
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/229b8e1825512868e0e11a199ed71231dd41bb4f
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0;-:���
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/236d820eadf7f84d70de7bb8be5f1c57a4005de2
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/24fd9742dbdee3167509db4af245ad6f8c4c1e99
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/2896f8deb3c4e8bdfeab743b22c64c92316880f7
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/29b6252fe9c4d1186394b1664c421cca795b61a5
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/2b4955132275314d1d377f37f93d8c1879a3519a
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/2e7112ac524a7a663632397cbb41f7dfd22e92c6
ADDED
|
Binary file
|
package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/396d197005432accf99bf0f483286e459eb24063
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
��܅���
|