grpc 1.37.1 → 1.38.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (544) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +64 -58
  3. data/include/grpc/event_engine/README.md +38 -0
  4. data/include/grpc/event_engine/channel_args.h +28 -0
  5. data/include/grpc/event_engine/event_engine.h +336 -0
  6. data/include/grpc/event_engine/port.h +39 -0
  7. data/include/grpc/event_engine/slice_allocator.h +81 -0
  8. data/include/grpc/grpc.h +2 -2
  9. data/include/grpc/grpc_security_constants.h +14 -0
  10. data/include/grpc/impl/codegen/grpc_types.h +11 -0
  11. data/include/grpc/impl/codegen/port_platform.h +5 -0
  12. data/include/grpc/module.modulemap +14 -14
  13. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
  14. data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
  15. data/src/core/ext/filters/client_channel/client_channel.cc +628 -3101
  16. data/src/core/ext/filters/client_channel/client_channel.h +489 -55
  17. data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
  18. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
  19. data/src/core/ext/filters/client_channel/config_selector.h +1 -1
  20. data/src/core/ext/filters/client_channel/connector.h +1 -1
  21. data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
  22. data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
  23. data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
  24. data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
  25. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
  26. data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
  27. data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
  32. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
  33. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
  34. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
  35. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +36 -30
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
  39. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +84 -61
  41. data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
  42. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
  43. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
  44. data/src/core/ext/filters/client_channel/resolver.h +2 -2
  45. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
  46. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
  47. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
  48. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
  49. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +14 -14
  50. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
  51. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
  52. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  53. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  54. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -9
  55. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
  56. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
  57. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -11
  58. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  59. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +43 -28
  60. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
  61. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
  62. data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
  63. data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
  64. data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
  65. data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
  66. data/src/core/ext/filters/client_channel/server_address.cc +1 -1
  67. data/src/core/ext/filters/client_channel/service_config.cc +15 -14
  68. data/src/core/ext/filters/client_channel/service_config.h +7 -6
  69. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
  70. data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
  71. data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
  72. data/src/core/ext/filters/client_channel/subchannel.cc +17 -16
  73. data/src/core/ext/filters/client_channel/subchannel.h +7 -6
  74. data/src/core/ext/filters/client_idle/client_idle_filter.cc +16 -15
  75. data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
  76. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -18
  77. data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
  78. data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
  79. data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
  80. data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
  81. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
  82. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
  83. data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
  84. data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
  85. data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
  86. data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
  87. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -3
  88. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
  89. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  90. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -2
  91. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
  92. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -3
  93. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
  94. data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
  95. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
  96. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -2
  97. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
  98. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -116
  99. data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
  100. data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
  101. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  102. data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
  103. data/src/core/ext/transport/chttp2/transport/frame_data.cc +8 -8
  104. data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
  105. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
  106. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
  107. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
  108. data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
  109. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
  110. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
  111. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
  112. data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
  113. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
  114. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
  115. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
  116. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
  117. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
  118. data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
  119. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
  120. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
  121. data/src/core/ext/transport/chttp2/transport/internal.h +31 -27
  122. data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
  123. data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
  124. data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
  125. data/src/core/ext/xds/certificate_provider_factory.h +1 -1
  126. data/src/core/ext/xds/certificate_provider_store.h +3 -3
  127. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
  128. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  129. data/src/core/ext/xds/xds_api.cc +101 -93
  130. data/src/core/ext/xds/xds_api.h +6 -6
  131. data/src/core/ext/xds/xds_bootstrap.cc +97 -159
  132. data/src/core/ext/xds/xds_bootstrap.h +19 -24
  133. data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
  134. data/src/core/ext/xds/xds_certificate_provider.h +4 -4
  135. data/src/core/ext/xds/xds_channel_args.h +5 -2
  136. data/src/core/ext/xds/xds_client.cc +310 -178
  137. data/src/core/ext/xds/xds_client.h +41 -27
  138. data/src/core/ext/xds/xds_client_stats.h +3 -2
  139. data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
  140. data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
  141. data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
  142. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +3 -20
  143. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +6 -11
  144. data/src/core/lib/channel/channel_stack.cc +10 -9
  145. data/src/core/lib/channel/channel_stack.h +10 -9
  146. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  147. data/src/core/lib/channel/channel_stack_builder.h +1 -1
  148. data/src/core/lib/channel/channelz.cc +21 -13
  149. data/src/core/lib/channel/connected_channel.cc +4 -4
  150. data/src/core/lib/channel/handshaker.cc +7 -6
  151. data/src/core/lib/channel/handshaker.h +5 -5
  152. data/src/core/lib/event_engine/slice_allocator.cc +59 -0
  153. data/src/core/lib/event_engine/sockaddr.cc +38 -0
  154. data/src/core/lib/gprpp/ref_counted.h +28 -14
  155. data/src/core/lib/gprpp/status_helper.cc +407 -0
  156. data/src/core/lib/gprpp/status_helper.h +180 -0
  157. data/src/core/lib/http/httpcli.cc +11 -11
  158. data/src/core/lib/http/httpcli_security_connector.cc +11 -7
  159. data/src/core/lib/http/parser.cc +16 -16
  160. data/src/core/lib/http/parser.h +4 -4
  161. data/src/core/lib/iomgr/buffer_list.cc +7 -9
  162. data/src/core/lib/iomgr/buffer_list.h +4 -5
  163. data/src/core/lib/iomgr/call_combiner.cc +15 -12
  164. data/src/core/lib/iomgr/call_combiner.h +12 -14
  165. data/src/core/lib/iomgr/cfstream_handle.cc +3 -3
  166. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  167. data/src/core/lib/iomgr/closure.h +7 -6
  168. data/src/core/lib/iomgr/combiner.cc +14 -12
  169. data/src/core/lib/iomgr/combiner.h +2 -2
  170. data/src/core/lib/iomgr/endpoint.cc +1 -1
  171. data/src/core/lib/iomgr/endpoint.h +2 -2
  172. data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
  173. data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
  174. data/src/core/lib/iomgr/error.cc +167 -61
  175. data/src/core/lib/iomgr/error.h +217 -106
  176. data/src/core/lib/iomgr/error_cfstream.cc +3 -2
  177. data/src/core/lib/iomgr/error_cfstream.h +2 -2
  178. data/src/core/lib/iomgr/error_internal.h +5 -1
  179. data/src/core/lib/iomgr/ev_apple.cc +5 -5
  180. data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
  181. data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
  182. data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
  183. data/src/core/lib/iomgr/ev_posix.cc +9 -8
  184. data/src/core/lib/iomgr/ev_posix.h +9 -9
  185. data/src/core/lib/iomgr/exec_ctx.cc +4 -4
  186. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  187. data/src/core/lib/iomgr/executor.cc +8 -8
  188. data/src/core/lib/iomgr/executor.h +2 -2
  189. data/src/core/lib/iomgr/iomgr.cc +1 -1
  190. data/src/core/lib/iomgr/iomgr.h +1 -1
  191. data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
  192. data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
  193. data/src/core/lib/iomgr/iomgr_internal.h +3 -3
  194. data/src/core/lib/iomgr/iomgr_posix.cc +1 -1
  195. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
  196. data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
  197. data/src/core/lib/iomgr/load_file.cc +4 -4
  198. data/src/core/lib/iomgr/load_file.h +2 -2
  199. data/src/core/lib/iomgr/lockfree_event.cc +5 -5
  200. data/src/core/lib/iomgr/lockfree_event.h +1 -1
  201. data/src/core/lib/iomgr/pollset.cc +5 -5
  202. data/src/core/lib/iomgr/pollset.h +9 -9
  203. data/src/core/lib/iomgr/pollset_custom.cc +5 -5
  204. data/src/core/lib/iomgr/pollset_windows.cc +5 -5
  205. data/src/core/lib/iomgr/port.h +1 -1
  206. data/src/core/lib/iomgr/python_util.h +1 -1
  207. data/src/core/lib/iomgr/resolve_address.cc +3 -3
  208. data/src/core/lib/iomgr/resolve_address.h +6 -6
  209. data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
  210. data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
  211. data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
  212. data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
  213. data/src/core/lib/iomgr/resource_quota.cc +11 -10
  214. data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -20
  215. data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
  216. data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
  217. data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
  218. data/src/core/lib/iomgr/tcp_client_posix.cc +15 -17
  219. data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
  220. data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
  221. data/src/core/lib/iomgr/tcp_custom.cc +14 -16
  222. data/src/core/lib/iomgr/tcp_custom.h +13 -12
  223. data/src/core/lib/iomgr/tcp_posix.cc +36 -34
  224. data/src/core/lib/iomgr/tcp_server.cc +6 -6
  225. data/src/core/lib/iomgr/tcp_server.h +12 -11
  226. data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
  227. data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
  228. data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
  229. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
  230. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
  231. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
  232. data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
  233. data/src/core/lib/iomgr/tcp_uv.cc +25 -23
  234. data/src/core/lib/iomgr/tcp_windows.cc +13 -13
  235. data/src/core/lib/iomgr/tcp_windows.h +2 -2
  236. data/src/core/lib/iomgr/timer_custom.cc +2 -1
  237. data/src/core/lib/iomgr/timer_custom.h +1 -1
  238. data/src/core/lib/iomgr/timer_generic.cc +6 -6
  239. data/src/core/lib/iomgr/udp_server.cc +21 -20
  240. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
  241. data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
  242. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
  243. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
  244. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
  245. data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
  246. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
  247. data/src/core/lib/iomgr/work_serializer.h +17 -1
  248. data/src/core/lib/json/json.h +1 -1
  249. data/src/core/lib/json/json_reader.cc +4 -4
  250. data/src/core/lib/matchers/matchers.cc +39 -39
  251. data/src/core/lib/matchers/matchers.h +28 -28
  252. data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
  253. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
  254. data/src/core/lib/security/credentials/credentials.h +2 -2
  255. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
  256. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
  257. data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
  258. data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
  259. data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
  260. data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
  261. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
  262. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
  263. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
  264. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
  265. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
  266. data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
  267. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
  268. data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
  269. data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
  270. data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
  271. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
  272. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
  273. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
  274. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
  275. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
  276. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
  277. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
  278. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
  279. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
  280. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
  281. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
  282. data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
  283. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
  284. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
  285. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
  286. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
  287. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
  288. data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
  289. data/src/core/lib/security/security_connector/security_connector.h +9 -4
  290. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
  291. data/src/core/lib/security/security_connector/ssl_utils.cc +22 -4
  292. data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
  293. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
  294. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
  295. data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
  296. data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
  297. data/src/core/lib/security/transport/security_handshaker.cc +33 -32
  298. data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
  299. data/src/core/lib/security/transport/tsi_error.cc +2 -1
  300. data/src/core/lib/security/transport/tsi_error.h +2 -1
  301. data/src/core/lib/security/util/json_util.cc +2 -2
  302. data/src/core/lib/security/util/json_util.h +1 -1
  303. data/src/core/lib/surface/call.cc +46 -45
  304. data/src/core/lib/surface/call.h +2 -2
  305. data/src/core/lib/surface/channel.cc +6 -6
  306. data/src/core/lib/surface/channel.h +3 -2
  307. data/src/core/lib/surface/channel_ping.cc +1 -1
  308. data/src/core/lib/surface/completion_queue.cc +46 -47
  309. data/src/core/lib/surface/completion_queue.h +2 -1
  310. data/src/core/lib/surface/lame_client.cc +11 -11
  311. data/src/core/lib/surface/lame_client.h +1 -1
  312. data/src/core/lib/surface/server.cc +28 -22
  313. data/src/core/lib/surface/server.h +16 -15
  314. data/src/core/lib/surface/validate_metadata.cc +7 -7
  315. data/src/core/lib/surface/validate_metadata.h +3 -2
  316. data/src/core/lib/surface/version.cc +4 -2
  317. data/src/core/lib/transport/byte_stream.cc +5 -5
  318. data/src/core/lib/transport/byte_stream.h +8 -8
  319. data/src/core/lib/transport/connectivity_state.cc +1 -1
  320. data/src/core/lib/transport/error_utils.cc +19 -8
  321. data/src/core/lib/transport/error_utils.h +11 -5
  322. data/src/core/lib/transport/metadata_batch.cc +37 -37
  323. data/src/core/lib/transport/metadata_batch.h +19 -18
  324. data/src/core/lib/transport/transport.cc +4 -3
  325. data/src/core/lib/transport/transport.h +4 -4
  326. data/src/core/lib/transport/transport_op_string.cc +5 -5
  327. data/src/core/tsi/alts/crypt/gsec.h +4 -0
  328. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
  329. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
  330. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
  331. data/src/core/tsi/ssl_transport_security.cc +32 -14
  332. data/src/core/tsi/ssl_transport_security.h +3 -4
  333. data/src/ruby/bin/math_services_pb.rb +1 -1
  334. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  335. data/src/ruby/lib/grpc/version.rb +1 -1
  336. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
  337. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
  338. data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
  339. data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
  340. data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
  341. data/third_party/abseil-cpp/absl/base/config.h +37 -9
  342. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
  343. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
  344. data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
  345. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
  346. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
  347. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
  348. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
  349. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
  350. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
  351. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
  352. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
  353. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
  354. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
  355. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
  356. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
  357. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
  358. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
  359. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
  360. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
  361. data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
  362. data/third_party/abseil-cpp/absl/base/macros.h +11 -0
  363. data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
  364. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  365. data/third_party/abseil-cpp/absl/base/port.h +0 -1
  366. data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
  367. data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
  368. data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
  369. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
  370. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
  371. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
  372. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
  373. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
  374. data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
  375. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
  376. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
  377. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
  378. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
  379. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
  380. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
  381. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
  382. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
  383. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
  384. data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
  385. data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
  386. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
  387. data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
  388. data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
  389. data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
  390. data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
  391. data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
  392. data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
  393. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  394. data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  395. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
  396. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
  397. data/third_party/abseil-cpp/absl/status/status.cc +29 -22
  398. data/third_party/abseil-cpp/absl/status/status.h +81 -20
  399. data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
  400. data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
  401. data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
  402. data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
  403. data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
  404. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
  405. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
  406. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
  407. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
  408. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
  409. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
  410. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
  411. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
  412. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
  413. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
  414. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
  415. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
  416. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
  417. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
  418. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
  419. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
  420. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
  421. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
  422. data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
  423. data/third_party/abseil-cpp/absl/strings/match.h +16 -6
  424. data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
  425. data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
  426. data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
  427. data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
  428. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
  429. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
  430. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
  431. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
  432. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
  433. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
  434. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
  435. data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
  436. data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
  437. data/third_party/abseil-cpp/absl/time/clock.h +2 -2
  438. data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
  439. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
  440. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
  441. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
  442. data/third_party/abseil-cpp/absl/time/time.cc +4 -3
  443. data/third_party/abseil-cpp/absl/time/time.h +26 -24
  444. data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
  445. data/third_party/abseil-cpp/absl/types/variant.h +9 -4
  446. data/third_party/boringssl-with-bazel/err_data.c +477 -461
  447. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
  448. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
  449. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
  450. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
  451. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
  452. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
  453. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
  454. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
  455. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
  456. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
  457. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
  458. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
  459. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
  460. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
  461. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
  462. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
  463. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
  464. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
  465. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
  466. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
  467. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
  468. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
  469. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
  470. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
  471. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
  472. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
  473. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
  474. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
  475. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
  476. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
  477. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
  478. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
  479. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
  480. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
  481. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
  482. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
  483. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +103 -42
  484. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
  485. data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
  486. data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
  487. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
  488. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
  489. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
  490. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
  491. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
  492. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
  493. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
  494. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
  495. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -2
  496. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
  497. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
  498. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
  499. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
  500. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +7 -25
  501. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
  502. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
  503. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
  504. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
  505. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
  506. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
  507. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
  508. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
  509. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
  510. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
  511. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
  512. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
  513. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
  514. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
  515. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -38
  516. data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
  517. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
  518. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
  519. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
  520. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
  521. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +185 -17
  522. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
  523. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -121
  524. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
  525. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
  526. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
  527. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
  528. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +43 -12
  529. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
  530. data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
  531. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
  532. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
  533. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
  534. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +74 -15
  535. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +98 -64
  536. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
  537. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
  538. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
  539. metadata +68 -45
  540. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
  541. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
  542. data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
  543. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
  544. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
@@ -64,11 +64,11 @@ ABSL_NAMESPACE_END
64
64
  // By changing our extension points to be extern "C", we dodge this
65
65
  // check.
66
66
  extern "C" {
67
- void AbslInternalSleepFor(absl::Duration duration);
67
+ void ABSL_INTERNAL_C_SYMBOL(AbslInternalSleepFor)(absl::Duration duration);
68
68
  } // extern "C"
69
69
 
70
70
  inline void absl::SleepFor(absl::Duration duration) {
71
- AbslInternalSleepFor(duration);
71
+ ABSL_INTERNAL_C_SYMBOL(AbslInternalSleepFor)(duration);
72
72
  }
73
73
 
74
74
  #endif // ABSL_TIME_CLOCK_H_
@@ -356,7 +356,7 @@ namespace time_internal {
356
356
  // the remainder. If it does not saturate, the remainder remain accurate,
357
357
  // but the returned quotient will over/underflow int64_t and should not be used.
358
358
  int64_t IDivDuration(bool satq, const Duration num, const Duration den,
359
- Duration* rem) {
359
+ Duration* rem) {
360
360
  int64_t q = 0;
361
361
  if (IDivFastPath(num, den, &q, rem)) {
362
362
  return q;
@@ -763,7 +763,8 @@ void AppendNumberUnit(std::string* out, double n, DisplayUnit unit) {
763
763
  // form "72h3m0.5s". Leading zero units are omitted. As a special
764
764
  // case, durations less than one second format use a smaller unit
765
765
  // (milli-, micro-, or nanoseconds) to ensure that the leading digit
766
- // is non-zero. The zero duration formats as 0, with no unit.
766
+ // is non-zero.
767
+ // Unlike Go, we format the zero duration as 0, with no unit.
767
768
  std::string FormatDuration(Duration d) {
768
769
  const Duration min_duration = Seconds(kint64min);
769
770
  if (d == min_duration) {
@@ -416,16 +416,10 @@ class civil_time {
416
416
 
417
417
  // Assigning arithmetic.
418
418
  CONSTEXPR_M civil_time& operator+=(diff_t n) noexcept {
419
- f_ = step(T{}, f_, n);
420
- return *this;
419
+ return *this = *this + n;
421
420
  }
422
421
  CONSTEXPR_M civil_time& operator-=(diff_t n) noexcept {
423
- if (n != (std::numeric_limits<diff_t>::min)()) {
424
- f_ = step(T{}, f_, -n);
425
- } else {
426
- f_ = step(T{}, step(T{}, f_, -(n + 1)), 1);
427
- }
428
- return *this;
422
+ return *this = *this - n;
429
423
  }
430
424
  CONSTEXPR_M civil_time& operator++() noexcept { return *this += 1; }
431
425
  CONSTEXPR_M civil_time operator++(int) noexcept {
@@ -442,13 +436,15 @@ class civil_time {
442
436
 
443
437
  // Binary arithmetic operators.
444
438
  friend CONSTEXPR_F civil_time operator+(civil_time a, diff_t n) noexcept {
445
- return a += n;
439
+ return civil_time(step(T{}, a.f_, n));
446
440
  }
447
441
  friend CONSTEXPR_F civil_time operator+(diff_t n, civil_time a) noexcept {
448
- return a += n;
442
+ return a + n;
449
443
  }
450
444
  friend CONSTEXPR_F civil_time operator-(civil_time a, diff_t n) noexcept {
451
- return a -= n;
445
+ return n != (std::numeric_limits<diff_t>::min)()
446
+ ? civil_time(step(T{}, a.f_, -n))
447
+ : civil_time(step(T{}, step(T{}, a.f_, -(n + 1)), 1));
452
448
  }
453
449
  friend CONSTEXPR_F diff_t operator-(civil_time lhs, civil_time rhs) noexcept {
454
450
  return difference(T{}, lhs.f_, rhs.f_);
@@ -27,6 +27,12 @@
27
27
  #include "absl/time/internal/cctz/include/cctz/civil_time.h"
28
28
  #include "absl/time/internal/cctz/include/cctz/time_zone.h"
29
29
 
30
+ #if defined(_AIX)
31
+ extern "C" {
32
+ extern long altzone;
33
+ }
34
+ #endif
35
+
30
36
  namespace absl {
31
37
  ABSL_NAMESPACE_BEGIN
32
38
  namespace time_internal {
@@ -44,7 +50,7 @@ auto tm_zone(const std::tm& tm) -> decltype(_tzname[0]) {
44
50
  const bool is_dst = tm.tm_isdst > 0;
45
51
  return _tzname[is_dst];
46
52
  }
47
- #elif defined(__sun)
53
+ #elif defined(__sun) || defined(_AIX)
48
54
  // Uses the globals: 'timezone', 'altzone' and 'tzname'.
49
55
  auto tm_gmtoff(const std::tm& tm) -> decltype(timezone) {
50
56
  const bool is_dst = tm.tm_isdst > 0;
@@ -108,15 +108,15 @@ struct tzhead {
108
108
  #ifndef TZ_MAX_TYPES
109
109
  /* This must be at least 17 for Europe/Samara and Europe/Vilnius. */
110
110
  #define TZ_MAX_TYPES 256 /* Limited by what (unsigned char)'s can hold */
111
- #endif /* !defined TZ_MAX_TYPES */
111
+ #endif /* !defined TZ_MAX_TYPES */
112
112
 
113
113
  #ifndef TZ_MAX_CHARS
114
114
  #define TZ_MAX_CHARS 50 /* Maximum number of abbreviation characters */
115
- /* (limited by what unsigned chars can hold) */
116
- #endif /* !defined TZ_MAX_CHARS */
115
+ /* (limited by what unsigned chars can hold) */
116
+ #endif /* !defined TZ_MAX_CHARS */
117
117
 
118
118
  #ifndef TZ_MAX_LEAPS
119
119
  #define TZ_MAX_LEAPS 50 /* Maximum number of leap second corrections */
120
- #endif /* !defined TZ_MAX_LEAPS */
120
+ #endif /* !defined TZ_MAX_LEAPS */
121
121
 
122
122
  #endif /* !defined TZFILE_H */
@@ -60,9 +60,10 @@ inline cctz::time_point<cctz::seconds> unix_epoch() {
60
60
  inline int64_t FloorToUnit(absl::Duration d, absl::Duration unit) {
61
61
  absl::Duration rem;
62
62
  int64_t q = absl::IDivDuration(d, unit, &rem);
63
- return (q > 0 ||
64
- rem >= ZeroDuration() ||
65
- q == std::numeric_limits<int64_t>::min()) ? q : q - 1;
63
+ return (q > 0 || rem >= ZeroDuration() ||
64
+ q == std::numeric_limits<int64_t>::min())
65
+ ? q
66
+ : q - 1;
66
67
  }
67
68
 
68
69
  inline absl::Time::Breakdown InfiniteFutureBreakdown() {
@@ -458,12 +458,12 @@ Duration Hours(T n) {
458
458
  //
459
459
  // absl::Duration d = absl::Milliseconds(1500);
460
460
  // int64_t isec = absl::ToInt64Seconds(d); // isec == 1
461
- int64_t ToInt64Nanoseconds(Duration d);
462
- int64_t ToInt64Microseconds(Duration d);
463
- int64_t ToInt64Milliseconds(Duration d);
464
- int64_t ToInt64Seconds(Duration d);
465
- int64_t ToInt64Minutes(Duration d);
466
- int64_t ToInt64Hours(Duration d);
461
+ ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Nanoseconds(Duration d);
462
+ ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Microseconds(Duration d);
463
+ ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Milliseconds(Duration d);
464
+ ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Seconds(Duration d);
465
+ ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Minutes(Duration d);
466
+ ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Hours(Duration d);
467
467
 
468
468
  // ToDoubleNanoSeconds()
469
469
  // ToDoubleMicroseconds()
@@ -480,12 +480,12 @@ int64_t ToInt64Hours(Duration d);
480
480
  //
481
481
  // absl::Duration d = absl::Milliseconds(1500);
482
482
  // double dsec = absl::ToDoubleSeconds(d); // dsec == 1.5
483
- double ToDoubleNanoseconds(Duration d);
484
- double ToDoubleMicroseconds(Duration d);
485
- double ToDoubleMilliseconds(Duration d);
486
- double ToDoubleSeconds(Duration d);
487
- double ToDoubleMinutes(Duration d);
488
- double ToDoubleHours(Duration d);
483
+ ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleNanoseconds(Duration d);
484
+ ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleMicroseconds(Duration d);
485
+ ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleMilliseconds(Duration d);
486
+ ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleSeconds(Duration d);
487
+ ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleMinutes(Duration d);
488
+ ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleHours(Duration d);
489
489
 
490
490
  // FromChrono()
491
491
  //
@@ -639,7 +639,7 @@ class Time {
639
639
  // Deprecated. Use `absl::TimeZone::CivilInfo`.
640
640
  struct
641
641
  Breakdown {
642
- int64_t year; // year (e.g., 2013)
642
+ int64_t year; // year (e.g., 2013)
643
643
  int month; // month of year [1:12]
644
644
  int day; // day of month [1:31]
645
645
  int hour; // hour of day [0:23]
@@ -1180,11 +1180,15 @@ inline Time FromDateTime(int64_t year, int mon, int day, int hour,
1180
1180
  //
1181
1181
  // Converts the `tm_year`, `tm_mon`, `tm_mday`, `tm_hour`, `tm_min`, and
1182
1182
  // `tm_sec` fields to an `absl::Time` using the given time zone. See ctime(3)
1183
- // for a description of the expected values of the tm fields. If the indicated
1184
- // time instant is not unique (see `absl::TimeZone::At(absl::CivilSecond)`
1185
- // above), the `tm_isdst` field is consulted to select the desired instant
1186
- // (`tm_isdst` > 0 means DST, `tm_isdst` == 0 means no DST, `tm_isdst` < 0
1187
- // means use the post-transition offset).
1183
+ // for a description of the expected values of the tm fields. If the civil time
1184
+ // is unique (see `absl::TimeZone::At(absl::CivilSecond)` above), the matching
1185
+ // time instant is returned. Otherwise, the `tm_isdst` field is consulted to
1186
+ // choose between the possible results. For a repeated civil time, `tm_isdst !=
1187
+ // 0` returns the matching DST instant, while `tm_isdst == 0` returns the
1188
+ // matching non-DST instant. For a skipped civil time there is no matching
1189
+ // instant, so `tm_isdst != 0` returns the DST instant, and `tm_isdst == 0`
1190
+ // returns the non-DST instant, that would have matched if the transition never
1191
+ // happened.
1188
1192
  Time FromTM(const struct tm& tm, TimeZone tz);
1189
1193
 
1190
1194
  // ToTM()
@@ -1494,12 +1498,10 @@ constexpr Duration Hours(int64_t n) {
1494
1498
  constexpr bool operator<(Duration lhs, Duration rhs) {
1495
1499
  return time_internal::GetRepHi(lhs) != time_internal::GetRepHi(rhs)
1496
1500
  ? time_internal::GetRepHi(lhs) < time_internal::GetRepHi(rhs)
1497
- : time_internal::GetRepHi(lhs) ==
1498
- (std::numeric_limits<int64_t>::min)()
1499
- ? time_internal::GetRepLo(lhs) + 1 <
1500
- time_internal::GetRepLo(rhs) + 1
1501
- : time_internal::GetRepLo(lhs) <
1502
- time_internal::GetRepLo(rhs);
1501
+ : time_internal::GetRepHi(lhs) == (std::numeric_limits<int64_t>::min)()
1502
+ ? time_internal::GetRepLo(lhs) + 1 <
1503
+ time_internal::GetRepLo(rhs) + 1
1504
+ : time_internal::GetRepLo(lhs) < time_internal::GetRepLo(rhs);
1503
1505
  }
1504
1506
 
1505
1507
  constexpr bool operator==(Duration lhs, Duration rhs) {
@@ -45,7 +45,7 @@ ABSL_NAMESPACE_BEGIN
45
45
  template <class... Types>
46
46
  class variant;
47
47
 
48
- ABSL_INTERNAL_INLINE_CONSTEXPR(size_t, variant_npos, -1);
48
+ ABSL_INTERNAL_INLINE_CONSTEXPR(size_t, variant_npos, static_cast<size_t>(-1));
49
49
 
50
50
  template <class T>
51
51
  struct variant_size;
@@ -604,7 +604,10 @@ class variant<T0, Tn...> : private variant_internal::VariantBase<T0, Tn...> {
604
604
 
605
605
  // emplace() Functions
606
606
 
607
- // Constructs a value of the given alternative type T within the variant.
607
+ // Constructs a value of the given alternative type T within the variant. The
608
+ // existing value of the variant is destroyed first (provided that
609
+ // `absl::valueless_by_exception()` is false). Requires that T is unambiguous
610
+ // in the variant.
608
611
  //
609
612
  // Example:
610
613
  //
@@ -624,7 +627,9 @@ class variant<T0, Tn...> : private variant_internal::VariantBase<T0, Tn...> {
624
627
  }
625
628
 
626
629
  // Constructs a value of the given alternative type T within the variant using
627
- // an initializer list.
630
+ // an initializer list. The existing value of the variant is destroyed first
631
+ // (provided that `absl::valueless_by_exception()` is false). Requires that T
632
+ // is unambiguous in the variant.
628
633
  //
629
634
  // Example:
630
635
  //
@@ -643,7 +648,7 @@ class variant<T0, Tn...> : private variant_internal::VariantBase<T0, Tn...> {
643
648
  }
644
649
 
645
650
  // Destroys the current value of the variant (provided that
646
- // `absl::valueless_by_exception()` is false, and constructs a new value at
651
+ // `absl::valueless_by_exception()` is false) and constructs a new value at
647
652
  // the given index.
648
653
  //
649
654
  // Example:
@@ -662,7 +667,7 @@ class variant<T0, Tn...> : private variant_internal::VariantBase<T0, Tn...> {
662
667
  }
663
668
 
664
669
  // Destroys the current value of the variant (provided that
665
- // `absl::valueless_by_exception()` is false, and constructs a new value at
670
+ // `absl::valueless_by_exception()` is false) and constructs a new value at
666
671
  // the given index using an initializer list and the provided arguments.
667
672
  //
668
673
  // Example:
@@ -76,54 +76,54 @@ const uint32_t kOpenSSLReasonValues[] = {
76
76
  0xc3b00f7,
77
77
  0xc3b88e3,
78
78
  0x10320854,
79
- 0x103295b6,
80
- 0x103315c2,
81
- 0x103395db,
82
- 0x103415ee,
79
+ 0x103295ca,
80
+ 0x103315d6,
81
+ 0x103395ef,
82
+ 0x10341602,
83
83
  0x10348f34,
84
84
  0x10350c6d,
85
- 0x10359601,
86
- 0x1036162b,
87
- 0x1036963e,
88
- 0x1037165d,
89
- 0x10379676,
90
- 0x1038168b,
91
- 0x103896a9,
92
- 0x103916b8,
93
- 0x103996d4,
94
- 0x103a16ef,
95
- 0x103a96fe,
96
- 0x103b171a,
97
- 0x103b9735,
98
- 0x103c175b,
85
+ 0x10359615,
86
+ 0x1036163f,
87
+ 0x10369652,
88
+ 0x10371671,
89
+ 0x1037968a,
90
+ 0x1038169f,
91
+ 0x103896bd,
92
+ 0x103916cc,
93
+ 0x103996e8,
94
+ 0x103a1703,
95
+ 0x103a9712,
96
+ 0x103b172e,
97
+ 0x103b9749,
98
+ 0x103c176f,
99
99
  0x103c80f7,
100
- 0x103d176c,
101
- 0x103d9780,
102
- 0x103e179f,
103
- 0x103e97ae,
104
- 0x103f17c5,
105
- 0x103f97d8,
100
+ 0x103d1780,
101
+ 0x103d9794,
102
+ 0x103e17b3,
103
+ 0x103e97c2,
104
+ 0x103f17d9,
105
+ 0x103f97ec,
106
106
  0x10400c31,
107
- 0x104097eb,
108
- 0x10411809,
109
- 0x1041981c,
110
- 0x10421836,
111
- 0x10429846,
112
- 0x1043185a,
113
- 0x10439870,
114
- 0x10441888,
115
- 0x1044989d,
116
- 0x104518b1,
117
- 0x104598c3,
107
+ 0x104097ff,
108
+ 0x1041181d,
109
+ 0x10419830,
110
+ 0x1042184a,
111
+ 0x1042985a,
112
+ 0x1043186e,
113
+ 0x10439884,
114
+ 0x1044189c,
115
+ 0x104498b1,
116
+ 0x104518c5,
117
+ 0x104598d7,
118
118
  0x1046060a,
119
119
  0x1046895c,
120
- 0x104718d8,
121
- 0x104798ef,
122
- 0x10481904,
123
- 0x10489912,
120
+ 0x104718ec,
121
+ 0x10479903,
122
+ 0x10481918,
123
+ 0x10489926,
124
124
  0x10490e80,
125
- 0x1049974c,
126
- 0x104a1616,
125
+ 0x10499760,
126
+ 0x104a162a,
127
127
  0x14320c14,
128
128
  0x14328c22,
129
129
  0x14330c31,
@@ -140,50 +140,51 @@ const uint32_t kOpenSSLReasonValues[] = {
140
140
  0x18358feb,
141
141
  0x18361000,
142
142
  0x18369014,
143
- 0x18371038,
144
- 0x1837904e,
145
- 0x18381062,
146
- 0x18389072,
143
+ 0x1837104c,
144
+ 0x18379062,
145
+ 0x18381076,
146
+ 0x18389086,
147
147
  0x18390a82,
148
- 0x18399082,
149
- 0x183a10a8,
150
- 0x183a90ce,
148
+ 0x18399096,
149
+ 0x183a10bc,
150
+ 0x183a90e2,
151
151
  0x183b0c8c,
152
- 0x183b911d,
153
- 0x183c112f,
154
- 0x183c913a,
155
- 0x183d114a,
156
- 0x183d915b,
157
- 0x183e116c,
158
- 0x183e917e,
159
- 0x183f11a7,
160
- 0x183f91c0,
161
- 0x184011d8,
152
+ 0x183b9131,
153
+ 0x183c1143,
154
+ 0x183c914e,
155
+ 0x183d115e,
156
+ 0x183d916f,
157
+ 0x183e1180,
158
+ 0x183e9192,
159
+ 0x183f11bb,
160
+ 0x183f91d4,
161
+ 0x184011ec,
162
162
  0x184086e2,
163
- 0x184110f1,
164
- 0x184190bc,
165
- 0x184210db,
163
+ 0x18411105,
164
+ 0x184190d0,
165
+ 0x184210ef,
166
166
  0x18428c79,
167
- 0x18431097,
168
- 0x18439103,
167
+ 0x184310ab,
168
+ 0x18439117,
169
169
  0x18440fc9,
170
- 0x20321212,
171
- 0x203291ff,
172
- 0x2432121e,
170
+ 0x18449038,
171
+ 0x20321226,
172
+ 0x20329213,
173
+ 0x24321232,
173
174
  0x243289a2,
174
- 0x24331230,
175
- 0x2433923d,
176
- 0x2434124a,
177
- 0x2434925c,
178
- 0x2435126b,
179
- 0x24359288,
180
- 0x24361295,
181
- 0x243692a3,
182
- 0x243712b1,
183
- 0x243792bf,
184
- 0x243812c8,
185
- 0x243892d5,
186
- 0x243912e8,
175
+ 0x24331244,
176
+ 0x24339251,
177
+ 0x2434125e,
178
+ 0x24349270,
179
+ 0x2435127f,
180
+ 0x2435929c,
181
+ 0x243612a9,
182
+ 0x243692b7,
183
+ 0x243712c5,
184
+ 0x243792d3,
185
+ 0x243812dc,
186
+ 0x243892e9,
187
+ 0x243912fc,
187
188
  0x28320c61,
188
189
  0x28328c8c,
189
190
  0x28330c31,
@@ -192,47 +193,47 @@ const uint32_t kOpenSSLReasonValues[] = {
192
193
  0x283480b9,
193
194
  0x283500f7,
194
195
  0x28358c79,
195
- 0x2c3230e6,
196
- 0x2c3292ff,
197
- 0x2c3330f4,
198
- 0x2c33b106,
199
- 0x2c34311a,
200
- 0x2c34b12c,
201
- 0x2c353147,
202
- 0x2c35b159,
203
- 0x2c363189,
196
+ 0x2c3231de,
197
+ 0x2c329313,
198
+ 0x2c3331ec,
199
+ 0x2c33b1fe,
200
+ 0x2c343212,
201
+ 0x2c34b224,
202
+ 0x2c35323f,
203
+ 0x2c35b251,
204
+ 0x2c363281,
204
205
  0x2c36833a,
205
- 0x2c373196,
206
- 0x2c37b1c2,
207
- 0x2c3831e7,
208
- 0x2c38b1fe,
209
- 0x2c39321c,
210
- 0x2c39b22c,
211
- 0x2c3a323e,
212
- 0x2c3ab252,
213
- 0x2c3b3263,
214
- 0x2c3bb282,
215
- 0x2c3c1311,
216
- 0x2c3c9327,
217
- 0x2c3d3296,
218
- 0x2c3d9340,
219
- 0x2c3e32b3,
220
- 0x2c3eb2c1,
221
- 0x2c3f32d9,
222
- 0x2c3fb2f1,
223
- 0x2c40331b,
224
- 0x2c409212,
225
- 0x2c41332c,
226
- 0x2c41b33f,
227
- 0x2c4211d8,
228
- 0x2c42b350,
206
+ 0x2c37328e,
207
+ 0x2c37b2ba,
208
+ 0x2c3832df,
209
+ 0x2c38b2f6,
210
+ 0x2c393314,
211
+ 0x2c39b324,
212
+ 0x2c3a3336,
213
+ 0x2c3ab34a,
214
+ 0x2c3b335b,
215
+ 0x2c3bb37a,
216
+ 0x2c3c1325,
217
+ 0x2c3c933b,
218
+ 0x2c3d338e,
219
+ 0x2c3d9354,
220
+ 0x2c3e33ab,
221
+ 0x2c3eb3b9,
222
+ 0x2c3f33d1,
223
+ 0x2c3fb3e9,
224
+ 0x2c403413,
225
+ 0x2c409226,
226
+ 0x2c413424,
227
+ 0x2c41b437,
228
+ 0x2c4211ec,
229
+ 0x2c42b448,
229
230
  0x2c43072f,
230
- 0x2c43b274,
231
- 0x2c4431d5,
232
- 0x2c44b2fe,
233
- 0x2c45316c,
234
- 0x2c45b1a8,
235
- 0x2c46320c,
231
+ 0x2c43b36c,
232
+ 0x2c4432cd,
233
+ 0x2c44b3f6,
234
+ 0x2c453264,
235
+ 0x2c45b2a0,
236
+ 0x2c463304,
236
237
  0x30320000,
237
238
  0x30328015,
238
239
  0x3033001f,
@@ -368,248 +369,255 @@ const uint32_t kOpenSSLReasonValues[] = {
368
369
  0x3c418d74,
369
370
  0x3c420e80,
370
371
  0x3c428e0a,
371
- 0x403219a4,
372
- 0x403299ba,
373
- 0x403319e8,
374
- 0x403399f2,
375
- 0x40341a09,
376
- 0x40349a27,
377
- 0x40351a37,
378
- 0x40359a49,
379
- 0x40361a56,
380
- 0x40369a62,
381
- 0x40371a77,
382
- 0x40379a89,
383
- 0x40381a94,
384
- 0x40389aa6,
372
+ 0x403219b8,
373
+ 0x403299ce,
374
+ 0x403319fc,
375
+ 0x40339a06,
376
+ 0x40341a1d,
377
+ 0x40349a3b,
378
+ 0x40351a4b,
379
+ 0x40359a5d,
380
+ 0x40361a6a,
381
+ 0x40369a76,
382
+ 0x40371a8b,
383
+ 0x40379a9d,
384
+ 0x40381aa8,
385
+ 0x40389aba,
385
386
  0x40390f34,
386
- 0x40399ab6,
387
- 0x403a1ac9,
388
- 0x403a9aea,
389
- 0x403b1afb,
390
- 0x403b9b0b,
387
+ 0x40399aca,
388
+ 0x403a1add,
389
+ 0x403a9afe,
390
+ 0x403b1b0f,
391
+ 0x403b9b1f,
391
392
  0x403c0071,
392
393
  0x403c8090,
393
- 0x403d1b6c,
394
- 0x403d9b82,
395
- 0x403e1b91,
396
- 0x403e9bc9,
397
- 0x403f1be3,
398
- 0x403f9c0b,
399
- 0x40401c20,
400
- 0x40409c34,
401
- 0x40411c6f,
402
- 0x40419c8a,
403
- 0x40421ca3,
404
- 0x40429cb6,
405
- 0x40431cca,
406
- 0x40439ce2,
407
- 0x40441cf9,
394
+ 0x403d1b80,
395
+ 0x403d9b96,
396
+ 0x403e1ba5,
397
+ 0x403e9bdd,
398
+ 0x403f1bf7,
399
+ 0x403f9c1f,
400
+ 0x40401c34,
401
+ 0x40409c48,
402
+ 0x40411c83,
403
+ 0x40419c9e,
404
+ 0x40421cb7,
405
+ 0x40429cca,
406
+ 0x40431cde,
407
+ 0x40439d0c,
408
+ 0x40441d23,
408
409
  0x404480b9,
409
- 0x40451d0e,
410
- 0x40459d20,
411
- 0x40461d44,
412
- 0x40469d64,
413
- 0x40471d72,
414
- 0x40479d99,
415
- 0x40481e0a,
416
- 0x40489e3d,
417
- 0x40491e54,
418
- 0x40499e6e,
419
- 0x404a1e85,
420
- 0x404a9ea3,
421
- 0x404b1ebb,
422
- 0x404b9ee8,
423
- 0x404c1efe,
424
- 0x404c9f10,
425
- 0x404d1f31,
426
- 0x404d9f6a,
427
- 0x404e1f7e,
428
- 0x404e9f8b,
429
- 0x404f1fd2,
430
- 0x404fa018,
431
- 0x4050206f,
432
- 0x4050a083,
433
- 0x405120b6,
434
- 0x405220c6,
435
- 0x4052a0ea,
436
- 0x40532102,
437
- 0x4053a115,
438
- 0x4054212a,
439
- 0x4054a14d,
440
- 0x40552178,
441
- 0x4055a1b5,
442
- 0x405621da,
443
- 0x4056a1f3,
444
- 0x4057220b,
445
- 0x4057a21e,
446
- 0x40582233,
447
- 0x4058a25a,
448
- 0x40592289,
449
- 0x4059a2b6,
450
- 0x405a22ca,
451
- 0x405aa2da,
452
- 0x405b22f2,
453
- 0x405ba303,
454
- 0x405c2316,
455
- 0x405ca355,
456
- 0x405d2362,
457
- 0x405da387,
458
- 0x405e23c5,
410
+ 0x40451d38,
411
+ 0x40459d4a,
412
+ 0x40461d6e,
413
+ 0x40469d8e,
414
+ 0x40471d9c,
415
+ 0x40479dc3,
416
+ 0x40481e34,
417
+ 0x40489ee1,
418
+ 0x40491ef8,
419
+ 0x40499f12,
420
+ 0x404a1f29,
421
+ 0x404a9f47,
422
+ 0x404b1f5f,
423
+ 0x404b9f8c,
424
+ 0x404c1fa2,
425
+ 0x404c9fb4,
426
+ 0x404d1fd5,
427
+ 0x404da00e,
428
+ 0x404e2022,
429
+ 0x404ea02f,
430
+ 0x404f20ac,
431
+ 0x404fa0f2,
432
+ 0x40502149,
433
+ 0x4050a15d,
434
+ 0x40512190,
435
+ 0x405221a0,
436
+ 0x4052a1c4,
437
+ 0x405321dc,
438
+ 0x4053a1ef,
439
+ 0x40542204,
440
+ 0x4054a227,
441
+ 0x40552252,
442
+ 0x4055a28f,
443
+ 0x405622b4,
444
+ 0x4056a2cd,
445
+ 0x405722e5,
446
+ 0x4057a2f8,
447
+ 0x4058230d,
448
+ 0x4058a334,
449
+ 0x40592363,
450
+ 0x4059a390,
451
+ 0x405a23a4,
452
+ 0x405aa3b4,
453
+ 0x405b23cc,
454
+ 0x405ba3dd,
455
+ 0x405c23f0,
456
+ 0x405ca42f,
457
+ 0x405d243c,
458
+ 0x405da461,
459
+ 0x405e249f,
459
460
  0x405e8ac0,
460
- 0x405f23e6,
461
- 0x405fa3f3,
462
- 0x40602401,
463
- 0x4060a423,
464
- 0x40612484,
465
- 0x4061a4bc,
466
- 0x406224d3,
467
- 0x4062a4e4,
468
- 0x40632531,
469
- 0x4063a546,
470
- 0x4064255d,
471
- 0x4064a589,
472
- 0x406525a4,
473
- 0x4065a5bb,
474
- 0x406625d3,
475
- 0x4066a5fd,
476
- 0x40672628,
477
- 0x4067a66d,
478
- 0x406826b5,
479
- 0x4068a6d6,
480
- 0x40692708,
481
- 0x4069a736,
482
- 0x406a2757,
483
- 0x406aa777,
484
- 0x406b28ff,
485
- 0x406ba922,
486
- 0x406c2938,
487
- 0x406cac29,
488
- 0x406d2c58,
489
- 0x406dac80,
490
- 0x406e2cae,
491
- 0x406eacfb,
492
- 0x406f2d54,
493
- 0x406fad8c,
494
- 0x40702d9f,
495
- 0x4070adbc,
461
+ 0x405f24c0,
462
+ 0x405fa4cd,
463
+ 0x406024db,
464
+ 0x4060a4fd,
465
+ 0x4061255e,
466
+ 0x4061a596,
467
+ 0x406225ad,
468
+ 0x4062a5be,
469
+ 0x4063260b,
470
+ 0x4063a620,
471
+ 0x40642637,
472
+ 0x4064a663,
473
+ 0x4065267e,
474
+ 0x4065a695,
475
+ 0x406626ad,
476
+ 0x4066a6d7,
477
+ 0x40672702,
478
+ 0x4067a747,
479
+ 0x4068278f,
480
+ 0x4068a7b0,
481
+ 0x406927e2,
482
+ 0x4069a810,
483
+ 0x406a2831,
484
+ 0x406aa851,
485
+ 0x406b29d9,
486
+ 0x406ba9fc,
487
+ 0x406c2a12,
488
+ 0x406cad03,
489
+ 0x406d2d32,
490
+ 0x406dad5a,
491
+ 0x406e2d88,
492
+ 0x406eadd5,
493
+ 0x406f2e2e,
494
+ 0x406fae66,
495
+ 0x40702e79,
496
+ 0x4070ae96,
496
497
  0x4071080f,
497
- 0x4071adce,
498
- 0x40722de1,
499
- 0x4072ae17,
500
- 0x40732e2f,
501
- 0x40739511,
502
- 0x40742e43,
503
- 0x4074ae5d,
504
- 0x40752e6e,
505
- 0x4075ae82,
506
- 0x40762e90,
507
- 0x407692d5,
508
- 0x40772eb5,
509
- 0x4077aed7,
510
- 0x40782ef2,
511
- 0x4078af2b,
512
- 0x40792f42,
513
- 0x4079af58,
514
- 0x407a2f84,
515
- 0x407aaf97,
516
- 0x407b2fac,
517
- 0x407bafbe,
518
- 0x407c2fef,
519
- 0x407caff8,
520
- 0x407d26f1,
521
- 0x407da028,
522
- 0x407e2f07,
523
- 0x407ea26a,
524
- 0x407f1d86,
525
- 0x407f9ed2,
526
- 0x40801fe2,
527
- 0x40809dae,
528
- 0x408120d8,
529
- 0x40819fbc,
530
- 0x40822c99,
531
- 0x40829b17,
532
- 0x40832245,
533
- 0x4083a56e,
534
- 0x40841dc2,
535
- 0x4084a2a2,
536
- 0x40852327,
537
- 0x4085a44b,
538
- 0x408623a7,
539
- 0x4086a042,
540
- 0x40872cdf,
541
- 0x4087a499,
542
- 0x40881b55,
543
- 0x4088a680,
544
- 0x40891ba4,
545
- 0x40899b31,
546
- 0x408a2970,
547
- 0x408a9929,
548
- 0x408b2fd3,
549
- 0x408bad69,
550
- 0x408c2337,
551
- 0x408c9961,
552
- 0x408d1e23,
553
- 0x408d9df4,
554
- 0x408e1f53,
555
- 0x408ea195,
556
- 0x408f2694,
557
- 0x408fa467,
558
- 0x40902649,
559
- 0x4090a379,
560
- 0x40912958,
561
- 0x40919987,
562
- 0x40921bf1,
563
- 0x4092ad1a,
564
- 0x40932dfa,
565
- 0x4093a053,
566
- 0x40941dd6,
567
- 0x4094a989,
568
- 0x409524f5,
569
- 0x4095af64,
570
- 0x40962cc6,
571
- 0x40969ffb,
572
- 0x4097209e,
573
- 0x40979fa2,
574
- 0x40981c51,
575
- 0x4098a509,
576
- 0x40992d36,
577
- 0x4099a1c2,
578
- 0x409a215b,
579
- 0x409a9945,
580
- 0x41f4282a,
581
- 0x41f928bc,
582
- 0x41fe27af,
583
- 0x41feaa65,
584
- 0x41ff2b7a,
585
- 0x42032843,
586
- 0x42082865,
587
- 0x4208a8a1,
588
- 0x42092793,
589
- 0x4209a8db,
590
- 0x420a27ea,
591
- 0x420aa7ca,
592
- 0x420b280a,
593
- 0x420ba883,
594
- 0x420c2b96,
595
- 0x420ca999,
596
- 0x420d2a4c,
597
- 0x420daa83,
598
- 0x42122a9d,
599
- 0x42172b5d,
600
- 0x4217aadf,
601
- 0x421c2b01,
602
- 0x421f2abc,
603
- 0x42212c0e,
604
- 0x42262b40,
605
- 0x422b2bec,
606
- 0x422baa27,
607
- 0x422c2bce,
608
- 0x422ca9da,
609
- 0x422d29b3,
610
- 0x422dabad,
611
- 0x422e2a06,
612
- 0x42302b1c,
498
+ 0x4071aea8,
499
+ 0x40722ebb,
500
+ 0x4072aef1,
501
+ 0x40732f09,
502
+ 0x40739525,
503
+ 0x40742f1d,
504
+ 0x4074af37,
505
+ 0x40752f48,
506
+ 0x4075af5c,
507
+ 0x40762f6a,
508
+ 0x407692e9,
509
+ 0x40772f8f,
510
+ 0x4077afcf,
511
+ 0x40782fea,
512
+ 0x4078b023,
513
+ 0x4079303a,
514
+ 0x4079b050,
515
+ 0x407a307c,
516
+ 0x407ab08f,
517
+ 0x407b30a4,
518
+ 0x407bb0b6,
519
+ 0x407c30e7,
520
+ 0x407cb0f0,
521
+ 0x407d27cb,
522
+ 0x407da102,
523
+ 0x407e2fff,
524
+ 0x407ea344,
525
+ 0x407f1db0,
526
+ 0x407f9f76,
527
+ 0x408020bc,
528
+ 0x40809dd8,
529
+ 0x408121b2,
530
+ 0x4081a060,
531
+ 0x40822d73,
532
+ 0x40829b2b,
533
+ 0x4083231f,
534
+ 0x4083a648,
535
+ 0x40841dec,
536
+ 0x4084a37c,
537
+ 0x40852401,
538
+ 0x4085a525,
539
+ 0x40862481,
540
+ 0x4086a11c,
541
+ 0x40872db9,
542
+ 0x4087a573,
543
+ 0x40881b69,
544
+ 0x4088a75a,
545
+ 0x40891bb8,
546
+ 0x40899b45,
547
+ 0x408a2a4a,
548
+ 0x408a993d,
549
+ 0x408b30cb,
550
+ 0x408bae43,
551
+ 0x408c2411,
552
+ 0x408c9975,
553
+ 0x408d1ec7,
554
+ 0x408d9e1e,
555
+ 0x408e1ff7,
556
+ 0x408ea26f,
557
+ 0x408f276e,
558
+ 0x408fa541,
559
+ 0x40902723,
560
+ 0x4090a453,
561
+ 0x40912a32,
562
+ 0x4091999b,
563
+ 0x40921c05,
564
+ 0x4092adf4,
565
+ 0x40932ed4,
566
+ 0x4093a12d,
567
+ 0x40941e00,
568
+ 0x4094aa63,
569
+ 0x409525cf,
570
+ 0x4095b05c,
571
+ 0x40962da0,
572
+ 0x4096a0d5,
573
+ 0x40972178,
574
+ 0x4097a046,
575
+ 0x40981c65,
576
+ 0x4098a5e3,
577
+ 0x40992e10,
578
+ 0x4099a29c,
579
+ 0x409a2235,
580
+ 0x409a9959,
581
+ 0x409b1e4d,
582
+ 0x409b9e78,
583
+ 0x409c2fb1,
584
+ 0x409c9ea0,
585
+ 0x409d2091,
586
+ 0x409da076,
587
+ 0x409e1cf6,
588
+ 0x41f42904,
589
+ 0x41f92996,
590
+ 0x41fe2889,
591
+ 0x41feab3f,
592
+ 0x41ff2c54,
593
+ 0x4203291d,
594
+ 0x4208293f,
595
+ 0x4208a97b,
596
+ 0x4209286d,
597
+ 0x4209a9b5,
598
+ 0x420a28c4,
599
+ 0x420aa8a4,
600
+ 0x420b28e4,
601
+ 0x420ba95d,
602
+ 0x420c2c70,
603
+ 0x420caa73,
604
+ 0x420d2b26,
605
+ 0x420dab5d,
606
+ 0x42122b77,
607
+ 0x42172c37,
608
+ 0x4217abb9,
609
+ 0x421c2bdb,
610
+ 0x421f2b96,
611
+ 0x42212ce8,
612
+ 0x42262c1a,
613
+ 0x422b2cc6,
614
+ 0x422bab01,
615
+ 0x422c2ca8,
616
+ 0x422caab4,
617
+ 0x422d2a8d,
618
+ 0x422dac87,
619
+ 0x422e2ae0,
620
+ 0x42302bf6,
613
621
  0x4432073a,
614
622
  0x44328749,
615
623
  0x44330755,
@@ -627,106 +635,106 @@ const uint32_t kOpenSSLReasonValues[] = {
627
635
  0x4439080f,
628
636
  0x4439881d,
629
637
  0x443a0830,
630
- 0x483212ff,
631
- 0x48329311,
632
- 0x48331327,
633
- 0x48339340,
634
- 0x4c321365,
635
- 0x4c329375,
636
- 0x4c331388,
637
- 0x4c3393a8,
638
+ 0x48321313,
639
+ 0x48329325,
640
+ 0x4833133b,
641
+ 0x48339354,
642
+ 0x4c321379,
643
+ 0x4c329389,
644
+ 0x4c33139c,
645
+ 0x4c3393bc,
638
646
  0x4c3400b9,
639
647
  0x4c3480f7,
640
- 0x4c3513b4,
641
- 0x4c3593c2,
642
- 0x4c3613de,
643
- 0x4c369404,
644
- 0x4c371413,
645
- 0x4c379421,
646
- 0x4c381436,
647
- 0x4c389442,
648
- 0x4c391462,
649
- 0x4c39948c,
650
- 0x4c3a14a5,
651
- 0x4c3a94be,
648
+ 0x4c3513c8,
649
+ 0x4c3593d6,
650
+ 0x4c3613f2,
651
+ 0x4c369418,
652
+ 0x4c371427,
653
+ 0x4c379435,
654
+ 0x4c38144a,
655
+ 0x4c389456,
656
+ 0x4c391476,
657
+ 0x4c3994a0,
658
+ 0x4c3a14b9,
659
+ 0x4c3a94d2,
652
660
  0x4c3b060a,
653
- 0x4c3b94d7,
654
- 0x4c3c14e9,
655
- 0x4c3c94f8,
656
- 0x4c3d1511,
661
+ 0x4c3b94eb,
662
+ 0x4c3c14fd,
663
+ 0x4c3c950c,
664
+ 0x4c3d1525,
657
665
  0x4c3d8c54,
658
- 0x4c3e157e,
659
- 0x4c3e9520,
660
- 0x4c3f15a0,
661
- 0x4c3f92d5,
662
- 0x4c401536,
663
- 0x4c409351,
664
- 0x4c41156e,
665
- 0x4c4193f1,
666
- 0x4c42155a,
667
- 0x50323362,
668
- 0x5032b371,
669
- 0x5033337c,
670
- 0x5033b38c,
671
- 0x503433a5,
672
- 0x5034b3bf,
673
- 0x503533cd,
674
- 0x5035b3e3,
675
- 0x503633f5,
676
- 0x5036b40b,
677
- 0x50373424,
678
- 0x5037b437,
679
- 0x5038344f,
680
- 0x5038b460,
681
- 0x50393475,
682
- 0x5039b489,
683
- 0x503a34a9,
684
- 0x503ab4bf,
685
- 0x503b34d7,
686
- 0x503bb4e9,
687
- 0x503c3505,
688
- 0x503cb51c,
689
- 0x503d3535,
690
- 0x503db54b,
691
- 0x503e3558,
692
- 0x503eb56e,
693
- 0x503f3580,
666
+ 0x4c3e1592,
667
+ 0x4c3e9534,
668
+ 0x4c3f15b4,
669
+ 0x4c3f92e9,
670
+ 0x4c40154a,
671
+ 0x4c409365,
672
+ 0x4c411582,
673
+ 0x4c419405,
674
+ 0x4c42156e,
675
+ 0x5032345a,
676
+ 0x5032b469,
677
+ 0x50333474,
678
+ 0x5033b484,
679
+ 0x5034349d,
680
+ 0x5034b4b7,
681
+ 0x503534c5,
682
+ 0x5035b4db,
683
+ 0x503634ed,
684
+ 0x5036b503,
685
+ 0x5037351c,
686
+ 0x5037b52f,
687
+ 0x50383547,
688
+ 0x5038b558,
689
+ 0x5039356d,
690
+ 0x5039b581,
691
+ 0x503a35a1,
692
+ 0x503ab5b7,
693
+ 0x503b35cf,
694
+ 0x503bb5e1,
695
+ 0x503c35fd,
696
+ 0x503cb614,
697
+ 0x503d362d,
698
+ 0x503db643,
699
+ 0x503e3650,
700
+ 0x503eb666,
701
+ 0x503f3678,
694
702
  0x503f8388,
695
- 0x50403593,
696
- 0x5040b5a3,
697
- 0x504135bd,
698
- 0x5041b5cc,
699
- 0x504235e6,
700
- 0x5042b603,
701
- 0x50433613,
702
- 0x5043b623,
703
- 0x50443632,
703
+ 0x5040368b,
704
+ 0x5040b69b,
705
+ 0x504136b5,
706
+ 0x5041b6c4,
707
+ 0x504236de,
708
+ 0x5042b6fb,
709
+ 0x5043370b,
710
+ 0x5043b71b,
711
+ 0x5044372a,
704
712
  0x5044843e,
705
- 0x50453646,
706
- 0x5045b664,
707
- 0x50463677,
708
- 0x5046b68d,
709
- 0x5047369f,
710
- 0x5047b6b4,
711
- 0x504836da,
712
- 0x5048b6e8,
713
- 0x504936fb,
714
- 0x5049b710,
715
- 0x504a3726,
716
- 0x504ab736,
717
- 0x504b3756,
718
- 0x504bb769,
719
- 0x504c378c,
720
- 0x504cb7ba,
721
- 0x504d37cc,
722
- 0x504db7e9,
723
- 0x504e3804,
724
- 0x504eb820,
725
- 0x504f3832,
726
- 0x504fb849,
727
- 0x50503858,
713
+ 0x5045373e,
714
+ 0x5045b75c,
715
+ 0x5046376f,
716
+ 0x5046b785,
717
+ 0x50473797,
718
+ 0x5047b7ac,
719
+ 0x504837d2,
720
+ 0x5048b7e0,
721
+ 0x504937f3,
722
+ 0x5049b808,
723
+ 0x504a381e,
724
+ 0x504ab82e,
725
+ 0x504b384e,
726
+ 0x504bb861,
727
+ 0x504c3884,
728
+ 0x504cb8b2,
729
+ 0x504d38c4,
730
+ 0x504db8e1,
731
+ 0x504e38fc,
732
+ 0x504eb918,
733
+ 0x504f392a,
734
+ 0x504fb941,
735
+ 0x50503950,
728
736
  0x505086fe,
729
- 0x5051386b,
737
+ 0x50513963,
730
738
  0x58320f72,
731
739
  0x68320f34,
732
740
  0x68328c8c,
@@ -767,22 +775,22 @@ const uint32_t kOpenSSLReasonValues[] = {
767
775
  0x783d8b59,
768
776
  0x783e0aaf,
769
777
  0x783e8a61,
770
- 0x7c3211ee,
771
- 0x80321404,
778
+ 0x7c321202,
779
+ 0x80321418,
772
780
  0x80328090,
773
- 0x803330b5,
781
+ 0x803331ad,
774
782
  0x803380b9,
775
- 0x803430c4,
776
- 0x8034b02c,
777
- 0x8035304a,
778
- 0x8035b0d8,
779
- 0x8036308c,
780
- 0x8036b03b,
781
- 0x8037307e,
782
- 0x8037b019,
783
- 0x8038309f,
784
- 0x8038b05b,
785
- 0x80393070,
783
+ 0x803431bc,
784
+ 0x8034b124,
785
+ 0x80353142,
786
+ 0x8035b1d0,
787
+ 0x80363184,
788
+ 0x8036b133,
789
+ 0x80373176,
790
+ 0x8037b111,
791
+ 0x80383197,
792
+ 0x8038b153,
793
+ 0x80393168,
786
794
  };
787
795
 
788
796
  const size_t kOpenSSLReasonValuesLen = sizeof(kOpenSSLReasonValues) / sizeof(kOpenSSLReasonValues[0]);
@@ -1004,6 +1012,7 @@ const char kOpenSSLReasonStringData[] =
1004
1012
  "EXPECTING_AN_RSA_KEY\0"
1005
1013
  "EXPECTING_A_DSA_KEY\0"
1006
1014
  "ILLEGAL_OR_UNSUPPORTED_PADDING_MODE\0"
1015
+ "INVALID_BUFFER_SIZE\0"
1007
1016
  "INVALID_DIGEST_LENGTH\0"
1008
1017
  "INVALID_DIGEST_TYPE\0"
1009
1018
  "INVALID_KEYBITS\0"
@@ -1158,6 +1167,7 @@ const char kOpenSSLReasonStringData[] =
1158
1167
  "CLIENTHELLO_TLSEXT\0"
1159
1168
  "CONNECTION_REJECTED\0"
1160
1169
  "CONNECTION_TYPE_NOT_SET\0"
1170
+ "COULD_NOT_PARSE_HINTS\0"
1161
1171
  "CUSTOM_EXTENSION_ERROR\0"
1162
1172
  "DATA_LENGTH_TOO_LONG\0"
1163
1173
  "DECRYPTION_FAILED\0"
@@ -1172,6 +1182,9 @@ const char kOpenSSLReasonStringData[] =
1172
1182
  "DUPLICATE_SIGNATURE_ALGORITHM\0"
1173
1183
  "EARLY_DATA_NOT_IN_USE\0"
1174
1184
  "ECC_CERT_NOT_FOR_SIGNING\0"
1185
+ "ECH_SERVER_CONFIG_AND_PRIVATE_KEY_MISMATCH\0"
1186
+ "ECH_SERVER_CONFIG_UNSUPPORTED_EXTENSION\0"
1187
+ "ECH_SERVER_WOULD_HAVE_NO_RETRY_CONFIGS\0"
1175
1188
  "EMPTY_HELLO_RETRY_REQUEST\0"
1176
1189
  "EMS_STATE_INCONSISTENT\0"
1177
1190
  "ENCRYPTED_LENGTH_TOO_LONG\0"
@@ -1190,6 +1203,8 @@ const char kOpenSSLReasonStringData[] =
1190
1203
  "INAPPROPRIATE_FALLBACK\0"
1191
1204
  "INCONSISTENT_CLIENT_HELLO\0"
1192
1205
  "INVALID_ALPN_PROTOCOL\0"
1206
+ "INVALID_ALPN_PROTOCOL_LIST\0"
1207
+ "INVALID_CLIENT_HELLO_INNER\0"
1193
1208
  "INVALID_COMMAND\0"
1194
1209
  "INVALID_COMPRESSION_LIST\0"
1195
1210
  "INVALID_DELEGATED_CREDENTIAL\0"
@@ -1336,6 +1351,7 @@ const char kOpenSSLReasonStringData[] =
1336
1351
  "UNKNOWN_STATE\0"
1337
1352
  "UNSAFE_LEGACY_RENEGOTIATION_DISABLED\0"
1338
1353
  "UNSUPPORTED_COMPRESSION_ALGORITHM\0"
1354
+ "UNSUPPORTED_ECH_SERVER_CONFIG\0"
1339
1355
  "UNSUPPORTED_ELLIPTIC_CURVE\0"
1340
1356
  "UNSUPPORTED_PROTOCOL\0"
1341
1357
  "UNSUPPORTED_PROTOCOL_FOR_CUSTOM_KEY\0"