grpc 1.80.0 → 1.81.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 (889) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +301 -292
  3. data/include/grpc/context_types.h +28 -0
  4. data/include/grpc/credentials.h +11 -0
  5. data/include/grpc/grpc_security_constants.h +12 -0
  6. data/include/grpc/module.modulemap +1 -0
  7. data/src/core/call/call_spine.h +29 -6
  8. data/src/core/call/client_call.cc +2 -2
  9. data/src/core/call/client_call.h +6 -0
  10. data/src/core/call/interception_chain.h +12 -1
  11. data/src/core/call/metadata_batch.h +37 -2
  12. data/src/core/call/server_call.h +4 -0
  13. data/src/core/client_channel/client_channel.cc +2 -1
  14. data/src/core/client_channel/client_channel_filter.cc +2 -2
  15. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +8 -0
  16. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.h +9 -2
  17. data/src/core/credentials/transport/tls/ssl_utils.cc +4 -0
  18. data/src/core/credentials/transport/tls/ssl_utils.h +3 -0
  19. data/src/core/credentials/transport/tls/tls_security_connector.cc +3 -2
  20. data/src/core/ext/filters/http/client_authority_filter.cc +4 -0
  21. data/src/core/ext/filters/http/http_filters_plugin.cc +6 -0
  22. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +1 -1
  23. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +7 -0
  24. data/src/core/ext/transport/chttp2/transport/frame.cc +1 -1
  25. data/src/core/ext/transport/chttp2/transport/frame.h +1 -1
  26. data/src/core/ext/transport/chttp2/transport/frame_security.cc +3 -1
  27. data/src/core/ext/transport/chttp2/transport/header_assembler.h +8 -8
  28. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +112 -155
  29. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +38 -37
  30. data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +11 -1
  31. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +0 -38
  32. data/src/core/ext/transport/chttp2/transport/http2_transport.h +30 -37
  33. data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +74 -5
  34. data/src/core/ext/transport/chttp2/transport/internal.h +1 -0
  35. data/src/core/ext/transport/chttp2/transport/parsing.cc +4 -1
  36. data/src/core/ext/transport/chttp2/transport/security_frame.h +1 -1
  37. data/src/core/ext/transport/chttp2/transport/stream.h +29 -11
  38. data/src/core/ext/transport/chttp2/transport/transport_common.cc +3 -0
  39. data/src/core/ext/transport/chttp2/transport/writable_streams.h +2 -77
  40. data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +11 -93
  41. data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +15 -129
  42. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +4 -30
  43. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +4 -54
  44. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +4 -28
  45. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +15 -133
  46. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +2 -12
  47. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +2 -12
  48. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +1 -11
  49. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +1 -7
  50. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +1 -7
  51. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +2 -46
  52. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +1 -5
  53. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +1 -5
  54. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +10 -80
  55. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +18 -162
  56. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +2 -18
  57. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +16 -148
  58. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +1 -5
  59. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +1 -35
  60. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +13 -101
  61. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +1 -7
  62. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +6 -48
  63. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +29 -207
  64. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +1 -7
  65. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +5 -59
  66. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +1 -5
  67. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +1 -5
  68. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +2 -12
  69. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +11 -111
  70. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +9 -97
  71. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +1 -7
  72. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +1 -7
  73. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +10 -130
  74. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +4 -26
  75. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +2 -12
  76. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +1 -7
  77. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +2 -16
  78. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +2 -16
  79. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +4 -28
  80. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +6 -64
  81. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +9 -53
  82. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +4 -52
  83. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +6 -68
  84. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +1 -19
  85. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +1 -11
  86. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +8 -52
  87. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +11 -59
  88. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +11 -93
  89. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +2 -40
  90. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +48 -550
  91. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +3 -21
  92. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +10 -80
  93. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +1 -7
  94. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +1 -5
  95. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +1 -7
  96. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +1 -7
  97. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +1 -11
  98. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +1 -7
  99. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +2 -12
  100. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +1 -19
  101. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +16 -182
  102. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +2 -12
  103. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb.h +240 -0
  104. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.c +78 -0
  105. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.h +34 -0
  106. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +3 -23
  107. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb.h +73 -0
  108. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.c +42 -0
  109. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.h +32 -0
  110. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb.h +431 -0
  111. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.c +111 -0
  112. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.h +38 -0
  113. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +2 -30
  114. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +3 -23
  115. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +1 -11
  116. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +2 -24
  117. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +2 -14
  118. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +19 -187
  119. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +1 -5
  120. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +1 -11
  121. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +3 -25
  122. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +1 -5
  123. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +1 -11
  124. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +7 -71
  125. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +3 -21
  126. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +6 -70
  127. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +2 -10
  128. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +2 -26
  129. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +13 -123
  130. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +2 -18
  131. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +5 -53
  132. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +2 -18
  133. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +2 -12
  134. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +1 -5
  135. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +1 -7
  136. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +5 -25
  137. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +2 -16
  138. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +1 -7
  139. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +2 -2
  140. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +1 -5
  141. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +2 -14
  142. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +2 -24
  143. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +2 -12
  144. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +3 -21
  145. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +3 -23
  146. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +5 -37
  147. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +2 -12
  148. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +1 -5
  149. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +2 -8
  150. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +4 -16
  151. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +2 -14
  152. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +1 -7
  153. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +1 -5
  154. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +11 -91
  155. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +16 -140
  156. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +3 -33
  157. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +1 -7
  158. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +1 -7
  159. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +1 -0
  160. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +27 -410
  161. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +1 -7
  162. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +5 -17
  163. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +1 -7
  164. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +9 -37
  165. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +1 -7
  166. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +34 -310
  167. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +3 -23
  168. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +11 -83
  169. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +8 -46
  170. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +7 -45
  171. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +2 -18
  172. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +12 -108
  173. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +3 -17
  174. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +2 -10
  175. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +7 -61
  176. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +3 -25
  177. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +8 -72
  178. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +3 -19
  179. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +1 -7
  180. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +1 -7
  181. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +1 -5
  182. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +54 -234
  183. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +3 -19
  184. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +1 -7
  185. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +4 -22
  186. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +1 -5
  187. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +1 -5
  188. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +1 -5
  189. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +2 -14
  190. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +1 -7
  191. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +1 -5
  192. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +1 -7
  193. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +2 -18
  194. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +1 -7
  195. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +12 -12
  196. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +1 -7
  197. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +1 -7
  198. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +2 -10
  199. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +2 -12
  200. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +8 -58
  201. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +6 -30
  202. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +1 -7
  203. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +2 -24
  204. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +1 -11
  205. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +4 -16
  206. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +1 -5
  207. data/src/core/ext/upbdefs-gen/envoy/extensions/common/matching/v3/extension_matcher.upbdefs.c +110 -0
  208. data/src/core/ext/upbdefs-gen/envoy/extensions/common/matching/v3/extension_matcher.upbdefs.h +42 -0
  209. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upbdefs.c +60 -0
  210. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upbdefs.h +37 -0
  211. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/composite/v3/composite.upbdefs.c +138 -0
  212. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/composite/v3/composite.upbdefs.h +52 -0
  213. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +734 -731
  214. data/src/core/filter/composite/composite_filter.cc +227 -0
  215. data/src/core/filter/composite/composite_filter.h +154 -0
  216. data/src/core/filter/filter_args.h +4 -0
  217. data/src/core/handshaker/security/pipelined_secure_endpoint.cc +163 -41
  218. data/src/core/handshaker/security/pipelining_heuristic_selector.h +151 -0
  219. data/src/core/handshaker/security/secure_endpoint.cc +24 -8
  220. data/src/core/lib/channel/connected_channel.cc +13 -0
  221. data/src/core/lib/channel/promise_based_filter.h +267 -0
  222. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +3 -2
  223. data/src/core/lib/event_engine/extensions/blocking_dns.h +1 -1
  224. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +4 -0
  225. data/src/core/lib/event_engine/windows/windows_engine.cc +11 -3
  226. data/src/core/lib/experiments/experiments.cc +120 -117
  227. data/src/core/lib/experiments/experiments.h +71 -58
  228. data/src/core/lib/promise/detail/promise_factory.h +16 -5
  229. data/src/core/lib/promise/detail/promise_like.h +19 -1
  230. data/src/core/lib/promise/inter_activity_latch.h +5 -8
  231. data/src/core/lib/promise/inter_activity_pipe.h +193 -0
  232. data/src/core/lib/promise/sleep.cc +5 -9
  233. data/src/core/lib/resource_quota/arena.h +1 -1
  234. data/src/core/lib/surface/call.cc +43 -6
  235. data/src/core/lib/surface/call.h +6 -0
  236. data/src/core/lib/surface/call_utils.cc +42 -3
  237. data/src/core/lib/surface/call_utils.h +30 -11
  238. data/src/core/lib/surface/channel_stack_type.cc +8 -0
  239. data/src/core/lib/surface/channel_stack_type.h +4 -0
  240. data/src/core/lib/surface/completion_queue.cc +15 -12
  241. data/src/core/lib/surface/filter_stack_call.h +5 -0
  242. data/src/core/lib/surface/legacy_channel.cc +1 -22
  243. data/src/core/lib/surface/legacy_channel.h +1 -3
  244. data/src/core/lib/surface/version.cc +2 -2
  245. data/src/core/lib/transport/bdp_estimator.cc +6 -3
  246. data/src/core/lib/transport/promise_endpoint.h +13 -17
  247. data/src/core/load_balancing/endpoint_list.cc +0 -8
  248. data/src/core/load_balancing/pick_first/pick_first.cc +5 -14
  249. data/src/core/load_balancing/xds/cds.cc +100 -122
  250. data/src/core/load_balancing/xds/cds.h +58 -0
  251. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
  252. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +1 -1
  253. data/src/core/server/server.cc +19 -35
  254. data/src/core/server/server.h +9 -17
  255. data/src/core/server/xds_server_config_fetcher.cc +0 -24
  256. data/src/core/telemetry/metrics.cc +26 -0
  257. data/src/core/transport/session_endpoint.cc +314 -0
  258. data/src/core/transport/session_endpoint.h +85 -0
  259. data/src/core/tsi/ssl_transport_security.cc +137 -100
  260. data/src/core/tsi/ssl_transport_security.h +8 -0
  261. data/src/core/tsi/ssl_transport_security_utils.cc +25 -1
  262. data/src/core/tsi/ssl_transport_security_utils.h +4 -0
  263. data/src/core/util/sorted_pack.h +69 -44
  264. data/src/core/util/string.cc +8 -0
  265. data/src/core/util/string.h +11 -0
  266. data/src/core/util/table.h +38 -102
  267. data/src/core/util/time_precise.cc +42 -1
  268. data/src/core/util/useful.h +0 -91
  269. data/src/core/util/windows/string_util.cc +4 -2
  270. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +27 -15
  271. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +148 -69
  272. data/src/core/xds/grpc/xds_bootstrap_grpc.h +12 -0
  273. data/src/core/xds/grpc/xds_client_grpc.cc +1 -1
  274. data/src/core/xds/grpc/xds_cluster.cc +54 -37
  275. data/src/core/xds/grpc/xds_cluster.h +0 -1
  276. data/src/core/xds/grpc/xds_common_types.cc +59 -34
  277. data/src/core/xds/grpc/xds_common_types_parser.cc +33 -3
  278. data/src/core/xds/grpc/xds_common_types_parser.h +5 -1
  279. data/src/core/xds/grpc/xds_endpoint.cc +44 -24
  280. data/src/core/xds/grpc/xds_health_status.cc +10 -6
  281. data/src/core/xds/grpc/xds_http_composite_filter.cc +302 -0
  282. data/src/core/xds/grpc/xds_http_composite_filter.h +84 -0
  283. data/src/core/xds/grpc/xds_http_filter_registry.cc +34 -2
  284. data/src/core/xds/grpc/xds_http_filter_registry.h +4 -0
  285. data/src/core/xds/grpc/xds_http_rbac_filter.cc +21 -10
  286. data/src/core/xds/grpc/xds_listener.cc +98 -59
  287. data/src/core/xds/grpc/xds_listener_parser.cc +64 -26
  288. data/src/core/xds/grpc/xds_matcher.cc +92 -49
  289. data/src/core/xds/grpc/xds_metadata.cc +40 -7
  290. data/src/core/xds/grpc/xds_metadata.h +3 -10
  291. data/src/core/xds/grpc/xds_route_config.cc +171 -100
  292. data/src/core/xds/grpc/xds_server_grpc.cc +27 -18
  293. data/src/ruby/bin/math_pb.rb +1 -1
  294. data/src/ruby/ext/grpc/extconf.rb +1 -15
  295. data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
  296. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
  297. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +3 -0
  298. data/src/ruby/lib/grpc/version.rb +1 -1
  299. data/src/ruby/pb/generate_proto_ruby.sh +1 -1
  300. data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -1
  301. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -1
  302. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -1
  303. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -1
  304. data/src/ruby/spec/client_server_spec.rb +40 -0
  305. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bn/convert.cc +47 -31
  306. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bn/exponentiation.cc +35 -17
  307. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/cbb.cc +8 -14
  308. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/derive_key.cc +15 -13
  309. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_arm_linux.cc +5 -28
  310. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_arm_linux.h +9 -11
  311. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dh/dh_asn1.cc +14 -13
  312. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dsa/dsa.cc +34 -30
  313. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dsa/dsa_asn1.cc +35 -23
  314. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ec/ec_asn1.cc +63 -47
  315. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ec/hash_to_curve.cc +68 -60
  316. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ecdsa/ecdsa_asn1.cc +17 -11
  317. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/evp_asn1.cc +11 -10
  318. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/evp_ctx.cc +11 -10
  319. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_dsa_asn1.cc +6 -6
  320. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_ec_asn1.cc +6 -6
  321. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_ed25519_asn1.cc +6 -6
  322. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_rsa_asn1.cc +6 -6
  323. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_x25519_asn1.cc +6 -6
  324. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/sign.cc +42 -23
  325. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/div.cc.inc +79 -0
  326. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/exponentiation.cc.inc +6 -5
  327. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/gcd.cc.inc +80 -58
  328. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/gcd_extra.cc.inc +45 -29
  329. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/jacobi.cc.inc +16 -7
  330. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/montgomery.cc.inc +24 -10
  331. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/mul.cc.inc +34 -24
  332. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/prime.cc.inc +154 -102
  333. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/shift.cc.inc +8 -3
  334. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/sqrt.cc.inc +78 -1
  335. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/dh/check.cc.inc +53 -35
  336. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/dh/dh.cc.inc +76 -57
  337. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digest/digest.cc.inc +10 -4
  338. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/ec.cc.inc +5 -3
  339. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/padding.cc.inc +26 -19
  340. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/rsa.cc.inc +7 -7
  341. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/rsa_impl.cc.inc +138 -117
  342. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/self_check/self_check.cc.inc +30 -22
  343. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/obj/obj.cc +8 -2
  344. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_lib.cc +13 -8
  345. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs7/pkcs7.cc +6 -5
  346. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs7/pkcs7_x509.cc +3 -6
  347. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs8/p5_pbev2.cc +14 -9
  348. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs8/pkcs8.cc +29 -19
  349. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs8/pkcs8_x509.cc +39 -34
  350. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/rsa_crypt.cc +22 -14
  351. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/a_sign.cc +5 -3
  352. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/asn1_gen.cc +12 -8
  353. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_conf.cc +24 -16
  354. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_info.cc +21 -18
  355. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_x509.cc +57 -52
  356. data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_x509a.cc +32 -16
  357. data/third_party/boringssl-with-bazel/{src/include → include}/openssl/bytestring.h +0 -6
  358. data/third_party/boringssl-with-bazel/{src/ssl → ssl}/handoff.cc +12 -12
  359. data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_asn1.cc +3 -2
  360. data/third_party/upb/upb/base/string_view.h +7 -3
  361. data/third_party/upb/upb/generated_code_support.h +17 -1
  362. data/third_party/upb/upb/hash/common.c +2 -1
  363. data/third_party/upb/upb/mem/alloc.c +2 -1
  364. data/third_party/upb/upb/mem/alloc.h +25 -6
  365. data/third_party/upb/upb/mem/arena.c +225 -73
  366. data/third_party/upb/upb/mem/arena.h +56 -0
  367. data/third_party/upb/upb/mem/arena.hpp +6 -0
  368. data/third_party/upb/upb/mem/internal/arena.h +69 -56
  369. data/third_party/upb/upb/message/accessors.h +4 -0
  370. data/third_party/upb/upb/message/array.h +3 -0
  371. data/third_party/upb/upb/message/copy.c +1 -1
  372. data/third_party/upb/upb/message/internal/accessors.h +10 -0
  373. data/third_party/upb/upb/message/internal/array.h +34 -3
  374. data/third_party/upb/upb/message/internal/message.h +23 -9
  375. data/third_party/upb/upb/mini_descriptor/decode.c +127 -66
  376. data/third_party/upb/upb/mini_descriptor/decode.h +6 -2
  377. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +2 -0
  378. data/third_party/upb/upb/mini_descriptor/link.c +11 -0
  379. data/third_party/upb/upb/mini_table/extension.h +7 -0
  380. data/third_party/upb/upb/mini_table/extension_registry.c +10 -1
  381. data/third_party/upb/upb/mini_table/extension_registry.h +1 -0
  382. data/third_party/upb/upb/mini_table/internal/extension.h +10 -0
  383. data/third_party/upb/upb/mini_table/internal/field.h +1 -1
  384. data/third_party/upb/upb/mini_table/internal/message.h +69 -9
  385. data/third_party/upb/upb/mini_table/message.c +0 -38
  386. data/third_party/upb/upb/mini_table/message.h +5 -1
  387. data/third_party/upb/upb/port/def.inc +140 -111
  388. data/third_party/upb/upb/port/sanitizers.h +179 -0
  389. data/third_party/upb/upb/port/undef.inc +19 -9
  390. data/third_party/upb/upb/reflection/enum_def.c +7 -3
  391. data/third_party/upb/upb/reflection/enum_def.h +1 -0
  392. data/third_party/upb/upb/reflection/field_def.h +1 -0
  393. data/third_party/upb/upb/reflection/file_def.c +1 -1
  394. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  395. data/third_party/upb/upb/reflection/message_def.c +29 -2
  396. data/third_party/upb/upb/reflection/message_def.h +2 -0
  397. data/third_party/upb/upb/text/internal/encode.c +5 -5
  398. data/third_party/upb/upb/wire/decode.c +190 -239
  399. data/third_party/upb/upb/wire/decode.h +14 -5
  400. data/third_party/upb/upb/wire/decode_fast/combinations.h +217 -0
  401. data/third_party/upb/upb/wire/decode_fast/data.h +74 -0
  402. data/third_party/upb/upb/wire/decode_fast/select.c +235 -0
  403. data/third_party/upb/upb/wire/decode_fast/select.h +66 -0
  404. data/third_party/upb/upb/wire/encode.c +332 -203
  405. data/third_party/upb/upb/wire/encode.h +3 -6
  406. data/third_party/upb/upb/wire/eps_copy_input_stream.h +64 -6
  407. data/third_party/upb/upb/wire/internal/decoder.c +43 -0
  408. data/third_party/upb/upb/wire/internal/decoder.h +73 -35
  409. data/third_party/upb/upb/wire/internal/reader.h +28 -9
  410. data/third_party/upb/upb/wire/reader.c +20 -2
  411. data/third_party/upb/upb/wire/reader.h +29 -19
  412. data/third_party/upb/upb/wire/writer.h +20 -0
  413. data/third_party/utf8_range/utf8_range.c +6 -6
  414. data/third_party/utf8_range/utf8_range_neon.inc +1 -1
  415. data/third_party/utf8_range/utf8_range_sse.inc +1 -1
  416. metadata +559 -531
  417. data/third_party/boringssl-with-bazel/src/crypto/bn/div.cc +0 -100
  418. data/third_party/boringssl-with-bazel/src/crypto/bn/sqrt.cc +0 -93
  419. data/third_party/upb/upb/wire/internal/decode_fast.c +0 -1000
  420. data/third_party/upb/upb/wire/internal/decode_fast.h +0 -152
  421. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/aes/aes.cc +0 -0
  422. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_bitstr.cc +0 -0
  423. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_bool.cc +0 -0
  424. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_d2i_fp.cc +0 -0
  425. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_dup.cc +0 -0
  426. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_gentm.cc +0 -0
  427. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_i2d_fp.cc +0 -0
  428. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_int.cc +0 -0
  429. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_mbstr.cc +0 -0
  430. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_object.cc +0 -0
  431. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_octet.cc +0 -0
  432. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_strex.cc +0 -0
  433. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_strnid.cc +0 -0
  434. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_time.cc +0 -0
  435. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_type.cc +0 -0
  436. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_utctm.cc +0 -0
  437. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/asn1_lib.cc +0 -0
  438. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/asn1_par.cc +0 -0
  439. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/asn_pack.cc +0 -0
  440. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/f_int.cc +0 -0
  441. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/f_string.cc +0 -0
  442. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/internal.h +0 -0
  443. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/posix_time.cc +0 -0
  444. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_dec.cc +0 -0
  445. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_enc.cc +0 -0
  446. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_fre.cc +0 -0
  447. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_new.cc +0 -0
  448. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_typ.cc +0 -0
  449. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_utl.cc +0 -0
  450. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/base64/base64.cc +0 -0
  451. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bcm_support.h +0 -0
  452. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/bio.cc +0 -0
  453. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/bio_mem.cc +0 -0
  454. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/connect.cc +0 -0
  455. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/errno.cc +0 -0
  456. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/fd.cc +0 -0
  457. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/file.cc +0 -0
  458. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/hexdump.cc +0 -0
  459. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/internal.h +0 -0
  460. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/pair.cc +0 -0
  461. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/printf.cc +0 -0
  462. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/socket.cc +0 -0
  463. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/socket_helper.cc +0 -0
  464. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/blake2/blake2.cc +0 -0
  465. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bn/bn_asn1.cc +0 -0
  466. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/buf/buf.cc +0 -0
  467. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/asn1_compat.cc +0 -0
  468. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/ber.cc +0 -0
  469. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/cbs.cc +0 -0
  470. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/internal.h +0 -0
  471. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/unicode.cc +0 -0
  472. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/chacha/chacha.cc +0 -0
  473. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/chacha/internal.h +0 -0
  474. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_aesctrhmac.cc +0 -0
  475. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_aeseax.cc +0 -0
  476. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_aesgcmsiv.cc +0 -0
  477. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_chacha20poly1305.cc +0 -0
  478. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_des.cc +0 -0
  479. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_null.cc +0 -0
  480. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_rc2.cc +0 -0
  481. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_rc4.cc +0 -0
  482. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_tls.cc +0 -0
  483. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/get_cipher.cc +0 -0
  484. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/internal.h +0 -0
  485. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/tls_cbc.cc +0 -0
  486. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cms/cms.cc +0 -0
  487. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/conf/conf.cc +0 -0
  488. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/conf/internal.h +0 -0
  489. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_apple.cc +0 -0
  490. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_fuchsia.cc +0 -0
  491. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_linux.cc +0 -0
  492. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_openbsd.cc +0 -0
  493. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_sysreg.cc +0 -0
  494. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_win.cc +0 -0
  495. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_arm_freebsd.cc +0 -0
  496. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_intel.cc +0 -0
  497. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/crypto.cc +0 -0
  498. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/curve25519.cc +0 -0
  499. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/curve25519_64_adx.cc +0 -0
  500. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/curve25519_tables.h +0 -0
  501. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/internal.h +0 -0
  502. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/spake25519.cc +0 -0
  503. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/des/des.cc +0 -0
  504. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/des/internal.h +0 -0
  505. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dh/params.cc +0 -0
  506. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/digest/digest_extra.cc +0 -0
  507. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dsa/internal.h +0 -0
  508. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ec/ec_derive.cc +0 -0
  509. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ec/internal.h +0 -0
  510. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ecdh/ecdh.cc +0 -0
  511. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/engine/engine.cc +0 -0
  512. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/err/err.cc +0 -0
  513. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/err/internal.h +0 -0
  514. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/evp.cc +0 -0
  515. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/internal.h +0 -0
  516. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_dh.cc +0 -0
  517. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_dh_asn1.cc +0 -0
  518. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_ec.cc +0 -0
  519. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_ed25519.cc +0 -0
  520. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_hkdf.cc +0 -0
  521. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_rsa.cc +0 -0
  522. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_x25519.cc +0 -0
  523. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/pbkdf.cc +0 -0
  524. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/print.cc +0 -0
  525. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/scrypt.cc +0 -0
  526. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ex_data.cc +0 -0
  527. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/aes.cc.inc +0 -0
  528. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/aes_nohw.cc.inc +0 -0
  529. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/cbc.cc.inc +0 -0
  530. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/cfb.cc.inc +0 -0
  531. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/ctr.cc.inc +0 -0
  532. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/gcm.cc.inc +0 -0
  533. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/gcm_nohw.cc.inc +0 -0
  534. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/internal.h +0 -0
  535. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/key_wrap.cc.inc +0 -0
  536. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/mode_wrappers.cc.inc +0 -0
  537. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/ofb.cc.inc +0 -0
  538. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bcm.cc +0 -0
  539. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bcm_interface.h +0 -0
  540. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/add.cc.inc +0 -0
  541. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/asm/x86_64-gcc.cc.inc +0 -0
  542. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/bn.cc.inc +0 -0
  543. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/bytes.cc.inc +0 -0
  544. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/cmp.cc.inc +0 -0
  545. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/ctx.cc.inc +0 -0
  546. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/div_extra.cc.inc +0 -0
  547. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/generic.cc.inc +0 -0
  548. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/internal.h +0 -0
  549. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/montgomery_inv.cc.inc +0 -0
  550. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/random.cc.inc +0 -0
  551. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/rsaz_exp.cc.inc +0 -0
  552. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/rsaz_exp.h +0 -0
  553. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/aead.cc.inc +0 -0
  554. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/cipher.cc.inc +0 -0
  555. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/e_aes.cc.inc +0 -0
  556. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/e_aesccm.cc.inc +0 -0
  557. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/internal.h +0 -0
  558. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cmac/cmac.cc.inc +0 -0
  559. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/delocate.h +0 -0
  560. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/dh/internal.h +0 -0
  561. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digest/digests.cc.inc +0 -0
  562. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digest/internal.h +0 -0
  563. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digest/md32_common.h +0 -0
  564. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digestsign/digestsign.cc.inc +0 -0
  565. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/builtin_curves.h +0 -0
  566. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/ec_key.cc.inc +0 -0
  567. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/ec_montgomery.cc.inc +0 -0
  568. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/felem.cc.inc +0 -0
  569. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/internal.h +0 -0
  570. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/oct.cc.inc +0 -0
  571. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p224-64.cc.inc +0 -0
  572. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256-nistz-table.h +0 -0
  573. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256-nistz.cc.inc +0 -0
  574. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256-nistz.h +0 -0
  575. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256.cc.inc +0 -0
  576. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256_table.h +0 -0
  577. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/scalar.cc.inc +0 -0
  578. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/simple.cc.inc +0 -0
  579. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/simple_mul.cc.inc +0 -0
  580. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/util.cc.inc +0 -0
  581. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/wnaf.cc.inc +0 -0
  582. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ecdh/ecdh.cc.inc +0 -0
  583. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ecdsa/ecdsa.cc.inc +0 -0
  584. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ecdsa/internal.h +0 -0
  585. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/fips_shared_support.cc +0 -0
  586. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/hkdf/hkdf.cc.inc +0 -0
  587. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/hmac/hmac.cc.inc +0 -0
  588. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/keccak/internal.h +0 -0
  589. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/keccak/keccak.cc.inc +0 -0
  590. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/mldsa/fips_known_values.inc +0 -0
  591. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/mldsa/mldsa.cc.inc +0 -0
  592. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/mlkem/fips_known_values.inc +0 -0
  593. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/mlkem/mlkem.cc.inc +0 -0
  594. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rand/ctrdrbg.cc.inc +0 -0
  595. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rand/internal.h +0 -0
  596. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rand/rand.cc.inc +0 -0
  597. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/blinding.cc.inc +0 -0
  598. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/internal.h +0 -0
  599. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/self_check/fips.cc.inc +0 -0
  600. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/service_indicator/internal.h +0 -0
  601. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/service_indicator/service_indicator.cc.inc +0 -0
  602. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/sha/internal.h +0 -0
  603. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/sha/sha1.cc.inc +0 -0
  604. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/sha/sha256.cc.inc +0 -0
  605. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/sha/sha512.cc.inc +0 -0
  606. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/address.h +0 -0
  607. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/fips_known_values.inc +0 -0
  608. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/fors.cc.inc +0 -0
  609. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/fors.h +0 -0
  610. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/merkle.cc.inc +0 -0
  611. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/merkle.h +0 -0
  612. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/params.h +0 -0
  613. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/slhdsa.cc.inc +0 -0
  614. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/thash.cc.inc +0 -0
  615. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/thash.h +0 -0
  616. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/wots.cc.inc +0 -0
  617. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/wots.h +0 -0
  618. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/tls/internal.h +0 -0
  619. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/tls/kdf.cc.inc +0 -0
  620. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fuzzer_mode.cc +0 -0
  621. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/hpke/hpke.cc +0 -0
  622. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/hrss/hrss.cc +0 -0
  623. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/hrss/internal.h +0 -0
  624. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/internal.h +0 -0
  625. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/kyber/internal.h +0 -0
  626. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/kyber/kyber.cc +0 -0
  627. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/lhash/internal.h +0 -0
  628. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/lhash/lhash.cc +0 -0
  629. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/md4/md4.cc +0 -0
  630. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/md5/internal.h +0 -0
  631. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/md5/md5.cc +0 -0
  632. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/mem.cc +0 -0
  633. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/mldsa/mldsa.cc +0 -0
  634. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/mlkem/mlkem.cc +0 -0
  635. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/obj/obj_dat.h +0 -0
  636. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/obj/obj_xref.cc +0 -0
  637. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/internal.h +0 -0
  638. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_all.cc +0 -0
  639. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_info.cc +0 -0
  640. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_oth.cc +0 -0
  641. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_pk8.cc +0 -0
  642. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_pkey.cc +0 -0
  643. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_x509.cc +0 -0
  644. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_xaux.cc +0 -0
  645. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs7/internal.h +0 -0
  646. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs8/internal.h +0 -0
  647. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/poly1305/internal.h +0 -0
  648. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/poly1305/poly1305.cc +0 -0
  649. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/poly1305/poly1305_arm.cc +0 -0
  650. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/poly1305/poly1305_vec.cc +0 -0
  651. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pool/internal.h +0 -0
  652. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pool/pool.cc +0 -0
  653. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/deterministic.cc +0 -0
  654. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/fork_detect.cc +0 -0
  655. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/forkunsafe.cc +0 -0
  656. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/getentropy.cc +0 -0
  657. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/getrandom_fillin.h +0 -0
  658. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/internal.h +0 -0
  659. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/ios.cc +0 -0
  660. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/passive.cc +0 -0
  661. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/rand.cc +0 -0
  662. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/trusty.cc +0 -0
  663. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/urandom.cc +0 -0
  664. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/windows.cc +0 -0
  665. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rc4/rc4.cc +0 -0
  666. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/refcount.cc +0 -0
  667. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/internal.h +0 -0
  668. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/rsa_asn1.cc +0 -0
  669. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/rsa_extra.cc +0 -0
  670. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/rsa_print.cc +0 -0
  671. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/sha/sha1.cc +0 -0
  672. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/sha/sha256.cc +0 -0
  673. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/sha/sha512.cc +0 -0
  674. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/siphash/siphash.cc +0 -0
  675. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/slhdsa/slhdsa.cc +0 -0
  676. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/spake2plus/internal.h +0 -0
  677. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/spake2plus/spake2plus.cc +0 -0
  678. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/stack/stack.cc +0 -0
  679. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/thread.cc +0 -0
  680. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/thread_none.cc +0 -0
  681. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/thread_pthread.cc +0 -0
  682. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/thread_win.cc +0 -0
  683. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/trust_token/internal.h +0 -0
  684. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/trust_token/pmbtoken.cc +0 -0
  685. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/trust_token/trust_token.cc +0 -0
  686. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/trust_token/voprf.cc +0 -0
  687. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/a_digest.cc +0 -0
  688. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/a_verify.cc +0 -0
  689. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/algorithm.cc +0 -0
  690. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/by_dir.cc +0 -0
  691. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/by_file.cc +0 -0
  692. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/ext_dat.h +0 -0
  693. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/i2d_pr.cc +0 -0
  694. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/internal.h +0 -0
  695. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/name_print.cc +0 -0
  696. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/policy.cc +0 -0
  697. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/rsa_pss.cc +0 -0
  698. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/t_crl.cc +0 -0
  699. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/t_req.cc +0 -0
  700. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/t_x509.cc +0 -0
  701. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/t_x509a.cc +0 -0
  702. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_akey.cc +0 -0
  703. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_akeya.cc +0 -0
  704. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_alt.cc +0 -0
  705. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_bcons.cc +0 -0
  706. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_bitst.cc +0 -0
  707. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_cpols.cc +0 -0
  708. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_crld.cc +0 -0
  709. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_enum.cc +0 -0
  710. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_extku.cc +0 -0
  711. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_genn.cc +0 -0
  712. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_ia5.cc +0 -0
  713. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_int.cc +0 -0
  714. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_lib.cc +0 -0
  715. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_ncons.cc +0 -0
  716. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_ocsp.cc +0 -0
  717. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_pcons.cc +0 -0
  718. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_pmaps.cc +0 -0
  719. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_prn.cc +0 -0
  720. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_purp.cc +0 -0
  721. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_skey.cc +0 -0
  722. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_utl.cc +0 -0
  723. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509.cc +0 -0
  724. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_att.cc +0 -0
  725. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_cmp.cc +0 -0
  726. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_d2.cc +0 -0
  727. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_def.cc +0 -0
  728. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_ext.cc +0 -0
  729. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_lu.cc +0 -0
  730. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_obj.cc +0 -0
  731. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_req.cc +0 -0
  732. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_set.cc +0 -0
  733. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_trs.cc +0 -0
  734. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_txt.cc +0 -0
  735. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_v3.cc +0 -0
  736. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_vfy.cc +0 -0
  737. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_vpm.cc +0 -0
  738. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509cset.cc +0 -0
  739. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509name.cc +0 -0
  740. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509rset.cc +0 -0
  741. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509spki.cc +0 -0
  742. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_algor.cc +0 -0
  743. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_all.cc +0 -0
  744. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_attrib.cc +0 -0
  745. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_crl.cc +0 -0
  746. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_exten.cc +0 -0
  747. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_name.cc +0 -0
  748. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_pubkey.cc +0 -0
  749. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_req.cc +0 -0
  750. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_sig.cc +0 -0
  751. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_spki.cc +0 -0
  752. /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_val.cc +0 -0
  753. /data/third_party/boringssl-with-bazel/{src/gen → gen}/crypto/err_data.cc +0 -0
  754. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/aead.h +0 -0
  755. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/aes.h +0 -0
  756. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/arm_arch.h +0 -0
  757. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/asm_base.h +0 -0
  758. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/asn1.h +0 -0
  759. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/asn1_mac.h +0 -0
  760. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/asn1t.h +0 -0
  761. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/base.h +0 -0
  762. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/base64.h +0 -0
  763. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/bcm_public.h +0 -0
  764. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/bio.h +0 -0
  765. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/blake2.h +0 -0
  766. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/blowfish.h +0 -0
  767. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/bn.h +0 -0
  768. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/buf.h +0 -0
  769. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/buffer.h +0 -0
  770. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cast.h +0 -0
  771. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/chacha.h +0 -0
  772. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cipher.h +0 -0
  773. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cmac.h +0 -0
  774. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cms.h +0 -0
  775. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/conf.h +0 -0
  776. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cpu.h +0 -0
  777. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/crypto.h +0 -0
  778. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ctrdrbg.h +0 -0
  779. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/curve25519.h +0 -0
  780. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/des.h +0 -0
  781. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/dh.h +0 -0
  782. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/digest.h +0 -0
  783. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/dsa.h +0 -0
  784. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/dtls1.h +0 -0
  785. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/e_os2.h +0 -0
  786. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ec.h +0 -0
  787. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ec_key.h +0 -0
  788. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ecdh.h +0 -0
  789. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ecdsa.h +0 -0
  790. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/engine.h +0 -0
  791. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/err.h +0 -0
  792. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/evp.h +0 -0
  793. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/evp_errors.h +0 -0
  794. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ex_data.h +0 -0
  795. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/experimental/kyber.h +0 -0
  796. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/hkdf.h +0 -0
  797. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/hmac.h +0 -0
  798. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/hpke.h +0 -0
  799. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/hrss.h +0 -0
  800. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/is_boringssl.h +0 -0
  801. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/kdf.h +0 -0
  802. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/lhash.h +0 -0
  803. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/md4.h +0 -0
  804. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/md5.h +0 -0
  805. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/mem.h +0 -0
  806. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/mldsa.h +0 -0
  807. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/mlkem.h +0 -0
  808. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/nid.h +0 -0
  809. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/obj.h +0 -0
  810. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/obj_mac.h +0 -0
  811. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/objects.h +0 -0
  812. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/opensslconf.h +0 -0
  813. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/opensslv.h +0 -0
  814. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ossl_typ.h +0 -0
  815. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pem.h +0 -0
  816. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pkcs12.h +0 -0
  817. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pkcs7.h +0 -0
  818. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pkcs8.h +0 -0
  819. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/poly1305.h +0 -0
  820. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pool.h +0 -0
  821. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/posix_time.h +0 -0
  822. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/rand.h +0 -0
  823. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/rc4.h +0 -0
  824. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ripemd.h +0 -0
  825. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/rsa.h +0 -0
  826. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/safestack.h +0 -0
  827. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/service_indicator.h +0 -0
  828. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/sha.h +0 -0
  829. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/siphash.h +0 -0
  830. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/slhdsa.h +0 -0
  831. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/span.h +0 -0
  832. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/srtp.h +0 -0
  833. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ssl.h +0 -0
  834. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ssl3.h +0 -0
  835. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/stack.h +0 -0
  836. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/target.h +0 -0
  837. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/thread.h +0 -0
  838. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/time.h +0 -0
  839. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/tls1.h +0 -0
  840. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/trust_token.h +0 -0
  841. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/type_check.h +0 -0
  842. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/x509.h +0 -0
  843. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/x509_vfy.h +0 -0
  844. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/x509v3.h +0 -0
  845. /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/x509v3_errors.h +0 -0
  846. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/bio_ssl.cc +0 -0
  847. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/d1_both.cc +0 -0
  848. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/d1_lib.cc +0 -0
  849. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/d1_pkt.cc +0 -0
  850. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/d1_srtp.cc +0 -0
  851. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/dtls_method.cc +0 -0
  852. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/dtls_record.cc +0 -0
  853. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/encrypted_client_hello.cc +0 -0
  854. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/extensions.cc +0 -0
  855. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/handshake.cc +0 -0
  856. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/handshake_client.cc +0 -0
  857. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/handshake_server.cc +0 -0
  858. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/internal.h +0 -0
  859. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/s3_both.cc +0 -0
  860. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/s3_lib.cc +0 -0
  861. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/s3_pkt.cc +0 -0
  862. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_aead_ctx.cc +0 -0
  863. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_buffer.cc +0 -0
  864. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_cert.cc +0 -0
  865. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_cipher.cc +0 -0
  866. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_credential.cc +0 -0
  867. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_file.cc +0 -0
  868. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_key_share.cc +0 -0
  869. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_lib.cc +0 -0
  870. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_privkey.cc +0 -0
  871. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_session.cc +0 -0
  872. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_stat.cc +0 -0
  873. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_transcript.cc +0 -0
  874. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_versions.cc +0 -0
  875. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_x509.cc +0 -0
  876. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/t1_enc.cc +0 -0
  877. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls13_both.cc +0 -0
  878. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls13_client.cc +0 -0
  879. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls13_enc.cc +0 -0
  880. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls13_server.cc +0 -0
  881. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls_method.cc +0 -0
  882. /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls_record.cc +0 -0
  883. /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/curve25519_32.h +0 -0
  884. /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/curve25519_64.h +0 -0
  885. /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/curve25519_64_adx.h +0 -0
  886. /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/curve25519_64_msvc.h +0 -0
  887. /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/p256_32.h +0 -0
  888. /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/p256_64.h +0 -0
  889. /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/p256_64_msvc.h +0 -0
@@ -55,11 +55,13 @@ int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *out_flags) {
55
55
  return 0;
56
56
  }
57
57
 
58
- bssl::UniquePtr<BN_CTX> ctx(BN_CTX_new());
58
+ BN_CTX *ctx = BN_CTX_new();
59
59
  if (ctx == NULL) {
60
60
  return 0;
61
61
  }
62
- bssl::BN_CTXScope scope(ctx.get());
62
+ BN_CTX_start(ctx);
63
+
64
+ int ok = 0;
63
65
 
64
66
  // Check |pub_key| is greater than 1.
65
67
  if (BN_cmp(pub_key, BN_value_one()) <= 0) {
@@ -67,11 +69,11 @@ int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *out_flags) {
67
69
  }
68
70
 
69
71
  // Check |pub_key| is less than |dh->p| - 1.
70
- BIGNUM *tmp = BN_CTX_get(ctx.get());
72
+ BIGNUM *tmp = BN_CTX_get(ctx);
71
73
  if (tmp == NULL ||
72
74
  !BN_copy(tmp, dh->p) ||
73
75
  !BN_sub_word(tmp, 1)) {
74
- return 0;
76
+ goto err;
75
77
  }
76
78
  if (BN_cmp(pub_key, tmp) >= 0) {
77
79
  *out_flags |= DH_CHECK_PUBKEY_TOO_LARGE;
@@ -81,17 +83,23 @@ int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *out_flags) {
81
83
  // Check |pub_key|^|dh->q| is 1 mod |dh->p|. This is necessary for RFC 5114
82
84
  // groups which are not safe primes but pick a generator on a prime-order
83
85
  // subgroup of size |dh->q|.
84
- if (!BN_mod_exp_mont(tmp, pub_key, dh->q, dh->p, ctx.get(), NULL)) {
85
- return 0;
86
+ if (!BN_mod_exp_mont(tmp, pub_key, dh->q, dh->p, ctx, NULL)) {
87
+ goto err;
86
88
  }
87
89
  if (!BN_is_one(tmp)) {
88
90
  *out_flags |= DH_CHECK_PUBKEY_INVALID;
89
91
  }
90
92
  }
91
93
 
92
- return 1;
94
+ ok = 1;
95
+
96
+ err:
97
+ BN_CTX_end(ctx);
98
+ BN_CTX_free(ctx);
99
+ return ok;
93
100
  }
94
101
 
102
+
95
103
  int DH_check(const DH *dh, int *out_flags) {
96
104
  *out_flags = 0;
97
105
  if (!dh_check_params_fast(dh)) {
@@ -104,18 +112,23 @@ int DH_check(const DH *dh, int *out_flags) {
104
112
  // for 3, p mod 12 == 5
105
113
  // for 5, p mod 10 == 3 or 7
106
114
  // should hold.
107
- bssl::UniquePtr<BN_CTX> ctx(BN_CTX_new());
108
- if (ctx == nullptr) {
109
- return 0;
115
+ int ok = 0, r;
116
+ BN_CTX *ctx = NULL;
117
+ BN_ULONG l;
118
+ BIGNUM *t1 = NULL, *t2 = NULL;
119
+
120
+ ctx = BN_CTX_new();
121
+ if (ctx == NULL) {
122
+ goto err;
110
123
  }
111
- bssl::BN_CTXScope scope(ctx.get());
112
- BIGNUM *t1 = BN_CTX_get(ctx.get());
113
- if (t1 == nullptr) {
114
- return 0;
124
+ BN_CTX_start(ctx);
125
+ t1 = BN_CTX_get(ctx);
126
+ if (t1 == NULL) {
127
+ goto err;
115
128
  }
116
- BIGNUM *t2 = BN_CTX_get(ctx.get());
117
- if (t2 == nullptr) {
118
- return 0;
129
+ t2 = BN_CTX_get(ctx);
130
+ if (t2 == NULL) {
131
+ goto err;
119
132
  }
120
133
 
121
134
  if (dh->q) {
@@ -125,40 +138,39 @@ int DH_check(const DH *dh, int *out_flags) {
125
138
  *out_flags |= DH_CHECK_NOT_SUITABLE_GENERATOR;
126
139
  } else {
127
140
  // Check g^q == 1 mod p
128
- if (!BN_mod_exp_mont(t1, dh->g, dh->q, dh->p, ctx.get(), nullptr)) {
129
- return 0;
141
+ if (!BN_mod_exp_mont(t1, dh->g, dh->q, dh->p, ctx, NULL)) {
142
+ goto err;
130
143
  }
131
144
  if (!BN_is_one(t1)) {
132
145
  *out_flags |= DH_CHECK_NOT_SUITABLE_GENERATOR;
133
146
  }
134
147
  }
135
- int r = BN_is_prime_ex(dh->q, BN_prime_checks_for_validation, ctx.get(),
136
- nullptr);
148
+ r = BN_is_prime_ex(dh->q, BN_prime_checks_for_validation, ctx, NULL);
137
149
  if (r < 0) {
138
- return 0;
150
+ goto err;
139
151
  }
140
152
  if (!r) {
141
153
  *out_flags |= DH_CHECK_Q_NOT_PRIME;
142
154
  }
143
155
  // Check p == 1 mod q i.e. q divides p - 1
144
- if (!BN_div(t1, t2, dh->p, dh->q, ctx.get())) {
145
- return 0;
156
+ if (!BN_div(t1, t2, dh->p, dh->q, ctx)) {
157
+ goto err;
146
158
  }
147
159
  if (!BN_is_one(t2)) {
148
160
  *out_flags |= DH_CHECK_INVALID_Q_VALUE;
149
161
  }
150
162
  } else if (BN_is_word(dh->g, DH_GENERATOR_2)) {
151
- BN_ULONG l = BN_mod_word(dh->p, 24);
163
+ l = BN_mod_word(dh->p, 24);
152
164
  if (l == (BN_ULONG)-1) {
153
- return 0;
165
+ goto err;
154
166
  }
155
167
  if (l != 11) {
156
168
  *out_flags |= DH_CHECK_NOT_SUITABLE_GENERATOR;
157
169
  }
158
170
  } else if (BN_is_word(dh->g, DH_GENERATOR_5)) {
159
- BN_ULONG l = BN_mod_word(dh->p, 10);
171
+ l = BN_mod_word(dh->p, 10);
160
172
  if (l == (BN_ULONG)-1) {
161
- return 0;
173
+ goto err;
162
174
  }
163
175
  if (l != 3 && l != 7) {
164
176
  *out_flags |= DH_CHECK_NOT_SUITABLE_GENERATOR;
@@ -167,24 +179,30 @@ int DH_check(const DH *dh, int *out_flags) {
167
179
  *out_flags |= DH_CHECK_UNABLE_TO_CHECK_GENERATOR;
168
180
  }
169
181
 
170
- int r =
171
- BN_is_prime_ex(dh->p, BN_prime_checks_for_validation, ctx.get(), nullptr);
182
+ r = BN_is_prime_ex(dh->p, BN_prime_checks_for_validation, ctx, NULL);
172
183
  if (r < 0) {
173
- return 0;
184
+ goto err;
174
185
  }
175
186
  if (!r) {
176
187
  *out_flags |= DH_CHECK_P_NOT_PRIME;
177
188
  } else if (!dh->q) {
178
189
  if (!BN_rshift1(t1, dh->p)) {
179
- return 0;
190
+ goto err;
180
191
  }
181
- r = BN_is_prime_ex(t1, BN_prime_checks_for_validation, ctx.get(), nullptr);
192
+ r = BN_is_prime_ex(t1, BN_prime_checks_for_validation, ctx, NULL);
182
193
  if (r < 0) {
183
- return 0;
194
+ goto err;
184
195
  }
185
196
  if (!r) {
186
197
  *out_flags |= DH_CHECK_P_NOT_SAFE_PRIME;
187
198
  }
188
199
  }
189
- return 1;
200
+ ok = 1;
201
+
202
+ err:
203
+ if (ctx != NULL) {
204
+ BN_CTX_end(ctx);
205
+ BN_CTX_free(ctx);
206
+ }
207
+ return ok;
190
208
  }
@@ -147,27 +147,28 @@ int DH_generate_key(DH *dh) {
147
147
  }
148
148
 
149
149
  int ok = 0;
150
- bool generate_new_key = false;
151
- BIGNUM *pub_key = nullptr, *priv_key = nullptr;
150
+ int generate_new_key = 0;
151
+ BN_CTX *ctx = NULL;
152
+ BIGNUM *pub_key = NULL, *priv_key = NULL, *priv_key_limit = NULL;
152
153
 
153
- bssl::UniquePtr<BN_CTX> ctx(BN_CTX_new());
154
- if (ctx == nullptr) {
154
+ ctx = BN_CTX_new();
155
+ if (ctx == NULL) {
155
156
  goto err;
156
157
  }
157
158
 
158
- if (dh->priv_key == nullptr) {
159
+ if (dh->priv_key == NULL) {
159
160
  priv_key = BN_new();
160
- if (priv_key == nullptr) {
161
+ if (priv_key == NULL) {
161
162
  goto err;
162
163
  }
163
- generate_new_key = true;
164
+ generate_new_key = 1;
164
165
  } else {
165
166
  priv_key = dh->priv_key;
166
167
  }
167
168
 
168
- if (dh->pub_key == nullptr) {
169
+ if (dh->pub_key == NULL) {
169
170
  pub_key = BN_new();
170
- if (pub_key == nullptr) {
171
+ if (pub_key == NULL) {
171
172
  goto err;
172
173
  }
173
174
  } else {
@@ -175,7 +176,7 @@ int DH_generate_key(DH *dh) {
175
176
  }
176
177
 
177
178
  if (!BN_MONT_CTX_set_locked(&dh->method_mont_p, &dh->method_mont_p_lock,
178
- dh->p, ctx.get())) {
179
+ dh->p, ctx)) {
179
180
  goto err;
180
181
  }
181
182
 
@@ -201,30 +202,30 @@ int DH_generate_key(DH *dh) {
201
202
  // clamp |dh->priv_length| before invoking the algorithm.
202
203
 
203
204
  // Compute M = min(2^N, q).
204
- bssl::UniquePtr<BIGNUM> priv_key_limit(BN_new());
205
- if (priv_key_limit == nullptr) {
205
+ priv_key_limit = BN_new();
206
+ if (priv_key_limit == NULL) {
206
207
  goto err;
207
208
  }
208
209
  if (dh->priv_length == 0 || dh->priv_length >= BN_num_bits(dh->p) - 1) {
209
210
  // M = q = (p - 1) / 2.
210
- if (!BN_rshift1(priv_key_limit.get(), dh->p)) {
211
+ if (!BN_rshift1(priv_key_limit, dh->p)) {
211
212
  goto err;
212
213
  }
213
214
  } else {
214
215
  // M = 2^N.
215
- if (!BN_set_bit(priv_key_limit.get(), dh->priv_length)) {
216
+ if (!BN_set_bit(priv_key_limit, dh->priv_length)) {
216
217
  goto err;
217
218
  }
218
219
  }
219
220
 
220
221
  // Choose a private key uniformly from [1, M-1].
221
- if (!BN_rand_range_ex(priv_key, 1, priv_key_limit.get())) {
222
+ if (!BN_rand_range_ex(priv_key, 1, priv_key_limit)) {
222
223
  goto err;
223
224
  }
224
225
  }
225
226
  }
226
227
 
227
- if (!BN_mod_exp_mont_consttime(pub_key, dh->g, priv_key, dh->p, ctx.get(),
228
+ if (!BN_mod_exp_mont_consttime(pub_key, dh->g, priv_key, dh->p, ctx,
228
229
  dh->method_mont_p)) {
229
230
  goto err;
230
231
  }
@@ -238,12 +239,14 @@ err:
238
239
  OPENSSL_PUT_ERROR(DH, ERR_R_BN_LIB);
239
240
  }
240
241
 
241
- if (dh->pub_key == nullptr) {
242
+ if (dh->pub_key == NULL) {
242
243
  BN_free(pub_key);
243
244
  }
244
- if (dh->priv_key == nullptr) {
245
+ if (dh->priv_key == NULL) {
245
246
  BN_free(priv_key);
246
247
  }
248
+ BN_free(priv_key_limit);
249
+ BN_CTX_free(ctx);
247
250
  return ok;
248
251
  }
249
252
 
@@ -264,46 +267,56 @@ static int dh_compute_key(DH *dh, BIGNUM *out_shared_key,
264
267
  return 0;
265
268
  }
266
269
 
267
- bssl::BN_CTXScope scope(ctx);
270
+ int ret = 0;
271
+ BN_CTX_start(ctx);
268
272
  BIGNUM *p_minus_1 = BN_CTX_get(ctx);
273
+
269
274
  if (!p_minus_1 ||
270
275
  !BN_MONT_CTX_set_locked(&dh->method_mont_p, &dh->method_mont_p_lock,
271
276
  dh->p, ctx)) {
272
- return 0;
277
+ goto err;
273
278
  }
274
279
 
275
280
  if (!BN_mod_exp_mont_consttime(out_shared_key, peers_key, dh->priv_key, dh->p,
276
281
  ctx, dh->method_mont_p) ||
277
282
  !BN_copy(p_minus_1, dh->p) || !BN_sub_word(p_minus_1, 1)) {
278
283
  OPENSSL_PUT_ERROR(DH, ERR_R_BN_LIB);
279
- return 0;
284
+ goto err;
280
285
  }
281
286
 
282
287
  // This performs the check required by SP 800-56Ar3 section 5.7.1.1 step two.
283
288
  if (BN_cmp_word(out_shared_key, 1) <= 0 ||
284
289
  BN_cmp(out_shared_key, p_minus_1) == 0) {
285
290
  OPENSSL_PUT_ERROR(DH, DH_R_INVALID_PUBKEY);
286
- return 0;
291
+ goto err;
287
292
  }
288
293
 
289
- return 1;
294
+ ret = 1;
295
+
296
+ err:
297
+ BN_CTX_end(ctx);
298
+ return ret;
290
299
  }
291
300
 
292
301
  int dh_compute_key_padded_no_self_test(unsigned char *out,
293
302
  const BIGNUM *peers_key, DH *dh) {
294
- bssl::UniquePtr<BN_CTX> ctx(BN_CTX_new());
295
- if (ctx == nullptr) {
303
+ BN_CTX *ctx = BN_CTX_new();
304
+ if (ctx == NULL) {
296
305
  return -1;
297
306
  }
298
- bssl::BN_CTXScope scope(ctx.get());
307
+ BN_CTX_start(ctx);
308
+
299
309
  int dh_size = DH_size(dh);
300
- BIGNUM *shared_key = BN_CTX_get(ctx.get());
301
- if (shared_key == nullptr ||
302
- !dh_compute_key(dh, shared_key, peers_key, ctx.get()) ||
303
- !BN_bn2bin_padded(out, dh_size, shared_key)) {
304
- return -1;
310
+ int ret = -1;
311
+ BIGNUM *shared_key = BN_CTX_get(ctx);
312
+ if (shared_key && dh_compute_key(dh, shared_key, peers_key, ctx) &&
313
+ BN_bn2bin_padded(out, dh_size, shared_key)) {
314
+ ret = dh_size;
305
315
  }
306
- return dh_size;
316
+
317
+ BN_CTX_end(ctx);
318
+ BN_CTX_free(ctx);
319
+ return ret;
307
320
  }
308
321
 
309
322
  int DH_compute_key_padded(unsigned char *out, const BIGNUM *peers_key, DH *dh) {
@@ -315,18 +328,22 @@ int DH_compute_key_padded(unsigned char *out, const BIGNUM *peers_key, DH *dh) {
315
328
  int DH_compute_key(unsigned char *out, const BIGNUM *peers_key, DH *dh) {
316
329
  boringssl_ensure_ffdh_self_test();
317
330
 
318
- bssl::UniquePtr<BN_CTX> ctx(BN_CTX_new());
319
- if (ctx == nullptr) {
331
+ BN_CTX *ctx = BN_CTX_new();
332
+ if (ctx == NULL) {
320
333
  return -1;
321
334
  }
322
- bssl::BN_CTXScope scope(ctx.get());
323
- BIGNUM *shared_key = BN_CTX_get(ctx.get());
324
- if (shared_key == nullptr ||
325
- !dh_compute_key(dh, shared_key, peers_key, ctx.get())) {
326
- return -1;
335
+ BN_CTX_start(ctx);
336
+
337
+ int ret = -1;
338
+ BIGNUM *shared_key = BN_CTX_get(ctx);
339
+ if (shared_key && dh_compute_key(dh, shared_key, peers_key, ctx)) {
340
+ // A |BIGNUM|'s byte count fits in |int|.
341
+ ret = (int)BN_bn2bin(shared_key, out);
327
342
  }
328
- // A |BIGNUM|'s byte count fits in |int|.
329
- return static_cast<int>(BN_bn2bin(shared_key, out));
343
+
344
+ BN_CTX_end(ctx);
345
+ BN_CTX_free(ctx);
346
+ return ret;
330
347
  }
331
348
 
332
349
  int DH_compute_key_hashed(DH *dh, uint8_t *out, size_t *out_len,
@@ -398,27 +415,29 @@ DH *DH_get_rfc7919_2048(void) {
398
415
  TOBN(0xadf85458, 0xa2bb4a9a), TOBN(0xffffffff, 0xffffffff),
399
416
  };
400
417
 
401
- bssl::UniquePtr<BIGNUM> ffdhe2048_p(BN_new());
402
- bssl::UniquePtr<BIGNUM> ffdhe2048_q(BN_new());
403
- bssl::UniquePtr<BIGNUM> ffdhe2048_g(BN_new());
404
- bssl::UniquePtr<DH> dh(DH_new());
418
+ BIGNUM *const ffdhe2048_p = BN_new();
419
+ BIGNUM *const ffdhe2048_q = BN_new();
420
+ BIGNUM *const ffdhe2048_g = BN_new();
421
+ DH *const dh = DH_new();
422
+
405
423
  if (!ffdhe2048_p || !ffdhe2048_q || !ffdhe2048_g || !dh) {
406
- return nullptr;
424
+ goto err;
407
425
  }
408
426
 
409
- bn_set_static_words(ffdhe2048_p.get(), kFFDHE2048Data,
427
+ bn_set_static_words(ffdhe2048_p, kFFDHE2048Data,
410
428
  OPENSSL_ARRAY_SIZE(kFFDHE2048Data));
411
429
 
412
- if (!BN_rshift1(ffdhe2048_q.get(), ffdhe2048_p.get()) ||
413
- !BN_set_word(ffdhe2048_g.get(), 2) ||
414
- !DH_set0_pqg(dh.get(), ffdhe2048_p.get(), ffdhe2048_q.get(),
415
- ffdhe2048_g.get())) {
416
- return nullptr;
430
+ if (!BN_rshift1(ffdhe2048_q, ffdhe2048_p) || !BN_set_word(ffdhe2048_g, 2) ||
431
+ !DH_set0_pqg(dh, ffdhe2048_p, ffdhe2048_q, ffdhe2048_g)) {
432
+ goto err;
417
433
  }
418
- // |DH_set0_pqg| takes ownership on success.
419
- ffdhe2048_p.release();
420
- ffdhe2048_q.release();
421
- ffdhe2048_g.release();
422
434
 
423
- return dh.release();
435
+ return dh;
436
+
437
+ err:
438
+ BN_free(ffdhe2048_p);
439
+ BN_free(ffdhe2048_q);
440
+ BN_free(ffdhe2048_g);
441
+ DH_free(dh);
442
+ return NULL;
424
443
  }
@@ -212,10 +212,16 @@ int EVP_DigestFinal(EVP_MD_CTX *ctx, uint8_t *md, unsigned int *size) {
212
212
 
213
213
  int EVP_Digest(const void *data, size_t count, uint8_t *out_md,
214
214
  unsigned int *out_size, const EVP_MD *type, ENGINE *impl) {
215
- bssl::ScopedEVP_MD_CTX ctx;
216
- return EVP_DigestInit_ex(ctx.get(), type, impl) &&
217
- EVP_DigestUpdate(ctx.get(), data, count) &&
218
- EVP_DigestFinal_ex(ctx.get(), out_md, out_size);
215
+ EVP_MD_CTX ctx;
216
+ int ret;
217
+
218
+ EVP_MD_CTX_init(&ctx);
219
+ ret = EVP_DigestInit_ex(&ctx, type, impl) &&
220
+ EVP_DigestUpdate(&ctx, data, count) &&
221
+ EVP_DigestFinal_ex(&ctx, out_md, out_size);
222
+ EVP_MD_CTX_cleanup(&ctx);
223
+
224
+ return ret;
219
225
  }
220
226
 
221
227
  const EVP_MD *EVP_MD_CTX_get0_md(const EVP_MD_CTX *ctx) {
@@ -655,10 +655,12 @@ static int arbitrary_bignum_to_scalar(const EC_GROUP *group, EC_SCALAR *out,
655
655
  ERR_clear_error();
656
656
 
657
657
  // This is an unusual input, so we do not guarantee constant-time processing.
658
- bssl::BN_CTXScope scope(ctx);
658
+ BN_CTX_start(ctx);
659
659
  BIGNUM *tmp = BN_CTX_get(ctx);
660
- return tmp != nullptr && BN_nnmod(tmp, in, EC_GROUP_get0_order(group), ctx) &&
661
- ec_bignum_to_scalar(group, out, tmp);
660
+ int ok = tmp != NULL && BN_nnmod(tmp, in, EC_GROUP_get0_order(group), ctx) &&
661
+ ec_bignum_to_scalar(group, out, tmp);
662
+ BN_CTX_end(ctx);
663
+ return ok;
662
664
  }
663
665
 
664
666
  int ec_point_mul_no_self_test(const EC_GROUP *group, EC_POINT *r,
@@ -121,7 +121,8 @@ int RSA_padding_add_none(uint8_t *to, size_t to_len, const uint8_t *from,
121
121
  int PKCS1_MGF1(uint8_t *out, size_t len, const uint8_t *seed, size_t seed_len,
122
122
  const EVP_MD *md) {
123
123
  int ret = 0;
124
- bssl::ScopedEVP_MD_CTX ctx;
124
+ EVP_MD_CTX ctx;
125
+ EVP_MD_CTX_init(&ctx);
125
126
  FIPS_service_indicator_lock_state();
126
127
 
127
128
  size_t md_len = EVP_MD_size(md);
@@ -132,21 +133,21 @@ int PKCS1_MGF1(uint8_t *out, size_t len, const uint8_t *seed, size_t seed_len,
132
133
  counter[1] = (uint8_t)(i >> 16);
133
134
  counter[2] = (uint8_t)(i >> 8);
134
135
  counter[3] = (uint8_t)i;
135
- if (!EVP_DigestInit_ex(ctx.get(), md, nullptr) ||
136
- !EVP_DigestUpdate(ctx.get(), seed, seed_len) ||
137
- !EVP_DigestUpdate(ctx.get(), counter, sizeof(counter))) {
136
+ if (!EVP_DigestInit_ex(&ctx, md, NULL) ||
137
+ !EVP_DigestUpdate(&ctx, seed, seed_len) ||
138
+ !EVP_DigestUpdate(&ctx, counter, sizeof(counter))) {
138
139
  goto err;
139
140
  }
140
141
 
141
142
  if (md_len <= len) {
142
- if (!EVP_DigestFinal_ex(ctx.get(), out, nullptr)) {
143
+ if (!EVP_DigestFinal_ex(&ctx, out, NULL)) {
143
144
  goto err;
144
145
  }
145
146
  out += md_len;
146
147
  len -= md_len;
147
148
  } else {
148
149
  uint8_t digest[EVP_MAX_MD_SIZE];
149
- if (!EVP_DigestFinal_ex(ctx.get(), digest, nullptr)) {
150
+ if (!EVP_DigestFinal_ex(&ctx, digest, NULL)) {
150
151
  goto err;
151
152
  }
152
153
  OPENSSL_memcpy(out, digest, len);
@@ -157,6 +158,7 @@ int PKCS1_MGF1(uint8_t *out, size_t len, const uint8_t *seed, size_t seed_len,
157
158
  ret = 1;
158
159
 
159
160
  err:
161
+ EVP_MD_CTX_cleanup(&ctx);
160
162
  FIPS_service_indicator_unlock_state();
161
163
  return ret;
162
164
  }
@@ -173,7 +175,8 @@ int RSA_verify_PKCS1_PSS_mgf1(const RSA *rsa, const uint8_t *mHash,
173
175
  int ret = 0;
174
176
  uint8_t *DB = NULL;
175
177
  const uint8_t *H;
176
- bssl::ScopedEVP_MD_CTX ctx;
178
+ EVP_MD_CTX ctx;
179
+ EVP_MD_CTX_init(&ctx);
177
180
  unsigned MSBits;
178
181
  size_t emLen, maskedDBLen, salt_start;
179
182
  FIPS_service_indicator_lock_state();
@@ -244,11 +247,11 @@ int RSA_verify_PKCS1_PSS_mgf1(const RSA *rsa, const uint8_t *mHash,
244
247
  goto err;
245
248
  }
246
249
  uint8_t H_[EVP_MAX_MD_SIZE];
247
- if (!EVP_DigestInit_ex(ctx.get(), Hash, NULL) ||
248
- !EVP_DigestUpdate(ctx.get(), kPSSZeroes, sizeof(kPSSZeroes)) ||
249
- !EVP_DigestUpdate(ctx.get(), mHash, hLen) ||
250
- !EVP_DigestUpdate(ctx.get(), DB + salt_start, maskedDBLen - salt_start) ||
251
- !EVP_DigestFinal_ex(ctx.get(), H_, NULL)) {
250
+ if (!EVP_DigestInit_ex(&ctx, Hash, NULL) ||
251
+ !EVP_DigestUpdate(&ctx, kPSSZeroes, sizeof(kPSSZeroes)) ||
252
+ !EVP_DigestUpdate(&ctx, mHash, hLen) ||
253
+ !EVP_DigestUpdate(&ctx, DB + salt_start, maskedDBLen - salt_start) ||
254
+ !EVP_DigestFinal_ex(&ctx, H_, NULL)) {
252
255
  goto err;
253
256
  }
254
257
  if (OPENSSL_memcmp(H_, H, hLen) != 0) {
@@ -260,6 +263,7 @@ int RSA_verify_PKCS1_PSS_mgf1(const RSA *rsa, const uint8_t *mHash,
260
263
 
261
264
  err:
262
265
  OPENSSL_free(DB);
266
+ EVP_MD_CTX_cleanup(&ctx);
263
267
  FIPS_service_indicator_unlock_state();
264
268
  return ret;
265
269
  }
@@ -268,8 +272,7 @@ int RSA_padding_add_PKCS1_PSS_mgf1(const RSA *rsa, unsigned char *EM,
268
272
  const unsigned char *mHash,
269
273
  const EVP_MD *Hash, const EVP_MD *mgf1Hash,
270
274
  int sLenRequested) {
271
- int ret = 0;
272
- bssl::ScopedEVP_MD_CTX ctx;
275
+ int ret = 0, digest_ok;
273
276
  size_t maskedDBLen, MSBits, emLen;
274
277
  size_t hLen;
275
278
  unsigned char *H, *salt = NULL, *p;
@@ -330,11 +333,15 @@ int RSA_padding_add_PKCS1_PSS_mgf1(const RSA *rsa, unsigned char *EM,
330
333
  maskedDBLen = emLen - hLen - 1;
331
334
  H = EM + maskedDBLen;
332
335
 
333
- if (!EVP_DigestInit_ex(ctx.get(), Hash, NULL) ||
334
- !EVP_DigestUpdate(ctx.get(), kPSSZeroes, sizeof(kPSSZeroes)) ||
335
- !EVP_DigestUpdate(ctx.get(), mHash, hLen) ||
336
- !EVP_DigestUpdate(ctx.get(), salt, sLen) ||
337
- !EVP_DigestFinal_ex(ctx.get(), H, NULL)) {
336
+ EVP_MD_CTX ctx;
337
+ EVP_MD_CTX_init(&ctx);
338
+ digest_ok = EVP_DigestInit_ex(&ctx, Hash, NULL) &&
339
+ EVP_DigestUpdate(&ctx, kPSSZeroes, sizeof(kPSSZeroes)) &&
340
+ EVP_DigestUpdate(&ctx, mHash, hLen) &&
341
+ EVP_DigestUpdate(&ctx, salt, sLen) &&
342
+ EVP_DigestFinal_ex(&ctx, H, NULL);
343
+ EVP_MD_CTX_cleanup(&ctx);
344
+ if (!digest_ok) {
338
345
  goto err;
339
346
  }
340
347
 
@@ -718,15 +718,15 @@ static int check_mod_inverse(int *out_ok, const BIGNUM *a, const BIGNUM *ainv,
718
718
  // Note |bn_mul_consttime| and |bn_div_consttime| do not scale linearly, but
719
719
  // checking |ainv| is in range bounds the running time, assuming |m|'s bounds
720
720
  // were checked by the caller.
721
- bssl::BN_CTXScope scope(ctx);
721
+ BN_CTX_start(ctx);
722
722
  BIGNUM *tmp = BN_CTX_get(ctx);
723
- if (tmp == nullptr || //
724
- !bn_mul_consttime(tmp, a, ainv, ctx) ||
725
- !bn_div_consttime(NULL, tmp, tmp, m, m_min_bits, ctx)) {
726
- return 0;
723
+ int ret = tmp != NULL && bn_mul_consttime(tmp, a, ainv, ctx) &&
724
+ bn_div_consttime(NULL, tmp, tmp, m, m_min_bits, ctx);
725
+ if (ret) {
726
+ *out_ok = constant_time_declassify_int(BN_is_one(tmp));
727
727
  }
728
- *out_ok = constant_time_declassify_int(BN_is_one(tmp));
729
- return 1;
728
+ BN_CTX_end(ctx);
729
+ return ret;
730
730
  }
731
731
 
732
732
  int RSA_check_key(const RSA *key) {