grpc 1.70.1 → 1.71.0

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 (1064) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +43 -79
  3. data/include/grpc/event_engine/endpoint_config.h +5 -5
  4. data/include/grpc/event_engine/event_engine.h +44 -5
  5. data/include/grpc/status.h +1 -1
  6. data/include/grpc/support/json.h +16 -16
  7. data/src/core/call/request_buffer.cc +22 -22
  8. data/src/core/call/request_buffer.h +4 -4
  9. data/src/core/channelz/channelz.cc +2 -2
  10. data/src/core/channelz/channelz.h +3 -22
  11. data/src/core/channelz/channelz_registry.cc +0 -7
  12. data/src/core/client_channel/client_channel.cc +16 -26
  13. data/src/core/client_channel/client_channel.h +2 -2
  14. data/src/core/client_channel/client_channel_filter.cc +54 -131
  15. data/src/core/client_channel/client_channel_filter.h +10 -6
  16. data/src/core/client_channel/client_channel_plugin.cc +2 -1
  17. data/src/core/client_channel/client_channel_service_config.cc +1 -1
  18. data/src/core/client_channel/client_channel_service_config.h +5 -5
  19. data/src/core/client_channel/direct_channel.cc +1 -1
  20. data/src/core/client_channel/direct_channel.h +1 -1
  21. data/src/core/client_channel/lb_metadata.cc +7 -8
  22. data/src/core/client_channel/lb_metadata.h +3 -3
  23. data/src/core/client_channel/load_balanced_call_destination.cc +4 -4
  24. data/src/core/client_channel/retry_filter.cc +1 -1
  25. data/src/core/client_channel/retry_filter.h +1 -1
  26. data/src/core/client_channel/retry_filter_legacy_call_data.cc +10 -12
  27. data/src/core/client_channel/retry_filter_legacy_call_data.h +7 -7
  28. data/src/core/client_channel/retry_interceptor.cc +16 -14
  29. data/src/core/client_channel/retry_interceptor.h +2 -2
  30. data/src/core/client_channel/retry_service_config.cc +1 -1
  31. data/src/core/client_channel/retry_service_config.h +3 -3
  32. data/src/core/client_channel/subchannel.cc +43 -76
  33. data/src/core/client_channel/subchannel.h +4 -4
  34. data/src/core/client_channel/subchannel_stream_client.cc +0 -1
  35. data/src/core/client_channel/subchannel_stream_client.h +3 -3
  36. data/src/core/config/config_vars.cc +1 -0
  37. data/src/core/config/config_vars.h +1 -0
  38. data/src/core/config/load_config.cc +3 -2
  39. data/src/core/config/load_config.h +1 -1
  40. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +4 -11
  41. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +7 -7
  42. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +1 -1
  43. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +8 -15
  44. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +6 -6
  45. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  46. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +0 -7
  47. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +6 -6
  48. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +1 -1
  49. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +1 -1
  50. data/src/core/ext/filters/http/client/http_client_filter.cc +1 -6
  51. data/src/core/ext/filters/http/client/http_client_filter.h +4 -4
  52. data/src/core/ext/filters/http/client_authority_filter.cc +6 -11
  53. data/src/core/ext/filters/http/client_authority_filter.h +6 -6
  54. data/src/core/ext/filters/http/message_compress/compression_filter.cc +18 -22
  55. data/src/core/ext/filters/http/message_compress/compression_filter.h +18 -13
  56. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -8
  57. data/src/core/ext/filters/http/server/http_server_filter.h +4 -4
  58. data/src/core/ext/filters/message_size/message_size_filter.cc +13 -25
  59. data/src/core/ext/filters/message_size/message_size_filter.h +20 -21
  60. data/src/core/ext/filters/rbac/rbac_filter.cc +0 -7
  61. data/src/core/ext/filters/rbac/rbac_filter.h +6 -6
  62. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +3 -3
  63. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +1 -6
  64. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +4 -4
  65. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +1 -1
  66. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +2 -2
  67. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -2
  68. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +4 -3
  69. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +30 -20
  70. data/src/core/ext/transport/chttp2/server/chttp2_server.h +5 -5
  71. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +1 -1
  72. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +2 -2
  73. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +4 -4
  74. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +84 -59
  75. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +7 -7
  76. data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -1
  77. data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -3
  78. data/src/core/ext/transport/chttp2/transport/frame.cc +2 -2
  79. data/src/core/ext/transport/chttp2/transport/frame.h +5 -5
  80. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +8 -8
  81. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +5 -5
  82. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +2 -2
  83. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -31
  84. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +6 -7
  85. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +3 -3
  86. data/src/core/ext/transport/chttp2/transport/http2_settings.h +2 -2
  87. data/src/core/ext/transport/chttp2/transport/internal.h +19 -8
  88. data/src/core/ext/transport/chttp2/transport/parsing.cc +14 -14
  89. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +1 -1
  90. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -2
  91. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +2 -2
  92. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +2 -2
  93. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +2 -2
  94. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +1 -39
  95. data/src/core/ext/transport/chttp2/transport/varint.cc +4 -4
  96. data/src/core/ext/transport/chttp2/transport/writing.cc +16 -22
  97. data/src/core/ext/transport/inproc/inproc_transport.cc +1 -3
  98. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +15 -10
  99. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +16 -0
  100. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +3 -2
  101. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +30 -0
  102. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +5 -3
  103. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +118 -0
  104. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +31 -6
  105. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +2 -0
  106. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +37 -7
  107. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +7 -5
  108. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +142 -0
  109. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +55 -0
  110. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +32 -0
  111. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +33 -0
  112. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +7 -4
  113. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +6 -4
  114. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +50 -47
  115. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +210 -199
  116. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +5 -0
  117. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +33 -33
  118. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +19 -17
  119. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +41 -0
  120. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +33 -0
  121. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +26 -19
  122. data/src/core/filter/blackboard.cc +2 -2
  123. data/src/core/filter/filter_args.h +2 -2
  124. data/src/core/handshaker/handshaker.cc +0 -3
  125. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +3 -5
  126. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +31 -32
  127. data/src/core/handshaker/http_connect/http_proxy_mapper.h +4 -4
  128. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +5 -5
  129. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +5 -5
  130. data/src/core/handshaker/proxy_mapper.h +4 -4
  131. data/src/core/handshaker/proxy_mapper_registry.cc +5 -6
  132. data/src/core/handshaker/proxy_mapper_registry.h +4 -4
  133. data/src/core/handshaker/security/secure_endpoint.cc +2 -2
  134. data/src/core/handshaker/security/security_handshaker.cc +3 -5
  135. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +6 -4
  136. data/src/core/lib/channel/channel_args.cc +13 -13
  137. data/src/core/lib/channel/channel_args.h +8 -8
  138. data/src/core/lib/channel/connected_channel.cc +1 -1
  139. data/src/core/lib/channel/promise_based_filter.cc +9 -9
  140. data/src/core/lib/channel/promise_based_filter.h +79 -80
  141. data/src/core/lib/compression/compression.cc +3 -2
  142. data/src/core/lib/compression/compression_internal.cc +9 -9
  143. data/src/core/lib/compression/compression_internal.h +3 -3
  144. data/src/core/lib/debug/trace_flags.cc +3 -2
  145. data/src/core/lib/debug/trace_flags.h +1 -1
  146. data/src/core/lib/event_engine/ares_resolver.cc +9 -11
  147. data/src/core/lib/event_engine/ares_resolver.h +6 -10
  148. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +2 -4
  149. data/src/core/lib/event_engine/cf_engine/cf_engine.h +2 -4
  150. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +6 -7
  151. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +2 -4
  152. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +2 -4
  153. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +3 -7
  154. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +2 -4
  155. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +5 -7
  156. data/src/core/lib/event_engine/channel_args_endpoint_config.h +6 -7
  157. data/src/core/lib/event_engine/common_closures.h +2 -4
  158. data/src/core/lib/event_engine/default_event_engine.cc +62 -33
  159. data/src/core/lib/event_engine/default_event_engine.h +24 -33
  160. data/src/core/lib/event_engine/default_event_engine_factory.cc +6 -12
  161. data/src/core/lib/event_engine/default_event_engine_factory.h +2 -4
  162. data/src/core/lib/event_engine/event_engine.cc +2 -4
  163. data/src/core/lib/event_engine/extensions/can_track_errors.h +2 -4
  164. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +2 -4
  165. data/src/core/lib/event_engine/extensions/supports_fd.h +2 -4
  166. data/src/core/lib/event_engine/extensions/tcp_trace.h +2 -4
  167. data/src/core/lib/event_engine/forkable.cc +2 -4
  168. data/src/core/lib/event_engine/forkable.h +2 -4
  169. data/src/core/lib/event_engine/grpc_polled_fd.h +2 -4
  170. data/src/core/lib/event_engine/handle_containers.h +2 -4
  171. data/src/core/lib/event_engine/memory_allocator_factory.h +2 -4
  172. data/src/core/lib/event_engine/poller.h +2 -4
  173. data/src/core/lib/event_engine/posix.h +2 -4
  174. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +4 -50
  175. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +2 -4
  176. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +4 -51
  177. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +2 -4
  178. data/src/core/lib/event_engine/posix_engine/event_poller.h +2 -4
  179. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +2 -4
  180. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +2 -4
  181. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +2 -4
  182. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +2 -4
  183. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +2 -4
  184. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +2 -4
  185. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +2 -4
  186. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +2 -4
  187. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +2 -4
  188. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +6 -10
  189. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +2 -4
  190. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +2 -4
  191. data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -4
  192. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +2 -4
  193. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +3 -5
  194. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +2 -4
  195. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +2 -4
  196. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +2 -4
  197. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +5 -6
  198. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +2 -4
  199. data/src/core/lib/event_engine/posix_engine/timer.cc +4 -6
  200. data/src/core/lib/event_engine/posix_engine/timer.h +4 -6
  201. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +2 -4
  202. data/src/core/lib/event_engine/posix_engine/timer_heap.h +2 -4
  203. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +5 -7
  204. data/src/core/lib/event_engine/posix_engine/timer_manager.h +4 -6
  205. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +4 -8
  206. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +24 -25
  207. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +2 -4
  208. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +2 -4
  209. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +2 -4
  210. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +2 -4
  211. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +2 -4
  212. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +2 -4
  213. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +2 -4
  214. data/src/core/lib/event_engine/query_extensions.h +2 -4
  215. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +2 -4
  216. data/src/core/lib/event_engine/resolved_address.cc +2 -4
  217. data/src/core/lib/event_engine/resolved_address_internal.h +2 -4
  218. data/src/core/lib/event_engine/shim.cc +2 -4
  219. data/src/core/lib/event_engine/shim.h +2 -4
  220. data/src/core/lib/event_engine/slice.cc +2 -4
  221. data/src/core/lib/event_engine/slice_buffer.cc +2 -4
  222. data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
  223. data/src/core/lib/event_engine/tcp_socket_utils.h +5 -7
  224. data/src/core/lib/event_engine/thread_local.cc +2 -4
  225. data/src/core/lib/event_engine/thread_local.h +2 -4
  226. data/src/core/lib/event_engine/thread_pool/thread_count.cc +2 -4
  227. data/src/core/lib/event_engine/thread_pool/thread_count.h +4 -18
  228. data/src/core/lib/event_engine/thread_pool/thread_pool.h +2 -4
  229. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +2 -4
  230. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +3 -5
  231. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +2 -4
  232. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +2 -4
  233. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +2 -4
  234. data/src/core/lib/event_engine/time_util.cc +2 -4
  235. data/src/core/lib/event_engine/time_util.h +2 -4
  236. data/src/core/lib/event_engine/utils.cc +2 -4
  237. data/src/core/lib/event_engine/utils.h +2 -4
  238. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +2 -4
  239. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +2 -4
  240. data/src/core/lib/event_engine/windows/iocp.cc +2 -4
  241. data/src/core/lib/event_engine/windows/iocp.h +2 -4
  242. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +2 -4
  243. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +2 -4
  244. data/src/core/lib/event_engine/windows/win_socket.cc +2 -4
  245. data/src/core/lib/event_engine/windows/win_socket.h +2 -4
  246. data/src/core/lib/event_engine/windows/windows_endpoint.cc +2 -4
  247. data/src/core/lib/event_engine/windows/windows_endpoint.h +4 -6
  248. data/src/core/lib/event_engine/windows/windows_engine.cc +2 -4
  249. data/src/core/lib/event_engine/windows/windows_engine.h +2 -4
  250. data/src/core/lib/event_engine/windows/windows_listener.cc +2 -4
  251. data/src/core/lib/event_engine/windows/windows_listener.h +2 -4
  252. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +2 -4
  253. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +2 -4
  254. data/src/core/lib/event_engine/work_queue/work_queue.h +2 -4
  255. data/src/core/lib/experiments/experiments.cc +102 -213
  256. data/src/core/lib/experiments/experiments.h +53 -89
  257. data/src/core/lib/iomgr/buffer_list.h +22 -21
  258. data/src/core/lib/iomgr/cfstream_handle.cc +0 -2
  259. data/src/core/lib/iomgr/closure.h +1 -4
  260. data/src/core/lib/iomgr/combiner.cc +0 -1
  261. data/src/core/lib/iomgr/error.cc +2 -2
  262. data/src/core/lib/iomgr/event_engine_shims/closure.cc +0 -1
  263. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +0 -2
  264. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +0 -1
  265. data/src/core/lib/iomgr/exec_ctx.cc +1 -7
  266. data/src/core/lib/iomgr/exec_ctx.h +1 -132
  267. data/src/core/lib/iomgr/executor.cc +0 -11
  268. data/src/core/lib/iomgr/resolve_address_posix.cc +0 -2
  269. data/src/core/lib/iomgr/resolve_address_windows.cc +0 -2
  270. data/src/core/lib/iomgr/socket_utils_posix.cc +3 -2
  271. data/src/core/lib/iomgr/tcp_posix.cc +3 -2
  272. data/src/core/lib/iomgr/tcp_server_posix.cc +1 -3
  273. data/src/core/lib/iomgr/tcp_server_windows.cc +0 -1
  274. data/src/core/lib/iomgr/timer_manager.cc +1 -9
  275. data/src/core/lib/promise/activity.h +4 -4
  276. data/src/core/lib/promise/detail/join_state.h +16 -68
  277. data/src/core/lib/promise/detail/promise_factory.h +85 -25
  278. data/src/core/lib/promise/detail/promise_like.h +16 -19
  279. data/src/core/lib/promise/detail/seq_state.h +102 -315
  280. data/src/core/lib/promise/for_each.h +14 -5
  281. data/src/core/lib/promise/if.h +48 -20
  282. data/src/core/lib/promise/interceptor_list.h +9 -9
  283. data/src/core/lib/promise/latch.h +14 -6
  284. data/src/core/lib/promise/loop.h +58 -18
  285. data/src/core/lib/promise/map.h +103 -49
  286. data/src/core/lib/promise/party.cc +48 -14
  287. data/src/core/lib/promise/party.h +216 -27
  288. data/src/core/lib/promise/pipe.h +12 -12
  289. data/src/core/lib/promise/poll.h +8 -5
  290. data/src/core/lib/promise/prioritized_race.h +16 -22
  291. data/src/core/lib/promise/promise.h +2 -3
  292. data/src/core/lib/promise/race.h +4 -12
  293. data/src/core/lib/promise/seq.h +41 -6
  294. data/src/core/lib/promise/sleep.cc +3 -3
  295. data/src/core/lib/promise/sleep.h +14 -1
  296. data/src/core/lib/promise/status_flag.h +9 -3
  297. data/src/core/lib/promise/try_join.h +119 -5
  298. data/src/core/lib/promise/try_seq.h +39 -12
  299. data/src/core/lib/resource_quota/arena.h +79 -0
  300. data/src/core/lib/resource_quota/memory_quota.cc +53 -49
  301. data/src/core/lib/resource_quota/memory_quota.h +4 -4
  302. data/src/core/lib/security/authorization/evaluate_args.cc +3 -3
  303. data/src/core/lib/security/authorization/evaluate_args.h +3 -3
  304. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +0 -7
  305. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +6 -6
  306. data/src/core/lib/security/authorization/matchers.h +3 -3
  307. data/src/core/lib/security/authorization/rbac_policy.cc +1 -1
  308. data/src/core/lib/security/authorization/rbac_policy.h +3 -3
  309. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +1 -2
  310. data/src/core/lib/security/credentials/external/external_account_credentials.cc +1 -3
  311. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
  312. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -1
  313. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +2 -2
  314. data/src/core/lib/security/credentials/iam/iam_credentials.cc +1 -1
  315. data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
  316. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +1 -2
  317. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
  318. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -1
  319. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +4 -4
  320. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +3 -3
  321. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -1
  322. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +2 -2
  323. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +12 -13
  324. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +14 -14
  325. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +23 -15
  326. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +3 -3
  327. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +0 -1
  328. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +1 -2
  329. data/src/core/lib/security/credentials/tls/tls_credentials.cc +2 -2
  330. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +4 -5
  331. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +4 -4
  332. data/src/core/lib/security/credentials/xds/xds_credentials.cc +2 -1
  333. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -1
  334. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +3 -3
  335. data/src/core/lib/security/security_connector/local/local_security_connector.cc +1 -1
  336. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +9 -9
  337. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +13 -13
  338. data/src/core/lib/security/transport/auth_filters.h +95 -7
  339. data/src/core/lib/security/transport/client_auth_filter.cc +96 -6
  340. data/src/core/lib/security/transport/server_auth_filter.cc +0 -8
  341. data/src/core/lib/slice/slice_buffer.cc +2 -2
  342. data/src/core/lib/slice/slice_buffer.h +2 -2
  343. data/src/core/lib/surface/call.cc +0 -4
  344. data/src/core/lib/surface/call.h +4 -3
  345. data/src/core/lib/surface/call_utils.cc +2 -2
  346. data/src/core/lib/surface/call_utils.h +8 -4
  347. data/src/core/lib/surface/channel.cc +6 -14
  348. data/src/core/lib/surface/channel.h +3 -3
  349. data/src/core/lib/surface/channel_init.cc +1 -1
  350. data/src/core/lib/surface/client_call.cc +13 -6
  351. data/src/core/lib/surface/client_call.h +2 -2
  352. data/src/core/lib/surface/completion_queue.cc +10 -49
  353. data/src/core/lib/surface/filter_stack_call.cc +2 -4
  354. data/src/core/lib/surface/filter_stack_call.h +1 -1
  355. data/src/core/lib/surface/init.cc +17 -12
  356. data/src/core/lib/surface/legacy_channel.cc +10 -8
  357. data/src/core/lib/surface/legacy_channel.h +2 -2
  358. data/src/core/lib/surface/server_call.cc +23 -6
  359. data/src/core/lib/surface/server_call.h +2 -0
  360. data/src/core/lib/surface/version.cc +2 -2
  361. data/src/core/lib/transport/call_filters.h +100 -59
  362. data/src/core/lib/transport/call_spine.cc +32 -34
  363. data/src/core/lib/transport/call_spine.h +66 -23
  364. data/src/core/lib/transport/call_state.h +8 -8
  365. data/src/core/lib/transport/connectivity_state.cc +8 -9
  366. data/src/core/lib/transport/connectivity_state.h +2 -4
  367. data/src/core/lib/transport/http2_errors.h +5 -3
  368. data/src/core/lib/transport/interception_chain.h +27 -7
  369. data/src/core/lib/transport/metadata.h +88 -0
  370. data/src/core/lib/transport/metadata_batch.cc +2 -2
  371. data/src/core/lib/transport/metadata_batch.h +79 -18
  372. data/src/core/lib/transport/timeout_encoding.cc +15 -15
  373. data/src/core/lib/transport/timeout_encoding.h +3 -2
  374. data/src/core/lib/transport/transport.cc +0 -1
  375. data/src/core/lib/transport/transport.h +12 -7
  376. data/src/core/load_balancing/backend_metric_parser.cc +21 -28
  377. data/src/core/load_balancing/endpoint_list.cc +1 -1
  378. data/src/core/load_balancing/endpoint_list.h +7 -7
  379. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -6
  380. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +4 -4
  381. data/src/core/load_balancing/grpclb/grpclb.cc +21 -38
  382. data/src/core/load_balancing/health_check_client.cc +16 -48
  383. data/src/core/load_balancing/health_check_client_internal.h +7 -7
  384. data/src/core/load_balancing/lb_policy.cc +4 -6
  385. data/src/core/load_balancing/lb_policy.h +4 -4
  386. data/src/core/load_balancing/lb_policy_registry.cc +10 -8
  387. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +57 -68
  388. data/src/core/load_balancing/outlier_detection/outlier_detection.h +4 -3
  389. data/src/core/load_balancing/pick_first/pick_first.cc +21 -21
  390. data/src/core/load_balancing/priority/priority.cc +8 -13
  391. data/src/core/load_balancing/ring_hash/ring_hash.cc +54 -90
  392. data/src/core/load_balancing/rls/rls.cc +105 -194
  393. data/src/core/load_balancing/rls/rls.h +97 -1
  394. data/src/core/load_balancing/round_robin/round_robin.cc +5 -5
  395. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +4 -4
  396. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +2 -2
  397. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +8 -14
  398. data/src/core/load_balancing/weighted_target/weighted_target.cc +7 -15
  399. data/src/core/load_balancing/xds/cds.cc +11 -15
  400. data/src/core/load_balancing/xds/xds_cluster_impl.cc +15 -18
  401. data/src/core/load_balancing/xds/xds_cluster_manager.cc +10 -18
  402. data/src/core/load_balancing/xds/xds_override_host.cc +45 -92
  403. data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
  404. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +7 -7
  405. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +10 -15
  406. data/src/core/resolver/dns/native/dns_resolver.cc +1 -1
  407. data/src/core/resolver/fake/fake_resolver.cc +10 -11
  408. data/src/core/resolver/fake/fake_resolver.h +2 -2
  409. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +9 -12
  410. data/src/core/resolver/polling_resolver.cc +2 -5
  411. data/src/core/resolver/polling_resolver.h +3 -3
  412. data/src/core/resolver/resolver_registry.cc +4 -3
  413. data/src/core/resolver/xds/xds_config.cc +6 -6
  414. data/src/core/resolver/xds/xds_config.h +2 -2
  415. data/src/core/resolver/xds/xds_dependency_manager.cc +80 -77
  416. data/src/core/resolver/xds/xds_dependency_manager.h +4 -0
  417. data/src/core/resolver/xds/xds_resolver.cc +53 -75
  418. data/src/core/server/server.cc +71 -79
  419. data/src/core/server/server.h +16 -5
  420. data/src/core/server/server_call_tracer_filter.cc +3 -7
  421. data/src/core/server/server_config_selector_filter.cc +8 -15
  422. data/src/core/server/xds_server_config_fetcher.cc +16 -18
  423. data/src/core/service_config/service_config_channel_arg_filter.cc +7 -19
  424. data/src/core/service_config/service_config_impl.cc +3 -3
  425. data/src/core/telemetry/call_tracer.cc +8 -8
  426. data/src/core/telemetry/call_tracer.h +6 -5
  427. data/src/core/telemetry/metrics.cc +3 -3
  428. data/src/core/telemetry/metrics.h +2 -8
  429. data/src/core/telemetry/tcp_tracer.h +32 -32
  430. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +2 -2
  431. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +14 -14
  432. data/src/core/tsi/fake_transport_security.cc +5 -0
  433. data/src/core/util/dump_args.h +1 -9
  434. data/src/core/util/env.h +3 -4
  435. data/src/core/util/examine_stack.cc +2 -2
  436. data/src/core/util/examine_stack.h +3 -4
  437. data/src/core/util/gpr_time.cc +0 -2
  438. data/src/core/util/http_client/httpcli.cc +4 -5
  439. data/src/core/util/http_client/httpcli.h +4 -4
  440. data/src/core/util/http_client/httpcli_security_connector.cc +2 -2
  441. data/src/core/util/json/json_channel_args.h +2 -1
  442. data/src/core/util/json/json_object_loader.cc +4 -4
  443. data/src/core/util/json/json_object_loader.h +12 -12
  444. data/src/core/util/json/json_reader.cc +4 -4
  445. data/src/core/util/json/json_writer.cc +3 -3
  446. data/src/core/util/latent_see.cc +3 -3
  447. data/src/core/util/latent_see.h +2 -2
  448. data/src/core/util/linux/env.cc +3 -4
  449. data/src/core/util/lru_cache.h +4 -4
  450. data/src/core/util/match.h +7 -7
  451. data/src/core/util/matchers.cc +1 -2
  452. data/src/core/util/matchers.h +2 -2
  453. data/src/core/util/posix/env.cc +2 -2
  454. data/src/core/util/posix/sync.cc +0 -1
  455. data/src/core/util/posix/time.cc +0 -1
  456. data/src/core/util/ring_buffer.h +4 -5
  457. data/src/core/util/status_helper.cc +16 -20
  458. data/src/core/util/status_helper.h +5 -5
  459. data/src/core/util/sync_abseil.cc +0 -1
  460. data/src/core/util/table.h +6 -21
  461. data/src/core/util/time.cc +1 -1
  462. data/src/core/util/time.h +3 -3
  463. data/src/core/util/time_precise.cc +0 -1
  464. data/src/core/util/type_list.h +56 -0
  465. data/src/core/util/uri.cc +6 -4
  466. data/src/core/util/uri.h +7 -0
  467. data/src/core/util/useful.h +4 -4
  468. data/src/core/util/validation_errors.cc +5 -5
  469. data/src/core/util/wait_for_single_owner.h +62 -0
  470. data/src/core/util/windows/env.cc +3 -3
  471. data/src/core/util/windows/sync.cc +0 -1
  472. data/src/core/util/windows/time.cc +0 -1
  473. data/src/core/util/work_serializer.cc +27 -267
  474. data/src/core/util/work_serializer.h +3 -27
  475. data/src/core/xds/grpc/certificate_provider_store.cc +12 -17
  476. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +2 -2
  477. data/src/core/xds/grpc/xds_audit_logger_registry.cc +1 -1
  478. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +11 -14
  479. data/src/core/xds/grpc/xds_bootstrap_grpc.h +2 -2
  480. data/src/core/xds/grpc/xds_certificate_provider.cc +15 -15
  481. data/src/core/xds/grpc/xds_client_grpc.cc +7 -8
  482. data/src/core/xds/grpc/xds_cluster.h +4 -4
  483. data/src/core/xds/grpc/xds_cluster_parser.cc +26 -26
  484. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +4 -4
  485. data/src/core/xds/grpc/xds_common_types.cc +2 -2
  486. data/src/core/xds/grpc/xds_common_types.h +4 -4
  487. data/src/core/xds/grpc/xds_common_types_parser.cc +29 -31
  488. data/src/core/xds/grpc/xds_common_types_parser.h +8 -7
  489. data/src/core/xds/grpc/xds_endpoint.cc +3 -4
  490. data/src/core/xds/grpc/xds_endpoint_parser.cc +14 -14
  491. data/src/core/xds/grpc/xds_health_status.cc +4 -4
  492. data/src/core/xds/grpc/xds_health_status.h +4 -3
  493. data/src/core/xds/grpc/xds_http_fault_filter.cc +18 -20
  494. data/src/core/xds/grpc/xds_http_fault_filter.h +4 -3
  495. data/src/core/xds/grpc/xds_http_filter.h +3 -3
  496. data/src/core/xds/grpc/xds_http_filter_registry.cc +7 -7
  497. data/src/core/xds/grpc/xds_http_filter_registry.h +3 -3
  498. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +7 -7
  499. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +4 -3
  500. data/src/core/xds/grpc/xds_http_rbac_filter.cc +30 -23
  501. data/src/core/xds/grpc/xds_http_rbac_filter.h +4 -3
  502. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +10 -10
  503. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +4 -3
  504. data/src/core/xds/grpc/xds_lb_policy_registry.cc +4 -4
  505. data/src/core/xds/grpc/xds_listener.cc +4 -6
  506. data/src/core/xds/grpc/xds_listener.h +10 -10
  507. data/src/core/xds/grpc/xds_listener_parser.cc +58 -51
  508. data/src/core/xds/grpc/xds_listener_parser.h +2 -1
  509. data/src/core/xds/grpc/xds_metadata.cc +5 -5
  510. data/src/core/xds/grpc/xds_metadata_parser.cc +65 -52
  511. data/src/core/xds/grpc/xds_route_config.cc +9 -15
  512. data/src/core/xds/grpc/xds_route_config.h +9 -9
  513. data/src/core/xds/grpc/xds_route_config_parser.cc +114 -116
  514. data/src/core/xds/grpc/xds_route_config_parser.h +4 -4
  515. data/src/core/xds/grpc/xds_routing.cc +6 -6
  516. data/src/core/xds/grpc/xds_routing.h +5 -5
  517. data/src/core/xds/grpc/xds_server_grpc.cc +22 -1
  518. data/src/core/xds/grpc/xds_server_grpc.h +5 -2
  519. data/src/core/xds/grpc/xds_server_grpc_interface.h +33 -0
  520. data/src/core/xds/grpc/xds_transport_grpc.cc +5 -6
  521. data/src/core/xds/xds_client/lrs_client.cc +71 -83
  522. data/src/core/xds/xds_client/lrs_client.h +8 -8
  523. data/src/core/xds/xds_client/xds_api.cc +5 -5
  524. data/src/core/xds/xds_client/xds_bootstrap.cc +11 -1
  525. data/src/core/xds/xds_client/xds_bootstrap.h +7 -0
  526. data/src/core/xds/xds_client/xds_client.cc +552 -359
  527. data/src/core/xds/xds_client/xds_client.h +39 -14
  528. data/src/core/xds/xds_client/xds_resource_type.h +2 -3
  529. data/src/core/xds/xds_client/xds_resource_type_impl.h +3 -3
  530. data/src/ruby/lib/grpc/version.rb +1 -1
  531. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +13 -55
  532. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.cc +13 -55
  533. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +13 -55
  534. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +13 -55
  535. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.cc +17 -59
  536. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +13 -55
  537. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +13 -55
  538. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +13 -55
  539. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +13 -55
  540. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.cc +13 -55
  541. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.cc +13 -55
  542. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +13 -55
  543. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.cc +41 -76
  544. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +13 -55
  545. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.cc +17 -91
  546. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +13 -55
  547. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.cc +13 -55
  548. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +13 -55
  549. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.cc +13 -55
  550. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.cc +13 -55
  551. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +13 -57
  552. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +13 -13
  553. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +13 -55
  554. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +13 -55
  555. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +13 -55
  556. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +13 -55
  557. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +13 -55
  558. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +13 -55
  559. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +13 -55
  560. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +13 -13
  561. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +13 -55
  562. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +13 -55
  563. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +16 -57
  564. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.cc +13 -55
  565. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.cc +14 -56
  566. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +14 -56
  567. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.cc +18 -58
  568. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +13 -55
  569. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +15 -51
  570. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +17 -60
  571. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +13 -55
  572. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +13 -13
  573. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +13 -13
  574. data/third_party/boringssl-with-bazel/src/crypto/{bn_extra → bn}/bn_asn1.cc +13 -13
  575. data/third_party/boringssl-with-bazel/src/crypto/{bn_extra → bn}/convert.cc +13 -55
  576. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +14 -57
  577. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +13 -13
  578. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +13 -13
  579. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +13 -13
  580. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +23 -15
  581. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +13 -13
  582. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +13 -13
  583. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +13 -13
  584. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +18 -18
  585. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +110 -0
  586. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_aesctrhmac.cc +18 -23
  587. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_aesgcmsiv.cc +20 -13
  588. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_chacha20poly1305.cc +13 -13
  589. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_des.cc +13 -55
  590. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_null.cc +51 -0
  591. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_rc2.cc +27 -69
  592. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc4.cc +54 -0
  593. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_tls.cc +13 -13
  594. data/third_party/boringssl-with-bazel/src/crypto/cipher/get_cipher.cc +85 -0
  595. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/internal.h +29 -69
  596. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/tls_cbc.cc +13 -51
  597. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +14 -58
  598. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +13 -13
  599. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +13 -13
  600. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +13 -13
  601. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +13 -13
  602. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +13 -13
  603. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +13 -13
  604. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +14 -14
  605. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +13 -13
  606. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +13 -13
  607. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +13 -13
  608. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +13 -67
  609. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +14 -14
  610. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +13 -13
  611. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +13 -13
  612. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +13 -13
  613. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +13 -13
  614. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +15 -13
  615. data/third_party/boringssl-with-bazel/src/crypto/des/des.cc +13 -55
  616. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +27 -69
  617. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +124 -0
  618. data/third_party/boringssl-with-bazel/src/crypto/{dh_extra → dh}/params.cc +13 -51
  619. data/third_party/boringssl-with-bazel/src/crypto/{digest_extra → digest}/digest_extra.cc +13 -55
  620. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +13 -58
  621. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +13 -53
  622. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +13 -13
  623. data/third_party/boringssl-with-bazel/src/crypto/{ec_extra → ec}/ec_asn1.cc +24 -61
  624. data/third_party/boringssl-with-bazel/src/crypto/{ec_extra → ec}/ec_derive.cc +13 -13
  625. data/third_party/boringssl-with-bazel/src/crypto/{ec_extra → ec}/hash_to_curve.cc +14 -14
  626. data/third_party/boringssl-with-bazel/src/crypto/{ec_extra → ec}/internal.h +13 -13
  627. data/third_party/boringssl-with-bazel/src/crypto/ecdh/ecdh.cc +73 -0
  628. data/third_party/boringssl-with-bazel/src/crypto/{ecdsa_extra → ecdsa}/ecdsa_asn1.cc +17 -61
  629. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +13 -13
  630. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +17 -107
  631. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +13 -13
  632. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +29 -79
  633. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +122 -198
  634. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +13 -55
  635. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +13 -55
  636. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +15 -8
  637. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +13 -8
  638. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +56 -110
  639. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +13 -54
  640. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +20 -66
  641. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +13 -13
  642. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +13 -13
  643. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +13 -13
  644. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +19 -57
  645. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +13 -54
  646. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +13 -13
  647. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +13 -13
  648. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +29 -77
  649. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +13 -51
  650. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +13 -8
  651. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +13 -55
  652. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +13 -107
  653. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +112 -48
  654. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +13 -13
  655. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes → aes}/cbc.cc.inc +13 -47
  656. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes → aes}/cfb.cc.inc +13 -47
  657. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ctr.cc.inc +100 -0
  658. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes → aes}/gcm.cc.inc +127 -314
  659. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes → aes}/gcm_nohw.cc.inc +13 -13
  660. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +419 -66
  661. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +13 -47
  662. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +13 -53
  663. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ofb.cc.inc +53 -0
  664. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes → aes}/polyval.cc.inc +13 -13
  665. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +28 -20
  666. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +501 -14
  667. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +13 -55
  668. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +15 -2
  669. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +13 -55
  670. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.cc.inc +13 -55
  671. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.cc.inc +13 -55
  672. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +16 -57
  673. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +13 -55
  674. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +13 -13
  675. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +16 -109
  676. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +13 -107
  677. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +13 -13
  678. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.cc.inc +13 -55
  679. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +25 -134
  680. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +13 -51
  681. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +14 -109
  682. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc +13 -13
  683. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +13 -55
  684. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +13 -107
  685. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +13 -107
  686. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc +18 -13
  687. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +20 -17
  688. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +13 -55
  689. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +13 -53
  690. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +13 -13
  691. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +14 -56
  692. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +69 -283
  693. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc +21 -58
  694. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +14 -65
  695. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +13 -47
  696. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +13 -13
  697. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +13 -55
  698. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +13 -55
  699. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +13 -13
  700. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +13 -55
  701. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +13 -55
  702. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +13 -55
  703. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +13 -47
  704. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +13 -54
  705. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +91 -91
  706. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +14 -66
  707. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +14 -72
  708. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc +14 -66
  709. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +13 -13
  710. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +19 -66
  711. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +14 -66
  712. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +13 -13
  713. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +15 -10
  714. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +22 -17
  715. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +22 -17
  716. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +13 -13
  717. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +13 -13
  718. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +21 -15
  719. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +14 -66
  720. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +13 -13
  721. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +13 -13
  722. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +14 -66
  723. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +14 -65
  724. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +13 -51
  725. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +13 -13
  726. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +13 -13
  727. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +13 -13
  728. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +13 -55
  729. data/third_party/boringssl-with-bazel/src/crypto/{keccak → fipsmodule/keccak}/internal.h +13 -13
  730. data/third_party/boringssl-with-bazel/src/crypto/{keccak/keccak.cc → fipsmodule/keccak/keccak.cc.inc} +14 -14
  731. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +1993 -0
  732. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +1165 -0
  733. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +18 -25
  734. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +18 -24
  735. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +15 -13
  736. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +14 -109
  737. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +13 -56
  738. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +13 -54
  739. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +18 -77
  740. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +38 -90
  741. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +13 -13
  742. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +13 -13
  743. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +34 -34
  744. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +13 -13
  745. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +44 -56
  746. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +13 -55
  747. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +13 -55
  748. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +13 -55
  749. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa → fipsmodule/slhdsa}/address.h +28 -32
  750. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa/fors.cc → fipsmodule/slhdsa/fors.cc.inc} +44 -44
  751. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.h +58 -0
  752. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa/merkle.cc → fipsmodule/slhdsa/merkle.cc.inc} +46 -46
  753. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.h +70 -0
  754. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa → fipsmodule/slhdsa}/params.h +20 -25
  755. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +329 -0
  756. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.cc.inc +173 -0
  757. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.h +85 -0
  758. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa/wots.cc → fipsmodule/slhdsa/wots.cc.inc} +46 -46
  759. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.h +50 -0
  760. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +13 -13
  761. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.cc.inc +13 -51
  762. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +13 -13
  763. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +21 -13
  764. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +13 -13
  765. data/third_party/boringssl-with-bazel/src/crypto/internal.h +62 -205
  766. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +13 -13
  767. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +52 -28
  768. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +31 -75
  769. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +13 -55
  770. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +13 -55
  771. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +13 -13
  772. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +13 -55
  773. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +13 -55
  774. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +47 -1747
  775. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +97 -1042
  776. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +13 -55
  777. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +14 -56
  778. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.cc +13 -55
  779. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +44 -0
  780. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.cc +13 -107
  781. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +18 -58
  782. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +56 -103
  783. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +13 -55
  784. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +13 -55
  785. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +13 -55
  786. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.cc +13 -55
  787. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.cc +13 -55
  788. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +13 -13
  789. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +13 -13
  790. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +15 -13
  791. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +13 -54
  792. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +13 -54
  793. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +13 -54
  794. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +13 -54
  795. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +13 -13
  796. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +13 -13
  797. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +13 -13
  798. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +13 -13
  799. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +13 -13
  800. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +13 -13
  801. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/deterministic.cc +13 -13
  802. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/fork_detect.cc +13 -13
  803. data/third_party/boringssl-with-bazel/src/crypto/rand/forkunsafe.cc +44 -0
  804. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/getentropy.cc +13 -13
  805. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/getrandom_fillin.h +13 -13
  806. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +42 -0
  807. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/passive.cc +13 -13
  808. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra/rand_extra.cc → rand/rand.cc} +13 -13
  809. data/third_party/boringssl-with-bazel/src/crypto/rand/sysrand_internal.h +37 -0
  810. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +46 -0
  811. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/urandom.cc +13 -13
  812. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/windows.cc +13 -13
  813. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.cc +13 -55
  814. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +13 -13
  815. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +36 -0
  816. data/third_party/boringssl-with-bazel/src/crypto/{rsa_extra → rsa}/rsa_asn1.cc +13 -54
  817. data/third_party/boringssl-with-bazel/src/crypto/{rsa_extra → rsa}/rsa_crypt.cc +13 -55
  818. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_extra.cc +19 -0
  819. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_print.cc +27 -0
  820. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +13 -13
  821. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +13 -13
  822. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +13 -13
  823. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +13 -13
  824. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +62 -256
  825. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +204 -0
  826. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/spake2plus.cc +501 -0
  827. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +13 -55
  828. data/third_party/boringssl-with-bazel/src/crypto/thread.cc +13 -55
  829. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +13 -13
  830. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +13 -13
  831. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +13 -13
  832. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +13 -13
  833. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +14 -14
  834. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +14 -14
  835. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +14 -14
  836. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +13 -55
  837. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +13 -55
  838. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +13 -55
  839. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +13 -55
  840. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +14 -56
  841. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +25 -71
  842. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.cc +13 -55
  843. data/third_party/boringssl-with-bazel/src/crypto/x509/ext_dat.h +13 -55
  844. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.cc +13 -55
  845. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +13 -57
  846. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.cc +13 -55
  847. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +13 -13
  848. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +13 -54
  849. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.cc +13 -55
  850. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.cc +13 -55
  851. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.cc +13 -55
  852. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.cc +13 -55
  853. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +13 -55
  854. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.cc +13 -55
  855. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +13 -54
  856. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +13 -55
  857. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +13 -55
  858. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +13 -55
  859. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +13 -57
  860. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +13 -55
  861. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +13 -55
  862. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +13 -55
  863. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +13 -55
  864. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +13 -57
  865. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +17 -66
  866. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +13 -55
  867. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +14 -57
  868. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +13 -54
  869. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +13 -8
  870. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +13 -54
  871. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +13 -54
  872. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +13 -55
  873. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +13 -55
  874. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +13 -55
  875. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +17 -70
  876. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.cc +13 -55
  877. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +13 -55
  878. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.cc +13 -55
  879. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.cc +13 -55
  880. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.cc +13 -55
  881. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.cc +13 -55
  882. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +14 -60
  883. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.cc +13 -55
  884. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.cc +13 -55
  885. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.cc +13 -55
  886. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.cc +13 -55
  887. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.cc +13 -55
  888. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +13 -55
  889. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +13 -55
  890. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +13 -55
  891. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.cc +13 -55
  892. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.cc +13 -55
  893. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.cc +13 -55
  894. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +13 -55
  895. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +13 -55
  896. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +13 -55
  897. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.cc +13 -55
  898. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +13 -55
  899. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.cc +13 -55
  900. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +13 -55
  901. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +13 -55
  902. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.cc +13 -55
  903. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.cc +13 -55
  904. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.cc +13 -58
  905. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.cc +13 -55
  906. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +13 -55
  907. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +13 -55
  908. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +465 -451
  909. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -13
  910. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +13 -47
  911. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +13 -51
  912. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +14 -14
  913. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +23 -62
  914. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +13 -13
  915. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +14 -56
  916. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +15 -53
  917. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +13 -55
  918. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +13 -13
  919. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +13 -55
  920. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +13 -13
  921. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +13 -55
  922. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -121
  923. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +13 -55
  924. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +13 -13
  925. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +31 -16
  926. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +13 -55
  927. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +13 -13
  928. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +31 -59
  929. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +13 -13
  930. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +13 -55
  931. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +13 -13
  932. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +13 -13
  933. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +13 -13
  934. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +13 -13
  935. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +13 -55
  936. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +13 -55
  937. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +13 -55
  938. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +13 -58
  939. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +13 -13
  940. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +13 -13
  941. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +14 -66
  942. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +14 -71
  943. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +14 -65
  944. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +13 -51
  945. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +13 -13
  946. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +13 -107
  947. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +13 -55
  948. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +13 -55
  949. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +13 -107
  950. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +13 -13
  951. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +13 -13
  952. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +13 -55
  953. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +13 -13
  954. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +13 -13
  955. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +13 -13
  956. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +13 -13
  957. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +13 -55
  958. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +13 -55
  959. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +13 -55
  960. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +13 -55
  961. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +13 -19
  962. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +13 -37
  963. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +27 -69
  964. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +13 -55
  965. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +13 -13
  966. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +13 -13
  967. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +13 -13
  968. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +13 -13
  969. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +13 -13
  970. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +22 -60
  971. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +13 -13
  972. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +13 -13
  973. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +13 -55
  974. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +13 -13
  975. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +13 -13
  976. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +13 -13
  977. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -13
  978. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +13 -55
  979. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +13 -55
  980. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +13 -58
  981. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +13 -13
  982. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +13 -13
  983. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +13 -55
  984. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +13 -13
  985. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +54 -13
  986. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +19 -32
  987. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +13 -13
  988. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +198 -174
  989. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +14 -114
  990. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +13 -55
  991. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +23 -13
  992. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +13 -55
  993. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +13 -13
  994. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +27 -156
  995. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +15 -15
  996. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +13 -55
  997. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +14 -61
  998. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +13 -13
  999. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +13 -13
  1000. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +13 -53
  1001. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +13 -8
  1002. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +15 -114
  1003. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +13 -55
  1004. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +13 -110
  1005. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +17 -115
  1006. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +13 -55
  1007. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +16 -115
  1008. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +32 -34
  1009. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +314 -132
  1010. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +19 -16
  1011. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +23 -123
  1012. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +55 -174
  1013. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +26 -157
  1014. data/third_party/boringssl-with-bazel/src/ssl/internal.h +104 -240
  1015. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +22 -120
  1016. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +16 -148
  1017. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +16 -110
  1018. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +16 -16
  1019. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +14 -81
  1020. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +15 -20
  1021. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +14 -113
  1022. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +19 -145
  1023. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +164 -37
  1024. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +13 -109
  1025. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +15 -17
  1026. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +51 -184
  1027. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +23 -67
  1028. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +25 -144
  1029. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +14 -82
  1030. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +20 -143
  1031. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +15 -15
  1032. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +15 -139
  1033. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +28 -156
  1034. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +16 -16
  1035. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +91 -43
  1036. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +68 -80
  1037. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +154 -52
  1038. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +13 -55
  1039. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +15 -109
  1040. metadata +75 -66
  1041. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.cc +0 -127
  1042. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.cc +0 -152
  1043. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.cc +0 -93
  1044. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.cc +0 -96
  1045. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.cc +0 -165
  1046. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.cc +0 -124
  1047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.cc.inc +0 -196
  1048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -448
  1049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.cc.inc +0 -87
  1050. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +0 -76
  1051. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +0 -90
  1052. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.cc +0 -44
  1053. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.cc +0 -42
  1054. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +0 -37
  1055. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.cc +0 -46
  1056. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +0 -79
  1057. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_extra.cc +0 -17
  1058. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.cc +0 -22
  1059. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.h +0 -58
  1060. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/internal.h +0 -63
  1061. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.h +0 -70
  1062. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.cc +0 -173
  1063. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.h +0 -85
  1064. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.h +0 -50
@@ -1,16 +1,16 @@
1
- /* Copyright 2017 The BoringSSL Authors
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
1
+ // Copyright 2017 The BoringSSL Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
14
 
15
15
  #include <openssl/aead.h>
16
16
 
@@ -21,6 +21,7 @@
21
21
  #include <openssl/err.h>
22
22
  #include <openssl/sha.h>
23
23
 
24
+ #include "../fipsmodule/aes/internal.h"
24
25
  #include "../fipsmodule/cipher/internal.h"
25
26
 
26
27
 
@@ -154,7 +155,7 @@ static void aead_aes_ctr_hmac_sha256_crypt(
154
155
  const struct aead_aes_ctr_hmac_sha256_ctx *aes_ctx, uint8_t *out,
155
156
  const uint8_t *in, size_t len, const uint8_t *nonce) {
156
157
  // Since the AEAD operation is one-shot, keeping a buffer of unused keystream
157
- // bytes is pointless. However, |CRYPTO_ctr128_encrypt| requires it.
158
+ // bytes is pointless. However, |CRYPTO_ctr128_encrypt_ctr32| requires it.
158
159
  uint8_t partial_block_buffer[AES_BLOCK_SIZE];
159
160
  unsigned partial_block_offset = 0;
160
161
  OPENSSL_memset(partial_block_buffer, 0, sizeof(partial_block_buffer));
@@ -163,15 +164,9 @@ static void aead_aes_ctr_hmac_sha256_crypt(
163
164
  OPENSSL_memcpy(counter, nonce, EVP_AEAD_AES_CTR_HMAC_SHA256_NONCE_LEN);
164
165
  OPENSSL_memset(counter + EVP_AEAD_AES_CTR_HMAC_SHA256_NONCE_LEN, 0, 4);
165
166
 
166
- if (aes_ctx->ctr) {
167
- CRYPTO_ctr128_encrypt_ctr32(in, out, len, &aes_ctx->ks.ks, counter,
168
- partial_block_buffer, &partial_block_offset,
169
- aes_ctx->ctr);
170
- } else {
171
- CRYPTO_ctr128_encrypt(in, out, len, &aes_ctx->ks.ks, counter,
172
- partial_block_buffer, &partial_block_offset,
173
- aes_ctx->block);
174
- }
167
+ CRYPTO_ctr128_encrypt_ctr32(in, out, len, &aes_ctx->ks.ks, counter,
168
+ partial_block_buffer, &partial_block_offset,
169
+ aes_ctx->ctr);
175
170
  }
176
171
 
177
172
  static int aead_aes_ctr_hmac_sha256_seal_scatter(
@@ -1,16 +1,16 @@
1
- /* Copyright 2017 The BoringSSL Authors
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
1
+ // Copyright 2017 The BoringSSL Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
14
 
15
15
  #include <openssl/aead.h>
16
16
 
@@ -20,6 +20,7 @@
20
20
  #include <openssl/crypto.h>
21
21
  #include <openssl/err.h>
22
22
 
23
+ #include "../fipsmodule/aes/internal.h"
23
24
  #include "../fipsmodule/cipher/internal.h"
24
25
  #include "../internal.h"
25
26
 
@@ -35,10 +36,12 @@
35
36
 
36
37
  // Optimised AES-GCM-SIV
37
38
 
39
+ namespace {
38
40
  struct aead_aes_gcm_siv_asm_ctx {
39
41
  alignas(16) uint8_t key[16 * 15];
40
42
  int is_128_bit;
41
43
  };
44
+ } // namespace
42
45
 
43
46
  // The assembly code assumes 8-byte alignment of the EVP_AEAD_CTX's state, and
44
47
  // aligns to 16 bytes itself.
@@ -532,6 +535,7 @@ static const EVP_AEAD aead_aes_256_gcm_siv_asm = {
532
535
 
533
536
  #endif // X86_64 && !NO_ASM && !WINDOWS
534
537
 
538
+ namespace {
535
539
  struct aead_aes_gcm_siv_ctx {
536
540
  union {
537
541
  double align;
@@ -540,6 +544,7 @@ struct aead_aes_gcm_siv_ctx {
540
544
  block128_f kgk_block;
541
545
  unsigned is_256 : 1;
542
546
  };
547
+ } // namespace
543
548
 
544
549
  static_assert(sizeof(((EVP_AEAD_CTX *)NULL)->state) >=
545
550
  sizeof(struct aead_aes_gcm_siv_ctx),
@@ -650,6 +655,7 @@ static void gcm_siv_polyval(
650
655
  out_tag[15] &= 0x7f;
651
656
  }
652
657
 
658
+ namespace {
653
659
  // gcm_siv_record_keys contains the keys used for a specific GCM-SIV record.
654
660
  struct gcm_siv_record_keys {
655
661
  uint8_t auth_key[16];
@@ -659,6 +665,7 @@ struct gcm_siv_record_keys {
659
665
  } enc_key;
660
666
  block128_f enc_block;
661
667
  };
668
+ } // namespace
662
669
 
663
670
  // gcm_siv_keys calculates the keys for a specific GCM-SIV record with the
664
671
  // given nonce and writes them to |*out_keys|.
@@ -1,16 +1,16 @@
1
- /* Copyright 2014 The BoringSSL Authors
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
1
+ // Copyright 2014 The BoringSSL Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
14
 
15
15
  #include <openssl/aead.h>
16
16
 
@@ -1,58 +1,16 @@
1
- /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
2
- * All rights reserved.
3
- *
4
- * This package is an SSL implementation written
5
- * by Eric Young (eay@cryptsoft.com).
6
- * The implementation was written so as to conform with Netscapes SSL.
7
- *
8
- * This library is free for commercial and non-commercial use as long as
9
- * the following conditions are aheared to. The following conditions
10
- * apply to all code found in this distribution, be it the RC4, RSA,
11
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
12
- * included with this distribution is covered by the same copyright terms
13
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
14
- *
15
- * Copyright remains Eric Young's, and as such any Copyright notices in
16
- * the code are not to be removed.
17
- * If this package is used in a product, Eric Young should be given attribution
18
- * as the author of the parts of the library used.
19
- * This can be in the form of a textual message at program startup or
20
- * in documentation (online or textual) provided with the package.
21
- *
22
- * Redistribution and use in source and binary forms, with or without
23
- * modification, are permitted provided that the following conditions
24
- * are met:
25
- * 1. Redistributions of source code must retain the copyright
26
- * notice, this list of conditions and the following disclaimer.
27
- * 2. Redistributions in binary form must reproduce the above copyright
28
- * notice, this list of conditions and the following disclaimer in the
29
- * documentation and/or other materials provided with the distribution.
30
- * 3. All advertising materials mentioning features or use of this software
31
- * must display the following acknowledgement:
32
- * "This product includes cryptographic software written by
33
- * Eric Young (eay@cryptsoft.com)"
34
- * The word 'cryptographic' can be left out if the rouines from the library
35
- * being used are not cryptographic related :-).
36
- * 4. If you include any Windows specific code (or a derivative thereof) from
37
- * the apps directory (application code) you must include an acknowledgement:
38
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
39
- *
40
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
41
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
43
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
44
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
45
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
46
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
48
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
49
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
50
- * SUCH DAMAGE.
51
- *
52
- * The licence and distribution terms for any publically available version or
53
- * derivative of this code cannot be changed. i.e. this code cannot simply be
54
- * copied and put under another distribution licence
55
- * [including the GNU Public Licence.] */
1
+ // Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
56
14
 
57
15
  #include <openssl/cipher.h>
58
16
  #include <openssl/des.h>
@@ -0,0 +1,51 @@
1
+ // Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #include <openssl/cipher.h>
16
+
17
+ #include <string.h>
18
+
19
+ #include <openssl/nid.h>
20
+
21
+ #include "../fipsmodule/cipher/internal.h"
22
+ #include "../internal.h"
23
+
24
+
25
+ static int null_init_key(EVP_CIPHER_CTX *ctx, const uint8_t *key,
26
+ const uint8_t *iv, int enc) {
27
+ return 1;
28
+ }
29
+
30
+ static int null_cipher(EVP_CIPHER_CTX *ctx, uint8_t *out, const uint8_t *in,
31
+ size_t in_len) {
32
+ if (in != out) {
33
+ OPENSSL_memcpy(out, in, in_len);
34
+ }
35
+ return 1;
36
+ }
37
+
38
+ static const EVP_CIPHER n_cipher = {
39
+ /*nid=*/NID_undef,
40
+ /*block_size=*/1,
41
+ /*key_len=*/0,
42
+ /*iv_len=*/0,
43
+ /*ctx_size=*/0,
44
+ /*flags=*/0,
45
+ /*init=*/null_init_key,
46
+ /*cipher=*/null_cipher,
47
+ /*cleanup=*/nullptr,
48
+ /*ctrl=*/nullptr,
49
+ };
50
+
51
+ const EVP_CIPHER *EVP_enc_null(void) { return &n_cipher; }
@@ -1,58 +1,16 @@
1
- /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
2
- * All rights reserved.
3
- *
4
- * This package is an SSL implementation written
5
- * by Eric Young (eay@cryptsoft.com).
6
- * The implementation was written so as to conform with Netscapes SSL.
7
- *
8
- * This library is free for commercial and non-commercial use as long as
9
- * the following conditions are aheared to. The following conditions
10
- * apply to all code found in this distribution, be it the RC4, RSA,
11
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
12
- * included with this distribution is covered by the same copyright terms
13
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
14
- *
15
- * Copyright remains Eric Young's, and as such any Copyright notices in
16
- * the code are not to be removed.
17
- * If this package is used in a product, Eric Young should be given attribution
18
- * as the author of the parts of the library used.
19
- * This can be in the form of a textual message at program startup or
20
- * in documentation (online or textual) provided with the package.
21
- *
22
- * Redistribution and use in source and binary forms, with or without
23
- * modification, are permitted provided that the following conditions
24
- * are met:
25
- * 1. Redistributions of source code must retain the copyright
26
- * notice, this list of conditions and the following disclaimer.
27
- * 2. Redistributions in binary form must reproduce the above copyright
28
- * notice, this list of conditions and the following disclaimer in the
29
- * documentation and/or other materials provided with the distribution.
30
- * 3. All advertising materials mentioning features or use of this software
31
- * must display the following acknowledgement:
32
- * "This product includes cryptographic software written by
33
- * Eric Young (eay@cryptsoft.com)"
34
- * The word 'cryptographic' can be left out if the rouines from the library
35
- * being used are not cryptographic related :-).
36
- * 4. If you include any Windows specific code (or a derivative thereof) from
37
- * the apps directory (application code) you must include an acknowledgement:
38
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
39
- *
40
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
41
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
43
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
44
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
45
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
46
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
48
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
49
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
50
- * SUCH DAMAGE.
51
- *
52
- * The licence and distribution terms for any publically available version or
53
- * derivative of this code cannot be changed. i.e. this code cannot simply be
54
- * copied and put under another distribution licence
55
- * [including the GNU Public Licence.] */
1
+ // Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
56
14
 
57
15
  #include <openssl/cipher.h>
58
16
  #include <openssl/nid.h>
@@ -76,25 +34,25 @@
76
34
  switch (n) { \
77
35
  case 8: \
78
36
  (l2) = ((uint32_t)(*(--(c)))) << 24L; \
79
- OPENSSL_FALLTHROUGH; \
37
+ [[fallthrough]]; \
80
38
  case 7: \
81
39
  (l2) |= ((uint32_t)(*(--(c)))) << 16L; \
82
- OPENSSL_FALLTHROUGH; \
40
+ [[fallthrough]]; \
83
41
  case 6: \
84
42
  (l2) |= ((uint32_t)(*(--(c)))) << 8L; \
85
- OPENSSL_FALLTHROUGH; \
43
+ [[fallthrough]]; \
86
44
  case 5: \
87
45
  (l2) |= ((uint32_t)(*(--(c)))); \
88
- OPENSSL_FALLTHROUGH; \
46
+ [[fallthrough]]; \
89
47
  case 4: \
90
48
  (l1) = ((uint32_t)(*(--(c)))) << 24L; \
91
- OPENSSL_FALLTHROUGH; \
49
+ [[fallthrough]]; \
92
50
  case 3: \
93
51
  (l1) |= ((uint32_t)(*(--(c)))) << 16L; \
94
- OPENSSL_FALLTHROUGH; \
52
+ [[fallthrough]]; \
95
53
  case 2: \
96
54
  (l1) |= ((uint32_t)(*(--(c)))) << 8L; \
97
- OPENSSL_FALLTHROUGH; \
55
+ [[fallthrough]]; \
98
56
  case 1: \
99
57
  (l1) |= ((uint32_t)(*(--(c)))); \
100
58
  } \
@@ -114,25 +72,25 @@
114
72
  switch (n) { \
115
73
  case 8: \
116
74
  *(--(c)) = (uint8_t)(((l2) >> 24L) & 0xff); \
117
- OPENSSL_FALLTHROUGH; \
75
+ [[fallthrough]]; \
118
76
  case 7: \
119
77
  *(--(c)) = (uint8_t)(((l2) >> 16L) & 0xff); \
120
- OPENSSL_FALLTHROUGH; \
78
+ [[fallthrough]]; \
121
79
  case 6: \
122
80
  *(--(c)) = (uint8_t)(((l2) >> 8L) & 0xff); \
123
- OPENSSL_FALLTHROUGH; \
81
+ [[fallthrough]]; \
124
82
  case 5: \
125
83
  *(--(c)) = (uint8_t)(((l2)) & 0xff); \
126
- OPENSSL_FALLTHROUGH; \
84
+ [[fallthrough]]; \
127
85
  case 4: \
128
86
  *(--(c)) = (uint8_t)(((l1) >> 24L) & 0xff); \
129
- OPENSSL_FALLTHROUGH; \
87
+ [[fallthrough]]; \
130
88
  case 3: \
131
89
  *(--(c)) = (uint8_t)(((l1) >> 16L) & 0xff); \
132
- OPENSSL_FALLTHROUGH; \
90
+ [[fallthrough]]; \
133
91
  case 2: \
134
92
  *(--(c)) = (uint8_t)(((l1) >> 8L) & 0xff); \
135
- OPENSSL_FALLTHROUGH; \
93
+ [[fallthrough]]; \
136
94
  case 1: \
137
95
  *(--(c)) = (uint8_t)(((l1)) & 0xff); \
138
96
  } \
@@ -0,0 +1,54 @@
1
+ // Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #include <assert.h>
16
+ #include <string.h>
17
+
18
+ #include <openssl/cipher.h>
19
+ #include <openssl/nid.h>
20
+ #include <openssl/rc4.h>
21
+
22
+ #include "../fipsmodule/cipher/internal.h"
23
+
24
+
25
+ static int rc4_init_key(EVP_CIPHER_CTX *ctx, const uint8_t *key,
26
+ const uint8_t *iv, int enc) {
27
+ RC4_KEY *rc4key = (RC4_KEY *)ctx->cipher_data;
28
+
29
+ RC4_set_key(rc4key, EVP_CIPHER_CTX_key_length(ctx), key);
30
+ return 1;
31
+ }
32
+
33
+ static int rc4_cipher(EVP_CIPHER_CTX *ctx, uint8_t *out, const uint8_t *in,
34
+ size_t in_len) {
35
+ RC4_KEY *rc4key = (RC4_KEY *)ctx->cipher_data;
36
+
37
+ RC4(rc4key, in_len, in, out);
38
+ return 1;
39
+ }
40
+
41
+ static const EVP_CIPHER rc4 = {
42
+ /*nid=*/NID_rc4,
43
+ /*block_size=*/1,
44
+ /*key_len=*/16,
45
+ /*iv_len=*/0,
46
+ /*ctx_size=*/sizeof(RC4_KEY),
47
+ /*flags=*/EVP_CIPH_VARIABLE_LENGTH,
48
+ /*init=*/rc4_init_key,
49
+ /*cipher=*/rc4_cipher,
50
+ /*cleanup=*/nullptr,
51
+ /*ctrl=*/nullptr,
52
+ };
53
+
54
+ const EVP_CIPHER *EVP_rc4(void) { return &rc4; }
@@ -1,16 +1,16 @@
1
- /* Copyright 2014 The BoringSSL Authors
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
1
+ // Copyright 2014 The BoringSSL Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
14
 
15
15
  #include <assert.h>
16
16
  #include <limits.h>
@@ -0,0 +1,85 @@
1
+ // Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #include <openssl/cipher.h>
16
+
17
+ #include <assert.h>
18
+ #include <string.h>
19
+
20
+ #include <openssl/err.h>
21
+ #include <openssl/mem.h>
22
+ #include <openssl/nid.h>
23
+
24
+ #include "internal.h"
25
+ #include "../internal.h"
26
+
27
+
28
+ static const struct {
29
+ int nid;
30
+ const char *name;
31
+ const EVP_CIPHER *(*func)(void);
32
+ } kCiphers[] = {
33
+ {NID_aes_128_cbc, "aes-128-cbc", EVP_aes_128_cbc},
34
+ {NID_aes_128_ctr, "aes-128-ctr", EVP_aes_128_ctr},
35
+ {NID_aes_128_ecb, "aes-128-ecb", EVP_aes_128_ecb},
36
+ {NID_aes_128_gcm, "aes-128-gcm", EVP_aes_128_gcm},
37
+ {NID_aes_128_ofb128, "aes-128-ofb", EVP_aes_128_ofb},
38
+ {NID_aes_192_cbc, "aes-192-cbc", EVP_aes_192_cbc},
39
+ {NID_aes_192_ctr, "aes-192-ctr", EVP_aes_192_ctr},
40
+ {NID_aes_192_ecb, "aes-192-ecb", EVP_aes_192_ecb},
41
+ {NID_aes_192_gcm, "aes-192-gcm", EVP_aes_192_gcm},
42
+ {NID_aes_192_ofb128, "aes-192-ofb", EVP_aes_192_ofb},
43
+ {NID_aes_256_cbc, "aes-256-cbc", EVP_aes_256_cbc},
44
+ {NID_aes_256_ctr, "aes-256-ctr", EVP_aes_256_ctr},
45
+ {NID_aes_256_ecb, "aes-256-ecb", EVP_aes_256_ecb},
46
+ {NID_aes_256_gcm, "aes-256-gcm", EVP_aes_256_gcm},
47
+ {NID_aes_256_ofb128, "aes-256-ofb", EVP_aes_256_ofb},
48
+ {NID_des_cbc, "des-cbc", EVP_des_cbc},
49
+ {NID_des_ecb, "des-ecb", EVP_des_ecb},
50
+ {NID_des_ede_cbc, "des-ede-cbc", EVP_des_ede_cbc},
51
+ {NID_des_ede_ecb, "des-ede", EVP_des_ede},
52
+ {NID_des_ede3_cbc, "des-ede3-cbc", EVP_des_ede3_cbc},
53
+ {NID_rc2_cbc, "rc2-cbc", EVP_rc2_cbc},
54
+ {NID_rc4, "rc4", EVP_rc4},
55
+ };
56
+
57
+ const EVP_CIPHER *EVP_get_cipherbynid(int nid) {
58
+ for (size_t i = 0; i < OPENSSL_ARRAY_SIZE(kCiphers); i++) {
59
+ if (kCiphers[i].nid == nid) {
60
+ return kCiphers[i].func();
61
+ }
62
+ }
63
+ return NULL;
64
+ }
65
+
66
+ const EVP_CIPHER *EVP_get_cipherbyname(const char *name) {
67
+ if (name == NULL) {
68
+ return NULL;
69
+ }
70
+
71
+ // This is not a name used by OpenSSL, but tcpdump registers it with
72
+ // |EVP_add_cipher_alias|. Our |EVP_add_cipher_alias| is a no-op, so we
73
+ // support the name here.
74
+ if (OPENSSL_strcasecmp(name, "3des") == 0) {
75
+ name = "des-ede3-cbc";
76
+ }
77
+
78
+ for (size_t i = 0; i < OPENSSL_ARRAY_SIZE(kCiphers); i++) {
79
+ if (OPENSSL_strcasecmp(kCiphers[i].name, name) == 0) {
80
+ return kCiphers[i].func();
81
+ }
82
+ }
83
+
84
+ return NULL;
85
+ }