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.
- checksums.yaml +4 -4
- data/Makefile +301 -292
- data/include/grpc/context_types.h +28 -0
- data/include/grpc/credentials.h +11 -0
- data/include/grpc/grpc_security_constants.h +12 -0
- data/include/grpc/module.modulemap +1 -0
- data/src/core/call/call_spine.h +29 -6
- data/src/core/call/client_call.cc +2 -2
- data/src/core/call/client_call.h +6 -0
- data/src/core/call/interception_chain.h +12 -1
- data/src/core/call/metadata_batch.h +37 -2
- data/src/core/call/server_call.h +4 -0
- data/src/core/client_channel/client_channel.cc +2 -1
- data/src/core/client_channel/client_channel_filter.cc +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +8 -0
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.h +9 -2
- data/src/core/credentials/transport/tls/ssl_utils.cc +4 -0
- data/src/core/credentials/transport/tls/ssl_utils.h +3 -0
- data/src/core/credentials/transport/tls/tls_security_connector.cc +3 -2
- data/src/core/ext/filters/http/client_authority_filter.cc +4 -0
- data/src/core/ext/filters/http/http_filters_plugin.cc +6 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +7 -0
- data/src/core/ext/transport/chttp2/transport/frame.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/frame.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_security.cc +3 -1
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +8 -8
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +112 -155
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +38 -37
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +11 -1
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +0 -38
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +30 -37
- data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +74 -5
- data/src/core/ext/transport/chttp2/transport/internal.h +1 -0
- data/src/core/ext/transport/chttp2/transport/parsing.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/security_frame.h +1 -1
- data/src/core/ext/transport/chttp2/transport/stream.h +29 -11
- data/src/core/ext/transport/chttp2/transport/transport_common.cc +3 -0
- data/src/core/ext/transport/chttp2/transport/writable_streams.h +2 -77
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +11 -93
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +15 -129
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +4 -30
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +4 -54
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +4 -28
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +15 -133
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +1 -11
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +2 -46
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +10 -80
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +18 -162
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +2 -18
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +16 -148
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +1 -35
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +13 -101
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +6 -48
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +29 -207
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +5 -59
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +11 -111
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +9 -97
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +10 -130
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +4 -26
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +2 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +2 -16
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +4 -28
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +6 -64
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +9 -53
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +4 -52
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +6 -68
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +1 -19
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +1 -11
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +8 -52
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +11 -59
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +11 -93
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +2 -40
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +48 -550
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +3 -21
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +10 -80
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +1 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +1 -19
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +16 -182
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb.h +240 -0
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.c +78 -0
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.h +34 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +3 -23
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb.h +73 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.c +42 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb.h +431 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.c +111 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.h +38 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +2 -30
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +3 -23
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +1 -11
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +2 -24
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +2 -14
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +19 -187
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +1 -5
- 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
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +3 -25
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +1 -11
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +7 -71
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +3 -21
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +6 -70
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +2 -10
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +2 -26
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +13 -123
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +2 -18
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +5 -53
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +2 -18
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +5 -25
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +2 -16
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +2 -14
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +2 -24
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +3 -21
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +3 -23
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +5 -37
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +2 -8
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +4 -16
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +2 -14
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +11 -91
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +16 -140
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +3 -33
- data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +1 -0
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +27 -410
- data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +5 -17
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +9 -37
- data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +34 -310
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +3 -23
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +11 -83
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +8 -46
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +7 -45
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +2 -18
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +12 -108
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +3 -17
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +2 -10
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +7 -61
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +3 -25
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +8 -72
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +3 -19
- data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +54 -234
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +3 -19
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +4 -22
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +2 -14
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +2 -18
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +12 -12
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +2 -10
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +2 -12
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +8 -58
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +6 -30
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +1 -7
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +2 -24
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +1 -11
- data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +4 -16
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +1 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/common/matching/v3/extension_matcher.upbdefs.c +110 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/common/matching/v3/extension_matcher.upbdefs.h +42 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upbdefs.c +60 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upbdefs.h +37 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/composite/v3/composite.upbdefs.c +138 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/composite/v3/composite.upbdefs.h +52 -0
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +734 -731
- data/src/core/filter/composite/composite_filter.cc +227 -0
- data/src/core/filter/composite/composite_filter.h +154 -0
- data/src/core/filter/filter_args.h +4 -0
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +163 -41
- data/src/core/handshaker/security/pipelining_heuristic_selector.h +151 -0
- data/src/core/handshaker/security/secure_endpoint.cc +24 -8
- data/src/core/lib/channel/connected_channel.cc +13 -0
- data/src/core/lib/channel/promise_based_filter.h +267 -0
- data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +3 -2
- data/src/core/lib/event_engine/extensions/blocking_dns.h +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +4 -0
- data/src/core/lib/event_engine/windows/windows_engine.cc +11 -3
- data/src/core/lib/experiments/experiments.cc +120 -117
- data/src/core/lib/experiments/experiments.h +71 -58
- data/src/core/lib/promise/detail/promise_factory.h +16 -5
- data/src/core/lib/promise/detail/promise_like.h +19 -1
- data/src/core/lib/promise/inter_activity_latch.h +5 -8
- data/src/core/lib/promise/inter_activity_pipe.h +193 -0
- data/src/core/lib/promise/sleep.cc +5 -9
- data/src/core/lib/resource_quota/arena.h +1 -1
- data/src/core/lib/surface/call.cc +43 -6
- data/src/core/lib/surface/call.h +6 -0
- data/src/core/lib/surface/call_utils.cc +42 -3
- data/src/core/lib/surface/call_utils.h +30 -11
- data/src/core/lib/surface/channel_stack_type.cc +8 -0
- data/src/core/lib/surface/channel_stack_type.h +4 -0
- data/src/core/lib/surface/completion_queue.cc +15 -12
- data/src/core/lib/surface/filter_stack_call.h +5 -0
- data/src/core/lib/surface/legacy_channel.cc +1 -22
- data/src/core/lib/surface/legacy_channel.h +1 -3
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +6 -3
- data/src/core/lib/transport/promise_endpoint.h +13 -17
- data/src/core/load_balancing/endpoint_list.cc +0 -8
- data/src/core/load_balancing/pick_first/pick_first.cc +5 -14
- data/src/core/load_balancing/xds/cds.cc +100 -122
- data/src/core/load_balancing/xds/cds.h +58 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +1 -1
- data/src/core/server/server.cc +19 -35
- data/src/core/server/server.h +9 -17
- data/src/core/server/xds_server_config_fetcher.cc +0 -24
- data/src/core/telemetry/metrics.cc +26 -0
- data/src/core/transport/session_endpoint.cc +314 -0
- data/src/core/transport/session_endpoint.h +85 -0
- data/src/core/tsi/ssl_transport_security.cc +137 -100
- data/src/core/tsi/ssl_transport_security.h +8 -0
- data/src/core/tsi/ssl_transport_security_utils.cc +25 -1
- data/src/core/tsi/ssl_transport_security_utils.h +4 -0
- data/src/core/util/sorted_pack.h +69 -44
- data/src/core/util/string.cc +8 -0
- data/src/core/util/string.h +11 -0
- data/src/core/util/table.h +38 -102
- data/src/core/util/time_precise.cc +42 -1
- data/src/core/util/useful.h +0 -91
- data/src/core/util/windows/string_util.cc +4 -2
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +27 -15
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +148 -69
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +12 -0
- data/src/core/xds/grpc/xds_client_grpc.cc +1 -1
- data/src/core/xds/grpc/xds_cluster.cc +54 -37
- data/src/core/xds/grpc/xds_cluster.h +0 -1
- data/src/core/xds/grpc/xds_common_types.cc +59 -34
- data/src/core/xds/grpc/xds_common_types_parser.cc +33 -3
- data/src/core/xds/grpc/xds_common_types_parser.h +5 -1
- data/src/core/xds/grpc/xds_endpoint.cc +44 -24
- data/src/core/xds/grpc/xds_health_status.cc +10 -6
- data/src/core/xds/grpc/xds_http_composite_filter.cc +302 -0
- data/src/core/xds/grpc/xds_http_composite_filter.h +84 -0
- data/src/core/xds/grpc/xds_http_filter_registry.cc +34 -2
- data/src/core/xds/grpc/xds_http_filter_registry.h +4 -0
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +21 -10
- data/src/core/xds/grpc/xds_listener.cc +98 -59
- data/src/core/xds/grpc/xds_listener_parser.cc +64 -26
- data/src/core/xds/grpc/xds_matcher.cc +92 -49
- data/src/core/xds/grpc/xds_metadata.cc +40 -7
- data/src/core/xds/grpc/xds_metadata.h +3 -10
- data/src/core/xds/grpc/xds_route_config.cc +171 -100
- data/src/core/xds/grpc/xds_server_grpc.cc +27 -18
- data/src/ruby/bin/math_pb.rb +1 -1
- data/src/ruby/ext/grpc/extconf.rb +1 -15
- data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +3 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/generate_proto_ruby.sh +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +40 -0
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bn/convert.cc +47 -31
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bn/exponentiation.cc +35 -17
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/cbb.cc +8 -14
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/derive_key.cc +15 -13
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_arm_linux.cc +5 -28
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_arm_linux.h +9 -11
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dh/dh_asn1.cc +14 -13
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dsa/dsa.cc +34 -30
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dsa/dsa_asn1.cc +35 -23
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ec/ec_asn1.cc +63 -47
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ec/hash_to_curve.cc +68 -60
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ecdsa/ecdsa_asn1.cc +17 -11
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/evp_asn1.cc +11 -10
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/evp_ctx.cc +11 -10
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_dsa_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_ec_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_ed25519_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_rsa_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_x25519_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/sign.cc +42 -23
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/div.cc.inc +79 -0
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/exponentiation.cc.inc +6 -5
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/gcd.cc.inc +80 -58
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/gcd_extra.cc.inc +45 -29
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/jacobi.cc.inc +16 -7
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/montgomery.cc.inc +24 -10
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/mul.cc.inc +34 -24
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/prime.cc.inc +154 -102
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/shift.cc.inc +8 -3
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/sqrt.cc.inc +78 -1
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/dh/check.cc.inc +53 -35
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/dh/dh.cc.inc +76 -57
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digest/digest.cc.inc +10 -4
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/ec.cc.inc +5 -3
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/padding.cc.inc +26 -19
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/rsa.cc.inc +7 -7
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/rsa_impl.cc.inc +138 -117
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/self_check/self_check.cc.inc +30 -22
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/obj/obj.cc +8 -2
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_lib.cc +13 -8
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs7/pkcs7.cc +6 -5
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs7/pkcs7_x509.cc +3 -6
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs8/p5_pbev2.cc +14 -9
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs8/pkcs8.cc +29 -19
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs8/pkcs8_x509.cc +39 -34
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/rsa_crypt.cc +22 -14
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/a_sign.cc +5 -3
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/asn1_gen.cc +12 -8
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_conf.cc +24 -16
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_info.cc +21 -18
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_x509.cc +57 -52
- data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_x509a.cc +32 -16
- data/third_party/boringssl-with-bazel/{src/include → include}/openssl/bytestring.h +0 -6
- data/third_party/boringssl-with-bazel/{src/ssl → ssl}/handoff.cc +12 -12
- data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_asn1.cc +3 -2
- data/third_party/upb/upb/base/string_view.h +7 -3
- data/third_party/upb/upb/generated_code_support.h +17 -1
- data/third_party/upb/upb/hash/common.c +2 -1
- data/third_party/upb/upb/mem/alloc.c +2 -1
- data/third_party/upb/upb/mem/alloc.h +25 -6
- data/third_party/upb/upb/mem/arena.c +225 -73
- data/third_party/upb/upb/mem/arena.h +56 -0
- data/third_party/upb/upb/mem/arena.hpp +6 -0
- data/third_party/upb/upb/mem/internal/arena.h +69 -56
- data/third_party/upb/upb/message/accessors.h +4 -0
- data/third_party/upb/upb/message/array.h +3 -0
- data/third_party/upb/upb/message/copy.c +1 -1
- data/third_party/upb/upb/message/internal/accessors.h +10 -0
- data/third_party/upb/upb/message/internal/array.h +34 -3
- data/third_party/upb/upb/message/internal/message.h +23 -9
- data/third_party/upb/upb/mini_descriptor/decode.c +127 -66
- data/third_party/upb/upb/mini_descriptor/decode.h +6 -2
- data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +2 -0
- data/third_party/upb/upb/mini_descriptor/link.c +11 -0
- data/third_party/upb/upb/mini_table/extension.h +7 -0
- data/third_party/upb/upb/mini_table/extension_registry.c +10 -1
- data/third_party/upb/upb/mini_table/extension_registry.h +1 -0
- data/third_party/upb/upb/mini_table/internal/extension.h +10 -0
- data/third_party/upb/upb/mini_table/internal/field.h +1 -1
- data/third_party/upb/upb/mini_table/internal/message.h +69 -9
- data/third_party/upb/upb/mini_table/message.c +0 -38
- data/third_party/upb/upb/mini_table/message.h +5 -1
- data/third_party/upb/upb/port/def.inc +140 -111
- data/third_party/upb/upb/port/sanitizers.h +179 -0
- data/third_party/upb/upb/port/undef.inc +19 -9
- data/third_party/upb/upb/reflection/enum_def.c +7 -3
- data/third_party/upb/upb/reflection/enum_def.h +1 -0
- data/third_party/upb/upb/reflection/field_def.h +1 -0
- data/third_party/upb/upb/reflection/file_def.c +1 -1
- data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
- data/third_party/upb/upb/reflection/message_def.c +29 -2
- data/third_party/upb/upb/reflection/message_def.h +2 -0
- data/third_party/upb/upb/text/internal/encode.c +5 -5
- data/third_party/upb/upb/wire/decode.c +190 -239
- data/third_party/upb/upb/wire/decode.h +14 -5
- data/third_party/upb/upb/wire/decode_fast/combinations.h +217 -0
- data/third_party/upb/upb/wire/decode_fast/data.h +74 -0
- data/third_party/upb/upb/wire/decode_fast/select.c +235 -0
- data/third_party/upb/upb/wire/decode_fast/select.h +66 -0
- data/third_party/upb/upb/wire/encode.c +332 -203
- data/third_party/upb/upb/wire/encode.h +3 -6
- data/third_party/upb/upb/wire/eps_copy_input_stream.h +64 -6
- data/third_party/upb/upb/wire/internal/decoder.c +43 -0
- data/third_party/upb/upb/wire/internal/decoder.h +73 -35
- data/third_party/upb/upb/wire/internal/reader.h +28 -9
- data/third_party/upb/upb/wire/reader.c +20 -2
- data/third_party/upb/upb/wire/reader.h +29 -19
- data/third_party/upb/upb/wire/writer.h +20 -0
- data/third_party/utf8_range/utf8_range.c +6 -6
- data/third_party/utf8_range/utf8_range_neon.inc +1 -1
- data/third_party/utf8_range/utf8_range_sse.inc +1 -1
- metadata +559 -531
- data/third_party/boringssl-with-bazel/src/crypto/bn/div.cc +0 -100
- data/third_party/boringssl-with-bazel/src/crypto/bn/sqrt.cc +0 -93
- data/third_party/upb/upb/wire/internal/decode_fast.c +0 -1000
- data/third_party/upb/upb/wire/internal/decode_fast.h +0 -152
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/aes/aes.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_bitstr.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_bool.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_d2i_fp.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_dup.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_gentm.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_i2d_fp.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_int.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_mbstr.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_object.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_octet.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_strex.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_strnid.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_time.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_type.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/a_utctm.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/asn1_lib.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/asn1_par.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/asn_pack.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/f_int.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/f_string.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/posix_time.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_dec.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_enc.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_fre.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_new.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_typ.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/asn1/tasn_utl.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/base64/base64.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bcm_support.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/bio.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/bio_mem.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/connect.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/errno.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/fd.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/file.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/hexdump.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/pair.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/printf.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/socket.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bio/socket_helper.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/blake2/blake2.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bn/bn_asn1.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/buf/buf.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/asn1_compat.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/ber.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/cbs.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/bytestring/unicode.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/chacha/chacha.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/chacha/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_aesctrhmac.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_aeseax.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_aesgcmsiv.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_chacha20poly1305.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_des.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_null.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_rc2.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_rc4.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/e_tls.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/get_cipher.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cipher/tls_cbc.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cms/cms.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/conf/conf.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/conf/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_apple.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_fuchsia.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_linux.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_openbsd.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_sysreg.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_aarch64_win.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_arm_freebsd.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/cpu_intel.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/crypto.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/curve25519.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/curve25519_64_adx.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/curve25519_tables.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/curve25519/spake25519.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/des/des.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/des/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dh/params.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/digest/digest_extra.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/dsa/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ec/ec_derive.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ec/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ecdh/ecdh.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/engine/engine.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/err/err.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/err/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/evp.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_dh.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_dh_asn1.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_ec.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_ed25519.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_hkdf.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_rsa.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/p_x25519.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/pbkdf.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/print.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/evp/scrypt.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/ex_data.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/aes.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/aes_nohw.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/cbc.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/cfb.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/ctr.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/gcm.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/gcm_nohw.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/key_wrap.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/mode_wrappers.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/aes/ofb.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bcm.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bcm_interface.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/add.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/asm/x86_64-gcc.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/bn.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/bytes.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/cmp.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/ctx.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/div_extra.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/generic.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/montgomery_inv.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/random.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/rsaz_exp.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/bn/rsaz_exp.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/aead.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/cipher.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/e_aes.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/e_aesccm.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cipher/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/cmac/cmac.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/delocate.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/dh/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digest/digests.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digest/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digest/md32_common.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/digestsign/digestsign.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/builtin_curves.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/ec_key.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/ec_montgomery.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/felem.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/oct.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p224-64.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256-nistz-table.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256-nistz.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256-nistz.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/p256_table.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/scalar.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/simple.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/simple_mul.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/util.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ec/wnaf.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ecdh/ecdh.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ecdsa/ecdsa.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/ecdsa/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/fips_shared_support.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/hkdf/hkdf.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/hmac/hmac.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/keccak/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/keccak/keccak.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/mldsa/fips_known_values.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/mldsa/mldsa.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/mlkem/fips_known_values.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/mlkem/mlkem.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rand/ctrdrbg.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rand/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rand/rand.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/blinding.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/rsa/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/self_check/fips.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/service_indicator/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/service_indicator/service_indicator.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/sha/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/sha/sha1.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/sha/sha256.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/sha/sha512.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/address.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/fips_known_values.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/fors.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/fors.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/merkle.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/merkle.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/params.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/slhdsa.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/thash.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/thash.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/wots.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/slhdsa/wots.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/tls/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fipsmodule/tls/kdf.cc.inc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/fuzzer_mode.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/hpke/hpke.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/hrss/hrss.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/hrss/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/kyber/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/kyber/kyber.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/lhash/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/lhash/lhash.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/md4/md4.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/md5/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/md5/md5.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/mem.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/mldsa/mldsa.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/mlkem/mlkem.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/obj/obj_dat.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/obj/obj_xref.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_all.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_info.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_oth.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_pk8.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_pkey.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_x509.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pem/pem_xaux.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs7/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pkcs8/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/poly1305/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/poly1305/poly1305.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/poly1305/poly1305_arm.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/poly1305/poly1305_vec.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pool/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/pool/pool.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/deterministic.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/fork_detect.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/forkunsafe.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/getentropy.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/getrandom_fillin.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/ios.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/passive.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/rand.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/trusty.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/urandom.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rand/windows.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rc4/rc4.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/refcount.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/rsa_asn1.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/rsa_extra.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/rsa/rsa_print.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/sha/sha1.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/sha/sha256.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/sha/sha512.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/siphash/siphash.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/slhdsa/slhdsa.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/spake2plus/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/spake2plus/spake2plus.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/stack/stack.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/thread.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/thread_none.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/thread_pthread.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/thread_win.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/trust_token/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/trust_token/pmbtoken.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/trust_token/trust_token.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/trust_token/voprf.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/a_digest.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/a_verify.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/algorithm.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/by_dir.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/by_file.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/ext_dat.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/i2d_pr.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/name_print.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/policy.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/rsa_pss.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/t_crl.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/t_req.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/t_x509.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/t_x509a.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_akey.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_akeya.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_alt.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_bcons.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_bitst.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_cpols.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_crld.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_enum.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_extku.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_genn.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_ia5.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_int.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_lib.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_ncons.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_ocsp.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_pcons.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_pmaps.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_prn.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_purp.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_skey.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/v3_utl.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_att.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_cmp.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_d2.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_def.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_ext.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_lu.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_obj.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_req.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_set.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_trs.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_txt.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_v3.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_vfy.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509_vpm.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509cset.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509name.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509rset.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x509spki.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_algor.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_all.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_attrib.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_crl.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_exten.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_name.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_pubkey.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_req.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_sig.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_spki.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/crypto → crypto}/x509/x_val.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/gen → gen}/crypto/err_data.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/aead.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/aes.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/arm_arch.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/asm_base.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/asn1.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/asn1_mac.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/asn1t.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/base.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/base64.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/bcm_public.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/bio.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/blake2.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/blowfish.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/bn.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/buf.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/buffer.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cast.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/chacha.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cipher.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cmac.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cms.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/conf.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/cpu.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/crypto.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ctrdrbg.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/curve25519.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/des.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/dh.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/digest.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/dsa.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/dtls1.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/e_os2.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ec.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ec_key.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ecdh.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ecdsa.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/engine.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/err.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/evp.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/evp_errors.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ex_data.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/experimental/kyber.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/hkdf.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/hmac.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/hpke.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/hrss.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/is_boringssl.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/kdf.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/lhash.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/md4.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/md5.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/mem.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/mldsa.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/mlkem.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/nid.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/obj.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/obj_mac.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/objects.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/opensslconf.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/opensslv.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ossl_typ.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pem.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pkcs12.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pkcs7.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pkcs8.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/poly1305.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/pool.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/posix_time.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/rand.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/rc4.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ripemd.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/rsa.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/safestack.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/service_indicator.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/sha.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/siphash.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/slhdsa.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/span.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/srtp.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ssl.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/ssl3.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/stack.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/target.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/thread.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/time.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/tls1.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/trust_token.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/type_check.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/x509.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/x509_vfy.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/x509v3.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/include → include}/openssl/x509v3_errors.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/bio_ssl.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/d1_both.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/d1_lib.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/d1_pkt.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/d1_srtp.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/dtls_method.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/dtls_record.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/encrypted_client_hello.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/extensions.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/handshake.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/handshake_client.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/handshake_server.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/internal.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/s3_both.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/s3_lib.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/s3_pkt.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_aead_ctx.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_buffer.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_cert.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_cipher.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_credential.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_file.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_key_share.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_lib.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_privkey.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_session.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_stat.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_transcript.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_versions.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/ssl_x509.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/t1_enc.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls13_both.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls13_client.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls13_enc.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls13_server.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls_method.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/ssl → ssl}/tls_record.cc +0 -0
- /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/curve25519_32.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/curve25519_64.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/curve25519_64_adx.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/curve25519_64_msvc.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/p256_32.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/p256_64.h +0 -0
- /data/third_party/boringssl-with-bazel/{src/third_party → third_party}/fiat/p256_64_msvc.h +0 -0
|
@@ -51,10 +51,13 @@
|
|
|
51
51
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
|
52
52
|
#include "src/core/lib/iomgr/polling_entity.h"
|
|
53
53
|
#include "src/core/lib/promise/activity.h"
|
|
54
|
+
#include "src/core/lib/promise/all_ok.h"
|
|
54
55
|
#include "src/core/lib/promise/arena_promise.h"
|
|
55
56
|
#include "src/core/lib/promise/cancel_callback.h"
|
|
56
57
|
#include "src/core/lib/promise/context.h"
|
|
57
58
|
#include "src/core/lib/promise/detail/promise_like.h"
|
|
59
|
+
#include "src/core/lib/promise/inter_activity_latch.h"
|
|
60
|
+
#include "src/core/lib/promise/inter_activity_pipe.h"
|
|
58
61
|
#include "src/core/lib/promise/pipe.h"
|
|
59
62
|
#include "src/core/lib/promise/poll.h"
|
|
60
63
|
#include "src/core/lib/promise/promise.h"
|
|
@@ -1220,6 +1223,270 @@ class ImplementChannelFilter : public ChannelFilter,
|
|
|
1220
1223
|
}
|
|
1221
1224
|
};
|
|
1222
1225
|
|
|
1226
|
+
struct V3InterceptorToV2State {
|
|
1227
|
+
InterActivityLatch<CallHandler> call_handler_latch;
|
|
1228
|
+
};
|
|
1229
|
+
|
|
1230
|
+
template <>
|
|
1231
|
+
struct ArenaContextType<V3InterceptorToV2State> {
|
|
1232
|
+
static void Destroy(V3InterceptorToV2State*) {}
|
|
1233
|
+
};
|
|
1234
|
+
|
|
1235
|
+
// Allows writing v3 interceptor that works with v2 stacks (and consequently
|
|
1236
|
+
// also v1 stacks since we can run v2 filters in v1 stacks).
|
|
1237
|
+
//
|
|
1238
|
+
// Note that this bridge does not support the full functionality of the
|
|
1239
|
+
// v3 interceptor API. In particular, it assumes that the interceptor
|
|
1240
|
+
// will create exactly one child call.
|
|
1241
|
+
template <typename Derived>
|
|
1242
|
+
class V3InterceptorToV2Bridge : public ChannelFilter, public Interceptor {
|
|
1243
|
+
public:
|
|
1244
|
+
V3InterceptorToV2Bridge() {
|
|
1245
|
+
// Insert CallDestinationToNextV2Filter as the wrapped destination in
|
|
1246
|
+
// Interceptor, so that we can route the server side of the
|
|
1247
|
+
// interceptor back into the v2 filter chain.
|
|
1248
|
+
wrapped_destination_ = MakeRefCounted<CallDestinationToNextV2Filter>();
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
ArenaPromise<ServerMetadataHandle> MakeCallPromise(
|
|
1252
|
+
CallArgs call_args, NextPromiseFactory next_promise_factory) final {
|
|
1253
|
+
// Create a latch to get the call handler, and put a pointer to it
|
|
1254
|
+
// in call context, so that CallDestinationToNextV2Filter can set
|
|
1255
|
+
// it when it starts the call.
|
|
1256
|
+
auto* arena = GetContext<Arena>();
|
|
1257
|
+
auto* state = arena->ManagedNew<V3InterceptorToV2State>();
|
|
1258
|
+
arena->SetContext<V3InterceptorToV2State>(state);
|
|
1259
|
+
// Now we create a new v3 call pair. The initiator will be the
|
|
1260
|
+
// client side of the v3 interceptor, and the unstarted handler will be
|
|
1261
|
+
// passed to the v3 interceptor. The interceptor will wind up returning
|
|
1262
|
+
// a handler to us via state->call_handler_latch, which will represent
|
|
1263
|
+
// the server side of the v3 interceptor.
|
|
1264
|
+
auto [initiator, unstarted_handler] =
|
|
1265
|
+
MakeCallPair(std::move(call_args.client_initial_metadata),
|
|
1266
|
+
GetContext<Arena>()->Ref());
|
|
1267
|
+
// Inject the unstarted handler into the interceptor.
|
|
1268
|
+
StartCall(std::move(unstarted_handler));
|
|
1269
|
+
// We need inter-activity mechanisms to move data between the v2 and v3
|
|
1270
|
+
// activities.
|
|
1271
|
+
struct PipeOwner {
|
|
1272
|
+
InterActivityLatch<ClientMetadataHandle> client_initial_metadata;
|
|
1273
|
+
InterActivityPipe<MessageHandle, 1> client_to_server_messages;
|
|
1274
|
+
InterActivityLatch<std::optional<ServerMetadataHandle>>
|
|
1275
|
+
server_initial_metadata;
|
|
1276
|
+
InterActivityPipe<MessageHandle, 1> server_to_client_messages;
|
|
1277
|
+
};
|
|
1278
|
+
auto* pipe_owner = GetContext<Arena>()->ManagedNew<PipeOwner>();
|
|
1279
|
+
// Now return a promise that does all the things.
|
|
1280
|
+
return Race(
|
|
1281
|
+
// We need to start polling the initiator for server trailing
|
|
1282
|
+
// metadata immediately, since the v3 interceptor may generate a
|
|
1283
|
+
// failure before any of the other promises resolve.
|
|
1284
|
+
initiator.PullServerTrailingMetadata(),
|
|
1285
|
+
// This promise does the rest of the things, but it will always
|
|
1286
|
+
// return pending, because the promise can't actually finish
|
|
1287
|
+
// until the initiator returns trailing metadata above.
|
|
1288
|
+
TrySeq(
|
|
1289
|
+
state->call_handler_latch.Wait(),
|
|
1290
|
+
[initiator = initiator, pipe_owner,
|
|
1291
|
+
call_args = std::move(call_args),
|
|
1292
|
+
next_promise_factory =
|
|
1293
|
+
std::move(next_promise_factory)](CallHandler handler) mutable {
|
|
1294
|
+
// Intercept all pipes from v2 API.
|
|
1295
|
+
//
|
|
1296
|
+
// For client-to-server messages, we do the following:
|
|
1297
|
+
// 1. Push the message into the v3 initiator, which sends
|
|
1298
|
+
// it to the v3 interceptor. Note that this needs to
|
|
1299
|
+
// be done inside of the v3 initiator's activity.
|
|
1300
|
+
// 2. Pull the message from the v3 handler, where it will
|
|
1301
|
+
// arrive when the v3 interceptor is done with it.
|
|
1302
|
+
// Note that this needs to be done inside of the v3
|
|
1303
|
+
// handler's activity. We then push the message into
|
|
1304
|
+
// an inter-activity pipe to return it to the v2 activity.
|
|
1305
|
+
// 3. In the v2 activity, read the message from the
|
|
1306
|
+
// inter-activity pipe and send it on to the next
|
|
1307
|
+
// filter.
|
|
1308
|
+
//
|
|
1309
|
+
// Step 2: Spawn a promise to pull messages from the v3
|
|
1310
|
+
// handler and push them into an inter-activity pipe to
|
|
1311
|
+
// return them to the v2 activity.
|
|
1312
|
+
handler.SpawnGuarded(
|
|
1313
|
+
"pull_client_to_server_message",
|
|
1314
|
+
[handler, pipe_owner]() mutable {
|
|
1315
|
+
return ForEach(
|
|
1316
|
+
MessagesFrom(handler),
|
|
1317
|
+
[pipe_owner](MessageHandle message) {
|
|
1318
|
+
return Map(
|
|
1319
|
+
pipe_owner->client_to_server_messages.sender.Push(
|
|
1320
|
+
std::move(message)),
|
|
1321
|
+
[](bool x) { return StatusFlag(x); });
|
|
1322
|
+
});
|
|
1323
|
+
});
|
|
1324
|
+
call_args.client_to_server_messages->InterceptAndMap(
|
|
1325
|
+
[initiator, handler,
|
|
1326
|
+
pipe_owner](MessageHandle message) mutable {
|
|
1327
|
+
// Step 1: Push the message onto the v3 initiator in
|
|
1328
|
+
// its activity.
|
|
1329
|
+
initiator.SpawnPushMessage(std::move(message));
|
|
1330
|
+
// Step 3: Here in the v2 activity, read the message
|
|
1331
|
+
// from the inter-activity pipe and return it.
|
|
1332
|
+
return Map(
|
|
1333
|
+
pipe_owner->client_to_server_messages.receiver.Next(),
|
|
1334
|
+
[](InterActivityPipe<MessageHandle, 1>::NextResult
|
|
1335
|
+
message) -> std::optional<MessageHandle> {
|
|
1336
|
+
if (!message.has_value()) return std::nullopt;
|
|
1337
|
+
return std::move(*message);
|
|
1338
|
+
});
|
|
1339
|
+
});
|
|
1340
|
+
// For server initial metadata, we do a similar thing, but
|
|
1341
|
+
// in the opposite direction, and using an inter-activity
|
|
1342
|
+
// latch instead of a pipe:
|
|
1343
|
+
// 1. Push the metadata into the v3 handler, which sends
|
|
1344
|
+
// it to the v3 interceptor. Note that this needs to
|
|
1345
|
+
// be done inside of the v3 handler's activity.
|
|
1346
|
+
// 2. Pull the metadata from the v3 initiator, where it will
|
|
1347
|
+
// arrive when the v3 interceptor is done with it.
|
|
1348
|
+
// Note that this needs to be done inside of the v3
|
|
1349
|
+
// initiator's activity. We then use an inter-activity
|
|
1350
|
+
// latch to return the metadata to the v2 activity.
|
|
1351
|
+
// 3. In the v2 activity, read the metadata from the
|
|
1352
|
+
// inter-activity latch and send it on to the previous
|
|
1353
|
+
// filter.
|
|
1354
|
+
//
|
|
1355
|
+
// Step 2: Spawn a promise to pull the metadata from the v3
|
|
1356
|
+
// initiator and use an inter-activity latch to return it to
|
|
1357
|
+
// the v2 activity.
|
|
1358
|
+
initiator.SpawnGuarded(
|
|
1359
|
+
"pull_server_initial_metadata",
|
|
1360
|
+
[initiator, pipe_owner]() mutable {
|
|
1361
|
+
return TrySeq(
|
|
1362
|
+
initiator.PullServerInitialMetadata(),
|
|
1363
|
+
[pipe_owner](
|
|
1364
|
+
std::optional<ServerMetadataHandle> metadata) {
|
|
1365
|
+
pipe_owner->server_initial_metadata.Set(
|
|
1366
|
+
std::move(metadata));
|
|
1367
|
+
});
|
|
1368
|
+
});
|
|
1369
|
+
call_args.server_initial_metadata->InterceptAndMap(
|
|
1370
|
+
[initiator, handler,
|
|
1371
|
+
pipe_owner](ServerMetadataHandle metadata) mutable {
|
|
1372
|
+
// Step 1: Push the metadata onto the v3 handler in
|
|
1373
|
+
// its activity.
|
|
1374
|
+
handler.SpawnPushServerInitialMetadata(std::move(metadata));
|
|
1375
|
+
// Step 3: Here in the v2 activity, read from the
|
|
1376
|
+
// inter-activity latch and return the metadata.
|
|
1377
|
+
return pipe_owner->server_initial_metadata.Wait();
|
|
1378
|
+
});
|
|
1379
|
+
// We handle server-to-client messages the same as
|
|
1380
|
+
// client-to-server messages, except in the opposite
|
|
1381
|
+
// direction:
|
|
1382
|
+
// 1. Push the message into the v3 handler, which sends
|
|
1383
|
+
// it to the v3 interceptor. Note that this needs to
|
|
1384
|
+
// be done inside of the v3 handler's activity.
|
|
1385
|
+
// 2. Pull the message from the v3 initiator, where it will
|
|
1386
|
+
// arrive when the v3 interceptor is done with it.
|
|
1387
|
+
// Note that this needs to be done inside of the v3
|
|
1388
|
+
// initiator's activity. We then push the message into
|
|
1389
|
+
// an inter-activity pipe to return it to the v2 activity.
|
|
1390
|
+
// 3. In the v2 activity, read the message from the
|
|
1391
|
+
// inter-activity pipe and send it on to the next
|
|
1392
|
+
// filter.
|
|
1393
|
+
//
|
|
1394
|
+
// Step 2: Spawn a promise to pull messages from the v3
|
|
1395
|
+
// initiator and push them into an inter-activity pipe to
|
|
1396
|
+
// return them to the v2 activity.
|
|
1397
|
+
initiator.SpawnGuarded(
|
|
1398
|
+
"pull_server_to_client_message",
|
|
1399
|
+
[initiator, pipe_owner]() mutable {
|
|
1400
|
+
return ForEach(
|
|
1401
|
+
MessagesFrom(initiator),
|
|
1402
|
+
[pipe_owner](MessageHandle message) {
|
|
1403
|
+
return Map(
|
|
1404
|
+
pipe_owner->server_to_client_messages.sender.Push(
|
|
1405
|
+
std::move(message)),
|
|
1406
|
+
[](bool x) { return StatusFlag(x); });
|
|
1407
|
+
});
|
|
1408
|
+
});
|
|
1409
|
+
call_args.server_to_client_messages->InterceptAndMap(
|
|
1410
|
+
[initiator, handler,
|
|
1411
|
+
pipe_owner](MessageHandle message) mutable {
|
|
1412
|
+
// Step 1: Push the message onto the v3 handler in
|
|
1413
|
+
// its activity.
|
|
1414
|
+
handler.SpawnPushMessage(std::move(message));
|
|
1415
|
+
// Step 3: Here in the v2 activity, read from the
|
|
1416
|
+
// inter-activity pipe and return the messages.
|
|
1417
|
+
return Map(
|
|
1418
|
+
pipe_owner->server_to_client_messages.receiver.Next(),
|
|
1419
|
+
[](InterActivityPipe<MessageHandle, 1>::NextResult
|
|
1420
|
+
message) -> std::optional<MessageHandle> {
|
|
1421
|
+
if (!message.has_value()) return std::nullopt;
|
|
1422
|
+
return std::move(*message);
|
|
1423
|
+
});
|
|
1424
|
+
});
|
|
1425
|
+
// In the v3 handler's activity, pull client initial metadata.
|
|
1426
|
+
// Use an inter-acitivity latch to get it back to the v2
|
|
1427
|
+
// activity.
|
|
1428
|
+
handler.SpawnGuarded(
|
|
1429
|
+
"pull_client_initial_metadata",
|
|
1430
|
+
[handler, pipe_owner]() mutable {
|
|
1431
|
+
return TrySeq(handler.PullClientInitialMetadata(),
|
|
1432
|
+
[pipe_owner](ClientMetadataHandle metadata) {
|
|
1433
|
+
pipe_owner->client_initial_metadata.Set(
|
|
1434
|
+
std::move(metadata));
|
|
1435
|
+
});
|
|
1436
|
+
});
|
|
1437
|
+
// A wrapper for next_promise_factory that does the following:
|
|
1438
|
+
// - Pulls client initial metadata from the V3 handler via
|
|
1439
|
+
// the inter-activity latch and injects it into the next
|
|
1440
|
+
// V2 filter via CallArgs.
|
|
1441
|
+
// - Polls the next promise to get server trailing metadata
|
|
1442
|
+
// from the next V2 filter and feeds it into the V3 handler.
|
|
1443
|
+
// Note that this does not actually pull the trailing metadata
|
|
1444
|
+
// from the V3 initiator; instead, we do that in a separate
|
|
1445
|
+
// promise above. That promise will always complete at the
|
|
1446
|
+
// end of the call, so we always return pending here.
|
|
1447
|
+
return Seq(
|
|
1448
|
+
pipe_owner->client_initial_metadata.Wait(),
|
|
1449
|
+
[next_promise_factory = std::move(next_promise_factory),
|
|
1450
|
+
call_args = std::move(call_args),
|
|
1451
|
+
handler](ClientMetadataHandle metadata) mutable {
|
|
1452
|
+
call_args.client_initial_metadata = std::move(metadata);
|
|
1453
|
+
return Seq(next_promise_factory(std::move(call_args)),
|
|
1454
|
+
[handler](ServerMetadataHandle metadata) mutable
|
|
1455
|
+
-> Poll<ServerMetadataHandle> {
|
|
1456
|
+
handler.SpawnPushServerTrailingMetadata(
|
|
1457
|
+
std::move(metadata));
|
|
1458
|
+
// We always lose the race.
|
|
1459
|
+
return Pending{};
|
|
1460
|
+
});
|
|
1461
|
+
});
|
|
1462
|
+
}));
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
protected:
|
|
1466
|
+
RefCountedPtr<UnstartedCallDestination> wrapped_destination() const {
|
|
1467
|
+
return wrapped_destination_; // From Interceptor class.
|
|
1468
|
+
}
|
|
1469
|
+
|
|
1470
|
+
private:
|
|
1471
|
+
// A custom UnstartedCallDestination that starts the call and returns
|
|
1472
|
+
// the resulting handler via a latch obtained from call context.
|
|
1473
|
+
class CallDestinationToNextV2Filter final : public UnstartedCallDestination {
|
|
1474
|
+
public:
|
|
1475
|
+
void StartCall(UnstartedCallHandler unstarted_call_handler) override {
|
|
1476
|
+
// Get the latch from call context.
|
|
1477
|
+
auto* arena = GetContext<Arena>();
|
|
1478
|
+
auto* state = arena->GetContext<V3InterceptorToV2State>();
|
|
1479
|
+
arena->SetContext<V3InterceptorToV2State>(nullptr);
|
|
1480
|
+
// Start the call.
|
|
1481
|
+
CallHandler handler = unstarted_call_handler.StartCall();
|
|
1482
|
+
// Pass call handler to the latch.
|
|
1483
|
+
state->call_handler_latch.Set(std::move(handler));
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
void Orphaned() override {}
|
|
1487
|
+
};
|
|
1488
|
+
};
|
|
1489
|
+
|
|
1223
1490
|
// Designator for whether a filter is client side or server side.
|
|
1224
1491
|
// Please don't use this outside calls to MakePromiseBasedFilter - it's
|
|
1225
1492
|
// intended to be deleted once the promise conversion is complete.
|
|
@@ -70,8 +70,9 @@ void CFSocketListenerImpl::Shutdown() {
|
|
|
70
70
|
CFSocketInvalidate(ipv6cfsock);
|
|
71
71
|
}
|
|
72
72
|
if (runloop_) {
|
|
73
|
-
CFRunLoopWakeUp(runloop_);
|
|
74
73
|
CFRunLoopStop(runloop_);
|
|
74
|
+
CFRelease(runloop_);
|
|
75
|
+
runloop_ = nullptr;
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
|
|
@@ -178,7 +179,7 @@ absl::Status CFSocketListenerImpl::Start() {
|
|
|
178
179
|
return;
|
|
179
180
|
}
|
|
180
181
|
|
|
181
|
-
that->runloop_ = CFRunLoopGetCurrent();
|
|
182
|
+
that->runloop_ = (CFRunLoopRef)CFRetain(CFRunLoopGetCurrent());
|
|
182
183
|
for (auto& [ipv6cfsock] : that->ipv6cfsocks_) {
|
|
183
184
|
CFTypeUniqueRef<CFRunLoopSourceRef> ipv6cfsock_source =
|
|
184
185
|
CFSocketCreateRunLoopSource(kCFAllocatorDefault, ipv6cfsock, 0);
|
|
@@ -27,7 +27,7 @@ class ResolverSupportsBlockingLookups {
|
|
|
27
27
|
virtual ~ResolverSupportsBlockingLookups() = default;
|
|
28
28
|
|
|
29
29
|
static constexpr absl::string_view EndpointExtensionName() {
|
|
30
|
-
return "io.grpc.event_engine.extension.
|
|
30
|
+
return "io.grpc.event_engine.extension.resolver_supports_blocking_lookups";
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
virtual absl::StatusOr<std::vector<EventEngine::ResolvedAddress>>
|
|
@@ -1067,7 +1067,11 @@ bool EventEnginePosixInterface::IsCorrectGeneration(
|
|
|
1067
1067
|
absl::StatusOr<std::pair<FileDescriptor, FileDescriptor> >
|
|
1068
1068
|
EventEnginePosixInterface::Pipe() {
|
|
1069
1069
|
int pipefd[2];
|
|
1070
|
+
#if defined(GPR_ANDROID)
|
|
1071
|
+
int r = pipe2(pipefd, 0);
|
|
1072
|
+
#else
|
|
1070
1073
|
int r = pipe(pipefd);
|
|
1074
|
+
#endif // GPR_ANDROID
|
|
1071
1075
|
if (0 != r) {
|
|
1072
1076
|
return absl::Status(absl::StatusCode::kInternal,
|
|
1073
1077
|
absl::StrCat("pipe: ", grpc_core::StrError(errno)));
|
|
@@ -398,13 +398,21 @@ void WindowsEventEngine::OnConnectCompleted(
|
|
|
398
398
|
erased_handles =
|
|
399
399
|
known_connection_handles_.erase(state->connection_handle());
|
|
400
400
|
}
|
|
401
|
-
if (erased_handles != 1
|
|
401
|
+
if (erased_handles != 1) {
|
|
402
402
|
GRPC_TRACE_LOG(event_engine, INFO)
|
|
403
403
|
<< "Not accepting connection since the deadline timer has fired";
|
|
404
404
|
return;
|
|
405
405
|
}
|
|
406
|
-
//
|
|
407
|
-
|
|
406
|
+
// Cancel the deadline timer, to avoid having a dangling handle. It is OK
|
|
407
|
+
// if this fails, meaning that the deadline timer has already fired,
|
|
408
|
+
// because it won't cancel the connection attempt.
|
|
409
|
+
if (Cancel(state->timer_handle())) {
|
|
410
|
+
// Release refs held by the deadline timer.
|
|
411
|
+
// Only call this if we successfully cancel the deadline timer.
|
|
412
|
+
// Otherwise, we needto let the deadline timer run, and it will
|
|
413
|
+
// release the refs itself.
|
|
414
|
+
state->AbortDeadlineTimer();
|
|
415
|
+
}
|
|
408
416
|
const auto& overlapped_result = state->socket()->write_info()->result();
|
|
409
417
|
if (!overlapped_result.error_status.ok()) {
|
|
410
418
|
state->socket()->Shutdown(DEBUG_LOCATION, "ConnectEx failure");
|