grpc 1.53.0.pre2 → 1.54.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +80 -66
- data/include/grpc/event_engine/event_engine.h +30 -14
- data/include/grpc/grpc_security.h +4 -0
- data/include/grpc/impl/grpc_types.h +11 -2
- data/include/grpc/support/port_platform.h +4 -4
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +11 -0
- data/src/core/ext/filters/client_channel/backend_metric.cc +6 -0
- data/src/core/ext/filters/client_channel/backup_poller.cc +2 -11
- data/src/core/ext/filters/client_channel/backup_poller.h +0 -3
- data/src/core/ext/filters/client_channel/client_channel.cc +848 -813
- data/src/core/ext/filters/client_channel/client_channel.h +131 -173
- data/src/core/ext/filters/client_channel/client_channel_internal.h +114 -0
- data/src/core/ext/filters/client_channel/config_selector.h +4 -3
- data/src/core/ext/filters/client_channel/http_proxy.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +6 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +17 -18
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +134 -151
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +1 -15
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +14 -10
- data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +68 -30
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +13 -5
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +8 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +2 -5
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +30 -38
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +4 -4
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +20 -26
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +31 -179
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +1 -2
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -2
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +4 -2
- data/src/core/ext/filters/client_channel/retry_filter.cc +95 -102
- data/src/core/ext/filters/client_channel/subchannel.cc +2 -4
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +26 -27
- data/src/core/ext/filters/client_channel/subchannel_stream_client.h +8 -5
- data/src/core/ext/filters/http/client/http_client_filter.cc +3 -3
- data/src/core/ext/filters/http/http_filters_plugin.cc +1 -12
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +27 -11
- data/src/core/ext/filters/message_size/message_size_filter.cc +141 -224
- data/src/core/ext/filters/message_size/message_size_filter.h +48 -3
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +7 -6
- data/src/core/ext/gcp/metadata_query.cc +142 -0
- data/src/core/ext/gcp/metadata_query.h +82 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +70 -55
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +149 -60
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +5 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.h +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +42 -23
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +5 -3
- data/src/core/ext/transport/chttp2/transport/internal.h +18 -3
- data/src/core/ext/transport/chttp2/transport/parsing.cc +9 -2
- data/src/core/ext/transport/chttp2/transport/writing.cc +10 -5
- data/src/core/ext/transport/inproc/inproc_transport.cc +20 -14
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +5 -3
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +22 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +5 -3
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +22 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +23 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +94 -3
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +23 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +120 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +6 -3
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +22 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +24 -6
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +111 -12
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +9 -7
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +27 -9
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +11 -7
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +56 -12
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +5 -3
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +24 -0
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +5 -3
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +24 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +13 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +49 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +24 -9
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +66 -12
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +191 -187
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +139 -136
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +31 -15
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +12 -9
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +15 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +54 -45
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +135 -119
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +100 -97
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +15 -18
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +272 -264
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +117 -117
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +12 -9
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +1 -2
- data/src/core/ext/xds/xds_client_stats.cc +29 -15
- data/src/core/ext/xds/xds_client_stats.h +24 -20
- data/src/core/ext/xds/xds_endpoint.cc +5 -2
- data/src/core/ext/xds/xds_endpoint.h +9 -1
- data/src/core/ext/xds/xds_http_rbac_filter.cc +1 -1
- data/src/core/ext/xds/xds_lb_policy_registry.cc +13 -0
- data/src/core/ext/xds/xds_transport_grpc.cc +1 -1
- data/src/core/{ext/filters/client_channel/resolver/dns/dns_resolver_selection.h → lib/backoff/random_early_detection.cc} +14 -12
- data/src/core/lib/backoff/random_early_detection.h +59 -0
- data/src/core/lib/channel/call_finalization.h +1 -1
- data/src/core/lib/channel/call_tracer.cc +51 -0
- data/src/core/lib/channel/call_tracer.h +101 -38
- data/src/core/lib/channel/connected_channel.cc +483 -1050
- data/src/core/lib/channel/context.h +8 -1
- data/src/core/lib/channel/promise_based_filter.cc +106 -42
- data/src/core/lib/channel/promise_based_filter.h +27 -13
- data/src/core/lib/channel/server_call_tracer_filter.cc +110 -0
- data/src/core/lib/config/config_vars.cc +151 -0
- data/src/core/lib/config/config_vars.h +127 -0
- data/src/core/lib/config/config_vars_non_generated.cc +51 -0
- data/src/core/lib/config/load_config.cc +66 -0
- data/src/core/lib/config/load_config.h +49 -0
- data/src/core/lib/debug/trace.cc +5 -6
- data/src/core/lib/debug/trace.h +0 -5
- data/src/core/lib/event_engine/event_engine.cc +37 -2
- data/src/core/lib/event_engine/handle_containers.h +7 -22
- data/src/core/lib/event_engine/memory_allocator_factory.h +47 -0
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +0 -4
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +3 -9
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +48 -15
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +8 -8
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +6 -5
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +6 -3
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +27 -18
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +0 -3
- data/src/core/lib/event_engine/resolved_address.cc +2 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +0 -1
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +129 -82
- data/src/core/lib/event_engine/windows/windows_endpoint.h +21 -5
- data/src/core/lib/event_engine/windows/windows_engine.cc +39 -18
- data/src/core/lib/event_engine/windows/windows_engine.h +2 -1
- data/src/core/lib/event_engine/windows/windows_listener.cc +370 -0
- data/src/core/lib/event_engine/windows/windows_listener.h +155 -0
- data/src/core/lib/experiments/config.cc +3 -10
- data/src/core/lib/experiments/experiments.cc +7 -0
- data/src/core/lib/experiments/experiments.h +9 -1
- data/src/core/lib/gpr/log.cc +15 -28
- data/src/core/lib/gprpp/fork.cc +8 -14
- data/src/core/lib/gprpp/orphanable.h +4 -3
- data/src/core/lib/gprpp/per_cpu.h +9 -3
- data/src/core/lib/gprpp/{thd_posix.cc → posix/thd.cc} +49 -37
- data/src/core/lib/gprpp/ref_counted.h +33 -34
- data/src/core/lib/gprpp/thd.h +16 -0
- data/src/core/lib/gprpp/time.cc +1 -0
- data/src/core/lib/gprpp/time.h +4 -4
- data/src/core/lib/gprpp/{thd_windows.cc → windows/thd.cc} +2 -2
- data/src/core/lib/iomgr/call_combiner.h +2 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +4 -2
- data/src/core/lib/iomgr/endpoint_pair.h +2 -2
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -2
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
- data/src/core/lib/iomgr/ev_posix.cc +13 -53
- data/src/core/lib/iomgr/ev_posix.h +0 -3
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +103 -76
- data/src/core/lib/iomgr/iomgr.cc +4 -8
- data/src/core/lib/iomgr/iomgr_windows.cc +8 -2
- data/src/core/lib/iomgr/pollset_set_windows.cc +9 -9
- data/src/core/lib/iomgr/pollset_windows.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +16 -3
- data/src/core/lib/iomgr/tcp_client_windows.cc +2 -2
- data/src/core/lib/iomgr/tcp_posix.cc +0 -1
- data/src/core/lib/iomgr/tcp_server_posix.cc +5 -16
- data/src/core/lib/iomgr/tcp_server_windows.cc +176 -9
- data/src/core/lib/iomgr/tcp_windows.cc +12 -8
- data/src/core/lib/load_balancing/lb_policy.cc +9 -13
- data/src/core/lib/load_balancing/lb_policy.h +4 -2
- data/src/core/lib/promise/activity.cc +22 -6
- data/src/core/lib/promise/activity.h +61 -24
- data/src/core/lib/promise/cancel_callback.h +77 -0
- data/src/core/lib/promise/detail/basic_seq.h +1 -1
- data/src/core/lib/promise/detail/promise_factory.h +4 -0
- data/src/core/lib/promise/for_each.h +176 -0
- data/src/core/lib/promise/if.h +9 -0
- data/src/core/lib/promise/interceptor_list.h +23 -2
- data/src/core/lib/promise/latch.h +89 -3
- data/src/core/lib/promise/loop.h +13 -9
- data/src/core/lib/promise/map.h +7 -0
- data/src/core/lib/promise/party.cc +286 -0
- data/src/core/lib/promise/party.h +499 -0
- data/src/core/lib/promise/pipe.h +197 -57
- data/src/core/lib/promise/poll.h +48 -0
- data/src/core/lib/promise/promise.h +2 -2
- data/src/core/lib/resource_quota/arena.cc +19 -3
- data/src/core/lib/resource_quota/arena.h +119 -5
- data/src/core/lib/resource_quota/memory_quota.cc +1 -1
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +12 -35
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +0 -59
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +10 -5
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +13 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +2 -0
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +5 -9
- data/src/core/lib/security/security_connector/ssl_utils.cc +11 -25
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +12 -0
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -2
- data/src/core/lib/security/transport/server_auth_filter.cc +20 -2
- data/src/core/lib/slice/slice.cc +1 -1
- data/src/core/lib/surface/builtins.cc +2 -0
- data/src/core/lib/surface/call.cc +926 -1024
- data/src/core/lib/surface/call.h +10 -0
- data/src/core/lib/surface/lame_client.cc +1 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/batch_builder.cc +179 -0
- data/src/core/lib/transport/batch_builder.h +468 -0
- data/src/core/lib/transport/bdp_estimator.cc +7 -7
- data/src/core/lib/transport/bdp_estimator.h +10 -6
- data/src/core/lib/transport/custom_metadata.h +30 -0
- data/src/core/lib/transport/metadata_batch.cc +9 -6
- data/src/core/lib/transport/metadata_batch.h +58 -16
- data/src/core/lib/transport/parsed_metadata.h +3 -3
- data/src/core/lib/transport/timeout_encoding.cc +6 -1
- data/src/core/lib/transport/transport.cc +30 -2
- data/src/core/lib/transport/transport.h +70 -14
- data/src/core/lib/transport/transport_impl.h +7 -0
- data/src/core/lib/transport/transport_op_string.cc +52 -42
- data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -2
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +1 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +21 -4
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +5 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +1 -1
- data/src/core/tsi/ssl_transport_security.cc +4 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/abseil-cpp/absl/base/config.h +1 -1
- data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +34 -0
- data/third_party/abseil-cpp/absl/flags/commandlineflag.h +200 -0
- data/third_party/abseil-cpp/absl/flags/config.h +68 -0
- data/third_party/abseil-cpp/absl/flags/declare.h +73 -0
- data/third_party/abseil-cpp/absl/flags/flag.cc +38 -0
- data/third_party/abseil-cpp/absl/flags/flag.h +310 -0
- data/{src/core/lib/gprpp/global_config_custom.h → third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc} +11 -14
- data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
- data/third_party/abseil-cpp/absl/flags/internal/flag.cc +615 -0
- data/third_party/abseil-cpp/absl/flags/internal/flag.h +800 -0
- data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +116 -0
- data/third_party/abseil-cpp/absl/flags/internal/path_util.h +62 -0
- data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +65 -0
- data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +61 -0
- data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +60 -0
- data/third_party/abseil-cpp/absl/flags/internal/program_name.h +50 -0
- data/third_party/abseil-cpp/absl/flags/internal/registry.h +97 -0
- data/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
- data/third_party/abseil-cpp/absl/flags/marshalling.cc +241 -0
- data/third_party/abseil-cpp/absl/flags/marshalling.h +356 -0
- data/third_party/abseil-cpp/absl/flags/reflection.cc +354 -0
- data/third_party/abseil-cpp/absl/flags/reflection.h +90 -0
- data/third_party/abseil-cpp/absl/flags/usage_config.cc +165 -0
- data/third_party/abseil-cpp/absl/flags/usage_config.h +135 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +12 -8
- data/third_party/boringssl-with-bazel/err_data.c +728 -712
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +177 -177
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +28 -55
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +21 -23
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +20 -23
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +66 -185
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +18 -21
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +356 -311
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +174 -194
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +146 -210
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +6 -9
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +346 -526
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +110 -131
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +130 -116
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +93 -60
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +93 -181
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +242 -305
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +41 -18
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +30 -33
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +36 -33
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +29 -26
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +133 -88
- data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +230 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +791 -791
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +526 -526
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +114 -135
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +201 -207
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +21 -26
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +55 -68
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +11 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +15 -9
- data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +17 -10
- data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -13
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +9 -5
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +10 -23
- data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +2 -6
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +29 -28
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +161 -201
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +254 -39
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +37 -75
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +8 -10
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/cipher → cipher_extra}/e_des.c +100 -78
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +6 -12
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -11
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +6 -10
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +12 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +74 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c +62 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-fuchsia.c → cpu_aarch64_fuchsia.c} +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-linux.c → cpu_aarch64_linux.c} +6 -4
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-win.c → cpu_aarch64_win.c} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm.c → cpu_arm.c} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +55 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.c → cpu_arm_linux.c} +11 -90
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.h → cpu_arm_linux.h} +0 -38
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-intel.c → cpu_intel.c} +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/crypto.c +25 -20
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +16 -27
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +17 -32
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/des.c +232 -232
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +232 -29
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -3
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +39 -16
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +37 -7
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +11 -36
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +214 -99
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +21 -5
- data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +83 -60
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +46 -12
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +25 -23
- data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +43 -9
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +75 -44
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +19 -25
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +96 -45
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +7 -8
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +26 -23
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +233 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +42 -25
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +35 -47
- data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +135 -244
- data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +15 -10
- data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +29 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +13 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +3 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +13 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +9 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +35 -27
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +16 -26
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +88 -60
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +99 -113
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +5 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +112 -168
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +86 -31
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +11 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +13 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +13 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +19 -108
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +19 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +15 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +22 -21
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +79 -19
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +102 -99
- data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +52 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +55 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +21 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +56 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +5 -3
- data/third_party/boringssl-with-bazel/src/crypto/{evp → fipsmodule/digestsign}/digestsign.c +51 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +25 -25
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +91 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +34 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +54 -23
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +44 -60
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64-table.h → p256-nistz-table.h} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.c → p256-nistz.c} +60 -53
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.h → p256-nistz.h} +5 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +48 -36
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +2 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +2 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +42 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +6 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +52 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +9 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +1 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +71 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +14 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +31 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +16 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +9 -38
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +73 -59
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +11 -45
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +22 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +63 -52
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +107 -62
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +58 -31
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +523 -422
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +334 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +3 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +12 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +14 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +19 -6
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +32 -14
- data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +65 -29
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +373 -18
- data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +61 -0
- data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +205 -0
- data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +13 -1
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +220 -13
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +19 -7
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +13 -1
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +81 -90
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +150 -245
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +629 -613
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +17 -17
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +142 -149
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +99 -131
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -66
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +31 -38
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +18 -31
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +8 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +129 -5
- data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +8 -11
- data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +61 -27
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +10 -13
- data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +10 -13
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +66 -34
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +190 -77
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +81 -284
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +109 -42
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +22 -24
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +54 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +32 -34
- data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +32 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +465 -704
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +284 -331
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +183 -178
- data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +11 -15
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +67 -50
- data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +153 -150
- data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +786 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +95 -102
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +72 -57
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +12 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +227 -252
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +52 -47
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +230 -224
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +161 -327
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +37 -33
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +14 -31
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +55 -85
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +534 -618
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +129 -122
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +116 -182
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +132 -132
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +181 -202
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +64 -79
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +175 -160
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1865 -2050
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +433 -462
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +156 -163
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +267 -263
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +40 -15
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +59 -63
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +63 -67
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +114 -144
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +25 -26
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +326 -415
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_info.c +30 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +354 -370
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +37 -32
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +116 -119
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +36 -26
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +10 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +419 -261
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +113 -105
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +11 -15
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +78 -170
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +126 -131
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +465 -469
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c +56 -54
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +46 -49
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +309 -346
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +341 -365
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +429 -393
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +29 -24
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c +65 -59
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +125 -121
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +43 -42
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +122 -125
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c +50 -20
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +247 -253
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +386 -389
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c +45 -32
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c +57 -54
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c +63 -67
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +143 -136
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +664 -707
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +83 -75
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1062 -1146
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +8 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +28 -48
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +211 -187
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +26 -78
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +19 -14
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +21 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +49 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +99 -29
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +49 -60
- data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +2 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +16 -200
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +34 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +82 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +32 -30
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +7 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +48 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +37 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +33 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +22 -30
- data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +7 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +41 -16
- data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +91 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +74 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +13 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +11 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +8 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +12 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +7 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +96 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +13 -21
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +139 -75
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +384 -286
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +5 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/time.h +41 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +18 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +49 -23
- data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +0 -11
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1592 -1074
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +202 -205
- data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +6 -13
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +17 -18
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +4 -5
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +25 -33
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +34 -20
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +65 -34
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +198 -54
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +5 -5
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +32 -28
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +76 -44
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +130 -98
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +27 -11
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +91 -75
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +8 -10
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +39 -65
- data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +5 -9
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +30 -33
- data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +77 -100
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +120 -107
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +164 -30
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +150 -60
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +22 -11
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +22 -6
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +15 -13
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +5 -43
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +7 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +22 -34
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +16 -98
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +1241 -657
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +751 -398
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +3551 -1938
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +1272 -487
- metadata +107 -72
- data/src/core/ext/filters/client_channel/lb_call_state_internal.h +0 -39
- data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +0 -30
- data/src/core/lib/gprpp/global_config.h +0 -93
- data/src/core/lib/gprpp/global_config_env.cc +0 -140
- data/src/core/lib/gprpp/global_config_env.h +0 -133
- data/src/core/lib/gprpp/global_config_generic.h +0 -40
- data/src/core/lib/promise/intra_activity_waiter.h +0 -55
- data/src/core/lib/security/security_connector/ssl_utils_config.cc +0 -32
- data/src/core/lib/security/security_connector/ssl_utils_config.h +0 -29
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +0 -195
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +0 -83
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +0 -236
- data/third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h +0 -15
- data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +0 -206
- data/third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c +0 -38
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c +0 -361
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +0 -287
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +0 -132
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +0 -155
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +0 -131
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +0 -189
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +0 -843
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +0 -289
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c +0 -57
- /data/src/core/lib/gpr/{log_android.cc → android/log.cc} +0 -0
- /data/src/core/lib/gpr/{cpu_iphone.cc → iphone/cpu.cc} +0 -0
- /data/src/core/lib/gpr/{cpu_linux.cc → linux/cpu.cc} +0 -0
- /data/src/core/lib/gpr/{log_linux.cc → linux/log.cc} +0 -0
- /data/src/core/lib/gpr/{tmpfile_msys.cc → msys/tmpfile.cc} +0 -0
- /data/src/core/lib/gpr/{cpu_posix.cc → posix/cpu.cc} +0 -0
- /data/src/core/lib/gpr/{log_posix.cc → posix/log.cc} +0 -0
- /data/src/core/lib/gpr/{string_posix.cc → posix/string.cc} +0 -0
- /data/src/core/lib/gpr/{sync_posix.cc → posix/sync.cc} +0 -0
- /data/src/core/lib/gpr/{time_posix.cc → posix/time.cc} +0 -0
- /data/src/core/lib/gpr/{tmpfile_posix.cc → posix/tmpfile.cc} +0 -0
- /data/src/core/lib/gpr/{cpu_windows.cc → windows/cpu.cc} +0 -0
- /data/src/core/lib/gpr/{log_windows.cc → windows/log.cc} +0 -0
- /data/src/core/lib/gpr/{string_windows.cc → windows/string.cc} +0 -0
- /data/src/core/lib/gpr/{string_util_windows.cc → windows/string_util.cc} +0 -0
- /data/src/core/lib/gpr/{sync_windows.cc → windows/sync.cc} +0 -0
- /data/src/core/lib/gpr/{time_windows.cc → windows/time.cc} +0 -0
- /data/src/core/lib/gpr/{tmpfile_windows.cc → windows/tmpfile.cc} +0 -0
- /data/src/core/lib/gprpp/{env_linux.cc → linux/env.cc} +0 -0
- /data/src/core/lib/gprpp/{env_posix.cc → posix/env.cc} +0 -0
- /data/src/core/lib/gprpp/{stat_posix.cc → posix/stat.cc} +0 -0
- /data/src/core/lib/gprpp/{env_windows.cc → windows/env.cc} +0 -0
- /data/src/core/lib/gprpp/{stat_windows.cc → windows/stat.cc} +0 -0
@@ -522,16 +522,17 @@ class HPackParser::String {
|
|
522
522
|
// Parser parses one key/value pair from a byte stream.
|
523
523
|
class HPackParser::Parser {
|
524
524
|
public:
|
525
|
-
Parser(Input* input, grpc_metadata_batch* metadata_buffer,
|
526
|
-
uint32_t metadata_size_limit, HPackTable* table,
|
525
|
+
Parser(Input* input, grpc_metadata_batch* metadata_buffer, HPackTable* table,
|
527
526
|
uint8_t* dynamic_table_updates_allowed, uint32_t* frame_length,
|
527
|
+
RandomEarlyDetection* metadata_early_detection, bool is_last,
|
528
528
|
LogInfo log_info)
|
529
529
|
: input_(input),
|
530
530
|
metadata_buffer_(metadata_buffer),
|
531
531
|
table_(table),
|
532
532
|
dynamic_table_updates_allowed_(dynamic_table_updates_allowed),
|
533
533
|
frame_length_(frame_length),
|
534
|
-
|
534
|
+
metadata_early_detection_(metadata_early_detection),
|
535
|
+
is_last_(is_last),
|
535
536
|
log_info_(log_info) {}
|
536
537
|
|
537
538
|
// Skip any priority bits, or return false on failure
|
@@ -655,8 +656,12 @@ class HPackParser::Parser {
|
|
655
656
|
// Pass up to the transport
|
656
657
|
if (GPR_UNLIKELY(metadata_buffer_ == nullptr)) return true;
|
657
658
|
*frame_length_ += md.transport_size();
|
658
|
-
if (
|
659
|
-
|
659
|
+
if (metadata_early_detection_->MustReject(*frame_length_)) {
|
660
|
+
// Reject any requests above hard metadata limit.
|
661
|
+
return HandleMetadataSizeLimitExceeded(md, /*exceeded_hard_limit=*/true);
|
662
|
+
} else if (is_last_ && metadata_early_detection_->Reject(*frame_length_)) {
|
663
|
+
// Reject some random sample of requests above soft metadata limit.
|
664
|
+
return HandleMetadataSizeLimitExceeded(md, /*exceeded_hard_limit=*/false);
|
660
665
|
}
|
661
666
|
|
662
667
|
metadata_buffer_->Set(md);
|
@@ -817,10 +822,12 @@ class HPackParser::Parser {
|
|
817
822
|
};
|
818
823
|
|
819
824
|
GPR_ATTRIBUTE_NOINLINE
|
820
|
-
bool HandleMetadataSizeLimitExceeded(const HPackTable::Memento& md
|
825
|
+
bool HandleMetadataSizeLimitExceeded(const HPackTable::Memento& md,
|
826
|
+
bool exceeded_hard_limit) {
|
821
827
|
// Collect a summary of sizes so far for debugging
|
822
828
|
// Do not collect contents, for fear of exposing PII.
|
823
829
|
std::string summary;
|
830
|
+
std::string error_message;
|
824
831
|
if (metadata_buffer_ != nullptr) {
|
825
832
|
MetadataSizeLimitExceededEncoder encoder(summary);
|
826
833
|
metadata_buffer_->Encode(&encoder);
|
@@ -828,19 +835,25 @@ class HPackParser::Parser {
|
|
828
835
|
summary =
|
829
836
|
absl::StrCat("; adding ", md.key(), " (length ", md.transport_size(),
|
830
837
|
"B)", summary.empty() ? "" : " to ", summary);
|
838
|
+
if (exceeded_hard_limit) {
|
839
|
+
error_message = absl::StrCat(
|
840
|
+
"received initial metadata size exceeds hard limit (", *frame_length_,
|
841
|
+
" vs. ", metadata_early_detection_->hard_limit(), ")", summary);
|
842
|
+
} else {
|
843
|
+
error_message = absl::StrCat(
|
844
|
+
"received initial metadata size exceeds soft limit (", *frame_length_,
|
845
|
+
" vs. ", metadata_early_detection_->soft_limit(),
|
846
|
+
"), rejecting requests with some random probability", summary);
|
847
|
+
}
|
831
848
|
if (metadata_buffer_ != nullptr) metadata_buffer_->Clear();
|
832
849
|
// StreamId is used as a signal to skip this stream but keep the connection
|
833
850
|
// alive
|
834
851
|
return input_->MaybeSetErrorAndReturn(
|
835
|
-
[
|
852
|
+
[error_message = std::move(error_message)] {
|
836
853
|
return grpc_error_set_int(
|
837
|
-
grpc_error_set_int(
|
838
|
-
|
839
|
-
|
840
|
-
*frame_length_, " vs. ", metadata_size_limit_, ")",
|
841
|
-
summary)),
|
842
|
-
StatusIntProperty::kRpcStatus,
|
843
|
-
GRPC_STATUS_RESOURCE_EXHAUSTED),
|
854
|
+
grpc_error_set_int(GRPC_ERROR_CREATE(error_message),
|
855
|
+
StatusIntProperty::kRpcStatus,
|
856
|
+
GRPC_STATUS_RESOURCE_EXHAUSTED),
|
844
857
|
StatusIntProperty::kStreamId, 0);
|
845
858
|
},
|
846
859
|
false);
|
@@ -859,7 +872,9 @@ class HPackParser::Parser {
|
|
859
872
|
HPackTable* const table_;
|
860
873
|
uint8_t* const dynamic_table_updates_allowed_;
|
861
874
|
uint32_t* const frame_length_;
|
862
|
-
|
875
|
+
// Random early detection of metadata size limits.
|
876
|
+
RandomEarlyDetection* metadata_early_detection_;
|
877
|
+
bool is_last_; // Whether this is the last frame.
|
863
878
|
const LogInfo log_info_;
|
864
879
|
};
|
865
880
|
|
@@ -881,8 +896,10 @@ HPackParser::HPackParser() = default;
|
|
881
896
|
HPackParser::~HPackParser() = default;
|
882
897
|
|
883
898
|
void HPackParser::BeginFrame(grpc_metadata_batch* metadata_buffer,
|
884
|
-
uint32_t
|
885
|
-
|
899
|
+
uint32_t metadata_size_soft_limit,
|
900
|
+
uint32_t metadata_size_hard_limit,
|
901
|
+
Boundary boundary, Priority priority,
|
902
|
+
LogInfo log_info) {
|
886
903
|
metadata_buffer_ = metadata_buffer;
|
887
904
|
if (metadata_buffer != nullptr) {
|
888
905
|
metadata_buffer->Set(GrpcStatusFromWire(), true);
|
@@ -891,7 +908,9 @@ void HPackParser::BeginFrame(grpc_metadata_batch* metadata_buffer,
|
|
891
908
|
priority_ = priority;
|
892
909
|
dynamic_table_updates_allowed_ = 2;
|
893
910
|
frame_length_ = 0;
|
894
|
-
|
911
|
+
metadata_early_detection_ = RandomEarlyDetection(
|
912
|
+
/*soft_limit=*/metadata_size_soft_limit,
|
913
|
+
/*hard_limit=*/metadata_size_hard_limit);
|
895
914
|
log_info_ = log_info;
|
896
915
|
}
|
897
916
|
|
@@ -909,7 +928,7 @@ grpc_error_handle HPackParser::Parse(const grpc_slice& slice, bool is_last) {
|
|
909
928
|
}
|
910
929
|
|
911
930
|
grpc_error_handle HPackParser::ParseInput(Input input, bool is_last) {
|
912
|
-
bool parsed_ok = ParseInputInner(&input);
|
931
|
+
bool parsed_ok = ParseInputInner(&input, is_last);
|
913
932
|
if (is_last) global_stats().IncrementHttp2MetadataSize(frame_length_);
|
914
933
|
if (parsed_ok) return absl::OkStatus();
|
915
934
|
if (input.eof_error()) {
|
@@ -923,7 +942,7 @@ grpc_error_handle HPackParser::ParseInput(Input input, bool is_last) {
|
|
923
942
|
return input.TakeError();
|
924
943
|
}
|
925
944
|
|
926
|
-
bool HPackParser::ParseInputInner(Input* input) {
|
945
|
+
bool HPackParser::ParseInputInner(Input* input, bool is_last) {
|
927
946
|
switch (priority_) {
|
928
947
|
case Priority::None:
|
929
948
|
break;
|
@@ -935,9 +954,9 @@ bool HPackParser::ParseInputInner(Input* input) {
|
|
935
954
|
}
|
936
955
|
}
|
937
956
|
while (!input->end_of_stream()) {
|
938
|
-
if (GPR_UNLIKELY(!Parser(input, metadata_buffer_,
|
939
|
-
&
|
940
|
-
&
|
957
|
+
if (GPR_UNLIKELY(!Parser(input, metadata_buffer_, &table_,
|
958
|
+
&dynamic_table_updates_allowed_, &frame_length_,
|
959
|
+
&metadata_early_detection_, is_last, log_info_)
|
941
960
|
.Parse())) {
|
942
961
|
return false;
|
943
962
|
}
|
@@ -29,6 +29,7 @@
|
|
29
29
|
|
30
30
|
#include "src/core/ext/transport/chttp2/transport/frame.h"
|
31
31
|
#include "src/core/ext/transport/chttp2/transport/hpack_parser_table.h"
|
32
|
+
#include "src/core/lib/backoff/random_early_detection.h"
|
32
33
|
#include "src/core/lib/iomgr/error.h"
|
33
34
|
#include "src/core/lib/transport/metadata_batch.h"
|
34
35
|
|
@@ -80,7 +81,8 @@ class HPackParser {
|
|
80
81
|
// Begin parsing a new frame
|
81
82
|
// Sink receives each parsed header,
|
82
83
|
void BeginFrame(grpc_metadata_batch* metadata_buffer,
|
83
|
-
uint32_t
|
84
|
+
uint32_t metadata_size_soft_limit,
|
85
|
+
uint32_t metadata_size_hard_limit, Boundary boundary,
|
84
86
|
Priority priority, LogInfo log_info);
|
85
87
|
// Start throwing away any received headers after parsing them.
|
86
88
|
void StopBufferingFrame() { metadata_buffer_ = nullptr; }
|
@@ -103,7 +105,7 @@ class HPackParser {
|
|
103
105
|
class String;
|
104
106
|
|
105
107
|
grpc_error_handle ParseInput(Input input, bool is_last);
|
106
|
-
bool ParseInputInner(Input* input);
|
108
|
+
bool ParseInputInner(Input* input, bool is_last);
|
107
109
|
|
108
110
|
// Target metadata buffer
|
109
111
|
grpc_metadata_batch* metadata_buffer_ = nullptr;
|
@@ -121,7 +123,7 @@ class HPackParser {
|
|
121
123
|
uint8_t dynamic_table_updates_allowed_;
|
122
124
|
// Length of frame so far.
|
123
125
|
uint32_t frame_length_;
|
124
|
-
|
126
|
+
RandomEarlyDetection metadata_early_detection_;
|
125
127
|
// Information for logging
|
126
128
|
LogInfo log_info_;
|
127
129
|
|
@@ -25,7 +25,6 @@
|
|
25
25
|
#include <stdint.h>
|
26
26
|
|
27
27
|
#include <memory>
|
28
|
-
#include <string>
|
29
28
|
|
30
29
|
#include "absl/strings/string_view.h"
|
31
30
|
#include "absl/types/optional.h"
|
@@ -61,6 +60,7 @@
|
|
61
60
|
#include "src/core/lib/iomgr/error.h"
|
62
61
|
#include "src/core/lib/resource_quota/arena.h"
|
63
62
|
#include "src/core/lib/resource_quota/memory_quota.h"
|
63
|
+
#include "src/core/lib/slice/slice.h"
|
64
64
|
#include "src/core/lib/slice/slice_buffer.h"
|
65
65
|
#include "src/core/lib/surface/init_internally.h"
|
66
66
|
#include "src/core/lib/transport/connectivity_state.h"
|
@@ -69,6 +69,14 @@
|
|
69
69
|
#include "src/core/lib/transport/transport_fwd.h"
|
70
70
|
#include "src/core/lib/transport/transport_impl.h"
|
71
71
|
|
72
|
+
// Flag that this closure barrier may be covering a write in a pollset, and so
|
73
|
+
// we should not complete this closure until we can prove that the write got
|
74
|
+
// scheduled
|
75
|
+
#define CLOSURE_BARRIER_MAY_COVER_WRITE (1 << 0)
|
76
|
+
// First bit of the reference count, stored in the high order bits (with the low
|
77
|
+
// bits being used for flags defined above)
|
78
|
+
#define CLOSURE_BARRIER_FIRST_REF_BIT (1 << 16)
|
79
|
+
|
72
80
|
namespace grpc_core {
|
73
81
|
class ContextList;
|
74
82
|
}
|
@@ -261,7 +269,7 @@ struct grpc_chttp2_transport
|
|
261
269
|
grpc_transport base; // must be first
|
262
270
|
grpc_core::RefCount refs;
|
263
271
|
grpc_endpoint* ep;
|
264
|
-
|
272
|
+
grpc_core::Slice peer_string;
|
265
273
|
|
266
274
|
grpc_core::MemoryOwner memory_owner;
|
267
275
|
const grpc_core::MemoryAllocator::Reservation self_reservation;
|
@@ -457,6 +465,8 @@ struct grpc_chttp2_transport
|
|
457
465
|
bool keepalive_ping_started = false;
|
458
466
|
/// keep-alive state machine state
|
459
467
|
grpc_chttp2_keepalive_state keepalive_state;
|
468
|
+
// Soft limit on max header size.
|
469
|
+
uint32_t max_header_list_size_soft_limit = 0;
|
460
470
|
grpc_core::ContextList* cl = nullptr;
|
461
471
|
grpc_core::RefCountedPtr<grpc_core::channelz::SocketNode> channelz_socket;
|
462
472
|
uint32_t num_messages_in_next_write = 0;
|
@@ -470,6 +480,10 @@ struct grpc_chttp2_transport
|
|
470
480
|
/// Based on channel args, preferred_rx_crypto_frame_sizes are advertised to
|
471
481
|
/// the peer
|
472
482
|
bool enable_preferred_rx_crypto_frame_advertisement = false;
|
483
|
+
/// Set to non zero if closures associated with the transport may be
|
484
|
+
/// covering a write in a pollset. Such closures cannot be scheduled until
|
485
|
+
/// we can prove that the write got scheduled.
|
486
|
+
uint8_t closure_barrier_may_cover_write = CLOSURE_BARRIER_MAY_COVER_WRITE;
|
473
487
|
|
474
488
|
std::shared_ptr<grpc_event_engine::experimental::EventEngine> event_engine;
|
475
489
|
};
|
@@ -697,7 +711,8 @@ void grpc_chttp2_complete_closure_step(grpc_chttp2_transport* t,
|
|
697
711
|
grpc_chttp2_stream* s,
|
698
712
|
grpc_closure** pclosure,
|
699
713
|
grpc_error_handle error,
|
700
|
-
const char* desc
|
714
|
+
const char* desc,
|
715
|
+
grpc_core::DebugLocation whence = {});
|
701
716
|
|
702
717
|
#define GRPC_HEADER_SIZE_IN_BYTES 5
|
703
718
|
#define MAX_SIZE_T (~(size_t)0)
|
@@ -56,6 +56,7 @@
|
|
56
56
|
#include "src/core/lib/iomgr/closure.h"
|
57
57
|
#include "src/core/lib/iomgr/combiner.h"
|
58
58
|
#include "src/core/lib/iomgr/error.h"
|
59
|
+
#include "src/core/lib/slice/slice.h"
|
59
60
|
#include "src/core/lib/transport/bdp_estimator.h"
|
60
61
|
#include "src/core/lib/transport/error_utils.h"
|
61
62
|
#include "src/core/lib/transport/http2_errors.h"
|
@@ -475,6 +476,9 @@ static grpc_error_handle init_header_skip_frame_parser(
|
|
475
476
|
"header", grpc_chttp2_header_parser_parse, &t->hpack_parser};
|
476
477
|
t->hpack_parser.BeginFrame(
|
477
478
|
nullptr,
|
479
|
+
/*metadata_size_soft_limit=*/
|
480
|
+
t->max_header_list_size_soft_limit,
|
481
|
+
/*metadata_size_hard_limit=*/
|
478
482
|
t->settings[GRPC_ACKED_SETTINGS]
|
479
483
|
[GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE],
|
480
484
|
hpack_boundary_type(t, is_eoh), priority_type,
|
@@ -626,8 +630,8 @@ static grpc_error_handle init_header_frame_parser(grpc_chttp2_transport* t,
|
|
626
630
|
GPR_INFO,
|
627
631
|
"transport:%p SERVER peer:%s Final GOAWAY sent. Ignoring new "
|
628
632
|
"grpc_chttp2_stream request id=%d, last grpc_chttp2_stream id=%d",
|
629
|
-
t, t->peer_string.c_str(),
|
630
|
-
t->last_new_stream_id));
|
633
|
+
t, std::string(t->peer_string.as_string_view()).c_str(),
|
634
|
+
t->incoming_stream_id, t->last_new_stream_id));
|
631
635
|
return init_header_skip_frame_parser(t, priority_type);
|
632
636
|
}
|
633
637
|
t->last_new_stream_id = t->incoming_stream_id;
|
@@ -691,6 +695,9 @@ static grpc_error_handle init_header_frame_parser(grpc_chttp2_transport* t,
|
|
691
695
|
}
|
692
696
|
t->hpack_parser.BeginFrame(
|
693
697
|
incoming_metadata_buffer,
|
698
|
+
/*metadata_size_soft_limit=*/
|
699
|
+
t->max_header_list_size_soft_limit,
|
700
|
+
/*metadata_size_hard_limit=*/
|
694
701
|
t->settings[GRPC_ACKED_SETTINGS]
|
695
702
|
[GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE],
|
696
703
|
hpack_boundary_type(t, is_eoh), priority_type,
|
@@ -26,6 +26,7 @@
|
|
26
26
|
#include <string>
|
27
27
|
|
28
28
|
#include "absl/status/status.h"
|
29
|
+
#include "absl/strings/string_view.h"
|
29
30
|
#include "absl/types/optional.h"
|
30
31
|
|
31
32
|
#include <grpc/event_engine/event_engine.h>
|
@@ -94,7 +95,8 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
|
|
94
95
|
GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
|
95
96
|
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
|
96
97
|
gpr_log(GPR_INFO, "%s: Ping delayed [%s]: already pinging",
|
97
|
-
t->is_client ? "CLIENT" : "SERVER",
|
98
|
+
t->is_client ? "CLIENT" : "SERVER",
|
99
|
+
std::string(t->peer_string.as_string_view()).c_str());
|
98
100
|
}
|
99
101
|
return;
|
100
102
|
}
|
@@ -106,7 +108,8 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
|
|
106
108
|
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
|
107
109
|
gpr_log(GPR_INFO,
|
108
110
|
"CLIENT: Ping delayed [%s]: too many recent pings: %d/%d",
|
109
|
-
t->peer_string.c_str(),
|
111
|
+
std::string(t->peer_string.as_string_view()).c_str(),
|
112
|
+
t->ping_state.pings_before_data_required,
|
110
113
|
t->ping_policy.max_pings_without_data);
|
111
114
|
}
|
112
115
|
return;
|
@@ -148,7 +151,8 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
|
|
148
151
|
"%s: Ping delayed [%s]: not enough time elapsed since last "
|
149
152
|
"ping. "
|
150
153
|
" Last ping %" PRId64 ": Next ping %" PRId64 ": Now %" PRId64,
|
151
|
-
t->is_client ? "CLIENT" : "SERVER",
|
154
|
+
t->is_client ? "CLIENT" : "SERVER",
|
155
|
+
std::string(t->peer_string.as_string_view()).c_str(),
|
152
156
|
t->ping_state.last_ping_sent_time.milliseconds_after_process_epoch(),
|
153
157
|
next_allowed_ping.milliseconds_after_process_epoch(),
|
154
158
|
now.milliseconds_after_process_epoch());
|
@@ -179,7 +183,8 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
|
|
179
183
|
GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
|
180
184
|
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
|
181
185
|
gpr_log(GPR_INFO, "%s: Ping sent [%s]: %d/%d",
|
182
|
-
t->is_client ? "CLIENT" : "SERVER",
|
186
|
+
t->is_client ? "CLIENT" : "SERVER",
|
187
|
+
std::string(t->peer_string.as_string_view()).c_str(),
|
183
188
|
t->ping_state.pings_before_data_required,
|
184
189
|
t->ping_policy.max_pings_without_data);
|
185
190
|
}
|
@@ -217,7 +222,7 @@ static void report_stall(grpc_chttp2_transport* t, grpc_chttp2_stream* s,
|
|
217
222
|
" However, if you know that there are unwanted stalls, here is some "
|
218
223
|
"helpful data: [fc:pending=%" PRIdPTR ":flowed=%" PRId64
|
219
224
|
":peer_initwin=%d:t_win=%" PRId64 ":s_win=%d:s_delta=%" PRId64 "]",
|
220
|
-
t->peer_string.c_str(), t, s->id, staller,
|
225
|
+
std::string(t->peer_string.as_string_view()).c_str(), t, s->id, staller,
|
221
226
|
s->flow_controlled_buffer.length, s->flow_controlled_bytes_flowed,
|
222
227
|
t->settings[GRPC_ACKED_SETTINGS]
|
223
228
|
[GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE],
|
@@ -408,7 +408,7 @@ void complete_if_batch_end_locked(inproc_stream* s, grpc_error_handle error,
|
|
408
408
|
int is_rtm = static_cast<int>(op == s->recv_trailing_md_op);
|
409
409
|
|
410
410
|
if ((is_sm + is_stm + is_rim + is_rm + is_rtm) == 1) {
|
411
|
-
INPROC_LOG(GPR_INFO, "%s %p %p %s", msg, s, op,
|
411
|
+
INPROC_LOG(GPR_INFO, "%s %p %p %p %s", msg, s, op, op->on_complete,
|
412
412
|
grpc_core::StatusToString(error).c_str());
|
413
413
|
grpc_core::ExecCtx::Run(DEBUG_LOCATION, op->on_complete, error);
|
414
414
|
}
|
@@ -697,8 +697,9 @@ void op_state_machine_locked(inproc_stream* s, grpc_error_handle error) {
|
|
697
697
|
s->to_read_initial_md_filled = false;
|
698
698
|
grpc_core::ExecCtx::Run(
|
699
699
|
DEBUG_LOCATION,
|
700
|
-
s->recv_initial_md_op->payload->recv_initial_metadata
|
701
|
-
|
700
|
+
std::exchange(s->recv_initial_md_op->payload->recv_initial_metadata
|
701
|
+
.recv_initial_metadata_ready,
|
702
|
+
nullptr),
|
702
703
|
absl::OkStatus());
|
703
704
|
complete_if_batch_end_locked(
|
704
705
|
s, absl::OkStatus(), s->recv_initial_md_op,
|
@@ -766,6 +767,8 @@ void op_state_machine_locked(inproc_stream* s, grpc_error_handle error) {
|
|
766
767
|
nullptr);
|
767
768
|
s->to_read_trailing_md.Clear();
|
768
769
|
s->to_read_trailing_md_filled = false;
|
770
|
+
s->recv_trailing_md_op->payload->recv_trailing_metadata
|
771
|
+
.recv_trailing_metadata->Set(grpc_core::GrpcStatusFromWire(), true);
|
769
772
|
|
770
773
|
// We should schedule the recv_trailing_md_op completion if
|
771
774
|
// 1. this stream is the client-side
|
@@ -906,8 +909,6 @@ bool cancel_stream_locked(inproc_stream* s, grpc_error_handle error) {
|
|
906
909
|
return ret;
|
907
910
|
}
|
908
911
|
|
909
|
-
void do_nothing(void* /*arg*/, grpc_error_handle /*error*/) {}
|
910
|
-
|
911
912
|
void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
|
912
913
|
grpc_transport_stream_op_batch* op) {
|
913
914
|
INPROC_LOG(GPR_INFO, "perform_stream_op %p %p %p", gt, gs, op);
|
@@ -933,8 +934,8 @@ void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
|
|
933
934
|
// completed). This can go away once we move to a new C++ closure API
|
934
935
|
// that provides the ability to create a barrier closure.
|
935
936
|
if (on_complete == nullptr) {
|
936
|
-
on_complete =
|
937
|
-
|
937
|
+
on_complete = op->on_complete =
|
938
|
+
grpc_core::NewClosure([](grpc_error_handle) {});
|
938
939
|
}
|
939
940
|
|
940
941
|
if (op->cancel_stream) {
|
@@ -1177,13 +1178,18 @@ void set_pollset_set(grpc_transport* /*gt*/, grpc_stream* /*gs*/,
|
|
1177
1178
|
|
1178
1179
|
grpc_endpoint* get_endpoint(grpc_transport* /*t*/) { return nullptr; }
|
1179
1180
|
|
1180
|
-
const grpc_transport_vtable inproc_vtable = {
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
1185
|
-
|
1186
|
-
|
1181
|
+
const grpc_transport_vtable inproc_vtable = {sizeof(inproc_stream),
|
1182
|
+
true,
|
1183
|
+
"inproc",
|
1184
|
+
init_stream,
|
1185
|
+
nullptr,
|
1186
|
+
set_pollset,
|
1187
|
+
set_pollset_set,
|
1188
|
+
perform_stream_op,
|
1189
|
+
perform_transport_op,
|
1190
|
+
destroy_stream,
|
1191
|
+
destroy_transport,
|
1192
|
+
get_endpoint};
|
1187
1193
|
|
1188
1194
|
//******************************************************************************
|
1189
1195
|
// Main inproc transport functions
|
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
#include "upb/port_def.inc"
|
38
38
|
|
39
|
-
static const upb_MiniTable_Sub envoy_config_bootstrap_v3_Bootstrap_submsgs[
|
39
|
+
static const upb_MiniTable_Sub envoy_config_bootstrap_v3_Bootstrap_submsgs[27] = {
|
40
40
|
{.submsg = &envoy_config_core_v3_Node_msginit},
|
41
41
|
{.submsg = &envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit},
|
42
42
|
{.submsg = &envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit},
|
@@ -63,9 +63,10 @@ static const upb_MiniTable_Sub envoy_config_bootstrap_v3_Bootstrap_submsgs[26] =
|
|
63
63
|
{.submsg = &envoy_config_core_v3_TypedExtensionConfig_msginit},
|
64
64
|
{.submsg = &envoy_config_core_v3_TypedExtensionConfig_msginit},
|
65
65
|
{.submsg = &envoy_config_core_v3_TypedExtensionConfig_msginit},
|
66
|
+
{.submsg = &envoy_config_core_v3_TypedExtensionConfig_msginit},
|
66
67
|
};
|
67
68
|
|
68
|
-
static const upb_MiniTable_Field envoy_config_bootstrap_v3_Bootstrap__fields[
|
69
|
+
static const upb_MiniTable_Field envoy_config_bootstrap_v3_Bootstrap__fields[35] = {
|
69
70
|
{1, UPB_SIZE(12, 16), UPB_SIZE(1, 1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
70
71
|
{2, UPB_SIZE(16, 24), UPB_SIZE(2, 2), 1, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
71
72
|
{3, UPB_SIZE(20, 32), UPB_SIZE(3, 3), 2, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
@@ -100,12 +101,13 @@ static const upb_MiniTable_Field envoy_config_bootstrap_v3_Bootstrap__fields[34]
|
|
100
101
|
{34, UPB_SIZE(140, 272), UPB_SIZE(18, 18), 23, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
101
102
|
{35, UPB_SIZE(144, 280), UPB_SIZE(19, 19), 24, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
102
103
|
{36, UPB_SIZE(148, 288), UPB_SIZE(20, 20), 25, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
104
|
+
{37, UPB_SIZE(152, 296), UPB_SIZE(21, 21), 26, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
103
105
|
};
|
104
106
|
|
105
107
|
const upb_MiniTable envoy_config_bootstrap_v3_Bootstrap_msginit = {
|
106
108
|
&envoy_config_bootstrap_v3_Bootstrap_submsgs[0],
|
107
109
|
&envoy_config_bootstrap_v3_Bootstrap__fields[0],
|
108
|
-
UPB_SIZE(
|
110
|
+
UPB_SIZE(160, 304), 35, kUpb_ExtMode_NonExtendable, 9, 255, 0,
|
109
111
|
};
|
110
112
|
|
111
113
|
static const upb_MiniTable_Sub envoy_config_bootstrap_v3_Bootstrap_StaticResources_submsgs[3] = {
|
@@ -467,6 +467,15 @@ UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_clear_xds_config_tracker_ext
|
|
467
467
|
UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootstrap_v3_Bootstrap_xds_config_tracker_extension(const envoy_config_bootstrap_v3_Bootstrap* msg) {
|
468
468
|
return *UPB_PTR_AT(msg, UPB_SIZE(148, 288), const struct envoy_config_core_v3_TypedExtensionConfig*);
|
469
469
|
}
|
470
|
+
UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_listener_manager(const envoy_config_bootstrap_v3_Bootstrap* msg) {
|
471
|
+
return _upb_hasbit(msg, 21);
|
472
|
+
}
|
473
|
+
UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_clear_listener_manager(const envoy_config_bootstrap_v3_Bootstrap* msg) {
|
474
|
+
*UPB_PTR_AT(msg, UPB_SIZE(152, 296), const upb_Message*) = NULL;
|
475
|
+
}
|
476
|
+
UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootstrap_v3_Bootstrap_listener_manager(const envoy_config_bootstrap_v3_Bootstrap* msg) {
|
477
|
+
return *UPB_PTR_AT(msg, UPB_SIZE(152, 296), const struct envoy_config_core_v3_TypedExtensionConfig*);
|
478
|
+
}
|
470
479
|
|
471
480
|
UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_node(envoy_config_bootstrap_v3_Bootstrap *msg, struct envoy_config_core_v3_Node* value) {
|
472
481
|
_upb_sethas(msg, 1);
|
@@ -828,6 +837,19 @@ UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootst
|
|
828
837
|
}
|
829
838
|
return sub;
|
830
839
|
}
|
840
|
+
UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_listener_manager(envoy_config_bootstrap_v3_Bootstrap *msg, struct envoy_config_core_v3_TypedExtensionConfig* value) {
|
841
|
+
_upb_sethas(msg, 21);
|
842
|
+
*UPB_PTR_AT(msg, UPB_SIZE(152, 296), struct envoy_config_core_v3_TypedExtensionConfig*) = value;
|
843
|
+
}
|
844
|
+
UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootstrap_v3_Bootstrap_mutable_listener_manager(envoy_config_bootstrap_v3_Bootstrap* msg, upb_Arena* arena) {
|
845
|
+
struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)envoy_config_bootstrap_v3_Bootstrap_listener_manager(msg);
|
846
|
+
if (sub == NULL) {
|
847
|
+
sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_Message_New(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena);
|
848
|
+
if (!sub) return NULL;
|
849
|
+
envoy_config_bootstrap_v3_Bootstrap_set_listener_manager(msg, sub);
|
850
|
+
}
|
851
|
+
return sub;
|
852
|
+
}
|
831
853
|
|
832
854
|
/* envoy.config.bootstrap.v3.Bootstrap.StaticResources */
|
833
855
|
|
@@ -131,13 +131,14 @@ const upb_MiniTable envoy_config_core_v3_HttpProtocolOptions_msginit = {
|
|
131
131
|
UPB_SIZE(32, 48), 6, kUpb_ExtMode_NonExtendable, 6, 255, 0,
|
132
132
|
};
|
133
133
|
|
134
|
-
static const upb_MiniTable_Sub envoy_config_core_v3_Http1ProtocolOptions_submsgs[
|
134
|
+
static const upb_MiniTable_Sub envoy_config_core_v3_Http1ProtocolOptions_submsgs[4] = {
|
135
135
|
{.submsg = &google_protobuf_BoolValue_msginit},
|
136
136
|
{.submsg = &envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat_msginit},
|
137
137
|
{.submsg = &google_protobuf_BoolValue_msginit},
|
138
|
+
{.submsg = &google_protobuf_BoolValue_msginit},
|
138
139
|
};
|
139
140
|
|
140
|
-
static const upb_MiniTable_Field envoy_config_core_v3_Http1ProtocolOptions__fields[
|
141
|
+
static const upb_MiniTable_Field envoy_config_core_v3_Http1ProtocolOptions__fields[9] = {
|
141
142
|
{1, UPB_SIZE(8, 8), UPB_SIZE(1, 1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
142
143
|
{2, UPB_SIZE(1, 1), UPB_SIZE(0, 0), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
|
143
144
|
{3, UPB_SIZE(12, 16), UPB_SIZE(0, 0), kUpb_NoSub, 9, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
|
@@ -146,12 +147,13 @@ static const upb_MiniTable_Field envoy_config_core_v3_Http1ProtocolOptions__fiel
|
|
146
147
|
{6, UPB_SIZE(3, 3), UPB_SIZE(0, 0), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
|
147
148
|
{7, UPB_SIZE(24, 40), UPB_SIZE(3, 3), 2, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
148
149
|
{8, UPB_SIZE(4, 4), UPB_SIZE(0, 0), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
|
150
|
+
{9, UPB_SIZE(28, 48), UPB_SIZE(4, 4), 3, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
149
151
|
};
|
150
152
|
|
151
153
|
const upb_MiniTable envoy_config_core_v3_Http1ProtocolOptions_msginit = {
|
152
154
|
&envoy_config_core_v3_Http1ProtocolOptions_submsgs[0],
|
153
155
|
&envoy_config_core_v3_Http1ProtocolOptions__fields[0],
|
154
|
-
UPB_SIZE(32,
|
156
|
+
UPB_SIZE(32, 56), 9, kUpb_ExtMode_NonExtendable, 9, 255, 0,
|
155
157
|
};
|
156
158
|
|
157
159
|
static const upb_MiniTable_Sub envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat_submsgs[2] = {
|
@@ -845,6 +845,15 @@ UPB_INLINE void envoy_config_core_v3_Http1ProtocolOptions_clear_send_fully_quali
|
|
845
845
|
UPB_INLINE bool envoy_config_core_v3_Http1ProtocolOptions_send_fully_qualified_url(const envoy_config_core_v3_Http1ProtocolOptions* msg) {
|
846
846
|
return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), bool);
|
847
847
|
}
|
848
|
+
UPB_INLINE bool envoy_config_core_v3_Http1ProtocolOptions_has_use_balsa_parser(const envoy_config_core_v3_Http1ProtocolOptions* msg) {
|
849
|
+
return _upb_hasbit(msg, 4);
|
850
|
+
}
|
851
|
+
UPB_INLINE void envoy_config_core_v3_Http1ProtocolOptions_clear_use_balsa_parser(const envoy_config_core_v3_Http1ProtocolOptions* msg) {
|
852
|
+
*UPB_PTR_AT(msg, UPB_SIZE(28, 48), const upb_Message*) = NULL;
|
853
|
+
}
|
854
|
+
UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_core_v3_Http1ProtocolOptions_use_balsa_parser(const envoy_config_core_v3_Http1ProtocolOptions* msg) {
|
855
|
+
return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const struct google_protobuf_BoolValue*);
|
856
|
+
}
|
848
857
|
|
849
858
|
UPB_INLINE void envoy_config_core_v3_Http1ProtocolOptions_set_allow_absolute_url(envoy_config_core_v3_Http1ProtocolOptions *msg, struct google_protobuf_BoolValue* value) {
|
850
859
|
_upb_sethas(msg, 1);
|
@@ -900,6 +909,19 @@ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_core_v3_Http1ProtocolO
|
|
900
909
|
UPB_INLINE void envoy_config_core_v3_Http1ProtocolOptions_set_send_fully_qualified_url(envoy_config_core_v3_Http1ProtocolOptions *msg, bool value) {
|
901
910
|
*UPB_PTR_AT(msg, UPB_SIZE(4, 4), bool) = value;
|
902
911
|
}
|
912
|
+
UPB_INLINE void envoy_config_core_v3_Http1ProtocolOptions_set_use_balsa_parser(envoy_config_core_v3_Http1ProtocolOptions *msg, struct google_protobuf_BoolValue* value) {
|
913
|
+
_upb_sethas(msg, 4);
|
914
|
+
*UPB_PTR_AT(msg, UPB_SIZE(28, 48), struct google_protobuf_BoolValue*) = value;
|
915
|
+
}
|
916
|
+
UPB_INLINE struct google_protobuf_BoolValue* envoy_config_core_v3_Http1ProtocolOptions_mutable_use_balsa_parser(envoy_config_core_v3_Http1ProtocolOptions* msg, upb_Arena* arena) {
|
917
|
+
struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_core_v3_Http1ProtocolOptions_use_balsa_parser(msg);
|
918
|
+
if (sub == NULL) {
|
919
|
+
sub = (struct google_protobuf_BoolValue*)_upb_Message_New(&google_protobuf_BoolValue_msginit, arena);
|
920
|
+
if (!sub) return NULL;
|
921
|
+
envoy_config_core_v3_Http1ProtocolOptions_set_use_balsa_parser(msg, sub);
|
922
|
+
}
|
923
|
+
return sub;
|
924
|
+
}
|
903
925
|
|
904
926
|
/* envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat */
|
905
927
|
|
@@ -10,20 +10,38 @@
|
|
10
10
|
#include "upb/msg_internal.h"
|
11
11
|
#include "envoy/config/core/v3/proxy_protocol.upb.h"
|
12
12
|
#include "udpa/annotations/status.upb.h"
|
13
|
+
#include "validate/validate.upb.h"
|
13
14
|
|
14
15
|
#include "upb/port_def.inc"
|
15
16
|
|
16
|
-
static const upb_MiniTable_Field
|
17
|
+
static const upb_MiniTable_Field envoy_config_core_v3_ProxyProtocolPassThroughTLVs__fields[2] = {
|
17
18
|
{1, UPB_SIZE(0, 0), UPB_SIZE(0, 0), kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
|
19
|
+
{2, UPB_SIZE(4, 8), UPB_SIZE(0, 0), kUpb_NoSub, 13, kUpb_FieldMode_Array | kUpb_LabelFlags_IsPacked | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
18
20
|
};
|
19
21
|
|
20
|
-
const upb_MiniTable
|
22
|
+
const upb_MiniTable envoy_config_core_v3_ProxyProtocolPassThroughTLVs_msginit = {
|
21
23
|
NULL,
|
24
|
+
&envoy_config_core_v3_ProxyProtocolPassThroughTLVs__fields[0],
|
25
|
+
UPB_SIZE(8, 16), 2, kUpb_ExtMode_NonExtendable, 2, 255, 0,
|
26
|
+
};
|
27
|
+
|
28
|
+
static const upb_MiniTable_Sub envoy_config_core_v3_ProxyProtocolConfig_submsgs[1] = {
|
29
|
+
{.submsg = &envoy_config_core_v3_ProxyProtocolPassThroughTLVs_msginit},
|
30
|
+
};
|
31
|
+
|
32
|
+
static const upb_MiniTable_Field envoy_config_core_v3_ProxyProtocolConfig__fields[2] = {
|
33
|
+
{1, UPB_SIZE(4, 4), UPB_SIZE(0, 0), kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
|
34
|
+
{2, UPB_SIZE(8, 8), UPB_SIZE(1, 1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
35
|
+
};
|
36
|
+
|
37
|
+
const upb_MiniTable envoy_config_core_v3_ProxyProtocolConfig_msginit = {
|
38
|
+
&envoy_config_core_v3_ProxyProtocolConfig_submsgs[0],
|
22
39
|
&envoy_config_core_v3_ProxyProtocolConfig__fields[0],
|
23
|
-
UPB_SIZE(
|
40
|
+
UPB_SIZE(16, 16), 2, kUpb_ExtMode_NonExtendable, 2, 255, 0,
|
24
41
|
};
|
25
42
|
|
26
|
-
static const upb_MiniTable *messages_layout[
|
43
|
+
static const upb_MiniTable *messages_layout[2] = {
|
44
|
+
&envoy_config_core_v3_ProxyProtocolPassThroughTLVs_msginit,
|
27
45
|
&envoy_config_core_v3_ProxyProtocolConfig_msginit,
|
28
46
|
};
|
29
47
|
|
@@ -31,7 +49,7 @@ const upb_MiniTable_File envoy_config_core_v3_proxy_protocol_proto_upb_file_layo
|
|
31
49
|
messages_layout,
|
32
50
|
NULL,
|
33
51
|
NULL,
|
34
|
-
|
52
|
+
2,
|
35
53
|
0,
|
36
54
|
0,
|
37
55
|
};
|