@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
@@ -57,8 +57,8 @@
57
57
 
58
58
  #include <stdio.h>
59
59
 
60
- #include <openssl/obj.h>
61
60
  #include <openssl/mem.h>
61
+ #include <openssl/obj.h>
62
62
  #include <openssl/x509v3.h>
63
63
 
64
64
  #include "internal.h"
@@ -73,33 +73,40 @@ static const ENUMERATED_NAMES crl_reasons[] = {
73
73
  {CRL_REASON_AFFILIATION_CHANGED, "Affiliation Changed",
74
74
  "affiliationChanged"},
75
75
  {CRL_REASON_SUPERSEDED, "Superseded", "superseded"},
76
- {CRL_REASON_CESSATION_OF_OPERATION,
77
- "Cessation Of Operation", "cessationOfOperation"},
76
+ {CRL_REASON_CESSATION_OF_OPERATION, "Cessation Of Operation",
77
+ "cessationOfOperation"},
78
78
  {CRL_REASON_CERTIFICATE_HOLD, "Certificate Hold", "certificateHold"},
79
79
  {CRL_REASON_REMOVE_FROM_CRL, "Remove From CRL", "removeFromCRL"},
80
80
  {CRL_REASON_PRIVILEGE_WITHDRAWN, "Privilege Withdrawn",
81
81
  "privilegeWithdrawn"},
82
82
  {CRL_REASON_AA_COMPROMISE, "AA Compromise", "AACompromise"},
83
- {-1, NULL, NULL}
84
- };
83
+ {-1, NULL, NULL}};
85
84
 
86
85
  static char *i2s_ASN1_ENUMERATED_TABLE(const X509V3_EXT_METHOD *method,
87
- void *ext)
88
- {
89
- const ASN1_ENUMERATED *e = ext;
90
- long strval = ASN1_ENUMERATED_get(e);
91
- for (const ENUMERATED_NAMES *enam = method->usr_data; enam->lname; enam++) {
92
- if (strval == enam->bitnum)
93
- return OPENSSL_strdup(enam->lname);
86
+ void *ext) {
87
+ const ASN1_ENUMERATED *e = ext;
88
+ long strval = ASN1_ENUMERATED_get(e);
89
+ for (const ENUMERATED_NAMES *enam = method->usr_data; enam->lname; enam++) {
90
+ if (strval == enam->bitnum) {
91
+ return OPENSSL_strdup(enam->lname);
94
92
  }
95
- return i2s_ASN1_ENUMERATED(method, e);
93
+ }
94
+ return i2s_ASN1_ENUMERATED(method, e);
96
95
  }
97
96
 
98
97
  const X509V3_EXT_METHOD v3_crl_reason = {
99
- NID_crl_reason, 0, ASN1_ITEM_ref(ASN1_ENUMERATED),
100
- 0, 0, 0, 0,
98
+ NID_crl_reason,
99
+ 0,
100
+ ASN1_ITEM_ref(ASN1_ENUMERATED),
101
+ 0,
102
+ 0,
103
+ 0,
104
+ 0,
101
105
  i2s_ASN1_ENUMERATED_TABLE,
102
106
  0,
103
- 0, 0, 0, 0,
107
+ 0,
108
+ 0,
109
+ 0,
110
+ 0,
104
111
  (void *)crl_reasons,
105
112
  };
@@ -66,83 +66,92 @@
66
66
  static void *v2i_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method,
67
67
  X509V3_CTX *ctx,
68
68
  STACK_OF(CONF_VALUE) *nval);
69
- static STACK_OF(CONF_VALUE) *i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD
70
- *method, void *eku, STACK_OF(CONF_VALUE)
71
- *extlist);
69
+ static STACK_OF(CONF_VALUE) *i2v_EXTENDED_KEY_USAGE(
70
+ const X509V3_EXT_METHOD *method, void *eku, STACK_OF(CONF_VALUE) *extlist);
72
71
 
73
72
  const X509V3_EXT_METHOD v3_ext_ku = {
74
- NID_ext_key_usage, 0,
73
+ NID_ext_key_usage,
74
+ 0,
75
75
  ASN1_ITEM_ref(EXTENDED_KEY_USAGE),
76
- 0, 0, 0, 0,
77
- 0, 0,
76
+ 0,
77
+ 0,
78
+ 0,
79
+ 0,
80
+ 0,
81
+ 0,
78
82
  i2v_EXTENDED_KEY_USAGE,
79
83
  v2i_EXTENDED_KEY_USAGE,
80
- 0, 0,
84
+ 0,
85
+ 0,
81
86
  NULL,
82
87
  };
83
88
 
84
- /* NB OCSP acceptable responses also is a SEQUENCE OF OBJECT */
89
+ // NB OCSP acceptable responses also is a SEQUENCE OF OBJECT
85
90
  const X509V3_EXT_METHOD v3_ocsp_accresp = {
86
- NID_id_pkix_OCSP_acceptableResponses, 0,
91
+ NID_id_pkix_OCSP_acceptableResponses,
92
+ 0,
87
93
  ASN1_ITEM_ref(EXTENDED_KEY_USAGE),
88
- 0, 0, 0, 0,
89
- 0, 0,
94
+ 0,
95
+ 0,
96
+ 0,
97
+ 0,
98
+ 0,
99
+ 0,
90
100
  i2v_EXTENDED_KEY_USAGE,
91
101
  v2i_EXTENDED_KEY_USAGE,
92
- 0, 0,
102
+ 0,
103
+ 0,
93
104
  NULL,
94
105
  };
95
106
 
96
- ASN1_ITEM_TEMPLATE(EXTENDED_KEY_USAGE) =
97
- ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, EXTENDED_KEY_USAGE, ASN1_OBJECT)
107
+ ASN1_ITEM_TEMPLATE(EXTENDED_KEY_USAGE) = ASN1_EX_TEMPLATE_TYPE(
108
+ ASN1_TFLG_SEQUENCE_OF, 0, EXTENDED_KEY_USAGE, ASN1_OBJECT)
98
109
  ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE)
99
110
 
100
111
  IMPLEMENT_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE)
101
112
 
102
- static STACK_OF(CONF_VALUE) *i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD
103
- *method, void *a, STACK_OF(CONF_VALUE)
104
- *ext_list)
105
- {
106
- EXTENDED_KEY_USAGE *eku = a;
107
- size_t i;
108
- ASN1_OBJECT *obj;
109
- char obj_tmp[80];
110
- for (i = 0; i < sk_ASN1_OBJECT_num(eku); i++) {
111
- obj = sk_ASN1_OBJECT_value(eku, i);
112
- i2t_ASN1_OBJECT(obj_tmp, 80, obj);
113
- X509V3_add_value(NULL, obj_tmp, &ext_list);
114
- }
115
- return ext_list;
113
+ static STACK_OF(CONF_VALUE) *i2v_EXTENDED_KEY_USAGE(
114
+ const X509V3_EXT_METHOD *method, void *a, STACK_OF(CONF_VALUE) *ext_list) {
115
+ EXTENDED_KEY_USAGE *eku = a;
116
+ size_t i;
117
+ ASN1_OBJECT *obj;
118
+ char obj_tmp[80];
119
+ for (i = 0; i < sk_ASN1_OBJECT_num(eku); i++) {
120
+ obj = sk_ASN1_OBJECT_value(eku, i);
121
+ i2t_ASN1_OBJECT(obj_tmp, 80, obj);
122
+ X509V3_add_value(NULL, obj_tmp, &ext_list);
123
+ }
124
+ return ext_list;
116
125
  }
117
126
 
118
127
  static void *v2i_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method,
119
128
  X509V3_CTX *ctx,
120
- STACK_OF(CONF_VALUE) *nval)
121
- {
122
- EXTENDED_KEY_USAGE *extku;
123
- char *extval;
124
- ASN1_OBJECT *objtmp;
125
- CONF_VALUE *val;
126
- size_t i;
129
+ STACK_OF(CONF_VALUE) *nval) {
130
+ EXTENDED_KEY_USAGE *extku;
131
+ char *extval;
132
+ ASN1_OBJECT *objtmp;
133
+ CONF_VALUE *val;
134
+ size_t i;
127
135
 
128
- if (!(extku = sk_ASN1_OBJECT_new_null())) {
129
- OPENSSL_PUT_ERROR(X509V3, ERR_R_MALLOC_FAILURE);
130
- return NULL;
131
- }
136
+ if (!(extku = sk_ASN1_OBJECT_new_null())) {
137
+ OPENSSL_PUT_ERROR(X509V3, ERR_R_MALLOC_FAILURE);
138
+ return NULL;
139
+ }
132
140
 
133
- for (i = 0; i < sk_CONF_VALUE_num(nval); i++) {
134
- val = sk_CONF_VALUE_value(nval, i);
135
- if (val->value)
136
- extval = val->value;
137
- else
138
- extval = val->name;
139
- if (!(objtmp = OBJ_txt2obj(extval, 0))) {
140
- sk_ASN1_OBJECT_pop_free(extku, ASN1_OBJECT_free);
141
- OPENSSL_PUT_ERROR(X509V3, X509V3_R_INVALID_OBJECT_IDENTIFIER);
142
- X509V3_conf_err(val);
143
- return NULL;
144
- }
145
- sk_ASN1_OBJECT_push(extku, objtmp);
141
+ for (i = 0; i < sk_CONF_VALUE_num(nval); i++) {
142
+ val = sk_CONF_VALUE_value(nval, i);
143
+ if (val->value) {
144
+ extval = val->value;
145
+ } else {
146
+ extval = val->name;
147
+ }
148
+ if (!(objtmp = OBJ_txt2obj(extval, 0))) {
149
+ sk_ASN1_OBJECT_pop_free(extku, ASN1_OBJECT_free);
150
+ OPENSSL_PUT_ERROR(X509V3, X509V3_R_INVALID_OBJECT_IDENTIFIER);
151
+ X509V3_conf_err(val);
152
+ return NULL;
146
153
  }
147
- return extku;
154
+ sk_ASN1_OBJECT_push(extku, objtmp);
155
+ }
156
+ return extku;
148
157
  }
@@ -64,203 +64,206 @@
64
64
 
65
65
 
66
66
  ASN1_SEQUENCE(OTHERNAME) = {
67
- ASN1_SIMPLE(OTHERNAME, type_id, ASN1_OBJECT),
68
- /* Maybe have a true ANY DEFINED BY later */
69
- ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0),
67
+ ASN1_SIMPLE(OTHERNAME, type_id, ASN1_OBJECT),
68
+ // Maybe have a true ANY DEFINED BY later
69
+ ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0),
70
70
  } ASN1_SEQUENCE_END(OTHERNAME)
71
71
 
72
72
  IMPLEMENT_ASN1_FUNCTIONS(OTHERNAME)
73
73
 
74
74
  ASN1_SEQUENCE(EDIPARTYNAME) = {
75
- /* DirectoryString is a CHOICE type, so use explicit tagging. */
76
- ASN1_EXP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0),
77
- ASN1_EXP(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1),
75
+ // DirectoryString is a CHOICE type, so use explicit tagging.
76
+ ASN1_EXP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0),
77
+ ASN1_EXP(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1),
78
78
  } ASN1_SEQUENCE_END(EDIPARTYNAME)
79
79
 
80
80
  IMPLEMENT_ASN1_FUNCTIONS(EDIPARTYNAME)
81
81
 
82
82
  ASN1_CHOICE(GENERAL_NAME) = {
83
- ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME),
84
- ASN1_IMP(GENERAL_NAME, d.rfc822Name, ASN1_IA5STRING, GEN_EMAIL),
85
- ASN1_IMP(GENERAL_NAME, d.dNSName, ASN1_IA5STRING, GEN_DNS),
86
- /* Don't decode this */
87
- ASN1_IMP(GENERAL_NAME, d.x400Address, ASN1_SEQUENCE, GEN_X400),
88
- /* X509_NAME is a CHOICE type so use EXPLICIT */
89
- ASN1_EXP(GENERAL_NAME, d.directoryName, X509_NAME, GEN_DIRNAME),
90
- ASN1_IMP(GENERAL_NAME, d.ediPartyName, EDIPARTYNAME, GEN_EDIPARTY),
91
- ASN1_IMP(GENERAL_NAME, d.uniformResourceIdentifier, ASN1_IA5STRING, GEN_URI),
92
- ASN1_IMP(GENERAL_NAME, d.iPAddress, ASN1_OCTET_STRING, GEN_IPADD),
93
- ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID),
83
+ ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME),
84
+ ASN1_IMP(GENERAL_NAME, d.rfc822Name, ASN1_IA5STRING, GEN_EMAIL),
85
+ ASN1_IMP(GENERAL_NAME, d.dNSName, ASN1_IA5STRING, GEN_DNS),
86
+ // Don't decode this
87
+ ASN1_IMP(GENERAL_NAME, d.x400Address, ASN1_SEQUENCE, GEN_X400),
88
+ // X509_NAME is a CHOICE type so use EXPLICIT
89
+ ASN1_EXP(GENERAL_NAME, d.directoryName, X509_NAME, GEN_DIRNAME),
90
+ ASN1_IMP(GENERAL_NAME, d.ediPartyName, EDIPARTYNAME, GEN_EDIPARTY),
91
+ ASN1_IMP(GENERAL_NAME, d.uniformResourceIdentifier, ASN1_IA5STRING,
92
+ GEN_URI),
93
+ ASN1_IMP(GENERAL_NAME, d.iPAddress, ASN1_OCTET_STRING, GEN_IPADD),
94
+ ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID),
94
95
  } ASN1_CHOICE_END(GENERAL_NAME)
95
96
 
96
97
  IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAME)
97
98
 
98
- ASN1_ITEM_TEMPLATE(GENERAL_NAMES) =
99
- ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, GENERAL_NAME)
99
+ ASN1_ITEM_TEMPLATE(GENERAL_NAMES) = ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF,
100
+ 0, GeneralNames,
101
+ GENERAL_NAME)
100
102
  ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES)
101
103
 
102
104
  IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAMES)
103
105
 
104
106
  IMPLEMENT_ASN1_DUP_FUNCTION(GENERAL_NAME)
105
107
 
106
- static int edipartyname_cmp(const EDIPARTYNAME *a, const EDIPARTYNAME *b)
107
- {
108
- /* nameAssigner is optional and may be NULL. */
109
- if (a->nameAssigner == NULL) {
110
- if (b->nameAssigner != NULL) {
111
- return -1;
112
- }
113
- } else {
114
- if (b->nameAssigner == NULL ||
115
- ASN1_STRING_cmp(a->nameAssigner, b->nameAssigner) != 0) {
116
- return -1;
117
- }
108
+ static int edipartyname_cmp(const EDIPARTYNAME *a, const EDIPARTYNAME *b) {
109
+ // nameAssigner is optional and may be NULL.
110
+ if (a->nameAssigner == NULL) {
111
+ if (b->nameAssigner != NULL) {
112
+ return -1;
118
113
  }
114
+ } else {
115
+ if (b->nameAssigner == NULL ||
116
+ ASN1_STRING_cmp(a->nameAssigner, b->nameAssigner) != 0) {
117
+ return -1;
118
+ }
119
+ }
119
120
 
120
- /* partyName may not be NULL. */
121
- return ASN1_STRING_cmp(a->partyName, b->partyName);
121
+ // partyName may not be NULL.
122
+ return ASN1_STRING_cmp(a->partyName, b->partyName);
122
123
  }
123
124
 
124
- /* Returns 0 if they are equal, != 0 otherwise. */
125
- int GENERAL_NAME_cmp(const GENERAL_NAME *a, const GENERAL_NAME *b)
126
- {
127
- if (!a || !b || a->type != b->type)
128
- return -1;
125
+ // Returns 0 if they are equal, != 0 otherwise.
126
+ int GENERAL_NAME_cmp(const GENERAL_NAME *a, const GENERAL_NAME *b) {
127
+ if (!a || !b || a->type != b->type) {
128
+ return -1;
129
+ }
129
130
 
130
- switch (a->type) {
131
+ switch (a->type) {
131
132
  case GEN_X400:
132
- return ASN1_TYPE_cmp(a->d.x400Address, b->d.x400Address);
133
+ return ASN1_TYPE_cmp(a->d.x400Address, b->d.x400Address);
133
134
 
134
135
  case GEN_EDIPARTY:
135
- return edipartyname_cmp(a->d.ediPartyName, b->d.ediPartyName);
136
+ return edipartyname_cmp(a->d.ediPartyName, b->d.ediPartyName);
136
137
 
137
138
  case GEN_OTHERNAME:
138
- return OTHERNAME_cmp(a->d.otherName, b->d.otherName);
139
+ return OTHERNAME_cmp(a->d.otherName, b->d.otherName);
139
140
 
140
141
  case GEN_EMAIL:
141
142
  case GEN_DNS:
142
143
  case GEN_URI:
143
- return ASN1_STRING_cmp(a->d.ia5, b->d.ia5);
144
+ return ASN1_STRING_cmp(a->d.ia5, b->d.ia5);
144
145
 
145
146
  case GEN_DIRNAME:
146
- return X509_NAME_cmp(a->d.dirn, b->d.dirn);
147
+ return X509_NAME_cmp(a->d.dirn, b->d.dirn);
147
148
 
148
149
  case GEN_IPADD:
149
- return ASN1_OCTET_STRING_cmp(a->d.ip, b->d.ip);
150
+ return ASN1_OCTET_STRING_cmp(a->d.ip, b->d.ip);
150
151
 
151
152
  case GEN_RID:
152
- return OBJ_cmp(a->d.rid, b->d.rid);
153
- }
153
+ return OBJ_cmp(a->d.rid, b->d.rid);
154
+ }
154
155
 
155
- return -1;
156
+ return -1;
156
157
  }
157
158
 
158
- /* Returns 0 if they are equal, != 0 otherwise. */
159
- int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b)
160
- {
161
- int result = -1;
162
-
163
- if (!a || !b)
164
- return -1;
165
- /* Check their type first. */
166
- if ((result = OBJ_cmp(a->type_id, b->type_id)) != 0)
167
- return result;
168
- /* Check the value. */
169
- result = ASN1_TYPE_cmp(a->value, b->value);
159
+ // Returns 0 if they are equal, != 0 otherwise.
160
+ int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b) {
161
+ int result = -1;
162
+
163
+ if (!a || !b) {
164
+ return -1;
165
+ }
166
+ // Check their type first.
167
+ if ((result = OBJ_cmp(a->type_id, b->type_id)) != 0) {
170
168
  return result;
169
+ }
170
+ // Check the value.
171
+ result = ASN1_TYPE_cmp(a->value, b->value);
172
+ return result;
171
173
  }
172
174
 
173
- void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value)
174
- {
175
- switch (type) {
175
+ void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value) {
176
+ switch (type) {
176
177
  case GEN_X400:
177
- a->d.x400Address = value;
178
- break;
178
+ a->d.x400Address = value;
179
+ break;
179
180
 
180
181
  case GEN_EDIPARTY:
181
- a->d.ediPartyName = value;
182
- break;
182
+ a->d.ediPartyName = value;
183
+ break;
183
184
 
184
185
  case GEN_OTHERNAME:
185
- a->d.otherName = value;
186
- break;
186
+ a->d.otherName = value;
187
+ break;
187
188
 
188
189
  case GEN_EMAIL:
189
190
  case GEN_DNS:
190
191
  case GEN_URI:
191
- a->d.ia5 = value;
192
- break;
192
+ a->d.ia5 = value;
193
+ break;
193
194
 
194
195
  case GEN_DIRNAME:
195
- a->d.dirn = value;
196
- break;
196
+ a->d.dirn = value;
197
+ break;
197
198
 
198
199
  case GEN_IPADD:
199
- a->d.ip = value;
200
- break;
200
+ a->d.ip = value;
201
+ break;
201
202
 
202
203
  case GEN_RID:
203
- a->d.rid = value;
204
- break;
205
- }
206
- a->type = type;
204
+ a->d.rid = value;
205
+ break;
206
+ }
207
+ a->type = type;
207
208
  }
208
209
 
209
- void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype)
210
- {
211
- if (ptype)
212
- *ptype = a->type;
213
- switch (a->type) {
210
+ void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype) {
211
+ if (ptype) {
212
+ *ptype = a->type;
213
+ }
214
+ switch (a->type) {
214
215
  case GEN_X400:
215
- return a->d.x400Address;
216
+ return a->d.x400Address;
216
217
 
217
218
  case GEN_EDIPARTY:
218
- return a->d.ediPartyName;
219
+ return a->d.ediPartyName;
219
220
 
220
221
  case GEN_OTHERNAME:
221
- return a->d.otherName;
222
+ return a->d.otherName;
222
223
 
223
224
  case GEN_EMAIL:
224
225
  case GEN_DNS:
225
226
  case GEN_URI:
226
- return a->d.ia5;
227
+ return a->d.ia5;
227
228
 
228
229
  case GEN_DIRNAME:
229
- return a->d.dirn;
230
+ return a->d.dirn;
230
231
 
231
232
  case GEN_IPADD:
232
- return a->d.ip;
233
+ return a->d.ip;
233
234
 
234
235
  case GEN_RID:
235
- return a->d.rid;
236
+ return a->d.rid;
236
237
 
237
238
  default:
238
- return NULL;
239
- }
239
+ return NULL;
240
+ }
240
241
  }
241
242
 
242
- int GENERAL_NAME_set0_othername(GENERAL_NAME *gen,
243
- ASN1_OBJECT *oid, ASN1_TYPE *value)
244
- {
245
- OTHERNAME *oth;
246
- oth = OTHERNAME_new();
247
- if (!oth)
248
- return 0;
249
- ASN1_TYPE_free(oth->value);
250
- oth->type_id = oid;
251
- oth->value = value;
252
- GENERAL_NAME_set0_value(gen, GEN_OTHERNAME, oth);
253
- return 1;
243
+ int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, ASN1_OBJECT *oid,
244
+ ASN1_TYPE *value) {
245
+ OTHERNAME *oth;
246
+ oth = OTHERNAME_new();
247
+ if (!oth) {
248
+ return 0;
249
+ }
250
+ ASN1_TYPE_free(oth->value);
251
+ oth->type_id = oid;
252
+ oth->value = value;
253
+ GENERAL_NAME_set0_value(gen, GEN_OTHERNAME, oth);
254
+ return 1;
254
255
  }
255
256
 
256
- int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen,
257
- ASN1_OBJECT **poid, ASN1_TYPE **pvalue)
258
- {
259
- if (gen->type != GEN_OTHERNAME)
260
- return 0;
261
- if (poid)
262
- *poid = gen->d.otherName->type_id;
263
- if (pvalue)
264
- *pvalue = gen->d.otherName->value;
265
- return 1;
257
+ int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen, ASN1_OBJECT **poid,
258
+ ASN1_TYPE **pvalue) {
259
+ if (gen->type != GEN_OTHERNAME) {
260
+ return 0;
261
+ }
262
+ if (poid) {
263
+ *poid = gen->d.otherName->type_id;
264
+ }
265
+ if (pvalue) {
266
+ *pvalue = gen->d.otherName->value;
267
+ }
268
+ return 1;
266
269
  }
@@ -70,39 +70,39 @@
70
70
  #include "../internal.h"
71
71
 
72
72
 
73
- static char *i2s_ASN1_IA5STRING(const X509V3_EXT_METHOD *method, void *ext)
74
- {
75
- const ASN1_IA5STRING *ia5 = ext;
76
- char *tmp;
77
- if (!ia5 || !ia5->length)
78
- return NULL;
79
- if (!(tmp = OPENSSL_malloc(ia5->length + 1))) {
80
- OPENSSL_PUT_ERROR(X509V3, ERR_R_MALLOC_FAILURE);
81
- return NULL;
82
- }
83
- OPENSSL_memcpy(tmp, ia5->data, ia5->length);
84
- tmp[ia5->length] = 0;
85
- return tmp;
73
+ static char *i2s_ASN1_IA5STRING(const X509V3_EXT_METHOD *method, void *ext) {
74
+ const ASN1_IA5STRING *ia5 = ext;
75
+ char *tmp;
76
+ if (!ia5 || !ia5->length) {
77
+ return NULL;
78
+ }
79
+ if (!(tmp = OPENSSL_malloc(ia5->length + 1))) {
80
+ OPENSSL_PUT_ERROR(X509V3, ERR_R_MALLOC_FAILURE);
81
+ return NULL;
82
+ }
83
+ OPENSSL_memcpy(tmp, ia5->data, ia5->length);
84
+ tmp[ia5->length] = 0;
85
+ return tmp;
86
86
  }
87
87
 
88
88
  static void *s2i_ASN1_IA5STRING(const X509V3_EXT_METHOD *method,
89
- X509V3_CTX *ctx, const char *str)
90
- {
91
- ASN1_IA5STRING *ia5;
92
- if (!str) {
93
- OPENSSL_PUT_ERROR(X509V3, X509V3_R_INVALID_NULL_ARGUMENT);
94
- return NULL;
95
- }
96
- if (!(ia5 = ASN1_IA5STRING_new()))
97
- goto err;
98
- if (!ASN1_STRING_set(ia5, str, strlen(str))) {
99
- ASN1_IA5STRING_free(ia5);
100
- goto err;
101
- }
102
- return ia5;
103
- err:
104
- OPENSSL_PUT_ERROR(X509V3, ERR_R_MALLOC_FAILURE);
89
+ X509V3_CTX *ctx, const char *str) {
90
+ ASN1_IA5STRING *ia5;
91
+ if (!str) {
92
+ OPENSSL_PUT_ERROR(X509V3, X509V3_R_INVALID_NULL_ARGUMENT);
105
93
  return NULL;
94
+ }
95
+ if (!(ia5 = ASN1_IA5STRING_new())) {
96
+ goto err;
97
+ }
98
+ if (!ASN1_STRING_set(ia5, str, strlen(str))) {
99
+ ASN1_IA5STRING_free(ia5);
100
+ goto err;
101
+ }
102
+ return ia5;
103
+ err:
104
+ OPENSSL_PUT_ERROR(X509V3, ERR_R_MALLOC_FAILURE);
105
+ return NULL;
106
106
  }
107
107
 
108
108
  #define EXT_IA5STRING(nid) \
@@ -122,5 +122,4 @@ const X509V3_EXT_METHOD v3_ns_ia5_list[] = {
122
122
  EXT_IA5STRING(NID_netscape_ca_policy_url),
123
123
  EXT_IA5STRING(NID_netscape_ssl_server_name),
124
124
  EXT_IA5STRING(NID_netscape_comment),
125
- EXT_END
126
- };
125
+ EXT_END};