@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
@@ -63,8 +63,8 @@
63
63
  #include <openssl/mem.h>
64
64
  #include <openssl/obj.h>
65
65
 
66
- #include "internal.h"
67
66
  #include "../internal.h"
67
+ #include "internal.h"
68
68
 
69
69
 
70
70
  static int asn1_item_ex_combine_new(ASN1_VALUE **pval, const ASN1_ITEM *it,
@@ -75,258 +75,266 @@ static void asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt);
75
75
  static int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it);
76
76
  static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it);
77
77
 
78
- ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it)
79
- {
80
- ASN1_VALUE *ret = NULL;
81
- if (ASN1_item_ex_new(&ret, it) > 0)
82
- return ret;
83
- return NULL;
78
+ ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it) {
79
+ ASN1_VALUE *ret = NULL;
80
+ if (ASN1_item_ex_new(&ret, it) > 0) {
81
+ return ret;
82
+ }
83
+ return NULL;
84
84
  }
85
85
 
86
- /* Allocate an ASN1 structure */
86
+ // Allocate an ASN1 structure
87
87
 
88
- int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
89
- {
90
- return asn1_item_ex_combine_new(pval, it, 0);
88
+ int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it) {
89
+ return asn1_item_ex_combine_new(pval, it, 0);
91
90
  }
92
91
 
93
92
  static int asn1_item_ex_combine_new(ASN1_VALUE **pval, const ASN1_ITEM *it,
94
- int combine)
95
- {
96
- const ASN1_TEMPLATE *tt = NULL;
97
- const ASN1_EXTERN_FUNCS *ef;
98
- ASN1_VALUE **pseqval;
99
- int i;
100
-
101
- switch (it->itype) {
93
+ int combine) {
94
+ const ASN1_TEMPLATE *tt = NULL;
95
+ const ASN1_EXTERN_FUNCS *ef;
96
+ ASN1_VALUE **pseqval;
97
+ int i;
102
98
 
99
+ switch (it->itype) {
103
100
  case ASN1_ITYPE_EXTERN:
104
- ef = it->funcs;
105
- if (ef && ef->asn1_ex_new) {
106
- if (!ef->asn1_ex_new(pval, it))
107
- goto memerr;
101
+ ef = it->funcs;
102
+ if (ef && ef->asn1_ex_new) {
103
+ if (!ef->asn1_ex_new(pval, it)) {
104
+ goto memerr;
108
105
  }
109
- break;
106
+ }
107
+ break;
110
108
 
111
109
  case ASN1_ITYPE_PRIMITIVE:
112
- if (it->templates) {
113
- if (!ASN1_template_new(pval, it->templates))
114
- goto memerr;
115
- } else if (!ASN1_primitive_new(pval, it))
116
- goto memerr;
117
- break;
110
+ if (it->templates) {
111
+ if (!ASN1_template_new(pval, it->templates)) {
112
+ goto memerr;
113
+ }
114
+ } else if (!ASN1_primitive_new(pval, it)) {
115
+ goto memerr;
116
+ }
117
+ break;
118
118
 
119
119
  case ASN1_ITYPE_MSTRING:
120
- if (!ASN1_primitive_new(pval, it))
121
- goto memerr;
122
- break;
120
+ if (!ASN1_primitive_new(pval, it)) {
121
+ goto memerr;
122
+ }
123
+ break;
123
124
 
124
125
  case ASN1_ITYPE_CHOICE: {
125
- const ASN1_AUX *aux = it->funcs;
126
- ASN1_aux_cb *asn1_cb = aux != NULL ? aux->asn1_cb : NULL;
127
- if (asn1_cb) {
128
- i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL);
129
- if (!i)
130
- goto auxerr;
131
- if (i == 2) {
132
- return 1;
133
- }
126
+ const ASN1_AUX *aux = it->funcs;
127
+ ASN1_aux_cb *asn1_cb = aux != NULL ? aux->asn1_cb : NULL;
128
+ if (asn1_cb) {
129
+ i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL);
130
+ if (!i) {
131
+ goto auxerr;
134
132
  }
135
- if (!combine) {
136
- *pval = OPENSSL_malloc(it->size);
137
- if (!*pval)
138
- goto memerr;
139
- OPENSSL_memset(*pval, 0, it->size);
133
+ if (i == 2) {
134
+ return 1;
140
135
  }
141
- asn1_set_choice_selector(pval, -1, it);
142
- if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL))
143
- goto auxerr2;
144
- break;
136
+ }
137
+ if (!combine) {
138
+ *pval = OPENSSL_malloc(it->size);
139
+ if (!*pval) {
140
+ goto memerr;
141
+ }
142
+ OPENSSL_memset(*pval, 0, it->size);
143
+ }
144
+ asn1_set_choice_selector(pval, -1, it);
145
+ if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL)) {
146
+ goto auxerr2;
147
+ }
148
+ break;
145
149
  }
146
150
 
147
151
  case ASN1_ITYPE_SEQUENCE: {
148
- const ASN1_AUX *aux = it->funcs;
149
- ASN1_aux_cb *asn1_cb = aux != NULL ? aux->asn1_cb : NULL;
150
- if (asn1_cb) {
151
- i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL);
152
- if (!i)
153
- goto auxerr;
154
- if (i == 2) {
155
- return 1;
156
- }
152
+ const ASN1_AUX *aux = it->funcs;
153
+ ASN1_aux_cb *asn1_cb = aux != NULL ? aux->asn1_cb : NULL;
154
+ if (asn1_cb) {
155
+ i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL);
156
+ if (!i) {
157
+ goto auxerr;
157
158
  }
158
- if (!combine) {
159
- *pval = OPENSSL_malloc(it->size);
160
- if (!*pval)
161
- goto memerr;
162
- OPENSSL_memset(*pval, 0, it->size);
163
- asn1_refcount_set_one(pval, it);
164
- asn1_enc_init(pval, it);
159
+ if (i == 2) {
160
+ return 1;
165
161
  }
166
- for (i = 0, tt = it->templates; i < it->tcount; tt++, i++) {
167
- pseqval = asn1_get_field_ptr(pval, tt);
168
- if (!ASN1_template_new(pseqval, tt))
169
- goto memerr2;
162
+ }
163
+ if (!combine) {
164
+ *pval = OPENSSL_malloc(it->size);
165
+ if (!*pval) {
166
+ goto memerr;
170
167
  }
171
- if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL))
172
- goto auxerr2;
173
- break;
174
- }
168
+ OPENSSL_memset(*pval, 0, it->size);
169
+ asn1_refcount_set_one(pval, it);
170
+ asn1_enc_init(pval, it);
171
+ }
172
+ for (i = 0, tt = it->templates; i < it->tcount; tt++, i++) {
173
+ pseqval = asn1_get_field_ptr(pval, tt);
174
+ if (!ASN1_template_new(pseqval, tt)) {
175
+ goto memerr2;
176
+ }
177
+ }
178
+ if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL)) {
179
+ goto auxerr2;
180
+ }
181
+ break;
175
182
  }
176
- return 1;
177
-
178
- memerr2:
179
- asn1_item_combine_free(pval, it, combine);
180
- memerr:
181
- OPENSSL_PUT_ERROR(ASN1, ERR_R_MALLOC_FAILURE);
182
- return 0;
183
-
184
- auxerr2:
185
- asn1_item_combine_free(pval, it, combine);
186
- auxerr:
187
- OPENSSL_PUT_ERROR(ASN1, ASN1_R_AUX_ERROR);
188
- return 0;
189
-
183
+ }
184
+ return 1;
185
+
186
+ memerr2:
187
+ asn1_item_combine_free(pval, it, combine);
188
+ memerr:
189
+ OPENSSL_PUT_ERROR(ASN1, ERR_R_MALLOC_FAILURE);
190
+ return 0;
191
+
192
+ auxerr2:
193
+ asn1_item_combine_free(pval, it, combine);
194
+ auxerr:
195
+ OPENSSL_PUT_ERROR(ASN1, ASN1_R_AUX_ERROR);
196
+ return 0;
190
197
  }
191
198
 
192
- static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
193
- {
194
- const ASN1_EXTERN_FUNCS *ef;
195
-
196
- switch (it->itype) {
199
+ static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) {
200
+ const ASN1_EXTERN_FUNCS *ef;
197
201
 
202
+ switch (it->itype) {
198
203
  case ASN1_ITYPE_EXTERN:
199
- ef = it->funcs;
200
- if (ef && ef->asn1_ex_clear)
201
- ef->asn1_ex_clear(pval, it);
202
- else
203
- *pval = NULL;
204
- break;
204
+ ef = it->funcs;
205
+ if (ef && ef->asn1_ex_clear) {
206
+ ef->asn1_ex_clear(pval, it);
207
+ } else {
208
+ *pval = NULL;
209
+ }
210
+ break;
205
211
 
206
212
  case ASN1_ITYPE_PRIMITIVE:
207
- if (it->templates)
208
- asn1_template_clear(pval, it->templates);
209
- else
210
- asn1_primitive_clear(pval, it);
211
- break;
213
+ if (it->templates) {
214
+ asn1_template_clear(pval, it->templates);
215
+ } else {
216
+ asn1_primitive_clear(pval, it);
217
+ }
218
+ break;
212
219
 
213
220
  case ASN1_ITYPE_MSTRING:
214
- asn1_primitive_clear(pval, it);
215
- break;
221
+ asn1_primitive_clear(pval, it);
222
+ break;
216
223
 
217
224
  case ASN1_ITYPE_CHOICE:
218
225
  case ASN1_ITYPE_SEQUENCE:
219
- *pval = NULL;
220
- break;
221
- }
226
+ *pval = NULL;
227
+ break;
228
+ }
222
229
  }
223
230
 
224
- static int ASN1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
225
- {
226
- const ASN1_ITEM *it = ASN1_ITEM_ptr(tt->item);
227
- int ret;
228
- if (tt->flags & ASN1_TFLG_OPTIONAL) {
229
- asn1_template_clear(pval, tt);
230
- return 1;
231
- }
232
- /* If ANY DEFINED BY nothing to do */
231
+ static int ASN1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt) {
232
+ const ASN1_ITEM *it = ASN1_ITEM_ptr(tt->item);
233
+ int ret;
234
+ if (tt->flags & ASN1_TFLG_OPTIONAL) {
235
+ asn1_template_clear(pval, tt);
236
+ return 1;
237
+ }
238
+ // If ANY DEFINED BY nothing to do
233
239
 
234
- if (tt->flags & ASN1_TFLG_ADB_MASK) {
235
- *pval = NULL;
236
- return 1;
237
- }
238
- /* If SET OF or SEQUENCE OF, its a STACK */
239
- if (tt->flags & ASN1_TFLG_SK_MASK) {
240
- STACK_OF(ASN1_VALUE) *skval;
241
- skval = sk_ASN1_VALUE_new_null();
242
- if (!skval) {
243
- OPENSSL_PUT_ERROR(ASN1, ERR_R_MALLOC_FAILURE);
244
- ret = 0;
245
- goto done;
246
- }
247
- *pval = (ASN1_VALUE *)skval;
248
- ret = 1;
249
- goto done;
240
+ if (tt->flags & ASN1_TFLG_ADB_MASK) {
241
+ *pval = NULL;
242
+ return 1;
243
+ }
244
+ // If SET OF or SEQUENCE OF, its a STACK
245
+ if (tt->flags & ASN1_TFLG_SK_MASK) {
246
+ STACK_OF(ASN1_VALUE) *skval;
247
+ skval = sk_ASN1_VALUE_new_null();
248
+ if (!skval) {
249
+ OPENSSL_PUT_ERROR(ASN1, ERR_R_MALLOC_FAILURE);
250
+ ret = 0;
251
+ goto done;
250
252
  }
251
- /* Otherwise pass it back to the item routine */
252
- ret = asn1_item_ex_combine_new(pval, it, tt->flags & ASN1_TFLG_COMBINE);
253
- done:
254
- return ret;
253
+ *pval = (ASN1_VALUE *)skval;
254
+ ret = 1;
255
+ goto done;
256
+ }
257
+ // Otherwise pass it back to the item routine
258
+ ret = asn1_item_ex_combine_new(pval, it, tt->flags & ASN1_TFLG_COMBINE);
259
+ done:
260
+ return ret;
255
261
  }
256
262
 
257
- static void asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
258
- {
259
- /* If ADB or STACK just NULL the field */
260
- if (tt->flags & (ASN1_TFLG_ADB_MASK | ASN1_TFLG_SK_MASK))
261
- *pval = NULL;
262
- else
263
- asn1_item_clear(pval, ASN1_ITEM_ptr(tt->item));
263
+ static void asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt) {
264
+ // If ADB or STACK just NULL the field
265
+ if (tt->flags & (ASN1_TFLG_ADB_MASK | ASN1_TFLG_SK_MASK)) {
266
+ *pval = NULL;
267
+ } else {
268
+ asn1_item_clear(pval, ASN1_ITEM_ptr(tt->item));
269
+ }
264
270
  }
265
271
 
266
- /*
267
- * NB: could probably combine most of the real XXX_new() behaviour and junk
268
- * all the old functions.
269
- */
272
+ // NB: could probably combine most of the real XXX_new() behaviour and junk
273
+ // all the old functions.
270
274
 
271
- static int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
272
- {
273
- ASN1_TYPE *typ;
274
- int utype;
275
+ static int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it) {
276
+ ASN1_TYPE *typ;
277
+ int utype;
275
278
 
276
- if (!it)
277
- return 0;
278
-
279
- /* Historically, |it->funcs| for primitive types contained an
280
- * |ASN1_PRIMITIVE_FUNCS| table of calbacks. */
281
- assert(it->funcs == NULL);
282
-
283
- if (it->itype == ASN1_ITYPE_MSTRING)
284
- utype = -1;
285
- else
286
- utype = it->utype;
287
- switch (utype) {
279
+ if (!it) {
280
+ return 0;
281
+ }
282
+
283
+ // Historically, |it->funcs| for primitive types contained an
284
+ // |ASN1_PRIMITIVE_FUNCS| table of calbacks.
285
+ assert(it->funcs == NULL);
286
+
287
+ if (it->itype == ASN1_ITYPE_MSTRING) {
288
+ utype = -1;
289
+ } else {
290
+ utype = it->utype;
291
+ }
292
+ switch (utype) {
288
293
  case V_ASN1_OBJECT:
289
- *pval = (ASN1_VALUE *)OBJ_nid2obj(NID_undef);
290
- return 1;
294
+ *pval = (ASN1_VALUE *)OBJ_nid2obj(NID_undef);
295
+ return 1;
291
296
 
292
297
  case V_ASN1_BOOLEAN:
293
- *(ASN1_BOOLEAN *)pval = it->size;
294
- return 1;
298
+ *(ASN1_BOOLEAN *)pval = it->size;
299
+ return 1;
295
300
 
296
301
  case V_ASN1_NULL:
297
- *pval = (ASN1_VALUE *)1;
298
- return 1;
302
+ *pval = (ASN1_VALUE *)1;
303
+ return 1;
299
304
 
300
305
  case V_ASN1_ANY:
301
- typ = OPENSSL_malloc(sizeof(ASN1_TYPE));
302
- if (!typ)
303
- return 0;
304
- typ->value.ptr = NULL;
305
- typ->type = -1;
306
- *pval = (ASN1_VALUE *)typ;
307
- break;
306
+ typ = OPENSSL_malloc(sizeof(ASN1_TYPE));
307
+ if (!typ) {
308
+ return 0;
309
+ }
310
+ typ->value.ptr = NULL;
311
+ typ->type = -1;
312
+ *pval = (ASN1_VALUE *)typ;
313
+ break;
308
314
 
309
315
  default:
310
- *pval = (ASN1_VALUE *)ASN1_STRING_type_new(utype);
311
- break;
312
- }
313
- if (*pval)
314
- return 1;
315
- return 0;
316
+ *pval = (ASN1_VALUE *)ASN1_STRING_type_new(utype);
317
+ break;
318
+ }
319
+ if (*pval) {
320
+ return 1;
321
+ }
322
+ return 0;
316
323
  }
317
324
 
318
- static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
319
- {
320
- int utype;
321
- /* Historically, |it->funcs| for primitive types contained an
322
- * |ASN1_PRIMITIVE_FUNCS| table of calbacks. */
323
- assert(it == NULL || it->funcs == NULL);
324
- if (!it || (it->itype == ASN1_ITYPE_MSTRING))
325
- utype = -1;
326
- else
327
- utype = it->utype;
328
- if (utype == V_ASN1_BOOLEAN)
329
- *(ASN1_BOOLEAN *)pval = it->size;
330
- else
331
- *pval = NULL;
325
+ static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) {
326
+ int utype;
327
+ // Historically, |it->funcs| for primitive types contained an
328
+ // |ASN1_PRIMITIVE_FUNCS| table of calbacks.
329
+ assert(it == NULL || it->funcs == NULL);
330
+ if (!it || (it->itype == ASN1_ITYPE_MSTRING)) {
331
+ utype = -1;
332
+ } else {
333
+ utype = it->utype;
334
+ }
335
+ if (utype == V_ASN1_BOOLEAN) {
336
+ *(ASN1_BOOLEAN *)pval = it->size;
337
+ } else {
338
+ *pval = NULL;
339
+ }
332
340
  }
@@ -58,19 +58,13 @@
58
58
 
59
59
  #include <openssl/asn1t.h>
60
60
 
61
- /* Declarations for string types */
62
-
63
- #define IMPLEMENT_ASN1_STRING_FUNCTIONS(sname) \
64
- IMPLEMENT_ASN1_TYPE(sname) \
65
- IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(sname, sname, sname) \
66
- sname *sname##_new(void) \
67
- { \
68
- return ASN1_STRING_type_new(V_##sname); \
69
- } \
70
- void sname##_free(sname *x) \
71
- { \
72
- ASN1_STRING_free(x); \
73
- }
61
+ // Declarations for string types
62
+
63
+ #define IMPLEMENT_ASN1_STRING_FUNCTIONS(sname) \
64
+ IMPLEMENT_ASN1_TYPE(sname) \
65
+ IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(sname, sname, sname) \
66
+ sname *sname##_new(void) { return ASN1_STRING_type_new(V_##sname); } \
67
+ void sname##_free(sname *x) { ASN1_STRING_free(x); }
74
68
 
75
69
  IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_OCTET_STRING)
76
70
  IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_INTEGER)
@@ -94,12 +88,12 @@ IMPLEMENT_ASN1_TYPE(ASN1_OBJECT)
94
88
 
95
89
  IMPLEMENT_ASN1_TYPE(ASN1_ANY)
96
90
 
97
- /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */
91
+ // Just swallow an ASN1_SEQUENCE in an ASN1_STRING
98
92
  IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE)
99
93
 
100
94
  IMPLEMENT_ASN1_FUNCTIONS_const_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE)
101
95
 
102
- /* Multistring types */
96
+ // Multistring types
103
97
 
104
98
  IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE)
105
99
  IMPLEMENT_ASN1_FUNCTIONS_const_fname(ASN1_STRING, ASN1_PRINTABLE,
@@ -112,20 +106,23 @@ IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING)
112
106
  IMPLEMENT_ASN1_FUNCTIONS_const_fname(ASN1_STRING, DIRECTORYSTRING,
113
107
  DIRECTORYSTRING)
114
108
 
115
- /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */
109
+ // Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE
116
110
  IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1)
117
111
  IMPLEMENT_ASN1_TYPE_ex(ASN1_TBOOLEAN, ASN1_BOOLEAN, 1)
118
112
  IMPLEMENT_ASN1_TYPE_ex(ASN1_FBOOLEAN, ASN1_BOOLEAN, 0)
119
113
 
120
- /* Special, OCTET STRING with indefinite length constructed support */
114
+ // Special, OCTET STRING with indefinite length constructed support
121
115
 
122
116
  ASN1_ITEM_TEMPLATE(ASN1_SEQUENCE_ANY) =
123
- ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, ASN1_SEQUENCE_ANY, ASN1_ANY)
117
+ ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, ASN1_SEQUENCE_ANY, ASN1_ANY)
124
118
  ASN1_ITEM_TEMPLATE_END(ASN1_SEQUENCE_ANY)
125
119
 
126
- ASN1_ITEM_TEMPLATE(ASN1_SET_ANY) =
127
- ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SET_OF, 0, ASN1_SET_ANY, ASN1_ANY)
120
+ ASN1_ITEM_TEMPLATE(ASN1_SET_ANY) = ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SET_OF, 0,
121
+ ASN1_SET_ANY, ASN1_ANY)
128
122
  ASN1_ITEM_TEMPLATE_END(ASN1_SET_ANY)
129
123
 
130
- IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY)
131
- IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ASN1_SEQUENCE_ANY, ASN1_SET_ANY, ASN1_SET_ANY)
124
+ IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ASN1_SEQUENCE_ANY,
125
+ ASN1_SEQUENCE_ANY,
126
+ ASN1_SEQUENCE_ANY)
127
+ IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ASN1_SEQUENCE_ANY, ASN1_SET_ANY,
128
+ ASN1_SET_ANY)
@@ -60,27 +60,27 @@
60
60
  #include <string.h>
61
61
 
62
62
  #include <openssl/asn1t.h>
63
+ #include <openssl/err.h>
63
64
  #include <openssl/mem.h>
64
65
  #include <openssl/obj.h>
65
- #include <openssl/err.h>
66
66
  #include <openssl/thread.h>
67
67
 
68
68
  #include "../internal.h"
69
69
  #include "internal.h"
70
70
 
71
71
 
72
- /* Utility functions for manipulating fields and offsets */
72
+ // Utility functions for manipulating fields and offsets
73
73
 
74
- /* Add 'offset' to 'addr' */
74
+ // Add 'offset' to 'addr'
75
75
  #define offset2ptr(addr, offset) (void *)(((char *)(addr)) + (offset))
76
76
 
77
- /* Given an ASN1_ITEM CHOICE type return the selector value */
77
+ // Given an ASN1_ITEM CHOICE type return the selector value
78
78
  int asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM *it) {
79
79
  int *sel = offset2ptr(*pval, it->utype);
80
80
  return *sel;
81
81
  }
82
82
 
83
- /* Given an ASN1_ITEM CHOICE type set the selector value, return old value. */
83
+ // Given an ASN1_ITEM CHOICE type set the selector value, return old value.
84
84
  int asn1_set_choice_selector(ASN1_VALUE **pval, int value,
85
85
  const ASN1_ITEM *it) {
86
86
  int *sel, ret;
@@ -173,7 +173,7 @@ int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen,
173
173
  enc->alias_only_on_next_parse = 0;
174
174
 
175
175
  if (enc->alias_only) {
176
- enc->enc = (uint8_t *) in;
176
+ enc->enc = (uint8_t *)in;
177
177
  } else {
178
178
  enc->enc = OPENSSL_malloc(inlen);
179
179
  if (!enc->enc) {
@@ -205,20 +205,20 @@ int asn1_enc_restore(int *len, unsigned char **out, ASN1_VALUE **pval,
205
205
  return 1;
206
206
  }
207
207
 
208
- /* Given an ASN1_TEMPLATE get a pointer to a field */
208
+ // Given an ASN1_TEMPLATE get a pointer to a field
209
209
  ASN1_VALUE **asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt) {
210
210
  ASN1_VALUE **pvaltmp;
211
211
  if (tt->flags & ASN1_TFLG_COMBINE) {
212
212
  return pval;
213
213
  }
214
214
  pvaltmp = offset2ptr(*pval, tt->offset);
215
- /* NOTE for BOOLEAN types the field is just a plain int so we can't return
216
- * int **, so settle for (int *). */
215
+ // NOTE for BOOLEAN types the field is just a plain int so we can't return
216
+ // int **, so settle for (int *).
217
217
  return pvaltmp;
218
218
  }
219
219
 
220
- /* Handle ANY DEFINED BY template, find the selector, look up the relevant
221
- * ASN1_TEMPLATE in the table and return it. */
220
+ // Handle ANY DEFINED BY template, find the selector, look up the relevant
221
+ // ASN1_TEMPLATE in the table and return it.
222
222
  const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt,
223
223
  int nullerr) {
224
224
  const ASN1_ADB *adb;
@@ -229,13 +229,13 @@ const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt,
229
229
  return tt;
230
230
  }
231
231
 
232
- /* Else ANY DEFINED BY ... get the table */
232
+ // Else ANY DEFINED BY ... get the table
233
233
  adb = ASN1_ADB_ptr(tt->item);
234
234
 
235
- /* Get the selector field */
235
+ // Get the selector field
236
236
  sfld = offset2ptr(*pval, adb->offset);
237
237
 
238
- /* Check if NULL */
238
+ // Check if NULL
239
239
  if (*sfld == NULL) {
240
240
  if (!adb->null_tt) {
241
241
  goto err;
@@ -243,16 +243,16 @@ const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt,
243
243
  return adb->null_tt;
244
244
  }
245
245
 
246
- /* Convert type to a NID:
247
- * NB: don't check for NID_undef here because it
248
- * might be a legitimate value in the table */
246
+ // Convert type to a NID:
247
+ // NB: don't check for NID_undef here because it
248
+ // might be a legitimate value in the table
249
249
  assert(tt->flags & ASN1_TFLG_ADB_OID);
250
250
  int selector = OBJ_obj2nid((ASN1_OBJECT *)*sfld);
251
251
 
252
- /* Try to find matching entry in table Maybe should check application types
253
- * first to allow application override? Might also be useful to have a flag
254
- * which indicates table is sorted and we can do a binary search. For now
255
- * stick to a linear search. */
252
+ // Try to find matching entry in table Maybe should check application types
253
+ // first to allow application override? Might also be useful to have a flag
254
+ // which indicates table is sorted and we can do a binary search. For now
255
+ // stick to a linear search.
256
256
 
257
257
  for (atbl = adb->tbl, i = 0; i < adb->tblcount; i++, atbl++) {
258
258
  if (atbl->value == selector) {
@@ -260,16 +260,16 @@ const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt,
260
260
  }
261
261
  }
262
262
 
263
- /* FIXME: need to search application table too */
263
+ // FIXME: need to search application table too
264
264
 
265
- /* No match, return default type */
265
+ // No match, return default type
266
266
  if (!adb->default_tt) {
267
267
  goto err;
268
268
  }
269
269
  return adb->default_tt;
270
270
 
271
271
  err:
272
- /* FIXME: should log the value or OID of unsupported type */
272
+ // FIXME: should log the value or OID of unsupported type
273
273
  if (nullerr) {
274
274
  OPENSSL_PUT_ERROR(ASN1, ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE);
275
275
  }