@fails-components/webtransport 0.0.1 → 0.0.2
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/package.json +1 -1
- package/readme.md +1 -3
- package/src/http3eventloop.cc +83 -9
- package/src/http3eventloop.h +13 -3
- package/src/http3server.cc +22 -22
- package/src/http3server.h +7 -20
- package/src/http3wtstreamvisitor.cc +31 -10
- package/src/http3wtstreamvisitor.h +38 -11
- package/src/webtransport.js +91 -23
- package/test/echoserver.js +29 -5
- package/test/testsuite.js +242 -220
- package/third_party/boringssl/src/CMakeLists.txt +2 -0
- package/third_party/boringssl/src/crypto/CMakeLists.txt +1 -0
- package/third_party/boringssl/src/crypto/asn1/a_bitstr.c +174 -177
- package/third_party/boringssl/src/crypto/asn1/a_bool.c +46 -48
- package/third_party/boringssl/src/crypto/asn1/a_d2i_fp.c +21 -23
- package/third_party/boringssl/src/crypto/asn1/a_dup.c +21 -23
- package/third_party/boringssl/src/crypto/asn1/a_gentm.c +84 -187
- package/third_party/boringssl/src/crypto/asn1/a_i2d_fp.c +19 -21
- package/third_party/boringssl/src/crypto/asn1/a_int.c +305 -329
- package/third_party/boringssl/src/crypto/asn1/a_mbstr.c +190 -195
- package/third_party/boringssl/src/crypto/asn1/a_object.c +182 -189
- package/third_party/boringssl/src/crypto/asn1/a_octet.c +6 -9
- package/third_party/boringssl/src/crypto/asn1/a_print.c +15 -16
- package/third_party/boringssl/src/crypto/asn1/a_strex.c +386 -399
- package/third_party/boringssl/src/crypto/asn1/a_strnid.c +110 -131
- package/third_party/boringssl/src/crypto/asn1/a_time.c +118 -111
- package/third_party/boringssl/src/crypto/asn1/a_type.c +59 -60
- package/third_party/boringssl/src/crypto/asn1/a_utctm.c +114 -186
- package/third_party/boringssl/src/crypto/asn1/a_utf8.c +171 -159
- package/third_party/boringssl/src/crypto/asn1/asn1_lib.c +245 -260
- package/third_party/boringssl/src/crypto/asn1/asn1_par.c +41 -40
- package/third_party/boringssl/src/crypto/asn1/asn1_test.cc +31 -0
- package/third_party/boringssl/src/crypto/asn1/asn_pack.c +31 -33
- package/third_party/boringssl/src/crypto/asn1/f_int.c +36 -33
- package/third_party/boringssl/src/crypto/asn1/f_string.c +29 -26
- package/third_party/boringssl/src/crypto/asn1/internal.h +62 -61
- package/third_party/boringssl/src/crypto/asn1/tasn_dec.c +706 -702
- package/third_party/boringssl/src/crypto/asn1/tasn_enc.c +507 -524
- package/third_party/boringssl/src/crypto/asn1/tasn_fre.c +141 -133
- package/third_party/boringssl/src/crypto/asn1/tasn_new.c +207 -199
- package/third_party/boringssl/src/crypto/asn1/tasn_typ.c +19 -22
- package/third_party/boringssl/src/crypto/asn1/tasn_utl.c +24 -24
- package/third_party/boringssl/src/crypto/asn1/time_support.c +13 -13
- package/third_party/boringssl/src/crypto/bio/connect.c +9 -3
- package/third_party/boringssl/src/crypto/bytestring/bytestring_test.cc +125 -1
- package/third_party/boringssl/src/crypto/bytestring/cbb.c +4 -7
- package/third_party/boringssl/src/crypto/bytestring/cbs.c +167 -9
- package/third_party/boringssl/src/crypto/cipher_extra/e_aesctrhmac.c +0 -2
- package/third_party/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c +23 -54
- package/third_party/boringssl/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -2
- package/third_party/boringssl/src/crypto/cipher_extra/e_tls.c +0 -2
- package/third_party/boringssl/src/crypto/curve25519/curve25519.c +6 -8
- package/third_party/boringssl/src/crypto/evp/evp_ctx.c +25 -22
- package/third_party/boringssl/src/crypto/evp/internal.h +15 -9
- package/third_party/boringssl/src/crypto/evp/p_dsa_asn1.c +2 -0
- package/third_party/boringssl/src/crypto/evp/p_ec_asn1.c +2 -0
- package/third_party/boringssl/src/crypto/evp/p_ed25519.c +3 -3
- package/third_party/boringssl/src/crypto/evp/p_ed25519_asn1.c +10 -7
- package/third_party/boringssl/src/crypto/evp/p_hkdf.c +241 -0
- package/third_party/boringssl/src/crypto/evp/p_rsa_asn1.c +2 -0
- package/third_party/boringssl/src/crypto/evp/p_x25519_asn1.c +1 -0
- package/third_party/boringssl/src/crypto/fipsmodule/aes/aes_nohw.c +9 -10
- package/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c +2 -6
- package/third_party/boringssl/src/crypto/fipsmodule/bn/exponentiation.c +5 -11
- package/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h +1 -1
- package/third_party/boringssl/src/crypto/fipsmodule/bn/prime.c +2 -0
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +10 -26
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aesccm.c +2 -3
- package/third_party/boringssl/src/crypto/fipsmodule/digestsign/digestsign.c +1 -0
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.c +44 -43
- package/third_party/boringssl/src/crypto/fipsmodule/modes/cbc.c +5 -9
- package/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c +14 -21
- package/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg.c +8 -8
- package/third_party/boringssl/src/crypto/fipsmodule/rand/internal.h +1 -4
- package/third_party/boringssl/src/crypto/hkdf/hkdf_test.cc +104 -0
- package/third_party/boringssl/src/crypto/internal.h +18 -4
- package/third_party/boringssl/src/crypto/lhash/internal.h +13 -1
- package/third_party/boringssl/src/crypto/obj/obj_dat.h +4 -1
- package/third_party/boringssl/src/crypto/obj/obj_mac.num +1 -0
- package/third_party/boringssl/src/crypto/obj/objects.txt +2 -0
- package/third_party/boringssl/src/crypto/pem/pem_all.c +77 -86
- package/third_party/boringssl/src/crypto/pem/pem_info.c +221 -233
- package/third_party/boringssl/src/crypto/pem/pem_lib.c +639 -608
- package/third_party/boringssl/src/crypto/pem/pem_oth.c +17 -16
- package/third_party/boringssl/src/crypto/pem/pem_pk8.c +133 -142
- package/third_party/boringssl/src/crypto/pem/pem_pkey.c +96 -92
- package/third_party/boringssl/src/crypto/poly1305/poly1305_vec.c +12 -28
- package/third_party/boringssl/src/crypto/siphash/siphash.c +8 -11
- package/third_party/boringssl/src/crypto/siphash/siphash_test.cc +5 -7
- package/third_party/boringssl/src/crypto/stack/stack.c +33 -16
- package/third_party/boringssl/src/crypto/thread_pthread.c +0 -2
- package/third_party/boringssl/src/crypto/thread_win.c +0 -2
- package/third_party/boringssl/src/crypto/trust_token/internal.h +14 -0
- package/third_party/boringssl/src/crypto/trust_token/pmbtoken.c +127 -30
- package/third_party/boringssl/src/crypto/trust_token/trust_token.c +40 -0
- package/third_party/boringssl/src/crypto/trust_token/trust_token_test.cc +165 -0
- package/third_party/boringssl/src/crypto/trust_token/voprf.c +55 -6
- package/third_party/boringssl/src/crypto/x509/a_digest.c +23 -24
- package/third_party/boringssl/src/crypto/x509/a_sign.c +52 -55
- package/third_party/boringssl/src/crypto/x509/a_verify.c +33 -34
- package/third_party/boringssl/src/crypto/x509/algorithm.c +17 -18
- package/third_party/boringssl/src/crypto/x509/asn1_gen.c +618 -612
- package/third_party/boringssl/src/crypto/x509/by_dir.c +320 -337
- package/third_party/boringssl/src/crypto/x509/by_file.c +186 -186
- package/third_party/boringssl/src/crypto/x509/i2d_pr.c +11 -14
- package/third_party/boringssl/src/crypto/x509/internal.h +22 -22
- package/third_party/boringssl/src/crypto/x509/name_print.c +155 -150
- package/third_party/boringssl/src/crypto/x509/rsa_pss.c +27 -29
- package/third_party/boringssl/src/crypto/x509/t_crl.c +67 -70
- package/third_party/boringssl/src/crypto/x509/t_req.c +3 -5
- package/third_party/boringssl/src/crypto/x509/t_x509.c +280 -251
- package/third_party/boringssl/src/crypto/x509/t_x509a.c +52 -47
- package/third_party/boringssl/src/crypto/x509/x509.c +3 -4
- package/third_party/boringssl/src/crypto/x509/x509_att.c +234 -223
- package/third_party/boringssl/src/crypto/x509/x509_cmp.c +286 -296
- package/third_party/boringssl/src/crypto/x509/x509_d2.c +37 -32
- package/third_party/boringssl/src/crypto/x509/x509_def.c +14 -30
- package/third_party/boringssl/src/crypto/x509/x509_ext.c +55 -84
- package/third_party/boringssl/src/crypto/x509/x509_lu.c +545 -581
- package/third_party/boringssl/src/crypto/x509/x509_obj.c +131 -121
- package/third_party/boringssl/src/crypto/x509/x509_req.c +120 -139
- package/third_party/boringssl/src/crypto/x509/x509_set.c +128 -142
- package/third_party/boringssl/src/crypto/x509/x509_trs.c +185 -193
- package/third_party/boringssl/src/crypto/x509/x509_txt.c +70 -72
- package/third_party/boringssl/src/crypto/x509/x509_v3.c +172 -161
- package/third_party/boringssl/src/crypto/x509/x509_vfy.c +2041 -2053
- package/third_party/boringssl/src/crypto/x509/x509_vpm.c +441 -461
- package/third_party/boringssl/src/crypto/x509/x509cset.c +152 -170
- package/third_party/boringssl/src/crypto/x509/x509name.c +274 -260
- package/third_party/boringssl/src/crypto/x509/x509rset.c +43 -20
- package/third_party/boringssl/src/crypto/x509/x509spki.c +62 -63
- package/third_party/boringssl/src/crypto/x509/x_algor.c +64 -62
- package/third_party/boringssl/src/crypto/x509/x_all.c +103 -133
- package/third_party/boringssl/src/crypto/x509/x_attrib.c +23 -24
- package/third_party/boringssl/src/crypto/x509/x_crl.c +310 -321
- package/third_party/boringssl/src/crypto/x509/x_exten.c +6 -5
- package/third_party/boringssl/src/crypto/x509/x_info.c +31 -28
- package/third_party/boringssl/src/crypto/x509/x_name.c +361 -365
- package/third_party/boringssl/src/crypto/x509/x_pkey.c +38 -32
- package/third_party/boringssl/src/crypto/x509/x_pubkey.c +114 -117
- package/third_party/boringssl/src/crypto/x509/x_req.c +27 -29
- package/third_party/boringssl/src/crypto/x509/x_sig.c +2 -2
- package/third_party/boringssl/src/crypto/x509/x_spki.c +8 -10
- package/third_party/boringssl/src/crypto/x509/x_val.c +2 -2
- package/third_party/boringssl/src/crypto/x509/x_x509.c +212 -226
- package/third_party/boringssl/src/crypto/x509/x_x509a.c +112 -109
- package/third_party/boringssl/src/crypto/x509v3/ext_dat.h +10 -13
- package/third_party/boringssl/src/crypto/x509v3/internal.h +72 -87
- package/third_party/boringssl/src/crypto/x509v3/pcy_cache.c +184 -176
- package/third_party/boringssl/src/crypto/x509v3/pcy_data.c +58 -56
- package/third_party/boringssl/src/crypto/x509v3/pcy_lib.c +71 -70
- package/third_party/boringssl/src/crypto/x509v3/pcy_map.c +56 -58
- package/third_party/boringssl/src/crypto/x509v3/pcy_node.c +89 -91
- package/third_party/boringssl/src/crypto/x509v3/pcy_tree.c +585 -590
- package/third_party/boringssl/src/crypto/x509v3/v3_akey.c +118 -112
- package/third_party/boringssl/src/crypto/x509v3/v3_akeya.c +3 -3
- package/third_party/boringssl/src/crypto/x509v3/v3_alt.c +447 -451
- package/third_party/boringssl/src/crypto/x509v3/v3_bcons.c +44 -38
- package/third_party/boringssl/src/crypto/x509v3/v3_bitst.c +39 -43
- package/third_party/boringssl/src/crypto/x509v3/v3_conf.c +321 -320
- package/third_party/boringssl/src/crypto/x509v3/v3_cpols.c +352 -327
- package/third_party/boringssl/src/crypto/x509v3/v3_crld.c +437 -383
- package/third_party/boringssl/src/crypto/x509v3/v3_enum.c +23 -16
- package/third_party/boringssl/src/crypto/x509v3/v3_extku.c +62 -53
- package/third_party/boringssl/src/crypto/x509v3/v3_genn.c +118 -115
- package/third_party/boringssl/src/crypto/x509v3/v3_ia5.c +30 -31
- package/third_party/boringssl/src/crypto/x509v3/v3_info.c +112 -98
- package/third_party/boringssl/src/crypto/x509v3/v3_int.c +40 -15
- package/third_party/boringssl/src/crypto/x509v3/v3_lib.c +248 -252
- package/third_party/boringssl/src/crypto/x509v3/v3_ncons.c +390 -386
- package/third_party/boringssl/src/crypto/x509v3/v3_ocsp.c +45 -32
- package/third_party/boringssl/src/crypto/x509v3/v3_pci.c +206 -209
- package/third_party/boringssl/src/crypto/x509v3/v3_pcia.c +6 -8
- package/third_party/boringssl/src/crypto/x509v3/v3_pcons.c +54 -50
- package/third_party/boringssl/src/crypto/x509v3/v3_pmaps.c +66 -65
- package/third_party/boringssl/src/crypto/x509v3/v3_prn.c +144 -133
- package/third_party/boringssl/src/crypto/x509v3/v3_purp.c +695 -709
- package/third_party/boringssl/src/crypto/x509v3/v3_skey.c +75 -69
- package/third_party/boringssl/src/crypto/x509v3/v3_utl.c +1102 -1082
- package/third_party/boringssl/src/include/openssl/base.h +3 -1
- package/third_party/boringssl/src/include/openssl/bn.h +3 -0
- package/third_party/boringssl/src/include/openssl/bytestring.h +20 -0
- package/third_party/boringssl/src/include/openssl/evp.h +6 -5
- package/third_party/boringssl/src/include/openssl/kdf.h +91 -0
- package/third_party/boringssl/src/include/openssl/nid.h +4 -0
- package/third_party/boringssl/src/include/openssl/ssl.h +6 -1
- package/third_party/boringssl/src/include/openssl/stack.h +47 -32
- package/third_party/boringssl/src/include/openssl/trust_token.h +18 -3
- package/third_party/boringssl/src/include/openssl/x509.h +18 -0
- package/third_party/boringssl/src/ssl/ssl_file.cc +61 -99
- package/third_party/boringssl/src/ssl/ssl_test.cc +101 -0
- package/third_party/boringssl/src/util/doc.config +2 -1
- package/third_party/boringssl/src/util/fipstools/acvp/acvptool/subprocess/subprocess.go +8 -0
- package/third_party/googleurl/AUTHORS +16 -2
- package/third_party/googleurl/base/BUILD +1 -0
- package/third_party/googleurl/base/compiler_specific.h +16 -17
- package/third_party/googleurl/base/containers/contiguous_iterator.h +13 -9
- package/third_party/googleurl/base/containers/span.h +23 -8
- package/third_party/googleurl/base/memory/raw_ptr.h +17 -25
- package/third_party/googleurl/base/memory/raw_ptr_exclusion.h +21 -0
- package/third_party/googleurl/base/strings/escape.cc +14 -2
- package/third_party/googleurl/base/strings/safe_sprintf.h +1 -1
- package/third_party/googleurl/base/strings/string_number_conversions.cc +5 -3
- package/third_party/googleurl/base/strings/string_number_conversions_internal.h +5 -5
- package/third_party/googleurl/base/strings/string_piece.h +3 -3
- package/third_party/googleurl/base/strings/string_util.cc +4 -27
- package/third_party/googleurl/base/strings/string_util.h +43 -8
- package/third_party/googleurl/base/strings/string_util_internal.h +11 -12
- package/third_party/googleurl/base/strings/string_util_unittest.cc +33 -0
- package/third_party/googleurl/base/strings/string_util_win.cc +0 -5
- package/third_party/googleurl/base/strings/string_util_win.h +9 -1
- package/third_party/googleurl/base/strings/utf_offset_string_conversions.cc +1 -1
- package/third_party/googleurl/base/strings/utf_string_conversion_utils.cc +5 -8
- package/third_party/googleurl/base/strings/utf_string_conversion_utils.h +13 -10
- package/third_party/googleurl/base/strings/utf_string_conversions.cc +32 -25
- package/third_party/googleurl/base/template_util.h +23 -35
- package/third_party/googleurl/build/build_config.h +14 -3
- package/third_party/googleurl/copy.bara.sky +1 -1
- package/third_party/googleurl/url/gurl.cc +8 -4
- package/third_party/googleurl/url/gurl.h +1 -0
- package/third_party/googleurl/url/gurl_unittest.cc +1 -0
- package/third_party/googleurl/url/origin.h +36 -26
- package/third_party/googleurl/url/scheme_host_port.h +4 -1
- package/third_party/googleurl/url/url_canon.h +2 -1
- package/third_party/googleurl/url/url_canon_internal.cc +9 -7
- package/third_party/googleurl/url/url_canon_internal.h +16 -16
- package/third_party/googleurl/url/url_canon_stdstring.h +2 -1
- package/third_party/googleurl/url/url_util.cc +9 -8
- package/third_party/quiche/build/source_list.bzl +7 -0
- package/third_party/quiche/build/source_list.gni +7 -0
- package/third_party/quiche/build/source_list.json +7 -0
- package/third_party/quiche/quiche/common/platform/api/quiche_mem_slice.h +7 -3
- package/third_party/quiche/quiche/http2/adapter/nghttp2_adapter_test.cc +86 -2
- package/third_party/quiche/quiche/http2/adapter/oghttp2_adapter_test.cc +104 -2
- package/third_party/quiche/quiche/http2/adapter/oghttp2_session.cc +23 -0
- package/third_party/quiche/quiche/http2/adapter/oghttp2_session.h +6 -1
- package/third_party/quiche/quiche/quic/core/congestion_control/send_algorithm_test.cc +0 -16
- package/third_party/quiche/quiche/quic/core/crypto/crypto_protocol.h +1 -1
- package/third_party/quiche/quiche/quic/core/http/end_to_end_test.cc +56 -2
- package/third_party/quiche/quiche/quic/core/http/http_constants.cc +1 -0
- package/third_party/quiche/quiche/quic/core/http/http_constants.h +1 -0
- package/third_party/quiche/quiche/quic/core/http/http_encoder.cc +28 -17
- package/third_party/quiche/quiche/quic/core/http/http_encoder.h +5 -0
- package/third_party/quiche/quiche/quic/core/http/http_encoder_test.cc +26 -30
- package/third_party/quiche/quiche/quic/core/http/http_frames.h +1 -0
- package/third_party/quiche/quiche/quic/core/http/quic_server_session_base.cc +4 -4
- package/third_party/quiche/quiche/quic/core/http/quic_server_session_base_test.cc +1 -1
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_client_session.cc +5 -1
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.cc +6 -33
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.h +0 -17
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream_test.cc +5 -20
- package/third_party/quiche/quiche/quic/core/io/quic_event_loop.h +81 -0
- package/third_party/quiche/quiche/quic/core/io/quic_poll_event_loop.cc +265 -0
- package/third_party/quiche/quiche/quic/core/io/quic_poll_event_loop.h +152 -0
- package/third_party/quiche/quiche/quic/core/io/quic_poll_event_loop_test.cc +341 -0
- package/third_party/quiche/quiche/quic/core/quic_buffered_packet_store.cc +3 -1
- package/third_party/quiche/quiche/quic/core/quic_buffered_packet_store.h +7 -7
- package/third_party/quiche/quiche/quic/core/quic_buffered_packet_store_test.cc +4 -3
- package/third_party/quiche/quiche/quic/core/quic_connection.cc +69 -19
- package/third_party/quiche/quiche/quic/core/quic_connection.h +9 -3
- package/third_party/quiche/quiche/quic/core/quic_connection_id_manager.cc +29 -10
- package/third_party/quiche/quiche/quic/core/quic_connection_id_manager.h +5 -3
- package/third_party/quiche/quiche/quic/core/quic_connection_id_manager_test.cc +85 -22
- package/third_party/quiche/quiche/quic/core/quic_connection_test.cc +186 -30
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream.cc +2 -1
- package/third_party/quiche/quiche/quic/core/quic_default_clock.cc +31 -0
- package/third_party/quiche/quiche/quic/core/quic_default_clock.h +34 -0
- package/third_party/quiche/quiche/quic/core/quic_default_connection_helper.h +49 -0
- package/third_party/quiche/quiche/quic/core/quic_dispatcher.cc +53 -37
- package/third_party/quiche/quiche/quic/core/quic_dispatcher.h +19 -11
- package/third_party/quiche/quiche/quic/core/quic_dispatcher_test.cc +15 -2
- package/third_party/quiche/quiche/quic/core/quic_flags_list.h +10 -4
- package/third_party/quiche/quiche/quic/core/quic_idle_network_detector.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_idle_network_detector_test.cc +4 -4
- package/third_party/quiche/quiche/quic/core/quic_packet_creator.cc +14 -3
- package/third_party/quiche/quiche/quic/core/quic_packet_creator_test.cc +145 -2
- package/third_party/quiche/quiche/quic/core/quic_packets.cc +3 -1
- package/third_party/quiche/quiche/quic/core/quic_packets.h +4 -0
- package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.cc +13 -11
- package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.h +9 -0
- package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager_test.cc +6 -0
- package/third_party/quiche/quiche/quic/core/quic_session.cc +3 -2
- package/third_party/quiche/quiche/quic/core/quic_session.h +8 -3
- package/third_party/quiche/quiche/quic/core/quic_types.cc +18 -0
- package/third_party/quiche/quiche/quic/core/quic_types.h +3 -0
- package/third_party/quiche/quiche/quic/core/tls_chlo_extractor.cc +3 -0
- package/third_party/quiche/quiche/quic/core/tls_chlo_extractor.h +10 -0
- package/third_party/quiche/quiche/quic/test_tools/mock_quic_session_visitor.h +1 -1
- package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.h +1 -1
- package/third_party/quiche/quiche/quic/test_tools/server_thread.cc +3 -2
- package/third_party/quiche/quiche/quic/test_tools/simple_session_notifier.cc +7 -1
- package/third_party/quiche/quiche/quic/test_tools/simple_session_notifier.h +3 -0
- package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint.h +4 -2
- package/certs/ca.cnf +0 -69
- package/certs/generate_certs.sh +0 -53
- package/certs/generate_certs_leaf.sh +0 -53
- package/certs/leaf.cnf +0 -24
- package/certs/readme.txt +0 -2
- package/third_party/quiche/build/BUILD.bazel +0 -7
|
@@ -64,143 +64,146 @@
|
|
|
64
64
|
#include "internal.h"
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
* "traditional" X509 routines will simply ignore the extra data.
|
|
72
|
-
*/
|
|
67
|
+
// X509_CERT_AUX routines. These are used to encode additional user
|
|
68
|
+
// modifiable data about a certificate. This data is appended to the X509
|
|
69
|
+
// encoding when the *_X509_AUX routines are used. This means that the
|
|
70
|
+
// "traditional" X509 routines will simply ignore the extra data.
|
|
73
71
|
|
|
74
72
|
static X509_CERT_AUX *aux_get(X509 *x);
|
|
75
73
|
|
|
76
74
|
ASN1_SEQUENCE(X509_CERT_AUX) = {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
75
|
+
ASN1_SEQUENCE_OF_OPT(X509_CERT_AUX, trust, ASN1_OBJECT),
|
|
76
|
+
ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, reject, ASN1_OBJECT, 0),
|
|
77
|
+
ASN1_OPT(X509_CERT_AUX, alias, ASN1_UTF8STRING),
|
|
78
|
+
ASN1_OPT(X509_CERT_AUX, keyid, ASN1_OCTET_STRING),
|
|
81
79
|
} ASN1_SEQUENCE_END(X509_CERT_AUX)
|
|
82
80
|
|
|
83
81
|
IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_AUX)
|
|
84
82
|
|
|
85
|
-
static X509_CERT_AUX *aux_get(X509 *x)
|
|
86
|
-
{
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
83
|
+
static X509_CERT_AUX *aux_get(X509 *x) {
|
|
84
|
+
if (!x) {
|
|
85
|
+
return NULL;
|
|
86
|
+
}
|
|
87
|
+
if (!x->aux && !(x->aux = X509_CERT_AUX_new())) {
|
|
88
|
+
return NULL;
|
|
89
|
+
}
|
|
90
|
+
return x->aux;
|
|
92
91
|
}
|
|
93
92
|
|
|
94
|
-
int X509_alias_set1(X509 *x, const unsigned char *name, int len)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (!
|
|
101
|
-
|
|
102
|
-
return 1;
|
|
103
|
-
ASN1_UTF8STRING_free(x->aux->alias);
|
|
104
|
-
x->aux->alias = NULL;
|
|
105
|
-
return 1;
|
|
93
|
+
int X509_alias_set1(X509 *x, const unsigned char *name, int len) {
|
|
94
|
+
X509_CERT_AUX *aux;
|
|
95
|
+
// TODO(davidben): Empty aliases are not meaningful in PKCS#12, and the
|
|
96
|
+
// getters cannot quite represent them. Also erase the object if |len| is
|
|
97
|
+
// zero.
|
|
98
|
+
if (!name) {
|
|
99
|
+
if (!x || !x->aux || !x->aux->alias) {
|
|
100
|
+
return 1;
|
|
106
101
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
102
|
+
ASN1_UTF8STRING_free(x->aux->alias);
|
|
103
|
+
x->aux->alias = NULL;
|
|
104
|
+
return 1;
|
|
105
|
+
}
|
|
106
|
+
if (!(aux = aux_get(x))) {
|
|
107
|
+
return 0;
|
|
108
|
+
}
|
|
109
|
+
if (!aux->alias && !(aux->alias = ASN1_UTF8STRING_new())) {
|
|
110
|
+
return 0;
|
|
111
|
+
}
|
|
112
|
+
return ASN1_STRING_set(aux->alias, name, len);
|
|
112
113
|
}
|
|
113
114
|
|
|
114
|
-
int X509_keyid_set1(X509 *x, const unsigned char *id, int len)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (!
|
|
121
|
-
|
|
122
|
-
return 1;
|
|
123
|
-
ASN1_OCTET_STRING_free(x->aux->keyid);
|
|
124
|
-
x->aux->keyid = NULL;
|
|
125
|
-
return 1;
|
|
115
|
+
int X509_keyid_set1(X509 *x, const unsigned char *id, int len) {
|
|
116
|
+
X509_CERT_AUX *aux;
|
|
117
|
+
// TODO(davidben): Empty key IDs are not meaningful in PKCS#12, and the
|
|
118
|
+
// getters cannot quite represent them. Also erase the object if |len| is
|
|
119
|
+
// zero.
|
|
120
|
+
if (!id) {
|
|
121
|
+
if (!x || !x->aux || !x->aux->keyid) {
|
|
122
|
+
return 1;
|
|
126
123
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
124
|
+
ASN1_OCTET_STRING_free(x->aux->keyid);
|
|
125
|
+
x->aux->keyid = NULL;
|
|
126
|
+
return 1;
|
|
127
|
+
}
|
|
128
|
+
if (!(aux = aux_get(x))) {
|
|
129
|
+
return 0;
|
|
130
|
+
}
|
|
131
|
+
if (!aux->keyid && !(aux->keyid = ASN1_OCTET_STRING_new())) {
|
|
132
|
+
return 0;
|
|
133
|
+
}
|
|
134
|
+
return ASN1_STRING_set(aux->keyid, id, len);
|
|
132
135
|
}
|
|
133
136
|
|
|
134
|
-
unsigned char *X509_alias_get0(X509 *x, int *out_len)
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
return alias != NULL ? alias->data : NULL;
|
|
137
|
+
unsigned char *X509_alias_get0(X509 *x, int *out_len) {
|
|
138
|
+
const ASN1_UTF8STRING *alias = x->aux != NULL ? x->aux->alias : NULL;
|
|
139
|
+
if (out_len != NULL) {
|
|
140
|
+
*out_len = alias != NULL ? alias->length : 0;
|
|
141
|
+
}
|
|
142
|
+
return alias != NULL ? alias->data : NULL;
|
|
141
143
|
}
|
|
142
144
|
|
|
143
|
-
unsigned char *X509_keyid_get0(X509 *x, int *out_len)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
return keyid != NULL ? keyid->data : NULL;
|
|
145
|
+
unsigned char *X509_keyid_get0(X509 *x, int *out_len) {
|
|
146
|
+
const ASN1_OCTET_STRING *keyid = x->aux != NULL ? x->aux->keyid : NULL;
|
|
147
|
+
if (out_len != NULL) {
|
|
148
|
+
*out_len = keyid != NULL ? keyid->length : 0;
|
|
149
|
+
}
|
|
150
|
+
return keyid != NULL ? keyid->data : NULL;
|
|
150
151
|
}
|
|
151
152
|
|
|
152
|
-
int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
153
|
+
int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj) {
|
|
154
|
+
ASN1_OBJECT *objtmp = OBJ_dup(obj);
|
|
155
|
+
if (objtmp == NULL) {
|
|
156
|
+
goto err;
|
|
157
|
+
}
|
|
158
|
+
X509_CERT_AUX *aux = aux_get(x);
|
|
159
|
+
if (aux->trust == NULL) {
|
|
160
|
+
aux->trust = sk_ASN1_OBJECT_new_null();
|
|
158
161
|
if (aux->trust == NULL) {
|
|
159
|
-
|
|
160
|
-
if (aux->trust == NULL)
|
|
161
|
-
goto err;
|
|
162
|
+
goto err;
|
|
162
163
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
164
|
+
}
|
|
165
|
+
if (!sk_ASN1_OBJECT_push(aux->trust, objtmp)) {
|
|
166
|
+
goto err;
|
|
167
|
+
}
|
|
168
|
+
return 1;
|
|
169
|
+
|
|
170
|
+
err:
|
|
171
|
+
ASN1_OBJECT_free(objtmp);
|
|
172
|
+
return 0;
|
|
170
173
|
}
|
|
171
174
|
|
|
172
|
-
int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj)
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
175
|
+
int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj) {
|
|
176
|
+
ASN1_OBJECT *objtmp = OBJ_dup(obj);
|
|
177
|
+
if (objtmp == NULL) {
|
|
178
|
+
goto err;
|
|
179
|
+
}
|
|
180
|
+
X509_CERT_AUX *aux = aux_get(x);
|
|
181
|
+
if (aux->reject == NULL) {
|
|
182
|
+
aux->reject = sk_ASN1_OBJECT_new_null();
|
|
178
183
|
if (aux->reject == NULL) {
|
|
179
|
-
|
|
180
|
-
if (aux->reject == NULL)
|
|
181
|
-
goto err;
|
|
184
|
+
goto err;
|
|
182
185
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
186
|
+
}
|
|
187
|
+
if (!sk_ASN1_OBJECT_push(aux->reject, objtmp)) {
|
|
188
|
+
goto err;
|
|
189
|
+
}
|
|
190
|
+
return 1;
|
|
191
|
+
|
|
192
|
+
err:
|
|
193
|
+
ASN1_OBJECT_free(objtmp);
|
|
194
|
+
return 0;
|
|
190
195
|
}
|
|
191
196
|
|
|
192
|
-
void X509_trust_clear(X509 *x)
|
|
193
|
-
{
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
197
|
+
void X509_trust_clear(X509 *x) {
|
|
198
|
+
if (x->aux && x->aux->trust) {
|
|
199
|
+
sk_ASN1_OBJECT_pop_free(x->aux->trust, ASN1_OBJECT_free);
|
|
200
|
+
x->aux->trust = NULL;
|
|
201
|
+
}
|
|
198
202
|
}
|
|
199
203
|
|
|
200
|
-
void X509_reject_clear(X509 *x)
|
|
201
|
-
{
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
}
|
|
204
|
+
void X509_reject_clear(X509 *x) {
|
|
205
|
+
if (x->aux && x->aux->reject) {
|
|
206
|
+
sk_ASN1_OBJECT_pop_free(x->aux->reject, ASN1_OBJECT_free);
|
|
207
|
+
x->aux->reject = NULL;
|
|
208
|
+
}
|
|
206
209
|
}
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
|
55
55
|
* Hudson (tjh@cryptsoft.com). */
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
// This file contains a table of "standard" extensions
|
|
58
58
|
|
|
59
59
|
#if defined(__cplusplus)
|
|
60
60
|
extern "C" {
|
|
@@ -65,10 +65,8 @@ extern const X509V3_EXT_METHOD v3_info, v3_sinfo;
|
|
|
65
65
|
extern const X509V3_EXT_METHOD v3_ns_ia5_list[], v3_alt[], v3_skey_id,
|
|
66
66
|
v3_akey_id;
|
|
67
67
|
extern const X509V3_EXT_METHOD v3_crl_num, v3_crl_reason, v3_crl_invdate;
|
|
68
|
-
extern const X509V3_EXT_METHOD v3_delta_crl, v3_cpols, v3_crld,
|
|
69
|
-
|
|
70
|
-
extern const X509V3_EXT_METHOD v3_ocsp_nonce, v3_ocsp_accresp,
|
|
71
|
-
v3_ocsp_acutoff;
|
|
68
|
+
extern const X509V3_EXT_METHOD v3_delta_crl, v3_cpols, v3_crld, v3_freshest_crl;
|
|
69
|
+
extern const X509V3_EXT_METHOD v3_ocsp_nonce, v3_ocsp_accresp, v3_ocsp_acutoff;
|
|
72
70
|
extern const X509V3_EXT_METHOD v3_ocsp_crlid, v3_ocsp_nocheck,
|
|
73
71
|
v3_ocsp_serviceloc;
|
|
74
72
|
extern const X509V3_EXT_METHOD v3_crl_hold, v3_pci;
|
|
@@ -76,12 +74,10 @@ extern const X509V3_EXT_METHOD v3_policy_mappings, v3_policy_constraints;
|
|
|
76
74
|
extern const X509V3_EXT_METHOD v3_name_constraints, v3_inhibit_anyp, v3_idp;
|
|
77
75
|
extern const X509V3_EXT_METHOD v3_addr, v3_asid;
|
|
78
76
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
* of the ext_nid values.
|
|
82
|
-
*/
|
|
77
|
+
// This table will be searched using OBJ_bsearch so it *must* kept in order
|
|
78
|
+
// of the ext_nid values.
|
|
83
79
|
|
|
84
|
-
|
|
80
|
+
// TODO(fork): OCSP support
|
|
85
81
|
#define OPENSSL_NO_OCSP
|
|
86
82
|
|
|
87
83
|
static const X509V3_EXT_METHOD *const standard_exts[] = {
|
|
@@ -129,10 +125,11 @@ static const X509V3_EXT_METHOD *const standard_exts[] = {
|
|
|
129
125
|
&v3_freshest_crl,
|
|
130
126
|
};
|
|
131
127
|
|
|
132
|
-
|
|
128
|
+
// Number of standard extensions
|
|
133
129
|
|
|
134
|
-
#define STANDARD_EXTENSION_COUNT
|
|
130
|
+
#define STANDARD_EXTENSION_COUNT \
|
|
131
|
+
(sizeof(standard_exts) / sizeof(X509V3_EXT_METHOD *))
|
|
135
132
|
|
|
136
133
|
#if defined(__cplusplus)
|
|
137
|
-
}
|
|
134
|
+
} // extern C
|
|
138
135
|
#endif
|
|
@@ -126,129 +126,114 @@ typedef struct X509_POLICY_DATA_st X509_POLICY_DATA;
|
|
|
126
126
|
|
|
127
127
|
DEFINE_STACK_OF(X509_POLICY_DATA)
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
// Internal structures
|
|
130
130
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
* be kept static and cached with the certificate.
|
|
136
|
-
*/
|
|
131
|
+
// This structure and the field names correspond to the Policy 'node' of
|
|
132
|
+
// RFC 3280. NB this structure contains no pointers to parent or child data:
|
|
133
|
+
// X509_POLICY_NODE contains that. This means that the main policy data can
|
|
134
|
+
// be kept static and cached with the certificate.
|
|
137
135
|
|
|
138
136
|
struct X509_POLICY_DATA_st {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
137
|
+
unsigned int flags;
|
|
138
|
+
// Policy OID and qualifiers for this data
|
|
139
|
+
ASN1_OBJECT *valid_policy;
|
|
140
|
+
STACK_OF(POLICYQUALINFO) *qualifier_set;
|
|
141
|
+
STACK_OF(ASN1_OBJECT) *expected_policy_set;
|
|
144
142
|
};
|
|
145
143
|
|
|
146
|
-
|
|
144
|
+
// X509_POLICY_DATA flags values
|
|
147
145
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
* extension. If policy mapping is not active its references get deleted.
|
|
151
|
-
*/
|
|
146
|
+
// This flag indicates the structure has been mapped using a policy mapping
|
|
147
|
+
// extension. If policy mapping is not active its references get deleted.
|
|
152
148
|
|
|
153
|
-
#define POLICY_DATA_FLAG_MAPPED
|
|
149
|
+
#define POLICY_DATA_FLAG_MAPPED 0x1
|
|
154
150
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
* Policies: it has been mapped to any policy.
|
|
158
|
-
*/
|
|
151
|
+
// This flag indicates the data doesn't correspond to a policy in Certificate
|
|
152
|
+
// Policies: it has been mapped to any policy.
|
|
159
153
|
|
|
160
|
-
#define POLICY_DATA_FLAG_MAPPED_ANY
|
|
154
|
+
#define POLICY_DATA_FLAG_MAPPED_ANY 0x2
|
|
161
155
|
|
|
162
|
-
|
|
156
|
+
// AND with flags to see if any mapping has occurred
|
|
163
157
|
|
|
164
|
-
#define POLICY_DATA_FLAG_MAP_MASK
|
|
158
|
+
#define POLICY_DATA_FLAG_MAP_MASK 0x3
|
|
165
159
|
|
|
166
|
-
|
|
160
|
+
// qualifiers are shared and shouldn't be freed
|
|
167
161
|
|
|
168
|
-
#define POLICY_DATA_FLAG_SHARED_QUALIFIERS
|
|
162
|
+
#define POLICY_DATA_FLAG_SHARED_QUALIFIERS 0x4
|
|
169
163
|
|
|
170
|
-
|
|
164
|
+
// Parent node is an extra node and should be freed
|
|
171
165
|
|
|
172
|
-
#define POLICY_DATA_FLAG_EXTRA_NODE
|
|
166
|
+
#define POLICY_DATA_FLAG_EXTRA_NODE 0x8
|
|
173
167
|
|
|
174
|
-
|
|
168
|
+
// Corresponding CertificatePolicies is critical
|
|
175
169
|
|
|
176
|
-
#define POLICY_DATA_FLAG_CRITICAL
|
|
170
|
+
#define POLICY_DATA_FLAG_CRITICAL 0x10
|
|
177
171
|
|
|
178
|
-
|
|
172
|
+
// This structure is cached with a certificate
|
|
179
173
|
|
|
180
174
|
struct X509_POLICY_CACHE_st {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
* If policyConstraints and policyMapping present this is its value or -1
|
|
194
|
-
* if absent.
|
|
195
|
-
*/
|
|
196
|
-
long map_skip;
|
|
175
|
+
// anyPolicy data or NULL if no anyPolicy
|
|
176
|
+
X509_POLICY_DATA *anyPolicy;
|
|
177
|
+
// other policy data
|
|
178
|
+
STACK_OF(X509_POLICY_DATA) *data;
|
|
179
|
+
// If InhibitAnyPolicy present this is its value or -1 if absent.
|
|
180
|
+
long any_skip;
|
|
181
|
+
// If policyConstraints and requireExplicitPolicy present this is its
|
|
182
|
+
// value or -1 if absent.
|
|
183
|
+
long explicit_skip;
|
|
184
|
+
// If policyConstraints and policyMapping present this is its value or -1
|
|
185
|
+
// if absent.
|
|
186
|
+
long map_skip;
|
|
197
187
|
};
|
|
198
188
|
|
|
199
|
-
|
|
200
|
-
* #define POLICY_CACHE_FLAG_CRITICAL POLICY_DATA_FLAG_CRITICAL
|
|
201
|
-
*/
|
|
189
|
+
// #define POLICY_CACHE_FLAG_CRITICAL POLICY_DATA_FLAG_CRITICAL
|
|
202
190
|
|
|
203
|
-
|
|
191
|
+
// This structure represents the relationship between nodes
|
|
204
192
|
|
|
205
193
|
struct X509_POLICY_NODE_st {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
194
|
+
// node data this refers to
|
|
195
|
+
const X509_POLICY_DATA *data;
|
|
196
|
+
// Parent node
|
|
197
|
+
X509_POLICY_NODE *parent;
|
|
198
|
+
// Number of child nodes
|
|
199
|
+
int nchild;
|
|
212
200
|
};
|
|
213
201
|
|
|
214
202
|
struct X509_POLICY_LEVEL_st {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
unsigned int flags;
|
|
203
|
+
// Cert for this level
|
|
204
|
+
X509 *cert;
|
|
205
|
+
// nodes at this level
|
|
206
|
+
STACK_OF(X509_POLICY_NODE) *nodes;
|
|
207
|
+
// anyPolicy node
|
|
208
|
+
X509_POLICY_NODE *anyPolicy;
|
|
209
|
+
// Extra data
|
|
210
|
+
//
|
|
211
|
+
// STACK_OF(X509_POLICY_DATA) *extra_data;
|
|
212
|
+
unsigned int flags;
|
|
226
213
|
};
|
|
227
214
|
|
|
228
215
|
struct X509_POLICY_TREE_st {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
STACK_OF(X509_POLICY_NODE) *user_policies;
|
|
240
|
-
unsigned int flags;
|
|
216
|
+
// This is the tree 'level' data
|
|
217
|
+
X509_POLICY_LEVEL *levels;
|
|
218
|
+
int nlevel;
|
|
219
|
+
// Extra policy data when additional nodes (not from the certificate) are
|
|
220
|
+
// required.
|
|
221
|
+
STACK_OF(X509_POLICY_DATA) *extra_data;
|
|
222
|
+
// This is the authority constained policy set
|
|
223
|
+
STACK_OF(X509_POLICY_NODE) *auth_policies;
|
|
224
|
+
STACK_OF(X509_POLICY_NODE) *user_policies;
|
|
225
|
+
unsigned int flags;
|
|
241
226
|
};
|
|
242
227
|
|
|
243
|
-
|
|
244
|
-
#define POLICY_FLAG_ANY_POLICY
|
|
228
|
+
// Set if anyPolicy present in user policies
|
|
229
|
+
#define POLICY_FLAG_ANY_POLICY 0x2
|
|
245
230
|
|
|
246
|
-
|
|
231
|
+
// Useful macros
|
|
247
232
|
|
|
248
233
|
#define node_data_critical(data) ((data)->flags & POLICY_DATA_FLAG_CRITICAL)
|
|
249
234
|
#define node_critical(node) node_data_critical((node)->data)
|
|
250
235
|
|
|
251
|
-
|
|
236
|
+
// Internal functions
|
|
252
237
|
|
|
253
238
|
X509_POLICY_DATA *policy_data_new(POLICYINFO *policy, const ASN1_OBJECT *id,
|
|
254
239
|
int crit);
|
|
@@ -283,7 +268,7 @@ const X509_POLICY_CACHE *policy_cache_set(X509 *x);
|
|
|
283
268
|
|
|
284
269
|
|
|
285
270
|
#if defined(__cplusplus)
|
|
286
|
-
}
|
|
271
|
+
} // extern C
|
|
287
272
|
#endif
|
|
288
273
|
|
|
289
|
-
#endif
|
|
274
|
+
#endif // OPENSSL_HEADER_X509V3_INTERNAL_H
|