grpc 1.71.0 → 1.72.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 +78 -75
- data/include/grpc/event_engine/memory_request.h +3 -3
- data/include/grpc/impl/channel_arg_names.h +70 -50
- data/include/grpc/support/workaround_list.h +1 -4
- data/src/core/{lib/transport → call}/call_arena_allocator.cc +1 -1
- data/src/core/{lib/transport → call}/call_arena_allocator.h +3 -3
- data/src/core/{lib/transport → call}/call_destination.h +4 -4
- data/src/core/{lib/transport → call}/call_filters.cc +2 -2
- data/src/core/{lib/transport → call}/call_filters.h +25 -6
- data/src/core/{lib/channel → call}/call_finalization.h +3 -3
- data/src/core/{lib/transport → call}/call_spine.cc +1 -1
- data/src/core/{lib/transport → call}/call_spine.h +68 -26
- data/src/core/{lib/transport → call}/call_state.cc +1 -1
- data/src/core/{lib/transport → call}/call_state.h +3 -3
- data/src/core/{lib/surface → call}/client_call.cc +9 -7
- data/src/core/{lib/surface → call}/client_call.h +4 -4
- data/src/core/{lib/transport → call}/custom_metadata.h +3 -3
- data/src/core/{lib/transport → call}/interception_chain.cc +5 -5
- data/src/core/{lib/transport → call}/interception_chain.h +7 -7
- data/src/core/{lib/transport → call}/message.cc +1 -1
- data/src/core/{lib/transport → call}/message.h +7 -3
- data/src/core/{lib/transport → call}/metadata.cc +2 -2
- data/src/core/{lib/transport → call}/metadata.h +4 -4
- data/src/core/{lib/transport → call}/metadata_batch.cc +1 -1
- data/src/core/{lib/transport → call}/metadata_batch.h +7 -7
- data/src/core/{lib/transport → call}/metadata_compression_traits.h +3 -3
- data/src/core/{lib/transport → call}/metadata_info.cc +27 -9
- data/src/core/{lib/transport → call}/metadata_info.h +4 -4
- data/src/core/{lib/transport → call}/parsed_metadata.cc +1 -1
- data/src/core/{lib/transport → call}/parsed_metadata.h +3 -3
- data/src/core/call/request_buffer.h +3 -3
- data/src/core/call/security_context.cc +125 -0
- data/src/core/call/security_context.h +114 -0
- data/src/core/{lib/surface → call}/server_call.cc +3 -3
- data/src/core/{lib/surface → call}/server_call.h +5 -5
- data/src/core/{lib/transport → call}/simple_slice_based_metadata.h +4 -4
- data/src/core/{lib/channel → call}/status_util.cc +1 -1
- data/src/core/{lib/channel → call}/status_util.h +3 -3
- data/src/core/client_channel/client_channel.cc +24 -16
- data/src/core/client_channel/client_channel.h +4 -3
- data/src/core/client_channel/client_channel_filter.cc +10 -20
- data/src/core/client_channel/client_channel_filter.h +1 -1
- data/src/core/client_channel/client_channel_internal.h +1 -1
- data/src/core/client_channel/config_selector.h +2 -2
- data/src/core/client_channel/direct_channel.cc +2 -2
- data/src/core/client_channel/dynamic_filters.cc +0 -1
- data/src/core/client_channel/dynamic_filters.h +0 -1
- data/src/core/client_channel/lb_metadata.h +1 -1
- data/src/core/client_channel/load_balanced_call_destination.cc +1 -1
- data/src/core/client_channel/load_balanced_call_destination.h +1 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +43 -41
- data/src/core/client_channel/retry_filter_legacy_call_data.h +6 -6
- data/src/core/client_channel/retry_interceptor.h +1 -1
- data/src/core/client_channel/retry_service_config.cc +1 -1
- data/src/core/client_channel/retry_service_config.h +1 -1
- data/src/core/client_channel/retry_throttle.cc +30 -34
- data/src/core/client_channel/retry_throttle.h +10 -2
- data/src/core/client_channel/subchannel.cc +7 -8
- data/src/core/client_channel/subchannel.h +1 -2
- data/src/core/client_channel/subchannel_stream_client.cc +14 -11
- data/src/core/client_channel/subchannel_stream_client.h +2 -2
- data/src/core/config/core_configuration.h +2 -2
- data/src/core/credentials/call/call_credentials.h +157 -0
- data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.cc +4 -4
- data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.h +4 -4
- data/src/core/{lib/security/credentials/composite/composite_credentials.cc → credentials/call/composite/composite_call_credentials.cc} +4 -57
- data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
- data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.h +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.cc +6 -6
- data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.h +4 -4
- data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.cc +3 -2
- data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.h +4 -4
- data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +3 -2
- data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.h +6 -6
- data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.h +4 -4
- data/src/core/{lib/security/util → credentials/call}/json_util.cc +1 -1
- data/src/core/{lib/security/util → credentials/call}/json_util.h +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.h +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.cc +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.cc +3 -2
- data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.h +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.cc +4 -3
- data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.cc +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.h +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.cc +4 -4
- data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.h +3 -3
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_linux.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_no_op.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_windows.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_client_options.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.h +3 -3
- data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_server_options.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry_init.cc +21 -17
- data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
- data/src/core/{lib/security/credentials/composite/composite_credentials.h → credentials/transport/composite/composite_channel_credentials.h} +6 -51
- data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.cc +4 -26
- data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.h +5 -37
- data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.cc +4 -4
- data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/google_default/credentials_generic.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.cc +31 -19
- data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.h +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.cc +2 -2
- data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.h +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.h +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.cc +4 -4
- data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.h +4 -4
- data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.cc +2 -2
- data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.h +3 -3
- data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.h +6 -6
- data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.cc +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.h +4 -4
- data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_factory.h +3 -3
- data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.cc +1 -1
- data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_match.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.h +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.h +3 -3
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.h +7 -7
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.h +3 -3
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots.h +3 -3
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_fallback.cc +1 -1
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.cc +2 -2
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.h +3 -3
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_windows.cc +1 -1
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.cc +3 -3
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.cc +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.h +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.cc +6 -6
- data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.h +6 -6
- data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.h +3 -3
- data/src/core/{lib/security/credentials/credentials.cc → credentials/transport/transport_credentials.cc} +1 -3
- data/src/core/{lib/security/credentials/credentials.h → credentials/transport/transport_credentials.h} +5 -121
- data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.cc +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.h +6 -6
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -1
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -5
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +2 -2
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +2 -2
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
- data/src/core/ext/filters/http/client_authority_filter.cc +2 -2
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.h +1 -1
- data/src/core/ext/filters/http/server/http_server_filter.cc +1 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
- data/src/core/ext/filters/rbac/rbac_filter.cc +2 -2
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +8 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +5 -1
- data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +1 -3
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +58 -57
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +3 -3
- data/src/core/ext/transport/chttp2/transport/frame.cc +89 -68
- data/src/core/ext/transport/chttp2/transport/frame.h +37 -1
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +6 -3
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +2 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +10 -8
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +2 -2
- data/src/core/ext/transport/chttp2/transport/http2_status.h +52 -0
- data/src/core/ext/transport/chttp2/transport/internal.h +11 -14
- data/src/core/ext/transport/chttp2/transport/parsing.cc +36 -23
- data/src/core/ext/transport/chttp2/transport/writing.cc +15 -14
- data/src/core/ext/transport/inproc/inproc_transport.cc +1 -1
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +1 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +65 -65
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +28 -28
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +14 -14
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +6 -6
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +133 -133
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +71 -71
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +26 -26
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +216 -218
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +66 -66
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +27 -27
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +326 -328
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +103 -103
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +58 -58
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +14 -14
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +22 -24
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +29 -29
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +186 -192
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +54 -54
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +54 -54
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +21 -21
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +59 -61
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +100 -100
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +34 -34
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +12 -12
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +118 -118
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +39 -39
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +19 -19
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +27 -27
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +10 -10
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +12 -14
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +41 -41
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +24 -24
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +139 -139
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +46 -46
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +61 -61
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +20 -20
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +3 -3
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +6 -6
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +33 -33
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +14 -14
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +12 -14
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +52 -54
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +10 -10
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +620 -626
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +215 -215
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +13 -13
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +3 -3
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +7 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +15 -15
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +7 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +16 -16
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +10 -10
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +306 -312
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +96 -96
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +61 -61
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +27 -27
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +19 -19
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +25 -25
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +34 -34
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +3 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +294 -294
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +105 -105
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +3 -3
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +23 -23
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +84 -84
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +28 -28
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +87 -87
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +31 -31
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +24 -24
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +130 -132
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +43 -43
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +6 -6
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +60 -60
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +26 -26
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +7 -7
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +6 -6
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +7 -7
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +11 -11
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +85 -89
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +20 -20
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +80 -83
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +27 -27
- data/src/core/ext/upb-gen/google/api/http.upb.h +51 -51
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +22 -22
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +327 -301
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +97 -85
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +1 -0
- data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +9 -11
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +9 -10
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +110 -113
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +25 -25
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +6 -6
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +21 -22
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +70 -72
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +17 -17
- data/src/core/ext/upb-gen/validate/validate.upb.h +368 -368
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +117 -117
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +9 -10
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +7 -7
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +12 -12
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +27 -30
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +7 -7
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +3 -3
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +22 -24
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +3 -3
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +98 -87
- data/src/core/{lib/security/transport → filter/auth}/auth_filters.h +8 -7
- data/src/core/{lib/security/transport → filter/auth}/client_auth_filter.cc +7 -6
- data/src/core/{lib/security/transport → filter/auth}/server_auth_filter.cc +5 -4
- data/src/core/handshaker/handshaker.cc +0 -8
- data/src/core/handshaker/security/security_handshaker.cc +1 -1
- data/src/core/handshaker/security/security_handshaker.h +1 -1
- data/src/core/lib/channel/channel_args.h +49 -30
- data/src/core/lib/channel/channel_stack.h +1 -2
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
- data/src/core/lib/channel/connected_channel.cc +2 -2
- data/src/core/lib/channel/promise_based_filter.h +3 -3
- data/src/core/lib/debug/trace_flags.cc +2 -4
- data/src/core/lib/debug/trace_flags.h +1 -2
- data/src/core/lib/event_engine/default_event_engine_factory.cc +6 -6
- data/src/core/lib/event_engine/default_event_engine_factory.h +1 -1
- data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
- data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +0 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +1 -3
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +26 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +4 -0
- data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +0 -11
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +10 -2
- data/src/core/lib/event_engine/shim.cc +9 -16
- data/src/core/lib/event_engine/shim.h +11 -0
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +15 -7
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +2 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +11 -0
- data/src/core/lib/event_engine/windows/win_socket.h +3 -0
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +5 -10
- data/src/core/lib/event_engine/windows/windows_engine.cc +42 -0
- data/src/core/lib/event_engine/windows/windows_engine.h +8 -2
- data/src/core/lib/event_engine/windows/windows_listener.cc +5 -6
- data/src/core/lib/event_engine/windows/windows_listener.h +9 -4
- data/src/core/lib/experiments/experiments.cc +174 -21
- data/src/core/lib/experiments/experiments.h +70 -13
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +43 -16
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +43 -8
- data/src/core/lib/iomgr/error.cc +27 -43
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +13 -1
- data/src/core/lib/iomgr/ev_poll_posix.cc +13 -0
- data/src/core/lib/iomgr/polling_entity.cc +2 -7
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -0
- data/src/core/lib/iomgr/socket_utils_posix.cc +22 -11
- data/src/core/lib/iomgr/socket_utils_posix.h +12 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +8 -9
- data/src/core/lib/iomgr/tcp_client_posix.cc +11 -15
- data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
- data/src/core/lib/iomgr/tcp_posix.cc +58 -31
- data/src/core/lib/iomgr/tcp_posix.h +10 -2
- data/src/core/lib/iomgr/tcp_server_posix.cc +9 -1
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +27 -16
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +10 -2
- data/src/core/lib/promise/all_ok.h +31 -0
- data/src/core/lib/promise/loop.h +8 -5
- data/src/core/lib/promise/map.h +65 -2
- data/src/core/lib/promise/party.h +5 -1
- data/src/core/lib/promise/poll.h +22 -20
- data/src/core/lib/promise/promise.h +2 -2
- data/src/core/lib/promise/status_flag.h +23 -11
- data/src/core/lib/security/authorization/evaluate_args.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.h +1 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
- data/src/core/lib/slice/slice.h +6 -0
- data/src/core/lib/surface/call.cc +20 -18
- data/src/core/lib/surface/call_utils.cc +3 -3
- data/src/core/lib/surface/call_utils.h +3 -3
- data/src/core/lib/surface/channel.h +2 -2
- data/src/core/lib/surface/channel_init.h +2 -2
- data/src/core/lib/surface/completion_queue.cc +77 -17
- data/src/core/lib/surface/filter_stack_call.cc +40 -27
- data/src/core/lib/surface/filter_stack_call.h +1 -1
- data/src/core/lib/surface/init.cc +2 -3
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/legacy_channel.cc +27 -23
- data/src/core/lib/surface/legacy_channel.h +1 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/error_utils.cc +65 -11
- data/src/core/lib/transport/error_utils.h +2 -2
- data/src/core/lib/transport/status_conversion.cc +16 -14
- data/src/core/lib/transport/status_conversion.h +5 -4
- data/src/core/lib/transport/transport.h +5 -5
- data/src/core/lib/transport/transport_op_string.cc +1 -1
- data/src/core/load_balancing/delegating_helper.h +1 -1
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -1
- data/src/core/load_balancing/grpclb/grpclb.cc +1 -2
- data/src/core/load_balancing/pick_first/pick_first.cc +0 -955
- data/src/core/load_balancing/rls/rls.cc +31 -37
- data/src/core/load_balancing/weighted_target/weighted_target.cc +1 -1
- data/src/core/load_balancing/xds/cds.cc +3 -10
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +1 -1
- data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -0
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +1 -3
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +4 -0
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +1 -1
- data/src/core/resolver/xds/xds_dependency_manager.cc +8 -3
- data/src/core/resolver/xds/xds_resolver.cc +2 -2
- data/src/core/server/server.cc +7 -4
- data/src/core/server/server.h +1 -1
- data/src/core/server/server_call_tracer_filter.cc +1 -1
- data/src/core/server/server_config_selector.h +1 -1
- data/src/core/server/server_config_selector_filter.cc +1 -1
- data/src/core/server/xds_server_config_fetcher.cc +5 -5
- data/src/core/service_config/service_config_channel_arg_filter.cc +1 -1
- data/src/core/telemetry/call_tracer.cc +2 -4
- data/src/core/telemetry/call_tracer.h +3 -3
- data/src/core/telemetry/metrics.cc +30 -12
- data/src/core/telemetry/metrics.h +15 -3
- data/src/core/telemetry/stats_data.cc +75 -2
- data/src/core/telemetry/stats_data.h +46 -4
- data/src/core/telemetry/tcp_tracer.h +90 -84
- data/src/core/{lib/security/context/security_context.cc → transport/auth_context.cc} +1 -96
- data/src/core/{lib/security/context/security_context.h → transport/auth_context.h} +6 -76
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
- data/src/core/tsi/ssl_transport_security.cc +1 -1
- data/src/core/util/check_class_size.h +48 -0
- data/src/core/util/gcp_metadata_query.cc +1 -1
- data/src/core/util/http_client/httpcli.cc +3 -3
- data/src/core/util/http_client/httpcli_security_connector.cc +3 -3
- data/src/core/util/load_file.cc +26 -14
- data/src/core/util/status_helper.cc +86 -63
- data/src/core/util/status_helper.h +9 -26
- data/src/core/xds/grpc/certificate_provider_store.cc +1 -1
- data/src/core/xds/grpc/certificate_provider_store.h +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +1 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +10 -7
- data/src/core/xds/grpc/xds_certificate_provider.cc +1 -1
- data/src/core/xds/grpc/xds_certificate_provider.h +2 -2
- data/src/core/xds/grpc/xds_client_grpc.cc +7 -6
- data/src/core/xds/grpc/xds_client_grpc.h +4 -2
- data/src/core/xds/grpc/xds_cluster.h +3 -3
- data/src/core/xds/grpc/xds_cluster_parser.cc +3 -2
- data/src/core/xds/grpc/xds_http_fault_filter.cc +1 -1
- data/src/core/xds/grpc/xds_http_filter.h +1 -1
- data/src/core/xds/grpc/xds_http_filter_registry.h +1 -1
- data/src/core/xds/grpc/xds_route_config.h +1 -1
- data/src/core/xds/grpc/xds_route_config_parser.cc +1 -1
- data/src/core/xds/grpc/xds_route_config_parser.h +1 -1
- data/src/core/xds/grpc/xds_routing.h +1 -1
- data/src/core/xds/grpc/xds_server_grpc.cc +60 -48
- data/src/core/xds/grpc/xds_server_grpc.h +23 -13
- data/src/core/xds/grpc/xds_server_grpc_interface.h +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.cc +5 -5
- data/src/core/xds/grpc/xds_transport_grpc.h +5 -3
- data/src/core/xds/xds_client/lrs_client.cc +6 -5
- data/src/core/xds/xds_client/lrs_client.h +7 -7
- data/src/core/xds/xds_client/xds_bootstrap.h +16 -1
- data/src/core/xds/xds_client/xds_client.cc +25 -23
- data/src/core/xds/xds_client/xds_client.h +3 -1
- data/src/core/xds/xds_client/xds_resource_type.h +1 -2
- data/src/core/xds/xds_client/xds_transport.h +1 -1
- data/src/ruby/ext/grpc/extconf.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +20 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +3 -25
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +3 -7
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +13 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +2 -1
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +1 -1
- data/third_party/upb/upb/base/internal/log2.h +3 -1
- data/third_party/upb/upb/base/string_view.h +10 -0
- data/third_party/upb/upb/hash/common.c +5 -1
- data/third_party/upb/upb/json/decode.c +2 -2
- data/third_party/upb/upb/json/decode.h +0 -1
- data/third_party/upb/upb/mem/alloc.h +5 -0
- data/third_party/upb/upb/mem/arena.c +296 -142
- data/third_party/upb/upb/mem/arena.h +47 -11
- data/third_party/upb/upb/mem/arena.hpp +4 -20
- data/third_party/upb/upb/mem/internal/arena.h +4 -6
- data/third_party/upb/upb/message/accessors.h +41 -0
- data/third_party/upb/upb/message/compat.c +11 -14
- data/third_party/upb/upb/message/compat.h +4 -3
- data/third_party/upb/upb/message/copy.c +35 -30
- data/third_party/upb/upb/message/internal/accessors.h +139 -10
- data/third_party/upb/upb/message/internal/extension.c +28 -25
- data/third_party/upb/upb/message/internal/extension.h +21 -5
- data/third_party/upb/upb/message/internal/iterator.c +58 -0
- data/third_party/upb/upb/message/internal/iterator.h +29 -0
- data/third_party/upb/upb/message/internal/map.h +2 -3
- data/third_party/upb/upb/message/internal/map_sorter.h +3 -2
- data/third_party/upb/upb/message/internal/message.c +48 -29
- data/third_party/upb/upb/message/internal/message.h +154 -24
- data/third_party/upb/upb/message/map_sorter.c +20 -8
- data/third_party/upb/upb/message/message.c +90 -38
- data/third_party/upb/upb/message/message.h +58 -2
- data/third_party/upb/upb/message/value.h +9 -0
- data/third_party/upb/upb/mini_descriptor/build_enum.c +1 -1
- data/third_party/upb/upb/mini_descriptor/decode.c +97 -136
- data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
- data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
- data/third_party/upb/upb/mini_table/extension_registry.c +24 -12
- data/third_party/upb/upb/mini_table/extension_registry.h +13 -6
- data/third_party/upb/upb/mini_table/message.c +21 -13
- data/third_party/upb/upb/port/atomic.h +134 -7
- data/third_party/upb/upb/port/def.inc +140 -38
- data/third_party/upb/upb/port/undef.inc +11 -1
- data/third_party/upb/upb/reflection/def.hpp +5 -1
- data/third_party/upb/upb/reflection/def_pool.c +10 -3
- data/third_party/upb/upb/reflection/descriptor_bootstrap.h +1 -1
- data/third_party/upb/upb/reflection/file_def.c +12 -5
- data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
- data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
- data/third_party/upb/upb/reflection/message.c +19 -16
- data/third_party/upb/upb/reflection/message.h +3 -1
- data/third_party/upb/upb/text/encode.c +1 -13
- data/third_party/upb/upb/text/internal/encode.c +25 -6
- data/third_party/upb/upb/text/internal/encode.h +4 -0
- data/third_party/upb/upb/wire/decode.c +60 -45
- data/third_party/upb/upb/wire/decode.h +4 -2
- data/third_party/upb/upb/wire/encode.c +77 -42
- data/third_party/upb/upb/wire/encode.h +2 -0
- data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
- data/third_party/upb/upb/wire/internal/decoder.h +4 -11
- data/third_party/utf8_range/utf8_range.c +15 -275
- data/third_party/utf8_range/utf8_range_neon.inc +117 -0
- data/third_party/utf8_range/utf8_range_sse.inc +272 -0
- data/third_party/zlib/deflate.c +40 -15
- data/third_party/zlib/deflate.h +33 -2
- data/third_party/zlib/gzguts.h +2 -6
- data/third_party/zlib/inflate.c +1 -1
- data/third_party/zlib/inftrees.c +3 -3
- data/third_party/zlib/inftrees.h +2 -2
- data/third_party/zlib/trees.c +18 -4
- data/third_party/zlib/zconf.h +1 -9
- data/third_party/zlib/zlib.h +12 -12
- data/third_party/zlib/zutil.h +4 -25
- metadata +155 -145
- data/include/grpc/grpc_cronet.h +0 -37
- data/src/core/lib/transport/http2_errors.h +0 -43
- data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
- data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
@@ -35,6 +35,7 @@
|
|
35
35
|
#include "absl/strings/cord.h"
|
36
36
|
#include "absl/strings/str_cat.h"
|
37
37
|
#include "absl/strings/string_view.h"
|
38
|
+
#include "src/core/call/interception_chain.h"
|
38
39
|
#include "src/core/channelz/channel_trace.h"
|
39
40
|
#include "src/core/channelz/channelz.h"
|
40
41
|
#include "src/core/client_channel/client_channel_internal.h"
|
@@ -57,7 +58,6 @@
|
|
57
58
|
#include "src/core/lib/surface/init_internally.h"
|
58
59
|
#include "src/core/lib/transport/connectivity_state.h"
|
59
60
|
#include "src/core/lib/transport/error_utils.h"
|
60
|
-
#include "src/core/lib/transport/interception_chain.h"
|
61
61
|
#include "src/core/lib/transport/transport.h"
|
62
62
|
#include "src/core/telemetry/stats.h"
|
63
63
|
#include "src/core/telemetry/stats_data.h"
|
@@ -244,13 +244,12 @@ SubchannelCall::SubchannelCall(Args args, grpc_error_handle* error)
|
|
244
244
|
deadline_(args.deadline) {
|
245
245
|
grpc_call_stack* callstk = SUBCHANNEL_CALL_TO_CALL_STACK(this);
|
246
246
|
const grpc_call_element_args call_args = {
|
247
|
-
callstk,
|
248
|
-
nullptr,
|
249
|
-
args.
|
250
|
-
args.
|
251
|
-
args.
|
252
|
-
args.
|
253
|
-
args.call_combiner // call_combiner
|
247
|
+
callstk, // call_stack
|
248
|
+
nullptr, // server_transport_data
|
249
|
+
args.start_time, // start_time
|
250
|
+
args.deadline, // deadline
|
251
|
+
args.arena, // arena
|
252
|
+
args.call_combiner // call_combiner
|
254
253
|
};
|
255
254
|
*error = grpc_call_stack_init(connected_subchannel_->channel_stack(), 1,
|
256
255
|
SubchannelCall::Destroy, this, &call_args);
|
@@ -29,6 +29,7 @@
|
|
29
29
|
#include "absl/base/thread_annotations.h"
|
30
30
|
#include "absl/container/flat_hash_set.h"
|
31
31
|
#include "absl/status/status.h"
|
32
|
+
#include "src/core/call/metadata_batch.h"
|
32
33
|
#include "src/core/client_channel/connector.h"
|
33
34
|
#include "src/core/client_channel/subchannel_pool_interface.h"
|
34
35
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
@@ -44,7 +45,6 @@
|
|
44
45
|
#include "src/core/lib/resource_quota/arena.h"
|
45
46
|
#include "src/core/lib/slice/slice.h"
|
46
47
|
#include "src/core/lib/transport/connectivity_state.h"
|
47
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
48
48
|
#include "src/core/lib/transport/transport.h"
|
49
49
|
#include "src/core/util/backoff.h"
|
50
50
|
#include "src/core/util/debug_location.h"
|
@@ -95,7 +95,6 @@ class SubchannelCall final {
|
|
95
95
|
struct Args {
|
96
96
|
RefCountedPtr<ConnectedSubchannel> connected_subchannel;
|
97
97
|
grpc_polling_entity* pollent;
|
98
|
-
Slice path;
|
99
98
|
gpr_cycle_counter start_time;
|
100
99
|
Timestamp deadline;
|
101
100
|
Arena* arena;
|
@@ -130,7 +130,7 @@ void SubchannelStreamClient::StartRetryTimerLocked() {
|
|
130
130
|
const Duration timeout = retry_backoff_.NextAttemptDelay();
|
131
131
|
if (GPR_UNLIKELY(tracer_ != nullptr)) {
|
132
132
|
LOG(INFO) << tracer_ << " " << this
|
133
|
-
<< ": SubchannelStreamClient
|
133
|
+
<< ": SubchannelStreamClient call lost...";
|
134
134
|
if (timeout > Duration::Zero()) {
|
135
135
|
LOG(INFO) << tracer_ << " " << this << ": ... will retry in "
|
136
136
|
<< timeout.millis() << "ms.";
|
@@ -139,10 +139,10 @@ void SubchannelStreamClient::StartRetryTimerLocked() {
|
|
139
139
|
}
|
140
140
|
}
|
141
141
|
retry_timer_handle_ = event_engine_->RunAfter(
|
142
|
-
timeout, [self = Ref(DEBUG_LOCATION, "
|
142
|
+
timeout, [self = Ref(DEBUG_LOCATION, "retry_timer")]() mutable {
|
143
143
|
ExecCtx exec_ctx;
|
144
144
|
self->OnRetryTimer();
|
145
|
-
self.reset(DEBUG_LOCATION, "
|
145
|
+
self.reset(DEBUG_LOCATION, "retry_timer");
|
146
146
|
});
|
147
147
|
}
|
148
148
|
|
@@ -152,7 +152,7 @@ void SubchannelStreamClient::OnRetryTimer() {
|
|
152
152
|
call_state_ == nullptr) {
|
153
153
|
if (GPR_UNLIKELY(tracer_ != nullptr)) {
|
154
154
|
LOG(INFO) << tracer_ << " " << this
|
155
|
-
<< ": SubchannelStreamClient restarting
|
155
|
+
<< ": SubchannelStreamClient restarting call";
|
156
156
|
}
|
157
157
|
StartCallLocked();
|
158
158
|
}
|
@@ -164,9 +164,9 @@ void SubchannelStreamClient::OnRetryTimer() {
|
|
164
164
|
//
|
165
165
|
|
166
166
|
SubchannelStreamClient::CallState::CallState(
|
167
|
-
RefCountedPtr<SubchannelStreamClient>
|
167
|
+
RefCountedPtr<SubchannelStreamClient> subchannel_stream_client,
|
168
168
|
grpc_pollset_set* interested_parties)
|
169
|
-
: subchannel_stream_client_(std::move(
|
169
|
+
: subchannel_stream_client_(std::move(subchannel_stream_client)),
|
170
170
|
pollent_(grpc_polling_entity_create_from_pollset_set(interested_parties)),
|
171
171
|
arena_(subchannel_stream_client_->call_allocator_->MakeArena()) {}
|
172
172
|
|
@@ -192,7 +192,6 @@ void SubchannelStreamClient::CallState::StartCallLocked() {
|
|
192
192
|
SubchannelCall::Args args = {
|
193
193
|
subchannel_stream_client_->connected_subchannel_,
|
194
194
|
&pollent_,
|
195
|
-
Slice::FromStaticString("/grpc.health.v1.Health/Watch"),
|
196
195
|
gpr_get_cycle_counter(), // start_time
|
197
196
|
Timestamp::InfFuture(), // deadline
|
198
197
|
arena_.get(),
|
@@ -299,7 +298,7 @@ void SubchannelStreamClient::CallState::AfterCallStackDestruction(
|
|
299
298
|
void SubchannelStreamClient::CallState::OnCancelComplete(
|
300
299
|
void* arg, grpc_error_handle /*error*/) {
|
301
300
|
auto* self = static_cast<SubchannelStreamClient::CallState*>(arg);
|
302
|
-
GRPC_CALL_COMBINER_STOP(&self->call_combiner_, "
|
301
|
+
GRPC_CALL_COMBINER_STOP(&self->call_combiner_, "cancel_batch");
|
303
302
|
self->call_->Unref(DEBUG_LOCATION, "cancel");
|
304
303
|
}
|
305
304
|
|
@@ -322,7 +321,7 @@ void SubchannelStreamClient::CallState::Cancel() {
|
|
322
321
|
GRPC_CALL_COMBINER_START(
|
323
322
|
&call_combiner_,
|
324
323
|
GRPC_CLOSURE_CREATE(StartCancel, this, grpc_schedule_on_exec_ctx),
|
325
|
-
absl::OkStatus(), "
|
324
|
+
absl::OkStatus(), "cancel_batch");
|
326
325
|
}
|
327
326
|
}
|
328
327
|
|
@@ -406,18 +405,22 @@ void SubchannelStreamClient::CallState::RecvTrailingMetadataReady(
|
|
406
405
|
LOG(INFO) << self->subchannel_stream_client_->tracer_ << " "
|
407
406
|
<< self->subchannel_stream_client_.get()
|
408
407
|
<< ": SubchannelStreamClient CallState " << self
|
409
|
-
<< ":
|
408
|
+
<< ": call failed with status " << status;
|
410
409
|
}
|
411
410
|
// Clean up.
|
412
411
|
self->recv_trailing_metadata_.Clear();
|
413
412
|
// Report call end.
|
413
|
+
// Note: We hold a ref to the SubchannelStreamClient here to ensure
|
414
|
+
// that it lives long enough for us to release the mutex, since the
|
415
|
+
// call to CallEndedLocked() may release the last ref.
|
416
|
+
auto subchannel_stream_client = self->subchannel_stream_client_->Ref();
|
414
417
|
MutexLock lock(&self->subchannel_stream_client_->mu_);
|
415
418
|
if (self->subchannel_stream_client_->event_handler_ != nullptr) {
|
416
419
|
self->subchannel_stream_client_->event_handler_
|
417
420
|
->RecvTrailingMetadataReadyLocked(self->subchannel_stream_client_.get(),
|
418
421
|
status);
|
419
422
|
}
|
420
|
-
// For status UNIMPLEMENTED, give up
|
423
|
+
// For status UNIMPLEMENTED, give up.
|
421
424
|
self->CallEndedLocked(/*retry=*/status != GRPC_STATUS_UNIMPLEMENTED);
|
422
425
|
}
|
423
426
|
|
@@ -30,6 +30,7 @@
|
|
30
30
|
#include "absl/base/thread_annotations.h"
|
31
31
|
#include "absl/status/status.h"
|
32
32
|
#include "absl/strings/string_view.h"
|
33
|
+
#include "src/core/call/metadata_batch.h"
|
33
34
|
#include "src/core/client_channel/subchannel.h"
|
34
35
|
#include "src/core/lib/iomgr/call_combiner.h"
|
35
36
|
#include "src/core/lib/iomgr/closure.h"
|
@@ -40,7 +41,6 @@
|
|
40
41
|
#include "src/core/lib/resource_quota/memory_quota.h"
|
41
42
|
#include "src/core/lib/slice/slice.h"
|
42
43
|
#include "src/core/lib/slice/slice_buffer.h"
|
43
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
44
44
|
#include "src/core/lib/transport/transport.h"
|
45
45
|
#include "src/core/util/backoff.h"
|
46
46
|
#include "src/core/util/orphanable.h"
|
@@ -202,7 +202,7 @@ class SubchannelStreamClient final
|
|
202
202
|
Mutex mu_;
|
203
203
|
std::unique_ptr<CallEventHandler> event_handler_ ABSL_GUARDED_BY(mu_);
|
204
204
|
|
205
|
-
// The data associated with the current
|
205
|
+
// The data associated with the current call. It holds a ref
|
206
206
|
// to this SubchannelStreamClient object.
|
207
207
|
OrphanablePtr<CallState> call_state_ ABSL_GUARDED_BY(mu_);
|
208
208
|
|
@@ -21,11 +21,11 @@
|
|
21
21
|
|
22
22
|
#include "absl/functional/any_invocable.h"
|
23
23
|
#include "absl/log/check.h"
|
24
|
+
#include "src/core/credentials/transport/channel_creds_registry.h"
|
25
|
+
#include "src/core/credentials/transport/tls/certificate_provider_registry.h"
|
24
26
|
#include "src/core/handshaker/handshaker_registry.h"
|
25
27
|
#include "src/core/handshaker/proxy_mapper_registry.h"
|
26
28
|
#include "src/core/lib/channel/channel_args_preconditioning.h"
|
27
|
-
#include "src/core/lib/security/certificate_provider/certificate_provider_registry.h"
|
28
|
-
#include "src/core/lib/security/credentials/channel_creds_registry.h"
|
29
29
|
#include "src/core/lib/surface/channel_init.h"
|
30
30
|
#include "src/core/load_balancing/lb_policy_registry.h"
|
31
31
|
#include "src/core/resolver/resolver_registry.h"
|
@@ -0,0 +1,157 @@
|
|
1
|
+
//
|
2
|
+
// Copyright 2015 gRPC authors.
|
3
|
+
//
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
// you may not use this file except in compliance with the License.
|
6
|
+
// You may obtain a copy of the License at
|
7
|
+
//
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
//
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
// See the License for the specific language governing permissions and
|
14
|
+
// limitations under the License.
|
15
|
+
//
|
16
|
+
|
17
|
+
#ifndef GRPC_SRC_CORE_CREDENTIALS_CALL_CALL_CREDENTIALS_H
|
18
|
+
#define GRPC_SRC_CORE_CREDENTIALS_CALL_CALL_CREDENTIALS_H
|
19
|
+
|
20
|
+
#include <grpc/credentials.h>
|
21
|
+
#include <grpc/grpc.h>
|
22
|
+
#include <grpc/grpc_security.h>
|
23
|
+
#include <grpc/grpc_security_constants.h>
|
24
|
+
#include <grpc/impl/grpc_types.h>
|
25
|
+
#include <grpc/support/port_platform.h>
|
26
|
+
|
27
|
+
#include <string>
|
28
|
+
#include <utility>
|
29
|
+
#include <vector>
|
30
|
+
|
31
|
+
#include "absl/log/check.h"
|
32
|
+
#include "absl/status/statusor.h"
|
33
|
+
#include "absl/strings/string_view.h"
|
34
|
+
#include "src/core/credentials/transport/security_connector.h"
|
35
|
+
#include "src/core/lib/channel/channel_args.h"
|
36
|
+
#include "src/core/lib/promise/arena_promise.h"
|
37
|
+
#include "src/core/lib/slice/slice.h"
|
38
|
+
#include "src/core/lib/transport/transport.h"
|
39
|
+
#include "src/core/transport/auth_context.h"
|
40
|
+
#include "src/core/util/crash.h"
|
41
|
+
#include "src/core/util/ref_counted.h"
|
42
|
+
#include "src/core/util/ref_counted_ptr.h"
|
43
|
+
#include "src/core/util/unique_type_name.h"
|
44
|
+
|
45
|
+
// --- Constants. ---
|
46
|
+
|
47
|
+
typedef enum {
|
48
|
+
GRPC_CREDENTIALS_OK = 0,
|
49
|
+
GRPC_CREDENTIALS_ERROR
|
50
|
+
} grpc_credentials_status;
|
51
|
+
|
52
|
+
#define GRPC_AUTHORIZATION_METADATA_KEY "authorization"
|
53
|
+
#define GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY \
|
54
|
+
"x-goog-iam-authorization-token"
|
55
|
+
#define GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY "x-goog-iam-authority-selector"
|
56
|
+
|
57
|
+
#define GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS 60
|
58
|
+
|
59
|
+
#define GRPC_COMPUTE_ENGINE_METADATA_HOST "metadata.google.internal."
|
60
|
+
#define GRPC_COMPUTE_ENGINE_METADATA_TOKEN_PATH \
|
61
|
+
"/computeMetadata/v1/instance/service-accounts/default/token"
|
62
|
+
|
63
|
+
#define GRPC_GOOGLE_OAUTH2_SERVICE_HOST "oauth2.googleapis.com"
|
64
|
+
#define GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH "/token"
|
65
|
+
|
66
|
+
#define GRPC_SERVICE_ACCOUNT_POST_BODY_PREFIX \
|
67
|
+
"grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&" \
|
68
|
+
"assertion="
|
69
|
+
|
70
|
+
#define GRPC_REFRESH_TOKEN_POST_BODY_FORMAT_STRING \
|
71
|
+
"client_id=%s&client_secret=%s&refresh_token=%s&grant_type=refresh_token"
|
72
|
+
|
73
|
+
// --- Google utils ---
|
74
|
+
|
75
|
+
// It is the caller's responsibility to gpr_free the result if not NULL.
|
76
|
+
std::string grpc_get_well_known_google_credentials_file_path(void);
|
77
|
+
|
78
|
+
// Implementation function for the different platforms.
|
79
|
+
std::string grpc_get_well_known_google_credentials_file_path_impl(void);
|
80
|
+
|
81
|
+
// Override for testing only. Not thread-safe
|
82
|
+
typedef std::string (*grpc_well_known_credentials_path_getter)(void);
|
83
|
+
void grpc_override_well_known_credentials_path_getter(
|
84
|
+
grpc_well_known_credentials_path_getter getter);
|
85
|
+
|
86
|
+
// --- grpc_core::CredentialsMetadataArray. ---
|
87
|
+
|
88
|
+
namespace grpc_core {
|
89
|
+
using CredentialsMetadataArray = std::vector<std::pair<Slice, Slice>>;
|
90
|
+
}
|
91
|
+
|
92
|
+
// --- grpc_call_credentials. ---
|
93
|
+
|
94
|
+
// This type is forward declared as a C struct and we cannot define it as a
|
95
|
+
// class. Otherwise, compiler will complain about type mismatch due to
|
96
|
+
// -Wmismatched-tags.
|
97
|
+
struct grpc_call_credentials
|
98
|
+
: public grpc_core::DualRefCounted<grpc_call_credentials> {
|
99
|
+
public:
|
100
|
+
// TODO(roth): Consider whether security connector actually needs to
|
101
|
+
// be part of this interface. Currently, it is here only for the
|
102
|
+
// url_scheme() method, which we might be able to instead add as an
|
103
|
+
// auth context property.
|
104
|
+
struct GetRequestMetadataArgs {
|
105
|
+
grpc_core::RefCountedPtr<grpc_channel_security_connector>
|
106
|
+
security_connector;
|
107
|
+
grpc_core::RefCountedPtr<grpc_auth_context> auth_context;
|
108
|
+
};
|
109
|
+
|
110
|
+
// The pointer value \a type is used to uniquely identify a creds
|
111
|
+
// implementation for down-casting purposes. Every creds implementation should
|
112
|
+
// use a unique string instance, which should be returned by all instances of
|
113
|
+
// that creds implementation.
|
114
|
+
explicit grpc_call_credentials(
|
115
|
+
grpc_security_level min_security_level = GRPC_PRIVACY_AND_INTEGRITY)
|
116
|
+
: min_security_level_(min_security_level) {}
|
117
|
+
|
118
|
+
~grpc_call_credentials() override = default;
|
119
|
+
|
120
|
+
virtual grpc_core::ArenaPromise<
|
121
|
+
absl::StatusOr<grpc_core::ClientMetadataHandle>>
|
122
|
+
GetRequestMetadata(grpc_core::ClientMetadataHandle initial_metadata,
|
123
|
+
const GetRequestMetadataArgs* args) = 0;
|
124
|
+
|
125
|
+
virtual grpc_security_level min_security_level() const {
|
126
|
+
return min_security_level_;
|
127
|
+
}
|
128
|
+
|
129
|
+
// Compares this grpc_call_credentials object with \a other.
|
130
|
+
// If this method returns 0, it means that gRPC can treat the two call
|
131
|
+
// credentials as effectively the same..
|
132
|
+
int cmp(const grpc_call_credentials* other) const {
|
133
|
+
CHECK_NE(other, nullptr);
|
134
|
+
int r = type().Compare(other->type());
|
135
|
+
if (r != 0) return r;
|
136
|
+
return cmp_impl(other);
|
137
|
+
}
|
138
|
+
|
139
|
+
virtual std::string debug_string() {
|
140
|
+
return "grpc_call_credentials did not provide debug string";
|
141
|
+
}
|
142
|
+
|
143
|
+
// The pointer value \a type is used to uniquely identify a creds
|
144
|
+
// implementation for down-casting purposes. Every creds implementation should
|
145
|
+
// use a unique string instance, which should be returned by all instances of
|
146
|
+
// that creds implementation.
|
147
|
+
virtual grpc_core::UniqueTypeName type() const = 0;
|
148
|
+
|
149
|
+
private:
|
150
|
+
// Implementation for `cmp` method intended to be overridden by subclasses.
|
151
|
+
// Only invoked if `type()` and `other->type()` point to the same string.
|
152
|
+
virtual int cmp_impl(const grpc_call_credentials* other) const = 0;
|
153
|
+
|
154
|
+
const grpc_security_level min_security_level_;
|
155
|
+
};
|
156
|
+
|
157
|
+
#endif // GRPC_SRC_CORE_CREDENTIALS_CALL_CALL_CREDENTIALS_H
|
@@ -14,7 +14,7 @@
|
|
14
14
|
// limitations under the License.
|
15
15
|
//
|
16
16
|
|
17
|
-
#include "src/core/
|
17
|
+
#include "src/core/credentials/call/call_creds_util.h"
|
18
18
|
|
19
19
|
#include <grpc/support/port_platform.h>
|
20
20
|
#include <grpc/support/string_util.h>
|
@@ -24,9 +24,9 @@
|
|
24
24
|
#include "absl/log/log.h"
|
25
25
|
#include "absl/strings/str_cat.h"
|
26
26
|
#include "absl/strings/string_view.h"
|
27
|
-
#include "src/core/
|
28
|
-
#include "src/core/
|
29
|
-
#include "src/core/
|
27
|
+
#include "src/core/call/metadata_batch.h"
|
28
|
+
#include "src/core/credentials/transport/security_connector.h"
|
29
|
+
#include "src/core/transport/auth_context.h"
|
30
30
|
#include "src/core/util/ref_counted_ptr.h"
|
31
31
|
|
32
32
|
namespace grpc_core {
|
@@ -14,8 +14,8 @@
|
|
14
14
|
// limitations under the License.
|
15
15
|
//
|
16
16
|
|
17
|
-
#ifndef
|
18
|
-
#define
|
17
|
+
#ifndef GRPC_SRC_CORE_CREDENTIALS_CALL_CALL_CREDS_UTIL_H
|
18
|
+
#define GRPC_SRC_CORE_CREDENTIALS_CALL_CALL_CREDS_UTIL_H
|
19
19
|
|
20
20
|
#include <grpc/credentials.h>
|
21
21
|
#include <grpc/grpc_security.h>
|
@@ -23,7 +23,7 @@
|
|
23
23
|
|
24
24
|
#include <string>
|
25
25
|
|
26
|
-
#include "src/core/
|
26
|
+
#include "src/core/credentials/call/call_credentials.h"
|
27
27
|
#include "src/core/lib/transport/transport.h"
|
28
28
|
|
29
29
|
namespace grpc_core {
|
@@ -40,4 +40,4 @@ grpc_auth_metadata_context MakePluginAuthMetadataContext(
|
|
40
40
|
|
41
41
|
} // namespace grpc_core
|
42
42
|
|
43
|
-
#endif //
|
43
|
+
#endif // GRPC_SRC_CORE_CREDENTIALS_CALL_CALL_CREDS_UTIL_H
|
@@ -16,9 +16,7 @@
|
|
16
16
|
//
|
17
17
|
//
|
18
18
|
|
19
|
-
#include "src/core/
|
20
|
-
|
21
|
-
#include <grpc/support/port_platform.h>
|
19
|
+
#include "src/core/credentials/call/composite/composite_call_credentials.h"
|
22
20
|
|
23
21
|
#include <cstring>
|
24
22
|
#include <memory>
|
@@ -27,22 +25,11 @@
|
|
27
25
|
#include "absl/log/check.h"
|
28
26
|
#include "absl/strings/str_cat.h"
|
29
27
|
#include "absl/strings/str_join.h"
|
28
|
+
#include "src/core/call/metadata_batch.h"
|
30
29
|
#include "src/core/lib/debug/trace.h"
|
31
30
|
#include "src/core/lib/promise/try_seq.h"
|
32
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
33
31
|
#include "src/core/util/ref_counted_ptr.h"
|
34
32
|
|
35
|
-
//
|
36
|
-
// grpc_composite_channel_credentials
|
37
|
-
//
|
38
|
-
|
39
|
-
grpc_core::UniqueTypeName grpc_composite_channel_credentials::Type() {
|
40
|
-
static grpc_core::UniqueTypeName::Factory kFactory("Composite");
|
41
|
-
return kFactory.Create();
|
42
|
-
}
|
43
|
-
|
44
|
-
// -- Composite call credentials. --
|
45
|
-
|
46
33
|
grpc_core::ArenaPromise<absl::StatusOr<grpc_core::ClientMetadataHandle>>
|
47
34
|
grpc_composite_call_credentials::GetRequestMetadata(
|
48
35
|
grpc_core::ClientMetadataHandle initial_metadata,
|
@@ -113,14 +100,6 @@ grpc_composite_call_credentials::grpc_composite_call_credentials(
|
|
113
100
|
}
|
114
101
|
}
|
115
102
|
|
116
|
-
static grpc_core::RefCountedPtr<grpc_call_credentials>
|
117
|
-
composite_call_credentials_create(
|
118
|
-
grpc_core::RefCountedPtr<grpc_call_credentials> creds1,
|
119
|
-
grpc_core::RefCountedPtr<grpc_call_credentials> creds2) {
|
120
|
-
return grpc_core::MakeRefCounted<grpc_composite_call_credentials>(
|
121
|
-
std::move(creds1), std::move(creds2));
|
122
|
-
}
|
123
|
-
|
124
103
|
grpc_call_credentials* grpc_composite_call_credentials_create(
|
125
104
|
grpc_call_credentials* creds1, grpc_call_credentials* creds2,
|
126
105
|
void* reserved) {
|
@@ -130,39 +109,7 @@ grpc_call_credentials* grpc_composite_call_credentials_create(
|
|
130
109
|
CHECK_EQ(reserved, nullptr);
|
131
110
|
CHECK_NE(creds1, nullptr);
|
132
111
|
CHECK_NE(creds2, nullptr);
|
133
|
-
|
134
|
-
|
112
|
+
return grpc_core::MakeRefCounted<grpc_composite_call_credentials>(
|
113
|
+
creds1->Ref(), creds2->Ref())
|
135
114
|
.release();
|
136
115
|
}
|
137
|
-
|
138
|
-
// -- Composite channel credentials. --
|
139
|
-
|
140
|
-
grpc_core::RefCountedPtr<grpc_channel_security_connector>
|
141
|
-
grpc_composite_channel_credentials::create_security_connector(
|
142
|
-
grpc_core::RefCountedPtr<grpc_call_credentials> call_creds,
|
143
|
-
const char* target, grpc_core::ChannelArgs* args) {
|
144
|
-
CHECK(inner_creds_ != nullptr);
|
145
|
-
CHECK(call_creds_ != nullptr);
|
146
|
-
// If we are passed a call_creds, create a call composite to pass it
|
147
|
-
// downstream.
|
148
|
-
if (call_creds != nullptr) {
|
149
|
-
return inner_creds_->create_security_connector(
|
150
|
-
composite_call_credentials_create(call_creds_, std::move(call_creds)),
|
151
|
-
target, args);
|
152
|
-
} else {
|
153
|
-
return inner_creds_->create_security_connector(call_creds_, target, args);
|
154
|
-
}
|
155
|
-
}
|
156
|
-
|
157
|
-
grpc_channel_credentials* grpc_composite_channel_credentials_create(
|
158
|
-
grpc_channel_credentials* channel_creds, grpc_call_credentials* call_creds,
|
159
|
-
void* reserved) {
|
160
|
-
CHECK(channel_creds != nullptr && call_creds != nullptr &&
|
161
|
-
reserved == nullptr);
|
162
|
-
GRPC_TRACE_LOG(api, INFO)
|
163
|
-
<< "grpc_composite_channel_credentials_create(channel_creds="
|
164
|
-
<< channel_creds << ", call_creds=" << call_creds
|
165
|
-
<< ", reserved=" << reserved << ")";
|
166
|
-
return new grpc_composite_channel_credentials(channel_creds->Ref(),
|
167
|
-
call_creds->Ref());
|
168
|
-
}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
//
|
2
|
+
//
|
3
|
+
// Copyright 2015 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_SRC_CORE_CREDENTIALS_CALL_COMPOSITE_COMPOSITE_CALL_CREDENTIALS_H
|
20
|
+
#define GRPC_SRC_CORE_CREDENTIALS_CALL_COMPOSITE_COMPOSITE_CALL_CREDENTIALS_H
|
21
|
+
|
22
|
+
#include <grpc/credentials.h>
|
23
|
+
#include <grpc/grpc.h>
|
24
|
+
#include <grpc/grpc_security.h>
|
25
|
+
#include <grpc/grpc_security_constants.h>
|
26
|
+
|
27
|
+
#include <algorithm>
|
28
|
+
#include <string>
|
29
|
+
#include <utility>
|
30
|
+
#include <vector>
|
31
|
+
|
32
|
+
#include "absl/status/statusor.h"
|
33
|
+
#include "src/core/credentials/call/call_credentials.h"
|
34
|
+
#include "src/core/credentials/transport/security_connector.h"
|
35
|
+
#include "src/core/lib/channel/channel_args.h"
|
36
|
+
#include "src/core/lib/promise/arena_promise.h"
|
37
|
+
#include "src/core/lib/transport/transport.h"
|
38
|
+
#include "src/core/util/ref_counted_ptr.h"
|
39
|
+
#include "src/core/util/unique_type_name.h"
|
40
|
+
#include "src/core/util/useful.h"
|
41
|
+
|
42
|
+
class grpc_composite_call_credentials : public grpc_call_credentials {
|
43
|
+
public:
|
44
|
+
using CallCredentialsList =
|
45
|
+
std::vector<grpc_core::RefCountedPtr<grpc_call_credentials>>;
|
46
|
+
|
47
|
+
grpc_composite_call_credentials(
|
48
|
+
grpc_core::RefCountedPtr<grpc_call_credentials> creds1,
|
49
|
+
grpc_core::RefCountedPtr<grpc_call_credentials> creds2);
|
50
|
+
~grpc_composite_call_credentials() override = default;
|
51
|
+
|
52
|
+
void Orphaned() override { inner_.clear(); }
|
53
|
+
|
54
|
+
grpc_core::ArenaPromise<absl::StatusOr<grpc_core::ClientMetadataHandle>>
|
55
|
+
GetRequestMetadata(grpc_core::ClientMetadataHandle initial_metadata,
|
56
|
+
const GetRequestMetadataArgs* args) override;
|
57
|
+
|
58
|
+
grpc_security_level min_security_level() const override {
|
59
|
+
return min_security_level_;
|
60
|
+
}
|
61
|
+
|
62
|
+
const CallCredentialsList& inner() const { return inner_; }
|
63
|
+
std::string debug_string() override;
|
64
|
+
|
65
|
+
static grpc_core::UniqueTypeName Type();
|
66
|
+
|
67
|
+
grpc_core::UniqueTypeName type() const override { return Type(); }
|
68
|
+
|
69
|
+
private:
|
70
|
+
int cmp_impl(const grpc_call_credentials* other) const override {
|
71
|
+
// TODO(yashykt): Check if we can do something better here
|
72
|
+
return grpc_core::QsortCompare(
|
73
|
+
static_cast<const grpc_call_credentials*>(this), other);
|
74
|
+
}
|
75
|
+
|
76
|
+
void push_to_inner(grpc_core::RefCountedPtr<grpc_call_credentials> creds,
|
77
|
+
bool is_composite);
|
78
|
+
grpc_security_level min_security_level_;
|
79
|
+
CallCredentialsList inner_;
|
80
|
+
};
|
81
|
+
|
82
|
+
#endif // GRPC_SRC_CORE_CREDENTIALS_CALL_COMPOSITE_COMPOSITE_CALL_CREDENTIALS_H
|
@@ -13,7 +13,7 @@
|
|
13
13
|
// See the License for the specific language governing permissions and
|
14
14
|
// limitations under the License.
|
15
15
|
//
|
16
|
-
#include "src/core/
|
16
|
+
#include "src/core/credentials/call/external/aws_external_account_credentials.h"
|
17
17
|
|
18
18
|
#include <grpc/credentials.h>
|
19
19
|
#include <grpc/grpc.h>
|
@@ -35,8 +35,8 @@
|
|
35
35
|
#include "absl/strings/str_format.h"
|
36
36
|
#include "absl/strings/str_replace.h"
|
37
37
|
#include "absl/strings/string_view.h"
|
38
|
+
#include "src/core/credentials/transport/transport_credentials.h"
|
38
39
|
#include "src/core/lib/iomgr/closure.h"
|
39
|
-
#include "src/core/lib/security/credentials/credentials.h"
|
40
40
|
#include "src/core/util/env.h"
|
41
41
|
#include "src/core/util/http_client/httpcli_ssl_credentials.h"
|
42
42
|
#include "src/core/util/json/json.h"
|
@@ -14,8 +14,8 @@
|
|
14
14
|
// limitations under the License.
|
15
15
|
//
|
16
16
|
|
17
|
-
#ifndef
|
18
|
-
#define
|
17
|
+
#ifndef GRPC_SRC_CORE_CREDENTIALS_CALL_EXTERNAL_AWS_EXTERNAL_ACCOUNT_CREDENTIALS_H
|
18
|
+
#define GRPC_SRC_CORE_CREDENTIALS_CALL_EXTERNAL_AWS_EXTERNAL_ACCOUNT_CREDENTIALS_H
|
19
19
|
|
20
20
|
#include <grpc/support/port_platform.h>
|
21
21
|
|
@@ -25,9 +25,9 @@
|
|
25
25
|
#include <vector>
|
26
26
|
|
27
27
|
#include "absl/strings/string_view.h"
|
28
|
+
#include "src/core/credentials/call/external/aws_request_signer.h"
|
29
|
+
#include "src/core/credentials/call/external/external_account_credentials.h"
|
28
30
|
#include "src/core/lib/iomgr/error.h"
|
29
|
-
#include "src/core/lib/security/credentials/external/aws_request_signer.h"
|
30
|
-
#include "src/core/lib/security/credentials/external/external_account_credentials.h"
|
31
31
|
#include "src/core/util/http_client/httpcli.h"
|
32
32
|
#include "src/core/util/http_client/parser.h"
|
33
33
|
#include "src/core/util/orphanable.h"
|
@@ -114,4 +114,4 @@ class AwsExternalAccountCredentials final : public ExternalAccountCredentials {
|
|
114
114
|
|
115
115
|
} // namespace grpc_core
|
116
116
|
|
117
|
-
#endif //
|
117
|
+
#endif // GRPC_SRC_CORE_CREDENTIALS_CALL_EXTERNAL_AWS_EXTERNAL_ACCOUNT_CREDENTIALS_H
|
@@ -13,7 +13,7 @@
|
|
13
13
|
// See the License for the specific language governing permissions and
|
14
14
|
// limitations under the License.
|
15
15
|
//
|
16
|
-
#include "src/core/
|
16
|
+
#include "src/core/credentials/call/external/aws_request_signer.h"
|
17
17
|
|
18
18
|
#include <grpc/support/port_platform.h>
|
19
19
|
#include <openssl/crypto.h>
|
@@ -14,8 +14,8 @@
|
|
14
14
|
// limitations under the License.
|
15
15
|
//
|
16
16
|
|
17
|
-
#ifndef
|
18
|
-
#define
|
17
|
+
#ifndef GRPC_SRC_CORE_CREDENTIALS_CALL_EXTERNAL_AWS_REQUEST_SIGNER_H
|
18
|
+
#define GRPC_SRC_CORE_CREDENTIALS_CALL_EXTERNAL_AWS_REQUEST_SIGNER_H
|
19
19
|
|
20
20
|
#include <grpc/support/port_platform.h>
|
21
21
|
|
@@ -69,4 +69,4 @@ class AwsRequestSigner {
|
|
69
69
|
|
70
70
|
} // namespace grpc_core
|
71
71
|
|
72
|
-
#endif //
|
72
|
+
#endif // GRPC_SRC_CORE_CREDENTIALS_CALL_EXTERNAL_AWS_REQUEST_SIGNER_H
|