grpc 1.78.0 → 1.80.0.pre1
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 +22 -8
- data/include/grpc/credentials.h +47 -37
- data/include/grpc/credentials_cpp.h +39 -0
- data/include/grpc/event_engine/event_engine.h +8 -3
- data/include/grpc/grpc.h +4 -0
- data/include/grpc/impl/call.h +9 -0
- data/include/grpc/impl/channel_arg_names.h +7 -0
- data/include/grpc/module.modulemap +2 -0
- data/include/grpc/private_key_signer.h +104 -0
- data/include/grpc/support/port_platform.h +6 -0
- data/src/core/call/call_filters.h +101 -78
- data/src/core/call/call_spine.h +91 -68
- data/src/core/call/call_state.h +60 -4
- data/src/core/call/client_call.cc +9 -9
- data/src/core/call/client_call.h +1 -1
- data/src/core/call/metadata_batch.cc +2 -0
- data/src/core/call/metadata_batch.h +48 -1
- data/src/core/call/metadata_info.cc +35 -0
- data/src/core/call/metadata_info.h +2 -0
- data/src/core/call/simple_slice_based_metadata.h +2 -1
- data/src/core/channelz/channelz.cc +9 -6
- data/src/core/channelz/channelz.h +7 -4
- data/src/core/channelz/property_list.h +5 -0
- data/src/core/channelz/v2tov1/convert.cc +1 -1
- data/src/core/channelz/v2tov1/legacy_api.cc +164 -307
- data/src/core/client_channel/buffered_call.cc +7 -3
- data/src/core/client_channel/buffered_call.h +11 -5
- data/src/core/client_channel/client_channel.cc +106 -44
- data/src/core/client_channel/client_channel.h +3 -6
- data/src/core/client_channel/client_channel_filter.cc +90 -64
- data/src/core/client_channel/client_channel_filter.h +3 -6
- data/src/core/client_channel/client_channel_internal.h +5 -0
- data/src/core/client_channel/config_selector.h +17 -12
- data/src/core/client_channel/dynamic_filters.cc +8 -7
- data/src/core/client_channel/dynamic_filters.h +7 -5
- data/src/core/client_channel/retry_filter.cc +1 -1
- data/src/core/client_channel/retry_filter.h +2 -2
- data/src/core/client_channel/subchannel.cc +1682 -266
- data/src/core/client_channel/subchannel.h +411 -134
- data/src/core/client_channel/subchannel_stream_client.cc +22 -18
- data/src/core/client_channel/subchannel_stream_client.h +8 -9
- data/src/core/client_channel/subchannel_stream_limiter.cc +76 -0
- data/src/core/client_channel/subchannel_stream_limiter.h +51 -0
- data/src/core/config/config_vars.cc +9 -1
- data/src/core/config/config_vars.h +6 -0
- data/src/core/credentials/call/call_creds_registry.h +51 -22
- data/src/core/credentials/call/call_creds_registry_init.cc +86 -2
- data/src/core/credentials/call/external/aws_external_account_credentials.cc +2 -2
- data/src/core/credentials/call/external/external_account_credentials.cc +11 -4
- data/src/core/credentials/call/external/file_external_account_credentials.cc +2 -2
- data/src/core/credentials/transport/channel_creds_registry.h +71 -20
- data/src/core/credentials/transport/channel_creds_registry_init.cc +338 -29
- data/src/core/credentials/transport/ssl/ssl_credentials.cc +43 -24
- data/src/core/credentials/transport/ssl/ssl_credentials.h +7 -1
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +2 -8
- data/src/core/credentials/transport/ssl/ssl_security_connector.h +4 -3
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +25 -5
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +7 -5
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +181 -109
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +55 -42
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +28 -23
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.h +26 -23
- data/src/core/credentials/transport/tls/spiffe_utils.cc +2 -2
- data/src/core/credentials/transport/tls/ssl_utils.cc +18 -18
- data/src/core/credentials/transport/tls/ssl_utils.h +12 -10
- data/src/core/credentials/transport/tls/tls_security_connector.cc +106 -74
- data/src/core/credentials/transport/tls/tls_security_connector.h +12 -8
- data/src/core/credentials/transport/xds/xds_credentials.cc +76 -32
- data/src/core/credentials/transport/xds/xds_credentials.h +4 -2
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +117 -35
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +42 -4
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +58 -29
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +19 -11
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +82 -25
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +28 -3
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +9 -7
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +1 -1
- data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +7 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +117 -67
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +2 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.h +11 -1
- data/src/core/ext/transport/chttp2/transport/frame.cc +2 -15
- data/src/core/ext/transport/chttp2/transport/frame.h +0 -4
- data/src/core/ext/transport/chttp2/transport/goaway.cc +17 -2
- data/src/core/ext/transport/chttp2/transport/goaway.h +27 -6
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +8 -21
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +101 -40
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +95 -0
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +923 -772
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +406 -423
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +8 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +25 -13
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +71 -24
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +25 -49
- data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +29 -9
- data/src/core/ext/transport/chttp2/transport/internal.h +6 -2
- data/src/core/ext/transport/chttp2/transport/keepalive.cc +14 -20
- data/src/core/ext/transport/chttp2/transport/keepalive.h +9 -6
- data/src/core/ext/transport/chttp2/transport/parsing.cc +11 -0
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +34 -74
- data/src/core/ext/transport/chttp2/transport/ping_promise.h +123 -79
- data/src/core/ext/transport/chttp2/transport/security_frame.h +233 -3
- data/src/core/ext/transport/chttp2/transport/stream.h +152 -73
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +155 -85
- data/src/core/ext/transport/chttp2/transport/transport_common.h +0 -5
- data/src/core/ext/transport/chttp2/transport/writable_streams.h +8 -7
- data/src/core/ext/transport/chttp2/transport/write_cycle.cc +86 -0
- data/src/core/ext/transport/chttp2/transport/write_cycle.h +355 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +31 -29
- data/src/core/ext/upb-gen/cel/expr/checked.upb.h +1875 -0
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +409 -0
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.h +56 -0
- data/src/core/ext/upb-gen/cel/expr/syntax.upb.h +2223 -0
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +489 -0
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.h +60 -0
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +2 -1
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +130 -18
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +18 -13
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +70 -38
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +20 -17
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +26 -10
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +8 -7
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb.h +495 -0
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +114 -0
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.h +36 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +26 -10
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +8 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb.h +121 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +54 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +143 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +18 -6
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +112 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +22 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +276 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +60 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +72 -0
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +23 -2
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +129 -13
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +36 -10
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +30 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +5 -3
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +16 -0
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +4 -3
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +31 -0
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +5 -3
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +2 -1
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +63 -0
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +12 -7
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +97 -81
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +40 -23
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +604 -228
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +146 -100
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +30 -0
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +5 -3
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +35 -3
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +7 -4
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +66 -14
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +22 -11
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +87 -0
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +29 -2
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +20 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +5 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +239 -60
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +59 -28
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb.h +89 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +50 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb.h +135 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.c +53 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb.h +105 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.c +51 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +32 -0
- 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 +6 -3
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +206 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +41 -8
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +64 -0
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +4 -3
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +64 -0
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +31 -5
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +283 -14
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +48 -11
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +144 -6
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +35 -7
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +42 -21
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +9 -8
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +164 -1
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +37 -6
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +26 -11
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +33 -0
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +14 -3
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +90 -10
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +18 -7
- data/src/core/ext/upbdefs-gen/cel/expr/checked.upbdefs.c +248 -0
- data/src/core/ext/upbdefs-gen/cel/expr/checked.upbdefs.h +97 -0
- data/src/core/ext/upbdefs-gen/cel/expr/syntax.upbdefs.c +283 -0
- data/src/core/ext/upbdefs-gen/cel/expr/syntax.upbdefs.h +107 -0
- data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +213 -211
- data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +635 -614
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +1012 -1000
- data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +276 -273
- data/src/core/ext/upbdefs-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upbdefs.c +152 -0
- data/src/core/ext/upbdefs-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upbdefs.h +47 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +149 -144
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +367 -370
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/cel.upbdefs.c +63 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/cel.upbdefs.h +37 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +297 -284
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +492 -469
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +74 -43
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +60 -59
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +202 -184
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +354 -339
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +28 -19
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +30 -27
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +71 -66
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +94 -91
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +386 -369
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +60 -57
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +1974 -1884
- data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +119 -112
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +62 -51
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +109 -88
- data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +54 -36
- data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +78 -84
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +48 -46
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +1041 -984
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +304 -290
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +94 -77
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +246 -193
- data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +37 -23
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +5 -3
- data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +4 -4
- data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +4 -5
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +113 -87
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +6 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +25 -30
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +14 -20
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +180 -183
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +56 -47
- data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +69 -47
- data/src/core/filter/filter_chain.h +95 -0
- data/src/core/handshaker/http_connect/{http_connect_handshaker.cc → http_connect_client_handshaker.cc} +32 -31
- data/src/core/handshaker/http_connect/{http_connect_handshaker.h → http_connect_client_handshaker.h} +4 -4
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +1 -1
- data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +1 -1
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +14 -13
- data/src/core/handshaker/security/secure_endpoint.cc +282 -68
- data/src/core/handshaker/security/secure_endpoint.h +0 -7
- data/src/core/lib/channel/channel_args.h +1 -1
- data/src/core/lib/channel/promise_based_filter.cc +17 -4
- data/src/core/lib/channel/promise_based_filter.h +3 -2
- data/src/core/lib/debug/trace_flags.cc +2 -0
- data/src/core/lib/debug/trace_flags.h +1 -0
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +35 -8
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +1 -2
- data/src/core/lib/event_engine/event_engine.cc +9 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +0 -3
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +34 -9
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +24 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -3
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +141 -14
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +19 -2
- data/src/core/lib/event_engine/posix_engine/posix_interface.h +7 -0
- data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +21 -3
- data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +16 -0
- data/src/core/lib/experiments/experiments.cc +309 -201
- data/src/core/lib/experiments/experiments.h +141 -80
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
- data/src/core/lib/iomgr/resolve_address.h +0 -2
- data/src/core/lib/iomgr/resolved_address.h +0 -2
- data/src/core/lib/iomgr/tcp_posix.cc +13 -5
- data/src/core/lib/iomgr/tcp_server.cc +0 -5
- data/src/core/lib/iomgr/tcp_server.h +0 -7
- data/src/core/lib/iomgr/tcp_server_posix.cc +0 -17
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +0 -3
- data/src/core/lib/iomgr/tcp_server_windows.cc +12 -51
- data/src/core/lib/promise/all_ok.h +17 -12
- data/src/core/lib/promise/cancel_callback.h +12 -13
- data/src/core/lib/promise/detail/join_state.h +626 -0
- data/src/core/lib/promise/detail/promise_factory.h +14 -14
- data/src/core/lib/promise/for_each.h +32 -8
- data/src/core/lib/promise/if.h +9 -7
- data/src/core/lib/promise/loop.h +18 -16
- data/src/core/lib/promise/map.h +54 -47
- data/src/core/lib/promise/mpsc.h +11 -10
- data/src/core/lib/promise/observable.h +6 -6
- data/src/core/lib/promise/party.h +25 -19
- data/src/core/lib/promise/poll.h +5 -5
- data/src/core/lib/promise/prioritized_race.h +10 -7
- data/src/core/lib/promise/promise.h +16 -11
- data/src/core/lib/promise/race.h +6 -5
- data/src/core/lib/promise/seq.h +109 -74
- data/src/core/lib/promise/try_join.h +14 -6
- data/src/core/lib/promise/try_seq.h +76 -60
- data/src/core/lib/resource_quota/api.cc +7 -0
- data/src/core/lib/resource_quota/arena.h +1 -1
- data/src/core/lib/resource_quota/memory_quota.cc +4 -1
- data/src/core/lib/resource_quota/resource_quota.cc +2 -1
- data/src/core/lib/resource_quota/resource_quota.h +3 -0
- data/src/core/lib/resource_quota/stream_quota.cc +77 -1
- data/src/core/lib/resource_quota/stream_quota.h +64 -1
- data/src/core/lib/resource_quota/telemetry.h +1 -1
- data/src/core/lib/surface/call.cc +13 -0
- data/src/core/lib/surface/call_utils.h +58 -43
- data/src/core/lib/surface/channel.h +1 -4
- data/src/core/lib/surface/completion_queue.cc +13 -6
- data/src/core/lib/surface/validate_metadata.cc +20 -15
- data/src/core/lib/surface/validate_metadata.h +3 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/promise_endpoint.cc +1 -1
- data/src/core/lib/transport/promise_endpoint.h +1 -1
- data/src/core/lib/transport/transport.h +5 -0
- data/src/core/load_balancing/health_check_client.cc +1 -15
- data/src/core/load_balancing/health_check_client_internal.h +0 -2
- data/src/core/load_balancing/oob_backend_metric.cc +1 -5
- data/src/core/load_balancing/oob_backend_metric_internal.h +0 -1
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +12 -9
- data/src/core/plugin_registry/grpc_plugin_registry.cc +3 -2
- data/src/core/resolver/xds/xds_resolver.cc +162 -116
- data/src/core/server/server.cc +18 -1
- data/src/core/server/server.h +2 -0
- data/src/core/server/xds_server_config_fetcher.cc +4 -4
- data/src/core/telemetry/call_tracer.cc +87 -2
- data/src/core/telemetry/call_tracer.h +46 -8
- data/src/core/telemetry/instrument.cc +102 -40
- data/src/core/telemetry/instrument.h +246 -65
- data/src/core/tsi/fake_transport_security.cc +3 -1
- data/src/core/tsi/ssl_transport_security.cc +516 -137
- data/src/core/tsi/ssl_transport_security.h +28 -22
- data/src/core/tsi/ssl_transport_security_utils.cc +2 -2
- data/src/core/tsi/ssl_transport_security_utils.h +2 -2
- data/src/core/util/bitset.h +6 -0
- data/src/core/util/function_signature.h +3 -1
- data/src/core/util/http_client/httpcli_security_connector.cc +2 -1
- data/src/core/util/json/json_reader.cc +0 -4
- data/src/core/xds/grpc/certificate_provider_store.cc +2 -1
- data/src/core/xds/grpc/certificate_provider_store.h +3 -17
- data/src/core/xds/grpc/certificate_provider_store_interface.h +61 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +48 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +18 -0
- data/src/core/xds/grpc/xds_certificate_provider.cc +7 -2
- data/src/core/xds/grpc/xds_certificate_provider.h +13 -2
- data/src/core/xds/grpc/xds_client_grpc.cc +13 -6
- data/src/core/xds/grpc/xds_client_grpc.h +10 -7
- data/src/core/xds/grpc/xds_cluster.cc +18 -4
- data/src/core/xds/grpc/xds_cluster.h +17 -2
- data/src/core/xds/grpc/xds_cluster_parser.cc +36 -11
- data/src/core/xds/grpc/xds_common_types.cc +45 -0
- data/src/core/xds/grpc/xds_common_types.h +31 -0
- data/src/core/xds/grpc/xds_common_types_parser.cc +274 -16
- data/src/core/xds/grpc/xds_common_types_parser.h +12 -0
- data/src/core/xds/grpc/xds_http_fault_filter.cc +128 -24
- data/src/core/xds/grpc/xds_http_fault_filter.h +19 -10
- data/src/core/xds/grpc/xds_http_filter.cc +38 -0
- data/src/core/xds/grpc/xds_http_filter.h +70 -47
- data/src/core/xds/grpc/xds_http_filter_registry.cc +48 -14
- data/src/core/xds/grpc/xds_http_filter_registry.h +29 -15
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +88 -22
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +22 -11
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +36 -20
- data/src/core/xds/grpc/xds_http_rbac_filter.h +19 -10
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +143 -26
- data/src/core/xds/grpc/xds_http_stateful_session_filter.h +19 -10
- data/src/core/xds/grpc/xds_listener.cc +4 -1
- data/src/core/xds/grpc/xds_listener.h +10 -2
- data/src/core/xds/grpc/xds_listener_parser.cc +23 -18
- data/src/core/xds/grpc/xds_matcher.cc +40 -5
- data/src/core/xds/grpc/xds_matcher.h +13 -0
- data/src/core/xds/grpc/xds_matcher_action.h +1 -1
- data/src/core/xds/grpc/xds_matcher_parse.cc +60 -40
- data/src/core/xds/grpc/xds_matcher_parse.h +2 -1
- data/src/core/xds/grpc/xds_route_config.cc +12 -1
- data/src/core/xds/grpc/xds_route_config.h +15 -2
- data/src/core/xds/grpc/xds_route_config_parser.cc +11 -5
- data/src/core/xds/grpc/xds_routing.cc +181 -6
- data/src/core/xds/grpc/xds_routing.h +57 -0
- data/src/core/xds/grpc/xds_server_grpc.cc +55 -43
- data/src/core/xds/grpc/xds_server_grpc.h +13 -6
- data/src/core/xds/grpc/xds_server_grpc_interface.h +3 -2
- data/src/core/xds/grpc/xds_transport_grpc.cc +12 -6
- data/src/core/xds/grpc/xds_transport_grpc.h +5 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +12 -8
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +18 -12
- data/src/ruby/lib/grpc/grpc.rb +7 -9
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/generate_proto_ruby.sh +1 -1
- data/src/ruby/spec/client_server_spec.rb +1 -1
- data/src/ruby/spec/generic/rpc_server_pool_spec.rb +1 -1
- data/src/ruby/spec/generic/rpc_server_spec.rb +3 -4
- data/src/ruby/spec/spec_helper.rb +1 -1
- metadata +64 -14
- data/src/core/ext/transport/chttp2/transport/security_frame.cc +0 -31
- data/src/core/handshaker/security/legacy_secure_endpoint.cc +0 -597
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c07293ac6e598f03bca8daf804e71b55661e5510893c94453e3cba3a277cb889
|
|
4
|
+
data.tar.gz: 459b8aedf9dd6afe0aaeeb8b5ad391c9ac355c9bb060037ebc2b77361e9821c1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cc6ea871354d656c29732774d6b589399ac3097cdfb7e35000b5d90728cdb53517339e97c72296d955666c88977126dce941452f6eb7ff69ebd5d4ad7e758c16
|
|
7
|
+
data.tar.gz: d1f14482b834f9f8897ce0f6a6744cc7acd9737c51c4447f3f11f508275a56b9fd03bfd45f26f3bb3b2fbb3670eaac137b46af959383b3f5f48ecf190149cb33
|
data/Makefile
CHANGED
|
@@ -367,8 +367,8 @@ E = @echo
|
|
|
367
367
|
Q = @
|
|
368
368
|
endif
|
|
369
369
|
|
|
370
|
-
CORE_VERSION =
|
|
371
|
-
CPP_VERSION = 1.
|
|
370
|
+
CORE_VERSION = 53.0.0
|
|
371
|
+
CPP_VERSION = 1.80.0-pre1
|
|
372
372
|
|
|
373
373
|
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
|
|
374
374
|
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
|
|
@@ -404,7 +404,7 @@ SHARED_EXT_CORE = dll
|
|
|
404
404
|
SHARED_EXT_CPP = dll
|
|
405
405
|
|
|
406
406
|
SHARED_PREFIX =
|
|
407
|
-
SHARED_VERSION_CORE = -
|
|
407
|
+
SHARED_VERSION_CORE = -53
|
|
408
408
|
SHARED_VERSION_CPP = -1
|
|
409
409
|
else ifeq ($(SYSTEM),Darwin)
|
|
410
410
|
EXECUTABLE_SUFFIX =
|
|
@@ -710,6 +710,7 @@ LIBGRPC_SRC = \
|
|
|
710
710
|
src/core/client_channel/subchannel.cc \
|
|
711
711
|
src/core/client_channel/subchannel_pool_interface.cc \
|
|
712
712
|
src/core/client_channel/subchannel_stream_client.cc \
|
|
713
|
+
src/core/client_channel/subchannel_stream_limiter.cc \
|
|
713
714
|
src/core/config/config_vars.cc \
|
|
714
715
|
src/core/config/config_vars_non_generated.cc \
|
|
715
716
|
src/core/config/core_configuration.cc \
|
|
@@ -826,14 +827,16 @@ LIBGRPC_SRC = \
|
|
|
826
827
|
src/core/ext/transport/chttp2/transport/ping_callbacks.cc \
|
|
827
828
|
src/core/ext/transport/chttp2/transport/ping_promise.cc \
|
|
828
829
|
src/core/ext/transport/chttp2/transport/ping_rate_policy.cc \
|
|
829
|
-
src/core/ext/transport/chttp2/transport/security_frame.cc \
|
|
830
830
|
src/core/ext/transport/chttp2/transport/stream_lists.cc \
|
|
831
831
|
src/core/ext/transport/chttp2/transport/transport_common.cc \
|
|
832
832
|
src/core/ext/transport/chttp2/transport/varint.cc \
|
|
833
|
+
src/core/ext/transport/chttp2/transport/write_cycle.cc \
|
|
833
834
|
src/core/ext/transport/chttp2/transport/write_size_policy.cc \
|
|
834
835
|
src/core/ext/transport/chttp2/transport/writing.cc \
|
|
835
836
|
src/core/ext/transport/inproc/inproc_transport.cc \
|
|
836
837
|
src/core/ext/transport/inproc/legacy_inproc_transport.cc \
|
|
838
|
+
src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c \
|
|
839
|
+
src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c \
|
|
837
840
|
src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c \
|
|
838
841
|
src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c \
|
|
839
842
|
src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c \
|
|
@@ -854,9 +857,11 @@ LIBGRPC_SRC = \
|
|
|
854
857
|
src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c \
|
|
855
858
|
src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c \
|
|
856
859
|
src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c \
|
|
860
|
+
src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c \
|
|
857
861
|
src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c \
|
|
858
862
|
src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c \
|
|
859
863
|
src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c \
|
|
864
|
+
src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c \
|
|
860
865
|
src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c \
|
|
861
866
|
src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c \
|
|
862
867
|
src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c \
|
|
@@ -907,6 +912,9 @@ LIBGRPC_SRC = \
|
|
|
907
912
|
src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c \
|
|
908
913
|
src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c \
|
|
909
914
|
src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c \
|
|
915
|
+
src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c \
|
|
916
|
+
src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.c \
|
|
917
|
+
src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.c \
|
|
910
918
|
src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c \
|
|
911
919
|
src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c \
|
|
912
920
|
src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c \
|
|
@@ -1006,6 +1014,8 @@ LIBGRPC_SRC = \
|
|
|
1006
1014
|
src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c \
|
|
1007
1015
|
src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c \
|
|
1008
1016
|
src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c \
|
|
1017
|
+
src/core/ext/upbdefs-gen/cel/expr/checked.upbdefs.c \
|
|
1018
|
+
src/core/ext/upbdefs-gen/cel/expr/syntax.upbdefs.c \
|
|
1009
1019
|
src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c \
|
|
1010
1020
|
src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c \
|
|
1011
1021
|
src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c \
|
|
@@ -1026,9 +1036,11 @@ LIBGRPC_SRC = \
|
|
|
1026
1036
|
src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c \
|
|
1027
1037
|
src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c \
|
|
1028
1038
|
src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c \
|
|
1039
|
+
src/core/ext/upbdefs-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upbdefs.c \
|
|
1029
1040
|
src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c \
|
|
1030
1041
|
src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c \
|
|
1031
1042
|
src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c \
|
|
1043
|
+
src/core/ext/upbdefs-gen/envoy/config/core/v3/cel.upbdefs.c \
|
|
1032
1044
|
src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c \
|
|
1033
1045
|
src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c \
|
|
1034
1046
|
src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c \
|
|
@@ -1172,11 +1184,10 @@ LIBGRPC_SRC = \
|
|
|
1172
1184
|
src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc \
|
|
1173
1185
|
src/core/handshaker/handshaker.cc \
|
|
1174
1186
|
src/core/handshaker/handshaker_registry.cc \
|
|
1175
|
-
src/core/handshaker/http_connect/
|
|
1187
|
+
src/core/handshaker/http_connect/http_connect_client_handshaker.cc \
|
|
1176
1188
|
src/core/handshaker/http_connect/http_proxy_mapper.cc \
|
|
1177
1189
|
src/core/handshaker/http_connect/xds_http_proxy_mapper.cc \
|
|
1178
1190
|
src/core/handshaker/proxy_mapper_registry.cc \
|
|
1179
|
-
src/core/handshaker/security/legacy_secure_endpoint.cc \
|
|
1180
1191
|
src/core/handshaker/security/pipelined_secure_endpoint.cc \
|
|
1181
1192
|
src/core/handshaker/security/secure_endpoint.cc \
|
|
1182
1193
|
src/core/handshaker/security/security_handshaker.cc \
|
|
@@ -1564,6 +1575,7 @@ LIBGRPC_SRC = \
|
|
|
1564
1575
|
src/core/xds/grpc/xds_endpoint_parser.cc \
|
|
1565
1576
|
src/core/xds/grpc/xds_health_status.cc \
|
|
1566
1577
|
src/core/xds/grpc/xds_http_fault_filter.cc \
|
|
1578
|
+
src/core/xds/grpc/xds_http_filter.cc \
|
|
1567
1579
|
src/core/xds/grpc/xds_http_filter_registry.cc \
|
|
1568
1580
|
src/core/xds/grpc/xds_http_gcp_authn_filter.cc \
|
|
1569
1581
|
src/core/xds/grpc/xds_http_rbac_filter.cc \
|
|
@@ -1814,6 +1826,7 @@ PUBLIC_HEADERS_C += \
|
|
|
1814
1826
|
include/grpc/compression.h \
|
|
1815
1827
|
include/grpc/create_channel_from_endpoint.h \
|
|
1816
1828
|
include/grpc/credentials.h \
|
|
1829
|
+
include/grpc/credentials_cpp.h \
|
|
1817
1830
|
include/grpc/event_engine/endpoint_config.h \
|
|
1818
1831
|
include/grpc/event_engine/event_engine.h \
|
|
1819
1832
|
include/grpc/event_engine/extensible.h \
|
|
@@ -1850,6 +1863,7 @@ PUBLIC_HEADERS_C += \
|
|
|
1850
1863
|
include/grpc/impl/slice_type.h \
|
|
1851
1864
|
include/grpc/load_reporting.h \
|
|
1852
1865
|
include/grpc/passive_listener.h \
|
|
1866
|
+
include/grpc/private_key_signer.h \
|
|
1853
1867
|
include/grpc/slice.h \
|
|
1854
1868
|
include/grpc/slice_buffer.h \
|
|
1855
1869
|
include/grpc/status.h \
|
|
@@ -1891,8 +1905,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
|
|
|
1891
1905
|
ifeq ($(SYSTEM),Darwin)
|
|
1892
1906
|
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
|
|
1893
1907
|
else
|
|
1894
|
-
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.
|
|
1895
|
-
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.
|
|
1908
|
+
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.53 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
|
|
1909
|
+
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.53
|
|
1896
1910
|
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
|
|
1897
1911
|
endif
|
|
1898
1912
|
endif
|
data/include/grpc/credentials.h
CHANGED
|
@@ -645,21 +645,6 @@ GRPCAPI void grpc_tls_identity_pairs_add_pair(grpc_tls_identity_pairs* pairs,
|
|
|
645
645
|
*/
|
|
646
646
|
GRPCAPI void grpc_tls_identity_pairs_destroy(grpc_tls_identity_pairs* pairs);
|
|
647
647
|
|
|
648
|
-
/**
|
|
649
|
-
* EXPERIMENTAL API - Subject to change
|
|
650
|
-
*
|
|
651
|
-
* Creates a grpc_tls_certificate_provider that will load credential data from
|
|
652
|
-
* static string during initialization. This provider will always return the
|
|
653
|
-
* same cert data for all cert names.
|
|
654
|
-
* root_certificate and pem_key_cert_pairs can be nullptr, indicating the
|
|
655
|
-
* corresponding credential data is not needed.
|
|
656
|
-
* This function will make a copy of |root_certificate|.
|
|
657
|
-
* The ownership of |pem_key_cert_pairs| is transferred.
|
|
658
|
-
*/
|
|
659
|
-
GRPCAPI grpc_tls_certificate_provider*
|
|
660
|
-
grpc_tls_certificate_provider_static_data_create(
|
|
661
|
-
const char* root_certificate, grpc_tls_identity_pairs* pem_key_cert_pairs);
|
|
662
|
-
|
|
663
648
|
/**
|
|
664
649
|
* EXPERIMENTAL API - Subject to change
|
|
665
650
|
*
|
|
@@ -692,6 +677,46 @@ grpc_tls_certificate_provider_file_watcher_create(
|
|
|
692
677
|
const char* root_cert_path, const char* spiffe_bundle_map_path,
|
|
693
678
|
unsigned int refresh_interval_sec);
|
|
694
679
|
|
|
680
|
+
/**
|
|
681
|
+
* EXPERIMENTAL API - Subject to change
|
|
682
|
+
*
|
|
683
|
+
* Creates a grpc_tls_certificate_provider that will load credential data from
|
|
684
|
+
* memory during initialization. This provider allows updating the identity and
|
|
685
|
+
* root certificates independently.
|
|
686
|
+
*/
|
|
687
|
+
GRPCAPI grpc_tls_certificate_provider*
|
|
688
|
+
grpc_tls_certificate_provider_in_memory_create();
|
|
689
|
+
|
|
690
|
+
/**
|
|
691
|
+
* EXPERIMENTAL API - Subject to change
|
|
692
|
+
*
|
|
693
|
+
* Update the root certificate of a grpc_tls_certificate_provider created with
|
|
694
|
+
* `grpc_tls_certificate_provider_in_memory_create`.
|
|
695
|
+
*
|
|
696
|
+
* root_certificate can be nullptr, indicating the corresponding credential data
|
|
697
|
+
* is not needed. This function will make a copy of |root_cert|.
|
|
698
|
+
*
|
|
699
|
+
* Returns true if the root certificate was successfully updated.
|
|
700
|
+
*/
|
|
701
|
+
GRPCAPI bool grpc_tls_certificate_provider_in_memory_set_root_certificate(
|
|
702
|
+
grpc_tls_certificate_provider* provider, const char* root_cert);
|
|
703
|
+
|
|
704
|
+
/**
|
|
705
|
+
* EXPERIMENTAL API - Subject to change
|
|
706
|
+
*
|
|
707
|
+
* Update the identity certificate of a grpc_tls_certificate_provider created
|
|
708
|
+
* with `grpc_tls_certificate_provider_in_memory_create`.
|
|
709
|
+
*
|
|
710
|
+
* pem_key_cert_pairs can be nullptr, indicating the
|
|
711
|
+
* corresponding credential data is not needed.
|
|
712
|
+
* The ownership of |pem_key_cert_pairs| is transferred.
|
|
713
|
+
*
|
|
714
|
+
* Returns true if the identity certificate was successfully updated.
|
|
715
|
+
*/
|
|
716
|
+
GRPCAPI bool grpc_tls_certificate_provider_in_memory_set_identity_certificate(
|
|
717
|
+
grpc_tls_certificate_provider* provider,
|
|
718
|
+
grpc_tls_identity_pairs* pem_key_cert_pairs);
|
|
719
|
+
|
|
695
720
|
/**
|
|
696
721
|
* EXPERIMENTAL API - Subject to change
|
|
697
722
|
*
|
|
@@ -984,27 +1009,22 @@ typedef struct grpc_tls_certificate_provider grpc_tls_certificate_provider;
|
|
|
984
1009
|
/**
|
|
985
1010
|
* EXPERIMENTAL API - Subject to change
|
|
986
1011
|
*
|
|
987
|
-
* Sets the
|
|
1012
|
+
* Sets the identity certificate provider in the options.
|
|
988
1013
|
* The |options| will implicitly take a new ref to the |provider|.
|
|
989
1014
|
*/
|
|
990
|
-
GRPCAPI void
|
|
1015
|
+
GRPCAPI void grpc_tls_credentials_options_set_identity_certificate_provider(
|
|
991
1016
|
grpc_tls_credentials_options* options,
|
|
992
1017
|
grpc_tls_certificate_provider* provider);
|
|
993
1018
|
|
|
994
1019
|
/**
|
|
995
1020
|
* EXPERIMENTAL API - Subject to change
|
|
996
1021
|
*
|
|
997
|
-
*
|
|
998
|
-
*
|
|
999
|
-
* If this is not set on the client side, we will use the root certificates
|
|
1000
|
-
* stored in the default system location, since client side must provide root
|
|
1001
|
-
* certificates in TLS.
|
|
1002
|
-
* If this is not set on the server side, we will not watch any root certificate
|
|
1003
|
-
* updates, and assume no root certificates needed for the server(single-side
|
|
1004
|
-
* TLS). Default root certs on the server side is not supported.
|
|
1022
|
+
* Sets the root certificate provider in the options.
|
|
1023
|
+
* The |options| will implicitly take a new ref to the |provider|.
|
|
1005
1024
|
*/
|
|
1006
|
-
GRPCAPI void
|
|
1007
|
-
grpc_tls_credentials_options* options
|
|
1025
|
+
GRPCAPI void grpc_tls_credentials_options_set_root_certificate_provider(
|
|
1026
|
+
grpc_tls_credentials_options* options,
|
|
1027
|
+
grpc_tls_certificate_provider* provider);
|
|
1008
1028
|
|
|
1009
1029
|
/**
|
|
1010
1030
|
* EXPERIMENTAL API - Subject to change
|
|
@@ -1015,16 +1035,6 @@ GRPCAPI void grpc_tls_credentials_options_watch_root_certs(
|
|
|
1015
1035
|
GRPCAPI void grpc_tls_credentials_options_set_root_cert_name(
|
|
1016
1036
|
grpc_tls_credentials_options* options, const char* root_cert_name);
|
|
1017
1037
|
|
|
1018
|
-
/**
|
|
1019
|
-
* EXPERIMENTAL API - Subject to change
|
|
1020
|
-
*
|
|
1021
|
-
* If set, gRPC stack will keep watching the identity key-cert pairs
|
|
1022
|
-
* with name |identity_cert_name|.
|
|
1023
|
-
* This is required on the server side, and optional on the client side.
|
|
1024
|
-
*/
|
|
1025
|
-
GRPCAPI void grpc_tls_credentials_options_watch_identity_key_cert_pairs(
|
|
1026
|
-
grpc_tls_credentials_options* options);
|
|
1027
|
-
|
|
1028
1038
|
/**
|
|
1029
1039
|
* EXPERIMENTAL API - Subject to change
|
|
1030
1040
|
*
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*
|
|
3
|
+
* Copyright 2025 gRPC authors.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
#ifndef GRPC_CREDENTIALS_CPP_H
|
|
20
|
+
#define GRPC_CREDENTIALS_CPP_H
|
|
21
|
+
|
|
22
|
+
#include <grpc/credentials.h>
|
|
23
|
+
#include <grpc/support/port_platform.h>
|
|
24
|
+
|
|
25
|
+
#include <optional>
|
|
26
|
+
#include <string>
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* EXPERIMENTAL API - Subject to change
|
|
30
|
+
*
|
|
31
|
+
* Overrides the SNI that the client sends in the TLS handshake. nullopt
|
|
32
|
+
* indicates that SNI should not be overridden. An empty string value indicates
|
|
33
|
+
* that SNI should not be sent at all.
|
|
34
|
+
*/
|
|
35
|
+
void grpc_tls_credentials_options_set_sni_override(
|
|
36
|
+
grpc_tls_credentials_options* options,
|
|
37
|
+
std::optional<std::string> sni_override);
|
|
38
|
+
|
|
39
|
+
#endif /* GRPC_CREDENTIALS_CPP_H */
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
#include <grpc/event_engine/memory_allocator.h>
|
|
21
21
|
#include <grpc/event_engine/port.h>
|
|
22
22
|
#include <grpc/event_engine/slice_buffer.h>
|
|
23
|
+
#include <grpc/grpc.h>
|
|
23
24
|
#include <grpc/support/port_platform.h>
|
|
24
25
|
|
|
25
26
|
#include <bitset>
|
|
@@ -158,7 +159,7 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
|
|
|
158
159
|
/// * sockaddr_in6
|
|
159
160
|
class ResolvedAddress {
|
|
160
161
|
public:
|
|
161
|
-
static constexpr socklen_t MAX_SIZE_BYTES =
|
|
162
|
+
static constexpr socklen_t MAX_SIZE_BYTES = GRPC_MAX_SOCKADDR_SIZE;
|
|
162
163
|
|
|
163
164
|
ResolvedAddress(const sockaddr* address, socklen_t size);
|
|
164
165
|
ResolvedAddress() = default;
|
|
@@ -191,8 +192,8 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
|
|
|
191
192
|
class ReadArgs final {
|
|
192
193
|
public:
|
|
193
194
|
ReadArgs() = default;
|
|
194
|
-
ReadArgs(const ReadArgs&) =
|
|
195
|
-
ReadArgs& operator=(const ReadArgs&) =
|
|
195
|
+
ReadArgs(const ReadArgs&) = default;
|
|
196
|
+
ReadArgs& operator=(const ReadArgs&) = default;
|
|
196
197
|
ReadArgs(ReadArgs&&) = default;
|
|
197
198
|
ReadArgs& operator=(ReadArgs&&) = default;
|
|
198
199
|
|
|
@@ -733,6 +734,10 @@ void AbslStringify(Sink& out, const EventEngine::TaskHandle& handle) {
|
|
|
733
734
|
out.Append(detail::FormatHandleString(handle.keys[0], handle.keys[1]));
|
|
734
735
|
}
|
|
735
736
|
|
|
737
|
+
/** Fetch a vtable for a grpc_channel_arg that points to a grpc_event_engine
|
|
738
|
+
*/
|
|
739
|
+
const grpc_arg_pointer_vtable* grpc_event_engine_arg_vtable(void);
|
|
740
|
+
|
|
736
741
|
} // namespace experimental
|
|
737
742
|
} // namespace grpc_event_engine
|
|
738
743
|
|
data/include/grpc/grpc.h
CHANGED
|
@@ -529,6 +529,10 @@ GRPCAPI void grpc_resource_quota_resize(grpc_resource_quota* resource_quota,
|
|
|
529
529
|
GRPCAPI void grpc_resource_quota_set_max_threads(
|
|
530
530
|
grpc_resource_quota* resource_quota, int new_max_threads);
|
|
531
531
|
|
|
532
|
+
/** Update the size of the maximum number of streams allowed */
|
|
533
|
+
GRPCAPI void grpc_resource_quota_set_max_outstanding_streams(
|
|
534
|
+
grpc_resource_quota* resource_quota, int new_max_outstanding_streams);
|
|
535
|
+
|
|
532
536
|
/** EXPERIMENTAL. Dumps xDS configs as a serialized ClientConfig proto.
|
|
533
537
|
The full name of the proto is envoy.service.status.v3.ClientConfig. */
|
|
534
538
|
GRPCAPI grpc_slice grpc_dump_xds_configs(void);
|
data/include/grpc/impl/call.h
CHANGED
|
@@ -25,4 +25,13 @@
|
|
|
25
25
|
void grpc_call_run_in_event_engine(const grpc_call* call,
|
|
26
26
|
absl::AnyInvocable<void()> cb);
|
|
27
27
|
|
|
28
|
+
// Run a callback in the call's EventEngine creating a new ExecCtx for it. If
|
|
29
|
+
// UseCallEventEngineInCompletionQueueEnabled is enabled, this will run the
|
|
30
|
+
// callback in the call's EventEngine. Otherwise, it will run the callback
|
|
31
|
+
// inline since the completion queue has already scheduled this thread in an
|
|
32
|
+
// EventEngine.
|
|
33
|
+
// Internal-only
|
|
34
|
+
void grpc_call_run_cq_cb(const grpc_call* call,
|
|
35
|
+
absl::AnyInvocable<void()>&& cb);
|
|
36
|
+
|
|
28
37
|
#endif /* GRPC_IMPL_CALL_H */
|
|
@@ -420,6 +420,11 @@
|
|
|
420
420
|
* Defaults to 250ms. */
|
|
421
421
|
#define GRPC_ARG_HAPPY_EYEBALLS_CONNECTION_ATTEMPT_DELAY_MS \
|
|
422
422
|
"grpc.happy_eyeballs_connection_attempt_delay_ms"
|
|
423
|
+
/** If set, uses the provided EventEngine as the channel's event engine.
|
|
424
|
+
* TODO(aananthv): Remove GRPC_INTERNAL_ARG_EVENT_ENGINE once all usages are
|
|
425
|
+
* migrated to this arg.
|
|
426
|
+
*/
|
|
427
|
+
#define GRPC_ARG_EVENT_ENGINE "grpc.experimental.event_engine"
|
|
423
428
|
/** It accepts a MemoryAllocatorFactory as input and If specified, it forces
|
|
424
429
|
* the default event engine to use memory allocators created using the provided
|
|
425
430
|
* factory. */
|
|
@@ -434,5 +439,7 @@
|
|
|
434
439
|
/** If non-zero, allow security frames to be sent and received. */
|
|
435
440
|
#define GRPC_ARG_SECURITY_FRAME_ALLOWED "grpc.security_frame_allowed"
|
|
436
441
|
/** \} */
|
|
442
|
+
/** If non-zero, enable TCP tracing and stats collection. */
|
|
443
|
+
#define GRPC_ARG_TCP_TRACING_ENABLED "grpc.tcp_tracing_enabled"
|
|
437
444
|
|
|
438
445
|
#endif /* GRPC_IMPL_CHANNEL_ARG_NAMES_H */
|
|
@@ -8,6 +8,7 @@ header "byte_buffer.h"
|
|
|
8
8
|
header "compression.h"
|
|
9
9
|
header "create_channel_from_endpoint.h"
|
|
10
10
|
header "credentials.h"
|
|
11
|
+
header "credentials_cpp.h"
|
|
11
12
|
header "fork.h"
|
|
12
13
|
header "grpc.h"
|
|
13
14
|
header "grpc_audit_logging.h"
|
|
@@ -40,6 +41,7 @@ header "byte_buffer.h"
|
|
|
40
41
|
header "impl/slice_type.h"
|
|
41
42
|
header "load_reporting.h"
|
|
42
43
|
header "passive_listener.h"
|
|
44
|
+
header "private_key_signer.h"
|
|
43
45
|
header "slice.h"
|
|
44
46
|
header "slice_buffer.h"
|
|
45
47
|
header "status.h"
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
//
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2025 gRPC authors.
|
|
4
|
+
//
|
|
5
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
// you may not use this file except in compliance with the License.
|
|
7
|
+
// You may obtain a copy of the License at
|
|
8
|
+
//
|
|
9
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
//
|
|
11
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
// See the License for the specific language governing permissions and
|
|
15
|
+
// limitations under the License.
|
|
16
|
+
//
|
|
17
|
+
//
|
|
18
|
+
|
|
19
|
+
#ifndef GRPC_PRIVATE_KEY_SIGNER_H
|
|
20
|
+
#define GRPC_PRIVATE_KEY_SIGNER_H
|
|
21
|
+
|
|
22
|
+
#include <grpc/credentials.h>
|
|
23
|
+
|
|
24
|
+
#include <memory>
|
|
25
|
+
#include <string>
|
|
26
|
+
#include <variant>
|
|
27
|
+
|
|
28
|
+
#include "absl/functional/any_invocable.h"
|
|
29
|
+
#include "absl/status/statusor.h"
|
|
30
|
+
#include "absl/strings/string_view.h"
|
|
31
|
+
|
|
32
|
+
namespace grpc_core {
|
|
33
|
+
|
|
34
|
+
// Implementations of this class must be thread-safe.
|
|
35
|
+
class PrivateKeySigner {
|
|
36
|
+
public:
|
|
37
|
+
// A handle for an asynchronous signing operation.
|
|
38
|
+
//
|
|
39
|
+
// When `PrivateKeySigner::Sign` is implemented asynchronously, it returns an
|
|
40
|
+
// instance of a concrete implementation of this class. This handle is used
|
|
41
|
+
// to manage the asynchronous signing operation and can be used to cancel the
|
|
42
|
+
// operation via `PrivateKeySigner::Cancel`.
|
|
43
|
+
//
|
|
44
|
+
// Users must provide their own concrete implementation of this class. The
|
|
45
|
+
// handle can store any state needed for the asynchronous operation.
|
|
46
|
+
class AsyncSigningHandle {
|
|
47
|
+
public:
|
|
48
|
+
virtual ~AsyncSigningHandle() = default;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// Enum class representing TLS signature algorithm identifiers from BoringSSL.
|
|
52
|
+
// The values correspond to the SSL_SIGN_* macros in <openssl/ssl.h>.
|
|
53
|
+
enum class SignatureAlgorithm {
|
|
54
|
+
kRsaPkcs1Sha256,
|
|
55
|
+
kRsaPkcs1Sha384,
|
|
56
|
+
kRsaPkcs1Sha512,
|
|
57
|
+
kEcdsaSecp256r1Sha256,
|
|
58
|
+
kEcdsaSecp384r1Sha384,
|
|
59
|
+
kEcdsaSecp521r1Sha512,
|
|
60
|
+
kRsaPssRsaeSha256,
|
|
61
|
+
kRsaPssRsaeSha384,
|
|
62
|
+
kRsaPssRsaeSha512,
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// A callback that is invoked when an asynchronous signing operation is
|
|
66
|
+
// complete. The argument should contain the signed bytes on success, or a
|
|
67
|
+
// non-OK status on failure.
|
|
68
|
+
using OnSignComplete = absl::AnyInvocable<void(absl::StatusOr<std::string>)>;
|
|
69
|
+
|
|
70
|
+
virtual ~PrivateKeySigner() = default;
|
|
71
|
+
|
|
72
|
+
// Signs data_to_sign.
|
|
73
|
+
// May return either synchronously or asynchronously.
|
|
74
|
+
// For synchronous returns, directly returns either the signed bytes
|
|
75
|
+
// or a failed status, and the callback will never be invoked.
|
|
76
|
+
// For asynchronous implementations, returns a handle for the asynchronous
|
|
77
|
+
// signing operation. The function argument on_sign_complete must be called by
|
|
78
|
+
// the implementer when the async signing operation is complete.
|
|
79
|
+
// on_sign_complete must not be invoked synchronously within Sign().
|
|
80
|
+
virtual std::variant<absl::StatusOr<std::string>,
|
|
81
|
+
std::shared_ptr<AsyncSigningHandle>>
|
|
82
|
+
Sign(absl::string_view data_to_sign, SignatureAlgorithm signature_algorithm,
|
|
83
|
+
OnSignComplete on_sign_complete) = 0;
|
|
84
|
+
|
|
85
|
+
// Cancels an in-flight async signing operation using a handle returned
|
|
86
|
+
// from a previous call to Sign().
|
|
87
|
+
virtual void Cancel(std::shared_ptr<AsyncSigningHandle> handle) = 0;
|
|
88
|
+
};
|
|
89
|
+
} // namespace grpc_core
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* EXPERIMENTAL API - Subject to change
|
|
93
|
+
*
|
|
94
|
+
* Adds a identity key signer and a identity certificate chain to
|
|
95
|
+
* grpc_tls_identity_pairs. This implementation only works with gRPC Binaries
|
|
96
|
+
* built with BoringSSL.
|
|
97
|
+
* Returns OK if success, or a non-OK status on failure.
|
|
98
|
+
*/
|
|
99
|
+
absl::Status grpc_tls_identity_pairs_add_pair_with_signer(
|
|
100
|
+
grpc_tls_identity_pairs* pairs,
|
|
101
|
+
std::shared_ptr<grpc_core::PrivateKeySigner> private_key_signer,
|
|
102
|
+
absl::string_view cert_chain);
|
|
103
|
+
|
|
104
|
+
#endif /* GRPC_PRIVATE_KEY_SIGNER_H */
|
|
@@ -891,4 +891,10 @@ extern void gpr_unreachable_code(const char* reason, const char* file,
|
|
|
891
891
|
#endif
|
|
892
892
|
#endif
|
|
893
893
|
|
|
894
|
+
#ifdef GPR_OPENBSD
|
|
895
|
+
#define GRPC_MAX_SOCKADDR_SIZE 256
|
|
896
|
+
#else
|
|
897
|
+
#define GRPC_MAX_SOCKADDR_SIZE 128
|
|
898
|
+
#endif
|
|
899
|
+
|
|
894
900
|
#endif /* GRPC_SUPPORT_PORT_PLATFORM_H */
|