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
@@ -238,7 +238,7 @@ class XdsClient::XdsChannel::AdsCall final
|
|
238
238
|
if (!state.HasResource()) {
|
239
239
|
GRPC_TRACE_LOG(xds_client, INFO)
|
240
240
|
<< "[xds_client " << ads_call_->xds_client() << "] xds server "
|
241
|
-
<< ads_call_->xds_channel()->
|
241
|
+
<< ads_call_->xds_channel()->server_uri()
|
242
242
|
<< ": timeout obtaining resource {type=" << type_->type_url()
|
243
243
|
<< " name="
|
244
244
|
<< XdsClient::ConstructFullXdsResourceName(
|
@@ -405,9 +405,10 @@ XdsClient::XdsChannel::XdsChannel(WeakRefCountedPtr<XdsClient> xds_client,
|
|
405
405
|
server_(server) {
|
406
406
|
GRPC_TRACE_LOG(xds_client, INFO)
|
407
407
|
<< "[xds_client " << xds_client_.get() << "] creating channel " << this
|
408
|
-
<< " for server " <<
|
408
|
+
<< " for server " << server_uri();
|
409
409
|
absl::Status status;
|
410
|
-
transport_ =
|
410
|
+
transport_ =
|
411
|
+
xds_client_->transport_factory_->GetTransport(*server.target(), &status);
|
411
412
|
CHECK(transport_ != nullptr);
|
412
413
|
if (!status.ok()) {
|
413
414
|
SetChannelStatusLocked(std::move(status));
|
@@ -421,7 +422,7 @@ XdsClient::XdsChannel::XdsChannel(WeakRefCountedPtr<XdsClient> xds_client,
|
|
421
422
|
XdsClient::XdsChannel::~XdsChannel() {
|
422
423
|
GRPC_TRACE_LOG(xds_client, INFO)
|
423
424
|
<< "[xds_client " << xds_client() << "] destroying xds channel " << this
|
424
|
-
<< " for server " <<
|
425
|
+
<< " for server " << server_uri();
|
425
426
|
xds_client_.reset(DEBUG_LOCATION, "XdsChannel");
|
426
427
|
}
|
427
428
|
|
@@ -432,7 +433,7 @@ XdsClient::XdsChannel::~XdsChannel() {
|
|
432
433
|
void XdsClient::XdsChannel::Orphaned() ABSL_NO_THREAD_SAFETY_ANALYSIS {
|
433
434
|
GRPC_TRACE_LOG(xds_client, INFO)
|
434
435
|
<< "[xds_client " << xds_client() << "] orphaning xds channel " << this
|
435
|
-
<< " for server " <<
|
436
|
+
<< " for server " << server_uri();
|
436
437
|
shutting_down_ = true;
|
437
438
|
if (failure_watcher_ != nullptr) {
|
438
439
|
transport_->StopConnectivityFailureWatch(failure_watcher_);
|
@@ -511,8 +512,9 @@ bool XdsClient::XdsChannel::MaybeFallbackLocked(
|
|
511
512
|
}
|
512
513
|
GRPC_TRACE_LOG(xds_client, INFO)
|
513
514
|
<< "[xds_client " << xds_client_.get() << "] authority " << authority
|
514
|
-
<< ": added fallback server " << xds_servers[i]->server_uri()
|
515
|
-
<< authority_state.xds_channels.back()->status().ToString()
|
515
|
+
<< ": added fallback server " << xds_servers[i]->target()->server_uri()
|
516
|
+
<< " (" << authority_state.xds_channels.back()->status().ToString()
|
517
|
+
<< ")";
|
516
518
|
if (authority_state.xds_channels.back()->status().ok()) return true;
|
517
519
|
}
|
518
520
|
GRPC_TRACE_LOG(xds_client, INFO)
|
@@ -536,7 +538,7 @@ void XdsClient::XdsChannel::SetHealthyLocked() {
|
|
536
538
|
if (channel_it != channels.end()) {
|
537
539
|
GRPC_TRACE_LOG(xds_client, INFO)
|
538
540
|
<< "[xds_client " << xds_client_.get() << "] authority " << authority
|
539
|
-
<< ": Falling forward to " <<
|
541
|
+
<< ": Falling forward to " << server_uri();
|
540
542
|
// Lower priority channels are no longer needed, connection is back!
|
541
543
|
// Note that we move the lower priority channels out of the vector
|
542
544
|
// before we unref them, or else
|
@@ -557,13 +559,13 @@ void XdsClient::XdsChannel::OnConnectivityFailure(absl::Status status) {
|
|
557
559
|
|
558
560
|
void XdsClient::XdsChannel::SetChannelStatusLocked(absl::Status status) {
|
559
561
|
if (shutting_down_) return;
|
560
|
-
status = absl::Status(
|
561
|
-
|
562
|
-
|
562
|
+
status = absl::Status(
|
563
|
+
status.code(), absl::StrCat("xDS channel for server ", server_uri(), ": ",
|
564
|
+
status.message()));
|
563
565
|
LOG(INFO) << "[xds_client " << xds_client() << "] " << status;
|
564
566
|
// If status was previously OK, report that the channel has gone unhealthy.
|
565
567
|
if (status_.ok() && xds_client_->metrics_reporter_ != nullptr) {
|
566
|
-
xds_client_->metrics_reporter_->ReportServerFailure(
|
568
|
+
xds_client_->metrics_reporter_->ReportServerFailure(server_uri());
|
567
569
|
}
|
568
570
|
// Save status in channel, so that we can immediately generate an
|
569
571
|
// error for any new watchers that may be started.
|
@@ -643,8 +645,8 @@ void XdsClient::XdsChannel::RetryableCall<T>::StartNewCallLocked() {
|
|
643
645
|
CHECK(call_ == nullptr);
|
644
646
|
GRPC_TRACE_LOG(xds_client, INFO)
|
645
647
|
<< "[xds_client " << xds_channel()->xds_client() << "] xds server "
|
646
|
-
<< xds_channel()->
|
647
|
-
<<
|
648
|
+
<< xds_channel()->server_uri() << ": start new call from retryable call "
|
649
|
+
<< this;
|
648
650
|
call_ = MakeOrphanable<T>(
|
649
651
|
this->Ref(DEBUG_LOCATION, "RetryableCall+start_new_call"));
|
650
652
|
}
|
@@ -655,7 +657,7 @@ void XdsClient::XdsChannel::RetryableCall<T>::StartRetryTimerLocked() {
|
|
655
657
|
const Duration delay = backoff_.NextAttemptDelay();
|
656
658
|
GRPC_TRACE_LOG(xds_client, INFO)
|
657
659
|
<< "[xds_client " << xds_channel()->xds_client() << "] xds server "
|
658
|
-
<< xds_channel()->
|
660
|
+
<< xds_channel()->server_uri()
|
659
661
|
<< ": call attempt failed; retry timer will fire in " << delay.millis()
|
660
662
|
<< "ms.";
|
661
663
|
timer_handle_ = xds_channel()->xds_client()->engine()->RunAfter(
|
@@ -674,7 +676,7 @@ void XdsClient::XdsChannel::RetryableCall<T>::OnRetryTimer() {
|
|
674
676
|
if (shutting_down_) return;
|
675
677
|
GRPC_TRACE_LOG(xds_client, INFO)
|
676
678
|
<< "[xds_client " << xds_channel()->xds_client() << "] xds server "
|
677
|
-
<< xds_channel()->
|
679
|
+
<< xds_channel()->server_uri()
|
678
680
|
<< ": retry timer fired (retryable call: " << this << ")";
|
679
681
|
StartNewCallLocked();
|
680
682
|
}
|
@@ -723,7 +725,7 @@ XdsClient::XdsChannel::AdsCall::AdsCall(
|
|
723
725
|
// Start the call.
|
724
726
|
GRPC_TRACE_LOG(xds_client, INFO)
|
725
727
|
<< "[xds_client " << xds_client() << "] xds server "
|
726
|
-
<< xds_channel()->
|
728
|
+
<< xds_channel()->server_uri()
|
727
729
|
<< ": starting ADS call (ads_call: " << this
|
728
730
|
<< ", streaming_call: " << streaming_call_.get() << ")";
|
729
731
|
// If this is a reconnect, add any necessary subscriptions from what's
|
@@ -906,7 +908,7 @@ void XdsClient::XdsChannel::AdsCall::SendMessageLocked(
|
|
906
908
|
sent_initial_message_ = true;
|
907
909
|
GRPC_TRACE_LOG(xds_client, INFO)
|
908
910
|
<< "[xds_client " << xds_client() << "] xds server "
|
909
|
-
<< xds_channel()->
|
911
|
+
<< xds_channel()->server_uri()
|
910
912
|
<< ": sending ADS request: type=" << type->type_url()
|
911
913
|
<< " version=" << xds_channel()->resource_type_version_map_[type]
|
912
914
|
<< " nonce=" << state.nonce << " error=" << state.status;
|
@@ -1221,7 +1223,7 @@ absl::Status XdsClient::XdsChannel::AdsCall::DecodeAdsResponse(
|
|
1221
1223
|
}
|
1222
1224
|
GRPC_TRACE_LOG(xds_client, INFO)
|
1223
1225
|
<< "[xds_client " << xds_client() << "] xds server "
|
1224
|
-
<< xds_channel()->
|
1226
|
+
<< xds_channel()->server_uri()
|
1225
1227
|
<< ": received ADS response: type_url=" << context->type_url
|
1226
1228
|
<< ", version=" << context->version << ", nonce=" << context->nonce
|
1227
1229
|
<< ", num_resources=" << num_resources << ", num_errors=" << num_errors;
|
@@ -1306,7 +1308,7 @@ void XdsClient::XdsChannel::AdsCall::OnRecvMessage(absl::string_view payload) {
|
|
1306
1308
|
if (!status.ok()) {
|
1307
1309
|
// Ignore unparsable response.
|
1308
1310
|
LOG(ERROR) << "[xds_client " << xds_client() << "] xds server "
|
1309
|
-
<< xds_channel()->
|
1311
|
+
<< xds_channel()->server_uri()
|
1310
1312
|
<< ": error parsing ADS response (" << status << ") -- ignoring";
|
1311
1313
|
} else {
|
1312
1314
|
seen_response_ = true;
|
@@ -1320,7 +1322,7 @@ void XdsClient::XdsChannel::AdsCall::OnRecvMessage(absl::string_view payload) {
|
|
1320
1322
|
absl::StrCat("xDS response validation errors: [",
|
1321
1323
|
absl::StrJoin(context.errors, "; "), "]"));
|
1322
1324
|
LOG(ERROR) << "[xds_client " << xds_client() << "] xds server "
|
1323
|
-
<< xds_channel()->
|
1325
|
+
<< xds_channel()->server_uri()
|
1324
1326
|
<< ": ADS response invalid for resource type "
|
1325
1327
|
<< context.type_url << " version " << context.version
|
1326
1328
|
<< ", will NACK: nonce=" << state.nonce
|
@@ -1374,7 +1376,7 @@ void XdsClient::XdsChannel::AdsCall::OnRecvMessage(absl::string_view payload) {
|
|
1374
1376
|
// Update metrics.
|
1375
1377
|
if (xds_client()->metrics_reporter_ != nullptr) {
|
1376
1378
|
xds_client()->metrics_reporter_->ReportResourceUpdates(
|
1377
|
-
xds_channel()->
|
1379
|
+
xds_channel()->server_uri(), context.type_url,
|
1378
1380
|
context.num_valid_resources, context.num_invalid_resources);
|
1379
1381
|
}
|
1380
1382
|
}
|
@@ -1383,7 +1385,7 @@ void XdsClient::XdsChannel::AdsCall::OnStatusReceived(absl::Status status) {
|
|
1383
1385
|
MutexLock lock(&xds_client()->mu_);
|
1384
1386
|
GRPC_TRACE_LOG(xds_client, INFO)
|
1385
1387
|
<< "[xds_client " << xds_client() << "] xds server "
|
1386
|
-
<< xds_channel()->
|
1388
|
+
<< xds_channel()->server_uri()
|
1387
1389
|
<< ": ADS call status received (xds_channel=" << xds_channel()
|
1388
1390
|
<< ", ads_call=" << this << ", streaming_call=" << streaming_call_.get()
|
1389
1391
|
<< "): " << status;
|
@@ -213,7 +213,9 @@ class XdsClient : public DualRefCounted<XdsClient> {
|
|
213
213
|
bool delay_unsubscription)
|
214
214
|
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
|
215
215
|
|
216
|
-
absl::string_view server_uri() const {
|
216
|
+
absl::string_view server_uri() const {
|
217
|
+
return server_.target()->server_uri();
|
218
|
+
}
|
217
219
|
|
218
220
|
private:
|
219
221
|
class ConnectivityFailureWatcher;
|
@@ -87,8 +87,7 @@ class XdsResourceType {
|
|
87
87
|
// properly in logs.
|
88
88
|
// Note: This won't actually work properly until upb adds support for
|
89
89
|
// Any fields in textproto printing (internal b/178821188).
|
90
|
-
virtual void InitUpbSymtab(XdsClient*
|
91
|
-
upb_DefPool* symtab) const = 0;
|
90
|
+
virtual void InitUpbSymtab(XdsClient*, upb_DefPool*) const {}
|
92
91
|
};
|
93
92
|
|
94
93
|
} // namespace grpc_core
|
@@ -96,7 +96,7 @@ class XdsTransportFactory : public DualRefCounted<XdsTransportFactory> {
|
|
96
96
|
// *status will be set if there is an error creating the channel,
|
97
97
|
// although the returned channel must still accept calls (which may fail).
|
98
98
|
virtual RefCountedPtr<XdsTransport> GetTransport(
|
99
|
-
const XdsBootstrap::
|
99
|
+
const XdsBootstrap::XdsServerTarget& server, absl::Status* status) = 0;
|
100
100
|
};
|
101
101
|
|
102
102
|
} // namespace grpc_core
|
@@ -29,7 +29,7 @@ grpc_root = File.expand_path(File.join(File.dirname(__FILE__), '../../../..'))
|
|
29
29
|
|
30
30
|
grpc_config = ENV['GRPC_CONFIG'] || 'opt'
|
31
31
|
|
32
|
-
ENV['MACOSX_DEPLOYMENT_TARGET'] = '
|
32
|
+
ENV['MACOSX_DEPLOYMENT_TARGET'] = '11.0'
|
33
33
|
|
34
34
|
def debug_symbols_output_dir
|
35
35
|
d = ENV['GRPC_RUBY_DEBUG_SYMBOLS_OUTPUT_DIR']
|
@@ -69,8 +69,6 @@ uint32_t OPENSSL_get_ia32cap(int idx) {
|
|
69
69
|
|
70
70
|
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
|
71
71
|
|
72
|
-
#include <openssl/arm_arch.h>
|
73
|
-
|
74
72
|
#if defined(OPENSSL_STATIC_ARMCAP)
|
75
73
|
|
76
74
|
// See ARM ACLE for the definitions of these macros. Note |__ARM_FEATURE_AES|
|
@@ -15,7 +15,6 @@
|
|
15
15
|
#ifndef OPENSSL_HEADER_CRYPTO_INTERNAL_H
|
16
16
|
#define OPENSSL_HEADER_CRYPTO_INTERNAL_H
|
17
17
|
|
18
|
-
#include <openssl/arm_arch.h>
|
19
18
|
#include <openssl/crypto.h>
|
20
19
|
#include <openssl/ex_data.h>
|
21
20
|
#include <openssl/stack.h>
|
@@ -1290,8 +1289,26 @@ inline int CRYPTO_is_VPCLMULQDQ_capable(void) {
|
|
1290
1289
|
|
1291
1290
|
#if defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
|
1292
1291
|
|
1293
|
-
//
|
1294
|
-
|
1292
|
+
// ARMV7_NEON indicates support for NEON.
|
1293
|
+
#define ARMV7_NEON (1 << 0)
|
1294
|
+
|
1295
|
+
// ARMV8_AES indicates support for hardware AES instructions.
|
1296
|
+
#define ARMV8_AES (1 << 2)
|
1297
|
+
|
1298
|
+
// ARMV8_SHA1 indicates support for hardware SHA-1 instructions.
|
1299
|
+
#define ARMV8_SHA1 (1 << 3)
|
1300
|
+
|
1301
|
+
// ARMV8_SHA256 indicates support for hardware SHA-256 instructions.
|
1302
|
+
#define ARMV8_SHA256 (1 << 4)
|
1303
|
+
|
1304
|
+
// ARMV8_PMULL indicates support for carryless multiplication.
|
1305
|
+
#define ARMV8_PMULL (1 << 5)
|
1306
|
+
|
1307
|
+
// ARMV8_SHA512 indicates support for hardware SHA-512 instructions.
|
1308
|
+
#define ARMV8_SHA512 (1 << 6)
|
1309
|
+
|
1310
|
+
// OPENSSL_armcap_P contains ARM CPU capabilities as a bitmask of the above
|
1311
|
+
// constants. This should only be accessed with |OPENSSL_get_armcap|.
|
1295
1312
|
extern uint32_t OPENSSL_armcap_P;
|
1296
1313
|
|
1297
1314
|
// OPENSSL_get_armcap initializes the library if needed and returns ARM CPU
|
@@ -17,30 +17,8 @@
|
|
17
17
|
|
18
18
|
#include <openssl/target.h>
|
19
19
|
|
20
|
-
//
|
21
|
-
//
|
22
|
-
//
|
23
|
-
|
24
|
-
#if defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
|
25
|
-
|
26
|
-
// ARMV7_NEON is true when a NEON unit is present in the current CPU.
|
27
|
-
#define ARMV7_NEON (1 << 0)
|
28
|
-
|
29
|
-
// ARMV8_AES indicates support for hardware AES instructions.
|
30
|
-
#define ARMV8_AES (1 << 2)
|
31
|
-
|
32
|
-
// ARMV8_SHA1 indicates support for hardware SHA-1 instructions.
|
33
|
-
#define ARMV8_SHA1 (1 << 3)
|
34
|
-
|
35
|
-
// ARMV8_SHA256 indicates support for hardware SHA-256 instructions.
|
36
|
-
#define ARMV8_SHA256 (1 << 4)
|
37
|
-
|
38
|
-
// ARMV8_PMULL indicates support for carryless multiplication.
|
39
|
-
#define ARMV8_PMULL (1 << 5)
|
40
|
-
|
41
|
-
// ARMV8_SHA512 indicates support for hardware SHA-512 instructions.
|
42
|
-
#define ARMV8_SHA512 (1 << 6)
|
43
|
-
|
44
|
-
#endif // ARM || AARCH64
|
20
|
+
// This header historically defined constants used by Arm assembly, which was
|
21
|
+
// exposed publicly to simplify the build. This is no longer needed, but we
|
22
|
+
// retain the header for compatibility.
|
45
23
|
|
46
24
|
#endif // OPENSSL_HEADER_ARM_ARCH_H
|
@@ -2879,12 +2879,8 @@ bool ssl_setup_pake_shares(SSL_HANDSHAKE *hs) {
|
|
2879
2879
|
return true;
|
2880
2880
|
}
|
2881
2881
|
|
2882
|
-
|
2883
|
-
if (
|
2884
|
-
return false;
|
2885
|
-
}
|
2886
|
-
|
2887
|
-
if (std::none_of(creds.begin(), creds.end(), [](SSL_CREDENTIAL *cred) {
|
2882
|
+
const auto &creds = hs->config->cert->credentials;
|
2883
|
+
if (std::none_of(creds.begin(), creds.end(), [](const auto &cred) {
|
2888
2884
|
return cred->type == SSLCredentialType::kSPAKE2PlusV1Client;
|
2889
2885
|
})) {
|
2890
2886
|
// If there were no configured PAKE credentials, proceed without filling
|
@@ -2898,7 +2894,7 @@ bool ssl_setup_pake_shares(SSL_HANDSHAKE *hs) {
|
|
2898
2894
|
OPENSSL_PUT_ERROR(SSL, SSL_R_UNSUPPORTED_CREDENTIAL_LIST);
|
2899
2895
|
return false;
|
2900
2896
|
}
|
2901
|
-
SSL_CREDENTIAL *cred = creds[0];
|
2897
|
+
SSL_CREDENTIAL *cred = creds[0].get();
|
2902
2898
|
assert(cred->type == SSLCredentialType::kSPAKE2PlusV1Client);
|
2903
2899
|
|
2904
2900
|
hs->pake_prover = MakeUnique<spake2plus::Prover>();
|
@@ -1301,7 +1301,7 @@ static enum ssl_hs_wait_t do_send_client_certificate(SSL_HANDSHAKE *hs) {
|
|
1301
1301
|
}
|
1302
1302
|
|
1303
1303
|
Array<SSL_CREDENTIAL *> creds;
|
1304
|
-
if (!
|
1304
|
+
if (!ssl_get_full_credential_list(hs, &creds)) {
|
1305
1305
|
return ssl_hs_error;
|
1306
1306
|
}
|
1307
1307
|
|
@@ -736,7 +736,7 @@ static enum ssl_hs_wait_t do_select_parameters(SSL_HANDSHAKE *hs) {
|
|
736
736
|
return ssl_hs_error;
|
737
737
|
}
|
738
738
|
Array<SSL_CREDENTIAL *> creds;
|
739
|
-
if (!
|
739
|
+
if (!ssl_get_full_credential_list(hs, &creds)) {
|
740
740
|
return ssl_hs_error;
|
741
741
|
}
|
742
742
|
TLS12ServerParams params;
|
@@ -1956,13 +1956,20 @@ struct ssl_credential_st : public bssl::RefCounted<ssl_credential_st> {
|
|
1956
1956
|
|
1957
1957
|
BSSL_NAMESPACE_BEGIN
|
1958
1958
|
|
1959
|
-
//
|
1960
|
-
// writes it to |*out| and returns true.
|
1961
|
-
// credential list may be empty, in which case
|
1962
|
-
//
|
1959
|
+
// ssl_get_full_credential_list computes |hs|'s full credential list, including
|
1960
|
+
// the legacy credential. On success, it writes it to |*out| and returns true.
|
1961
|
+
// Otherwise, it returns false. The credential list may be empty, in which case
|
1962
|
+
// this function will successfully output an empty array.
|
1963
|
+
//
|
1964
|
+
// This function should be called at most once during the handshake and is
|
1965
|
+
// intended to be used for certificate-based credentials. It runs the
|
1966
|
+
// auto-chaining logic as part of finishing the legacy credential. Other uses of
|
1967
|
+
// the credential list (e.g. PAKE credentials) should iterate over
|
1968
|
+
// |hs->config->cert->credentials|.
|
1963
1969
|
//
|
1964
1970
|
// The pointers in the result are only valid until |hs| is next mutated.
|
1965
|
-
bool
|
1971
|
+
bool ssl_get_full_credential_list(SSL_HANDSHAKE *hs,
|
1972
|
+
Array<SSL_CREDENTIAL *> *out);
|
1966
1973
|
|
1967
1974
|
// ssl_credential_matches_requested_issuers returns true if |cred| is a
|
1968
1975
|
// usable match for any requested issuers in |hs|, and false with an error
|
@@ -4524,7 +4531,7 @@ struct ssl_session_st : public bssl::RefCounted<ssl_session_st> {
|
|
4524
4531
|
// original_handshake_hash contains the handshake hash (either SHA-1+MD5 or
|
4525
4532
|
// SHA-2, depending on TLS version) for the original, full handshake that
|
4526
4533
|
// created a session. This is used by Channel IDs during resumption.
|
4527
|
-
bssl::InplaceVector<uint8_t,
|
4534
|
+
bssl::InplaceVector<uint8_t, SSL_MAX_MD_SIZE> original_handshake_hash;
|
4528
4535
|
|
4529
4536
|
uint32_t ticket_lifetime_hint = 0; // Session lifetime hint in seconds
|
4530
4537
|
|
@@ -35,7 +35,8 @@ static UniquePtr<STACK_OF(CRYPTO_BUFFER)> new_leafless_chain(void) {
|
|
35
35
|
return chain;
|
36
36
|
}
|
37
37
|
|
38
|
-
bool
|
38
|
+
bool ssl_get_full_credential_list(SSL_HANDSHAKE *hs,
|
39
|
+
Array<SSL_CREDENTIAL *> *out) {
|
39
40
|
CERT *cert = hs->config->cert.get();
|
40
41
|
// Finish filling in the legacy credential if needed.
|
41
42
|
if (!cert->x509_method->ssl_auto_chain_if_needed(hs)) {
|
@@ -935,7 +935,7 @@ static enum ssl_hs_wait_t do_send_client_certificate(SSL_HANDSHAKE *hs) {
|
|
935
935
|
}
|
936
936
|
|
937
937
|
Array<SSL_CREDENTIAL *> creds;
|
938
|
-
if (!
|
938
|
+
if (!ssl_get_full_credential_list(hs, &creds)) {
|
939
939
|
return ssl_hs_error;
|
940
940
|
}
|
941
941
|
|
@@ -318,7 +318,7 @@ static enum ssl_hs_wait_t do_select_parameters(SSL_HANDSHAKE *hs) {
|
|
318
318
|
}
|
319
319
|
|
320
320
|
Array<SSL_CREDENTIAL *> creds;
|
321
|
-
if (!
|
321
|
+
if (!ssl_get_full_credential_list(hs, &creds)) {
|
322
322
|
return ssl_hs_error;
|
323
323
|
}
|
324
324
|
if (creds.empty()) {
|
@@ -27,7 +27,9 @@ UPB_INLINE int upb_Log2Ceiling(int x) {
|
|
27
27
|
#endif
|
28
28
|
}
|
29
29
|
|
30
|
-
UPB_INLINE int
|
30
|
+
UPB_INLINE int upb_RoundUpToPowerOfTwo(int x) {
|
31
|
+
return 1 << upb_Log2Ceiling(x);
|
32
|
+
}
|
31
33
|
|
32
34
|
#ifdef __cplusplus
|
33
35
|
} /* extern "C" */
|
@@ -45,6 +45,16 @@ UPB_INLINE bool upb_StringView_IsEqual(upb_StringView a, upb_StringView b) {
|
|
45
45
|
return (a.size == b.size) && (!a.size || !memcmp(a.data, b.data, a.size));
|
46
46
|
}
|
47
47
|
|
48
|
+
// Compares StringViews following strcmp rules.
|
49
|
+
// Please note this comparison is neither unicode nor locale aware.
|
50
|
+
UPB_INLINE int upb_StringView_Compare(upb_StringView a, upb_StringView b) {
|
51
|
+
int result = memcmp(a.data, b.data, UPB_MIN(a.size, b.size));
|
52
|
+
if (result == 0) {
|
53
|
+
return a.size - b.size;
|
54
|
+
}
|
55
|
+
return result;
|
56
|
+
}
|
57
|
+
|
48
58
|
// LINT.ThenChange(
|
49
59
|
// GoogleInternalName1,
|
50
60
|
// //depot/google3/third_party/upb/bits/golang/accessor.go:map_go_string,
|
@@ -402,8 +402,12 @@ uint32_t _upb_Hash(const void* p, size_t n, uint64_t seed) {
|
|
402
402
|
return Wyhash(p, n, seed, kWyhashSalt);
|
403
403
|
}
|
404
404
|
|
405
|
+
// Returns a seed for upb's hash function. For now this is just a hard-coded
|
406
|
+
// constant, but we are going to randomize it soon.
|
407
|
+
static uint64_t _upb_Seed(void) { return 0x69835f69597ec1cc; }
|
408
|
+
|
405
409
|
static uint32_t _upb_Hash_NoSeed(const char* p, size_t n) {
|
406
|
-
return _upb_Hash(p, n,
|
410
|
+
return _upb_Hash(p, n, _upb_Seed());
|
407
411
|
}
|
408
412
|
|
409
413
|
static uint32_t strhash(upb_tabkey key) {
|
@@ -674,7 +674,7 @@ static int64_t jsondec_strtoint64(jsondec* d, upb_StringView str) {
|
|
674
674
|
static void jsondec_checkempty(jsondec* d, upb_StringView str,
|
675
675
|
const upb_FieldDef* f) {
|
676
676
|
if (str.size != 0) return;
|
677
|
-
d->result =
|
677
|
+
d->result = kUpb_JsonDecodeResult_Error;
|
678
678
|
upb_Status_SetErrorFormat(d->status,
|
679
679
|
"Empty string is not a valid number (field: %s). "
|
680
680
|
"This will be an error in a future version.",
|
@@ -782,7 +782,7 @@ static upb_MessageValue jsondec_double(jsondec* d, const upb_FieldDef* f) {
|
|
782
782
|
char* end;
|
783
783
|
val.double_val = strtod(str.data, &end);
|
784
784
|
if (end != str.data + str.size) {
|
785
|
-
d->result =
|
785
|
+
d->result = kUpb_JsonDecodeResult_Error;
|
786
786
|
upb_Status_SetErrorFormat(
|
787
787
|
d->status,
|
788
788
|
"Non-number characters in quoted number (field: %s). "
|
@@ -50,6 +50,11 @@ UPB_INLINE void upb_free(upb_alloc* alloc, void* ptr) {
|
|
50
50
|
alloc->func(alloc, ptr, 0, 0);
|
51
51
|
}
|
52
52
|
|
53
|
+
UPB_INLINE void upb_free_sized(upb_alloc* alloc, void* ptr, size_t size) {
|
54
|
+
UPB_ASSERT(alloc);
|
55
|
+
alloc->func(alloc, ptr, size, 0);
|
56
|
+
}
|
57
|
+
|
53
58
|
// The global allocator used by upb. Uses the standard malloc()/free().
|
54
59
|
|
55
60
|
extern upb_alloc upb_alloc_global;
|