@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,183 +64,188 @@
64
64
  #include <openssl/obj.h>
65
65
 
66
66
 
67
- static int maybe_write(BIO *out, const void *buf, int len)
68
- {
69
- /* If |out| is NULL, ignore the output but report the length. */
70
- return out == NULL || BIO_write(out, buf, len) == len;
67
+ static int maybe_write(BIO *out, const void *buf, int len) {
68
+ // If |out| is NULL, ignore the output but report the length.
69
+ return out == NULL || BIO_write(out, buf, len) == len;
71
70
  }
72
71
 
73
- /* do_indent prints |indent| spaces to |out|. */
74
- static int do_indent(BIO *out, int indent)
75
- {
76
- for (int i = 0; i < indent; i++) {
77
- if (!maybe_write(out, " ", 1)) {
78
- return 0;
79
- }
72
+ // do_indent prints |indent| spaces to |out|.
73
+ static int do_indent(BIO *out, int indent) {
74
+ for (int i = 0; i < indent; i++) {
75
+ if (!maybe_write(out, " ", 1)) {
76
+ return 0;
80
77
  }
81
- return 1;
78
+ }
79
+ return 1;
82
80
  }
83
81
 
84
- #define FN_WIDTH_LN 25
85
- #define FN_WIDTH_SN 10
82
+ #define FN_WIDTH_LN 25
83
+ #define FN_WIDTH_SN 10
86
84
 
87
85
  static int do_name_ex(BIO *out, const X509_NAME *n, int indent,
88
- unsigned long flags)
89
- {
90
- int i, prev = -1, orflags, cnt;
91
- int fn_opt, fn_nid;
92
- ASN1_OBJECT *fn;
93
- ASN1_STRING *val;
94
- X509_NAME_ENTRY *ent;
95
- char objtmp[80];
96
- const char *objbuf;
97
- int outlen, len;
98
- const char *sep_dn, *sep_mv, *sep_eq;
99
- int sep_dn_len, sep_mv_len, sep_eq_len;
100
- if (indent < 0)
101
- indent = 0;
102
- outlen = indent;
103
- if (!do_indent(out, indent))
104
- return -1;
105
- switch (flags & XN_FLAG_SEP_MASK) {
86
+ unsigned long flags) {
87
+ int i, prev = -1, orflags, cnt;
88
+ int fn_opt, fn_nid;
89
+ ASN1_OBJECT *fn;
90
+ ASN1_STRING *val;
91
+ X509_NAME_ENTRY *ent;
92
+ char objtmp[80];
93
+ const char *objbuf;
94
+ int outlen, len;
95
+ const char *sep_dn, *sep_mv, *sep_eq;
96
+ int sep_dn_len, sep_mv_len, sep_eq_len;
97
+ if (indent < 0) {
98
+ indent = 0;
99
+ }
100
+ outlen = indent;
101
+ if (!do_indent(out, indent)) {
102
+ return -1;
103
+ }
104
+ switch (flags & XN_FLAG_SEP_MASK) {
106
105
  case XN_FLAG_SEP_MULTILINE:
107
- sep_dn = "\n";
108
- sep_dn_len = 1;
109
- sep_mv = " + ";
110
- sep_mv_len = 3;
111
- break;
106
+ sep_dn = "\n";
107
+ sep_dn_len = 1;
108
+ sep_mv = " + ";
109
+ sep_mv_len = 3;
110
+ break;
112
111
 
113
112
  case XN_FLAG_SEP_COMMA_PLUS:
114
- sep_dn = ",";
115
- sep_dn_len = 1;
116
- sep_mv = "+";
117
- sep_mv_len = 1;
118
- indent = 0;
119
- break;
113
+ sep_dn = ",";
114
+ sep_dn_len = 1;
115
+ sep_mv = "+";
116
+ sep_mv_len = 1;
117
+ indent = 0;
118
+ break;
120
119
 
121
120
  case XN_FLAG_SEP_CPLUS_SPC:
122
- sep_dn = ", ";
123
- sep_dn_len = 2;
124
- sep_mv = " + ";
125
- sep_mv_len = 3;
126
- indent = 0;
127
- break;
121
+ sep_dn = ", ";
122
+ sep_dn_len = 2;
123
+ sep_mv = " + ";
124
+ sep_mv_len = 3;
125
+ indent = 0;
126
+ break;
128
127
 
129
128
  case XN_FLAG_SEP_SPLUS_SPC:
130
- sep_dn = "; ";
131
- sep_dn_len = 2;
132
- sep_mv = " + ";
133
- sep_mv_len = 3;
134
- indent = 0;
135
- break;
129
+ sep_dn = "; ";
130
+ sep_dn_len = 2;
131
+ sep_mv = " + ";
132
+ sep_mv_len = 3;
133
+ indent = 0;
134
+ break;
136
135
 
137
136
  default:
137
+ return -1;
138
+ }
139
+
140
+ if (flags & XN_FLAG_SPC_EQ) {
141
+ sep_eq = " = ";
142
+ sep_eq_len = 3;
143
+ } else {
144
+ sep_eq = "=";
145
+ sep_eq_len = 1;
146
+ }
147
+
148
+ fn_opt = flags & XN_FLAG_FN_MASK;
149
+
150
+ cnt = X509_NAME_entry_count(n);
151
+ for (i = 0; i < cnt; i++) {
152
+ if (flags & XN_FLAG_DN_REV) {
153
+ ent = X509_NAME_get_entry(n, cnt - i - 1);
154
+ } else {
155
+ ent = X509_NAME_get_entry(n, i);
156
+ }
157
+ if (prev != -1) {
158
+ if (prev == X509_NAME_ENTRY_set(ent)) {
159
+ if (!maybe_write(out, sep_mv, sep_mv_len)) {
160
+ return -1;
161
+ }
162
+ outlen += sep_mv_len;
163
+ } else {
164
+ if (!maybe_write(out, sep_dn, sep_dn_len)) {
165
+ return -1;
166
+ }
167
+ outlen += sep_dn_len;
168
+ if (!do_indent(out, indent)) {
169
+ return -1;
170
+ }
171
+ outlen += indent;
172
+ }
173
+ }
174
+ prev = X509_NAME_ENTRY_set(ent);
175
+ fn = X509_NAME_ENTRY_get_object(ent);
176
+ val = X509_NAME_ENTRY_get_data(ent);
177
+ fn_nid = OBJ_obj2nid(fn);
178
+ if (fn_opt != XN_FLAG_FN_NONE) {
179
+ int objlen, fld_len;
180
+ if ((fn_opt == XN_FLAG_FN_OID) || (fn_nid == NID_undef)) {
181
+ OBJ_obj2txt(objtmp, sizeof objtmp, fn, 1);
182
+ fld_len = 0; // XXX: what should this be?
183
+ objbuf = objtmp;
184
+ } else {
185
+ if (fn_opt == XN_FLAG_FN_SN) {
186
+ fld_len = FN_WIDTH_SN;
187
+ objbuf = OBJ_nid2sn(fn_nid);
188
+ } else if (fn_opt == XN_FLAG_FN_LN) {
189
+ fld_len = FN_WIDTH_LN;
190
+ objbuf = OBJ_nid2ln(fn_nid);
191
+ } else {
192
+ fld_len = 0; // XXX: what should this be?
193
+ objbuf = "";
194
+ }
195
+ }
196
+ objlen = strlen(objbuf);
197
+ if (!maybe_write(out, objbuf, objlen)) {
198
+ return -1;
199
+ }
200
+ if ((objlen < fld_len) && (flags & XN_FLAG_FN_ALIGN)) {
201
+ if (!do_indent(out, fld_len - objlen)) {
202
+ return -1;
203
+ }
204
+ outlen += fld_len - objlen;
205
+ }
206
+ if (!maybe_write(out, sep_eq, sep_eq_len)) {
138
207
  return -1;
208
+ }
209
+ outlen += objlen + sep_eq_len;
139
210
  }
140
-
141
- if (flags & XN_FLAG_SPC_EQ) {
142
- sep_eq = " = ";
143
- sep_eq_len = 3;
211
+ // If the field name is unknown then fix up the DER dump flag. We
212
+ // might want to limit this further so it will DER dump on anything
213
+ // other than a few 'standard' fields.
214
+ if ((fn_nid == NID_undef) && (flags & XN_FLAG_DUMP_UNKNOWN_FIELDS)) {
215
+ orflags = ASN1_STRFLGS_DUMP_ALL;
144
216
  } else {
145
- sep_eq = "=";
146
- sep_eq_len = 1;
217
+ orflags = 0;
147
218
  }
148
219
 
149
- fn_opt = flags & XN_FLAG_FN_MASK;
150
-
151
- cnt = X509_NAME_entry_count(n);
152
- for (i = 0; i < cnt; i++) {
153
- if (flags & XN_FLAG_DN_REV)
154
- ent = X509_NAME_get_entry(n, cnt - i - 1);
155
- else
156
- ent = X509_NAME_get_entry(n, i);
157
- if (prev != -1) {
158
- if (prev == X509_NAME_ENTRY_set(ent)) {
159
- if (!maybe_write(out, sep_mv, sep_mv_len))
160
- return -1;
161
- outlen += sep_mv_len;
162
- } else {
163
- if (!maybe_write(out, sep_dn, sep_dn_len))
164
- return -1;
165
- outlen += sep_dn_len;
166
- if (!do_indent(out, indent))
167
- return -1;
168
- outlen += indent;
169
- }
170
- }
171
- prev = X509_NAME_ENTRY_set(ent);
172
- fn = X509_NAME_ENTRY_get_object(ent);
173
- val = X509_NAME_ENTRY_get_data(ent);
174
- fn_nid = OBJ_obj2nid(fn);
175
- if (fn_opt != XN_FLAG_FN_NONE) {
176
- int objlen, fld_len;
177
- if ((fn_opt == XN_FLAG_FN_OID) || (fn_nid == NID_undef)) {
178
- OBJ_obj2txt(objtmp, sizeof objtmp, fn, 1);
179
- fld_len = 0; /* XXX: what should this be? */
180
- objbuf = objtmp;
181
- } else {
182
- if (fn_opt == XN_FLAG_FN_SN) {
183
- fld_len = FN_WIDTH_SN;
184
- objbuf = OBJ_nid2sn(fn_nid);
185
- } else if (fn_opt == XN_FLAG_FN_LN) {
186
- fld_len = FN_WIDTH_LN;
187
- objbuf = OBJ_nid2ln(fn_nid);
188
- } else {
189
- fld_len = 0; /* XXX: what should this be? */
190
- objbuf = "";
191
- }
192
- }
193
- objlen = strlen(objbuf);
194
- if (!maybe_write(out, objbuf, objlen))
195
- return -1;
196
- if ((objlen < fld_len) && (flags & XN_FLAG_FN_ALIGN)) {
197
- if (!do_indent(out, fld_len - objlen))
198
- return -1;
199
- outlen += fld_len - objlen;
200
- }
201
- if (!maybe_write(out, sep_eq, sep_eq_len))
202
- return -1;
203
- outlen += objlen + sep_eq_len;
204
- }
205
- /*
206
- * If the field name is unknown then fix up the DER dump flag. We
207
- * might want to limit this further so it will DER dump on anything
208
- * other than a few 'standard' fields.
209
- */
210
- if ((fn_nid == NID_undef) && (flags & XN_FLAG_DUMP_UNKNOWN_FIELDS))
211
- orflags = ASN1_STRFLGS_DUMP_ALL;
212
- else
213
- orflags = 0;
214
-
215
- len = ASN1_STRING_print_ex(out, val, flags | orflags);
216
- if (len < 0)
217
- return -1;
218
- outlen += len;
220
+ len = ASN1_STRING_print_ex(out, val, flags | orflags);
221
+ if (len < 0) {
222
+ return -1;
219
223
  }
220
- return outlen;
224
+ outlen += len;
225
+ }
226
+ return outlen;
221
227
  }
222
228
 
223
229
  int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,
224
- unsigned long flags)
225
- {
226
- if (flags == XN_FLAG_COMPAT)
227
- return X509_NAME_print(out, nm, indent);
228
- return do_name_ex(out, nm, indent, flags);
230
+ unsigned long flags) {
231
+ if (flags == XN_FLAG_COMPAT) {
232
+ return X509_NAME_print(out, nm, indent);
233
+ }
234
+ return do_name_ex(out, nm, indent, flags);
229
235
  }
230
236
 
231
237
  int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
232
- unsigned long flags)
233
- {
234
- BIO *bio = NULL;
235
- if (fp != NULL) {
236
- /* If |fp| is NULL, this function returns the number of bytes without
237
- * writing. */
238
- bio = BIO_new_fp(fp, BIO_NOCLOSE);
239
- if (bio == NULL) {
240
- return -1;
241
- }
238
+ unsigned long flags) {
239
+ BIO *bio = NULL;
240
+ if (fp != NULL) {
241
+ // If |fp| is NULL, this function returns the number of bytes without
242
+ // writing.
243
+ bio = BIO_new_fp(fp, BIO_NOCLOSE);
244
+ if (bio == NULL) {
245
+ return -1;
242
246
  }
243
- int ret = X509_NAME_print_ex(bio, nm, indent, flags);
244
- BIO_free(bio);
245
- return ret;
247
+ }
248
+ int ret = X509_NAME_print_ex(bio, nm, indent, flags);
249
+ BIO_free(bio);
250
+ return ret;
246
251
  }
@@ -9,7 +9,7 @@
9
9
  * are met:
10
10
  *
11
11
  * 1. Redistributions of source code must retain the above copyright
12
- * notice, this list of conditions and the following disclaimer.
12
+ * notice, this list of conditions and the following disclaimer.
13
13
  *
14
14
  * 2. Redistributions in binary form must reproduce the above copyright
15
15
  * notice, this list of conditions and the following disclaimer in
@@ -60,8 +60,8 @@
60
60
  #include <openssl/asn1.h>
61
61
  #include <openssl/asn1t.h>
62
62
  #include <openssl/bio.h>
63
- #include <openssl/evp.h>
64
63
  #include <openssl/err.h>
64
+ #include <openssl/evp.h>
65
65
  #include <openssl/obj.h>
66
66
 
67
67
  #include "internal.h"
@@ -77,16 +77,16 @@ static int rsa_pss_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
77
77
  }
78
78
 
79
79
  ASN1_SEQUENCE_cb(RSA_PSS_PARAMS, rsa_pss_cb) = {
80
- ASN1_EXP_OPT(RSA_PSS_PARAMS, hashAlgorithm, X509_ALGOR,0),
81
- ASN1_EXP_OPT(RSA_PSS_PARAMS, maskGenAlgorithm, X509_ALGOR,1),
82
- ASN1_EXP_OPT(RSA_PSS_PARAMS, saltLength, ASN1_INTEGER,2),
83
- ASN1_EXP_OPT(RSA_PSS_PARAMS, trailerField, ASN1_INTEGER,3),
80
+ ASN1_EXP_OPT(RSA_PSS_PARAMS, hashAlgorithm, X509_ALGOR, 0),
81
+ ASN1_EXP_OPT(RSA_PSS_PARAMS, maskGenAlgorithm, X509_ALGOR, 1),
82
+ ASN1_EXP_OPT(RSA_PSS_PARAMS, saltLength, ASN1_INTEGER, 2),
83
+ ASN1_EXP_OPT(RSA_PSS_PARAMS, trailerField, ASN1_INTEGER, 3),
84
84
  } ASN1_SEQUENCE_END_cb(RSA_PSS_PARAMS, RSA_PSS_PARAMS)
85
85
 
86
86
  IMPLEMENT_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
87
87
 
88
88
 
89
- /* Given an MGF1 Algorithm ID decode to an Algorithm Identifier */
89
+ // Given an MGF1 Algorithm ID decode to an Algorithm Identifier
90
90
  static X509_ALGOR *rsa_mgf1_decode(X509_ALGOR *alg) {
91
91
  if (alg == NULL || alg->parameter == NULL ||
92
92
  OBJ_obj2nid(alg->algorithm) != NID_mgf1 ||
@@ -118,7 +118,7 @@ static RSA_PSS_PARAMS *rsa_pss_decode(const X509_ALGOR *alg,
118
118
  return pss;
119
119
  }
120
120
 
121
- /* allocate and set algorithm ID from EVP_MD, default SHA1 */
121
+ // allocate and set algorithm ID from EVP_MD, default SHA1
122
122
  static int rsa_md_to_algor(X509_ALGOR **palg, const EVP_MD *md) {
123
123
  if (EVP_MD_type(md) == NID_sha1) {
124
124
  return 1;
@@ -131,7 +131,7 @@ static int rsa_md_to_algor(X509_ALGOR **palg, const EVP_MD *md) {
131
131
  return 1;
132
132
  }
133
133
 
134
- /* Allocate and set MGF1 algorithm ID from EVP_MD */
134
+ // Allocate and set MGF1 algorithm ID from EVP_MD
135
135
  static int rsa_md_to_mgf1(X509_ALGOR **palg, const EVP_MD *mgf1md) {
136
136
  X509_ALGOR *algtmp = NULL;
137
137
  ASN1_STRING *stmp = NULL;
@@ -140,7 +140,7 @@ static int rsa_md_to_mgf1(X509_ALGOR **palg, const EVP_MD *mgf1md) {
140
140
  if (EVP_MD_type(mgf1md) == NID_sha1) {
141
141
  return 1;
142
142
  }
143
- /* need to embed algorithm ID inside another */
143
+ // need to embed algorithm ID inside another
144
144
  if (!rsa_md_to_algor(&algtmp, mgf1md) ||
145
145
  !ASN1_item_pack(algtmp, ASN1_ITEM_rptr(X509_ALGOR), &stmp)) {
146
146
  goto err;
@@ -162,7 +162,7 @@ err:
162
162
  return 0;
163
163
  }
164
164
 
165
- /* convert algorithm ID to EVP_MD, default SHA1 */
165
+ // convert algorithm ID to EVP_MD, default SHA1
166
166
  static const EVP_MD *rsa_algor_to_md(X509_ALGOR *alg) {
167
167
  const EVP_MD *md;
168
168
  if (!alg) {
@@ -175,16 +175,15 @@ static const EVP_MD *rsa_algor_to_md(X509_ALGOR *alg) {
175
175
  return md;
176
176
  }
177
177
 
178
- /* convert MGF1 algorithm ID to EVP_MD, default SHA1 */
178
+ // convert MGF1 algorithm ID to EVP_MD, default SHA1
179
179
  static const EVP_MD *rsa_mgf1_to_md(const X509_ALGOR *alg,
180
180
  X509_ALGOR *maskHash) {
181
181
  const EVP_MD *md;
182
182
  if (!alg) {
183
183
  return EVP_sha1();
184
184
  }
185
- /* Check mask and lookup mask hash algorithm */
186
- if (OBJ_obj2nid(alg->algorithm) != NID_mgf1 ||
187
- maskHash == NULL) {
185
+ // Check mask and lookup mask hash algorithm
186
+ if (OBJ_obj2nid(alg->algorithm) != NID_mgf1 || maskHash == NULL) {
188
187
  OPENSSL_PUT_ERROR(X509, X509_R_INVALID_PSS_PARAMETERS);
189
188
  return NULL;
190
189
  }
@@ -230,8 +229,7 @@ int x509_rsa_ctx_to_pss(EVP_MD_CTX *ctx, X509_ALGOR *algor) {
230
229
 
231
230
  if (saltlen != 20) {
232
231
  pss->saltLength = ASN1_INTEGER_new();
233
- if (!pss->saltLength ||
234
- !ASN1_INTEGER_set(pss->saltLength, saltlen)) {
232
+ if (!pss->saltLength || !ASN1_INTEGER_set(pss->saltLength, saltlen)) {
235
233
  goto err;
236
234
  }
237
235
  }
@@ -241,7 +239,7 @@ int x509_rsa_ctx_to_pss(EVP_MD_CTX *ctx, X509_ALGOR *algor) {
241
239
  goto err;
242
240
  }
243
241
 
244
- /* Finally create string with pss parameter encoding. */
242
+ // Finally create string with pss parameter encoding.
245
243
  if (!ASN1_item_pack(pss, ASN1_ITEM_rptr(RSA_PSS_PARAMS), &os)) {
246
244
  goto err;
247
245
  }
@@ -260,7 +258,7 @@ int x509_rsa_pss_to_ctx(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg,
260
258
  EVP_PKEY *pkey) {
261
259
  assert(OBJ_obj2nid(sigalg->algorithm) == NID_rsassaPss);
262
260
 
263
- /* Decode PSS parameters */
261
+ // Decode PSS parameters
264
262
  int ret = 0;
265
263
  X509_ALGOR *maskHash;
266
264
  RSA_PSS_PARAMS *pss = rsa_pss_decode(sigalg, &maskHash);
@@ -279,16 +277,16 @@ int x509_rsa_pss_to_ctx(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg,
279
277
  if (pss->saltLength != NULL) {
280
278
  saltlen = ASN1_INTEGER_get(pss->saltLength);
281
279
 
282
- /* Could perform more salt length sanity checks but the main
283
- * RSA routines will trap other invalid values anyway. */
280
+ // Could perform more salt length sanity checks but the main
281
+ // RSA routines will trap other invalid values anyway.
284
282
  if (saltlen < 0) {
285
283
  OPENSSL_PUT_ERROR(X509, X509_R_INVALID_PSS_PARAMETERS);
286
284
  goto err;
287
285
  }
288
286
  }
289
287
 
290
- /* low-level routines support only trailer field 0xbc (value 1)
291
- * and PKCS#1 says we should reject any other value anyway. */
288
+ // low-level routines support only trailer field 0xbc (value 1)
289
+ // and PKCS#1 says we should reject any other value anyway.
292
290
  if (pss->trailerField != NULL && ASN1_INTEGER_get(pss->trailerField) != 1) {
293
291
  OPENSSL_PUT_ERROR(X509, X509_R_INVALID_PSS_PARAMETERS);
294
292
  goto err;
@@ -325,8 +323,8 @@ int x509_print_rsa_pss_params(BIO *bp, const X509_ALGOR *sigalg, int indent,
325
323
  goto err;
326
324
  }
327
325
 
328
- if (BIO_puts(bp, "\n") <= 0 ||
329
- !BIO_indent(bp, indent, 128) ||
326
+ if (BIO_puts(bp, "\n") <= 0 || //
327
+ !BIO_indent(bp, indent, 128) || //
330
328
  BIO_puts(bp, "Hash Algorithm: ") <= 0) {
331
329
  goto err;
332
330
  }
@@ -339,8 +337,8 @@ int x509_print_rsa_pss_params(BIO *bp, const X509_ALGOR *sigalg, int indent,
339
337
  goto err;
340
338
  }
341
339
 
342
- if (BIO_puts(bp, "\n") <= 0 ||
343
- !BIO_indent(bp, indent, 128) ||
340
+ if (BIO_puts(bp, "\n") <= 0 || //
341
+ !BIO_indent(bp, indent, 128) || //
344
342
  BIO_puts(bp, "Mask Algorithm: ") <= 0) {
345
343
  goto err;
346
344
  }
@@ -363,7 +361,7 @@ int x509_print_rsa_pss_params(BIO *bp, const X509_ALGOR *sigalg, int indent,
363
361
  }
364
362
  BIO_puts(bp, "\n");
365
363
 
366
- if (!BIO_indent(bp, indent, 128) ||
364
+ if (!BIO_indent(bp, indent, 128) || //
367
365
  BIO_puts(bp, "Salt Length: 0x") <= 0) {
368
366
  goto err;
369
367
  }
@@ -377,7 +375,7 @@ int x509_print_rsa_pss_params(BIO *bp, const X509_ALGOR *sigalg, int indent,
377
375
  }
378
376
  BIO_puts(bp, "\n");
379
377
 
380
- if (!BIO_indent(bp, indent, 128) ||
378
+ if (!BIO_indent(bp, indent, 128) || //
381
379
  BIO_puts(bp, "Trailer Field: 0x") <= 0) {
382
380
  goto err;
383
381
  }
@@ -63,86 +63,83 @@
63
63
  #include <openssl/x509.h>
64
64
  #include <openssl/x509v3.h>
65
65
 
66
- int X509_CRL_print_fp(FILE *fp, X509_CRL *x)
67
- {
68
- BIO *b = BIO_new_fp(fp, BIO_NOCLOSE);
69
- if (b == NULL) {
70
- OPENSSL_PUT_ERROR(X509, ERR_R_BUF_LIB);
71
- return 0;
72
- }
73
- int ret = X509_CRL_print(b, x);
74
- BIO_free(b);
75
- return ret;
66
+ int X509_CRL_print_fp(FILE *fp, X509_CRL *x) {
67
+ BIO *b = BIO_new_fp(fp, BIO_NOCLOSE);
68
+ if (b == NULL) {
69
+ OPENSSL_PUT_ERROR(X509, ERR_R_BUF_LIB);
70
+ return 0;
71
+ }
72
+ int ret = X509_CRL_print(b, x);
73
+ BIO_free(b);
74
+ return ret;
76
75
  }
77
76
 
78
- int X509_CRL_print(BIO *out, X509_CRL *x)
79
- {
80
- long version = X509_CRL_get_version(x);
81
- assert(X509_CRL_VERSION_1 <= version && version <= X509_CRL_VERSION_2);
82
- const X509_ALGOR *sig_alg;
83
- const ASN1_BIT_STRING *signature;
84
- X509_CRL_get0_signature(x, &signature, &sig_alg);
85
- if (BIO_printf(out, "Certificate Revocation List (CRL):\n") <= 0 ||
86
- BIO_printf(out, "%8sVersion %ld (0x%lx)\n", "", version + 1,
87
- (unsigned long)version) <= 0 ||
88
- // Note this and the other |X509_signature_print| call both print the
89
- // outer signature algorithm, rather than printing the inner and outer
90
- // ones separately. This matches OpenSSL, though it was probably a bug.
91
- !X509_signature_print(out, sig_alg, NULL)) {
92
- return 0;
93
- }
77
+ int X509_CRL_print(BIO *out, X509_CRL *x) {
78
+ long version = X509_CRL_get_version(x);
79
+ assert(X509_CRL_VERSION_1 <= version && version <= X509_CRL_VERSION_2);
80
+ const X509_ALGOR *sig_alg;
81
+ const ASN1_BIT_STRING *signature;
82
+ X509_CRL_get0_signature(x, &signature, &sig_alg);
83
+ if (BIO_printf(out, "Certificate Revocation List (CRL):\n") <= 0 ||
84
+ BIO_printf(out, "%8sVersion %ld (0x%lx)\n", "", version + 1,
85
+ (unsigned long)version) <= 0 ||
86
+ // Note this and the other |X509_signature_print| call both print the
87
+ // outer signature algorithm, rather than printing the inner and outer
88
+ // ones separately. This matches OpenSSL, though it was probably a bug.
89
+ !X509_signature_print(out, sig_alg, NULL)) {
90
+ return 0;
91
+ }
94
92
 
95
- char *issuer = X509_NAME_oneline(X509_CRL_get_issuer(x), NULL, 0);
96
- int ok = issuer != NULL &&
97
- BIO_printf(out, "%8sIssuer: %s\n", "", issuer) > 0;
98
- OPENSSL_free(issuer);
99
- if (!ok) {
100
- return 0;
101
- }
93
+ char *issuer = X509_NAME_oneline(X509_CRL_get_issuer(x), NULL, 0);
94
+ int ok = issuer != NULL && BIO_printf(out, "%8sIssuer: %s\n", "", issuer) > 0;
95
+ OPENSSL_free(issuer);
96
+ if (!ok) {
97
+ return 0;
98
+ }
102
99
 
103
- if (BIO_printf(out, "%8sLast Update: ", "") <= 0 ||
104
- !ASN1_TIME_print(out, X509_CRL_get0_lastUpdate(x)) ||
105
- BIO_printf(out, "\n%8sNext Update: ", "") <= 0) {
106
- return 0;
100
+ if (BIO_printf(out, "%8sLast Update: ", "") <= 0 ||
101
+ !ASN1_TIME_print(out, X509_CRL_get0_lastUpdate(x)) ||
102
+ BIO_printf(out, "\n%8sNext Update: ", "") <= 0) {
103
+ return 0;
104
+ }
105
+ if (X509_CRL_get0_nextUpdate(x)) {
106
+ if (!ASN1_TIME_print(out, X509_CRL_get0_nextUpdate(x))) {
107
+ return 0;
107
108
  }
108
- if (X509_CRL_get0_nextUpdate(x)) {
109
- if (!ASN1_TIME_print(out, X509_CRL_get0_nextUpdate(x))) {
110
- return 0;
111
- }
112
- } else {
113
- if (BIO_printf(out, "NONE") <= 0) {
114
- return 0;
115
- }
109
+ } else {
110
+ if (BIO_printf(out, "NONE") <= 0) {
111
+ return 0;
116
112
  }
113
+ }
117
114
 
118
- if (BIO_printf(out, "\n") <= 0 ||
119
- !X509V3_extensions_print(out, "CRL extensions",
120
- X509_CRL_get0_extensions(x), 0, 8)) {
121
- return 0;
122
- }
115
+ if (BIO_printf(out, "\n") <= 0 ||
116
+ !X509V3_extensions_print(out, "CRL extensions",
117
+ X509_CRL_get0_extensions(x), 0, 8)) {
118
+ return 0;
119
+ }
123
120
 
124
- const STACK_OF(X509_REVOKED) *rev = X509_CRL_get_REVOKED(x);
125
- if (sk_X509_REVOKED_num(rev) > 0) {
126
- if (BIO_printf(out, "Revoked Certificates:\n") <= 0) {
127
- return 0;
128
- }
129
- } else {
130
- if (BIO_printf(out, "No Revoked Certificates.\n") <= 0) {
131
- return 0;
132
- }
121
+ const STACK_OF(X509_REVOKED) *rev = X509_CRL_get_REVOKED(x);
122
+ if (sk_X509_REVOKED_num(rev) > 0) {
123
+ if (BIO_printf(out, "Revoked Certificates:\n") <= 0) {
124
+ return 0;
125
+ }
126
+ } else {
127
+ if (BIO_printf(out, "No Revoked Certificates.\n") <= 0) {
128
+ return 0;
133
129
  }
130
+ }
134
131
 
135
- for (size_t i = 0; i < sk_X509_REVOKED_num(rev); i++) {
136
- const X509_REVOKED *r = sk_X509_REVOKED_value(rev, i);
137
- if (BIO_printf(out, " Serial Number: ") <= 0 ||
138
- i2a_ASN1_INTEGER(out, X509_REVOKED_get0_serialNumber(r)) <= 0 ||
139
- BIO_printf(out, "\n Revocation Date: ") <= 0 ||
140
- !ASN1_TIME_print(out, X509_REVOKED_get0_revocationDate(r)) ||
141
- BIO_printf(out, "\n") <= 0 ||
142
- !X509V3_extensions_print(out, "CRL entry extensions",
143
- X509_REVOKED_get0_extensions(r), 0, 8)) {
144
- }
132
+ for (size_t i = 0; i < sk_X509_REVOKED_num(rev); i++) {
133
+ const X509_REVOKED *r = sk_X509_REVOKED_value(rev, i);
134
+ if (BIO_printf(out, " Serial Number: ") <= 0 ||
135
+ i2a_ASN1_INTEGER(out, X509_REVOKED_get0_serialNumber(r)) <= 0 ||
136
+ BIO_printf(out, "\n Revocation Date: ") <= 0 ||
137
+ !ASN1_TIME_print(out, X509_REVOKED_get0_revocationDate(r)) ||
138
+ BIO_printf(out, "\n") <= 0 ||
139
+ !X509V3_extensions_print(out, "CRL entry extensions",
140
+ X509_REVOKED_get0_extensions(r), 0, 8)) {
145
141
  }
142
+ }
146
143
 
147
- return X509_signature_print(out, sig_alg, signature);
144
+ return X509_signature_print(out, sig_alg, signature);
148
145
  }