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