grpc 1.40.0.pre1 → 1.41.1
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 +29 -37
- data/etc/roots.pem +335 -326
- data/include/grpc/byte_buffer.h +1 -1
- data/include/grpc/byte_buffer_reader.h +1 -1
- data/include/grpc/event_engine/endpoint_config.h +6 -11
- data/include/grpc/event_engine/event_engine.h +63 -58
- data/include/grpc/event_engine/port.h +1 -3
- data/include/grpc/event_engine/slice_allocator.h +6 -1
- data/include/grpc/fork.h +1 -1
- data/include/grpc/grpc.h +10 -4
- data/include/grpc/grpc_posix.h +5 -2
- data/include/grpc/impl/codegen/atm.h +5 -3
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
- data/include/grpc/impl/codegen/atm_gcc_sync.h +2 -0
- data/include/grpc/impl/codegen/atm_windows.h +2 -0
- data/include/grpc/impl/codegen/byte_buffer.h +2 -0
- data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -0
- data/include/grpc/impl/codegen/compression_types.h +2 -0
- data/include/grpc/impl/codegen/connectivity_state.h +2 -0
- data/include/grpc/impl/codegen/fork.h +2 -0
- data/include/grpc/impl/codegen/gpr_slice.h +2 -0
- data/include/grpc/impl/codegen/gpr_types.h +2 -0
- data/include/grpc/impl/codegen/grpc_types.h +4 -5
- data/include/grpc/impl/codegen/log.h +2 -0
- data/include/grpc/impl/codegen/port_platform.h +26 -22
- data/include/grpc/impl/codegen/propagation_bits.h +2 -0
- data/include/grpc/impl/codegen/slice.h +2 -0
- data/include/grpc/impl/codegen/status.h +2 -0
- data/include/grpc/impl/codegen/sync.h +8 -5
- data/include/grpc/impl/codegen/sync_abseil.h +2 -0
- data/include/grpc/impl/codegen/sync_custom.h +2 -0
- data/include/grpc/impl/codegen/sync_generic.h +3 -0
- data/include/grpc/impl/codegen/sync_posix.h +4 -2
- data/include/grpc/impl/codegen/sync_windows.h +2 -0
- data/include/grpc/slice.h +1 -1
- data/include/grpc/status.h +1 -1
- data/include/grpc/support/atm.h +1 -1
- data/include/grpc/support/atm_gcc_atomic.h +1 -1
- data/include/grpc/support/atm_gcc_sync.h +1 -1
- data/include/grpc/support/atm_windows.h +1 -1
- data/include/grpc/support/log.h +1 -1
- data/include/grpc/support/port_platform.h +1 -1
- data/include/grpc/support/sync.h +1 -1
- data/include/grpc/support/sync_abseil.h +1 -1
- data/include/grpc/support/sync_custom.h +1 -1
- data/include/grpc/support/sync_generic.h +1 -1
- data/include/grpc/support/sync_posix.h +1 -1
- data/include/grpc/support/sync_windows.h +1 -1
- data/include/grpc/support/time.h +2 -2
- data/src/core/ext/filters/census/grpc_context.cc +1 -0
- data/src/core/ext/filters/client_channel/backend_metric.cc +0 -1
- data/src/core/ext/filters/client_channel/backup_poller.h +1 -0
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +1 -2
- data/src/core/ext/filters/client_channel/client_channel.cc +24 -52
- data/src/core/ext/filters/client_channel/client_channel.h +3 -3
- data/src/core/ext/filters/client_channel/client_channel_channelz.cc +6 -5
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +1 -0
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +8 -1
- data/src/core/ext/filters/client_channel/config_selector.cc +1 -0
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +7 -6
- data/src/core/ext/filters/client_channel/health/health_check_client.h +4 -3
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +8 -7
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +10 -2
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +2 -8
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -23
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +1 -0
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +2 -8
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +15 -18
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +10 -7
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +2 -8
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy.h +11 -44
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -7
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +2 -10
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +6 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +14 -19
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +1 -0
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +5 -8
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +2 -3
- data/src/core/ext/filters/client_channel/retry_filter.cc +16 -3
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +36 -30
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +8 -6
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +6 -13
- data/src/core/ext/filters/http/client/http_client_filter.cc +3 -2
- data/src/core/ext/filters/http/client_authority_filter.cc +2 -1
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +2 -1
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +7 -8
- data/src/core/ext/filters/http/server/http_server_filter.cc +5 -3
- data/src/core/ext/filters/message_size/message_size_filter.cc +9 -13
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +29 -12
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +2 -0
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -3
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +10 -6
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +2 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +60 -37
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -1
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +12 -6
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +5 -9
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +3 -1
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -1
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +2 -2
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +24 -30
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +4 -1
- data/src/core/ext/transport/chttp2/transport/context_list.h +1 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +39 -23
- data/src/core/ext/transport/chttp2/transport/flow_control.h +9 -3
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +3 -5
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +36 -5
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +12 -7
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -0
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +41 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +272 -666
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +236 -70
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +107 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +86 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +69 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +776 -1037
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +48 -169
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +159 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +130 -0
- data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +46 -0
- data/src/core/ext/transport/chttp2/transport/hpack_utils.h +30 -0
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +2 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +20 -30
- data/src/core/ext/transport/chttp2/transport/popularity_count.h +60 -0
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/varint.cc +7 -3
- data/src/core/ext/transport/chttp2/transport/varint.h +39 -28
- data/src/core/ext/transport/chttp2/transport/writing.cc +32 -28
- data/src/core/ext/transport/inproc/inproc_transport.cc +6 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +96 -96
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +221 -89
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -1
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +48 -48
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +151 -61
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +99 -99
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +171 -69
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +15 -15
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +126 -127
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +229 -101
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +23 -23
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +28 -28
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +71 -29
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +82 -82
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +201 -81
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +24 -24
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +62 -62
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +131 -53
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +51 -51
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +81 -33
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +62 -62
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +141 -57
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +16 -16
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +57 -22
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +174 -17
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +32 -32
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +37 -37
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +61 -25
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +40 -40
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +71 -29
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +30 -30
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +81 -33
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +41 -29
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +141 -43
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +46 -43
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +88 -29
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +18 -18
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +281 -277
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +569 -248
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +10 -10
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +13 -13
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +23 -23
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +115 -116
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +191 -77
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +46 -32
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +118 -34
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +12 -12
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +44 -42
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +108 -55
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +42 -42
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +61 -25
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +28 -28
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +41 -17
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +9 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +25 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +10 -10
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +11 -11
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +15 -15
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +71 -29
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +19 -19
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +10 -10
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +11 -5
- data/src/core/ext/upb-generated/google/api/annotations.upb.c +1 -1
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +58 -58
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +111 -45
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +68 -68
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +121 -49
- data/src/core/ext/upb-generated/google/api/http.upb.c +18 -18
- data/src/core/ext/upb-generated/google/api/http.upb.h +31 -13
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +4 -4
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +11 -5
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +153 -153
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +271 -109
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +4 -4
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +11 -5
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +2 -2
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +11 -5
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +31 -13
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +4 -4
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +11 -5
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +19 -19
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +91 -37
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +5 -5
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +11 -5
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +11 -5
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +60 -60
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +101 -41
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +7 -7
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +21 -9
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +5 -5
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +21 -9
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +91 -37
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +8 -8
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +31 -13
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +4 -4
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +11 -5
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +4 -4
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +11 -5
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +11 -5
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +13 -13
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +11 -5
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +4 -4
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +11 -5
- data/src/core/ext/upb-generated/validate/validate.upb.c +220 -220
- data/src/core/ext/upb-generated/validate/validate.upb.h +231 -93
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +11 -5
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +8 -8
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +21 -9
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +6 -6
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +11 -5
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +5 -5
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +11 -5
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +11 -11
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +21 -9
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +6 -6
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +11 -5
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +384 -382
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +94 -63
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +30 -19
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +791 -780
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +96 -100
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +133 -115
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +178 -173
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +14 -13
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +103 -103
- data/src/core/ext/xds/certificate_provider_registry.cc +2 -2
- data/src/core/ext/xds/xds_api.cc +853 -990
- data/src/core/ext/xds/xds_api.h +16 -33
- data/src/core/ext/xds/xds_bootstrap.cc +27 -52
- data/src/core/ext/xds/xds_client.cc +69 -30
- data/src/core/ext/xds/xds_client_stats.cc +16 -15
- data/src/core/ext/xds/xds_client_stats.h +6 -6
- data/src/core/ext/xds/xds_http_fault_filter.cc +4 -3
- data/src/core/ext/xds/xds_http_fault_filter.h +3 -2
- data/src/core/ext/xds/xds_http_filters.cc +1 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +10 -10
- data/src/core/lib/address_utils/parse_address.cc +4 -8
- data/src/core/lib/address_utils/sockaddr_utils.cc +2 -2
- data/src/core/lib/channel/channel_args.cc +2 -1
- data/src/core/lib/channel/channel_stack.cc +5 -3
- data/src/core/lib/channel/channel_stack_builder.cc +1 -11
- data/src/core/lib/channel/channel_stack_builder.h +0 -8
- data/src/core/lib/channel/channel_trace.cc +4 -3
- data/src/core/lib/channel/channel_trace.h +1 -0
- data/src/core/lib/channel/channelz.cc +40 -36
- data/src/core/lib/channel/channelz.h +27 -27
- data/src/core/lib/channel/channelz_registry.cc +7 -6
- data/src/core/lib/channel/connected_channel.cc +1 -0
- data/src/core/lib/channel/handshaker.cc +2 -1
- data/src/core/lib/channel/handshaker.h +1 -2
- data/src/core/lib/channel/handshaker_factory.h +10 -2
- data/src/core/lib/channel/handshaker_registry.cc +15 -70
- data/src/core/lib/channel/handshaker_registry.h +29 -12
- data/src/core/lib/channel/status_util.h +2 -2
- data/src/core/lib/compression/algorithm_metadata.h +1 -0
- data/src/core/lib/compression/compression_args.cc +2 -1
- data/src/core/lib/compression/compression_internal.cc +2 -4
- data/src/core/lib/compression/message_compress.cc +2 -2
- data/src/core/lib/compression/stream_compression.cc +2 -1
- data/src/core/lib/compression/stream_compression.h +2 -1
- data/src/core/lib/compression/stream_compression_gzip.cc +2 -1
- data/src/core/lib/compression/stream_compression_identity.cc +2 -1
- data/src/core/lib/config/core_configuration.cc +54 -0
- data/src/core/lib/config/core_configuration.h +108 -0
- data/src/core/lib/debug/stats.h +1 -0
- data/src/core/lib/debug/stats_data.cc +2 -1
- data/src/core/lib/debug/stats_data.h +1 -0
- data/src/core/lib/debug/trace.cc +1 -0
- data/src/core/lib/debug/trace.h +2 -1
- data/src/core/lib/event_engine/endpoint_config.cc +0 -1
- data/src/core/lib/event_engine/event_engine.cc +3 -3
- data/src/core/lib/event_engine/sockaddr.cc +3 -3
- data/src/core/lib/gpr/alloc.cc +4 -3
- data/src/core/lib/gpr/env_linux.cc +1 -2
- data/src/core/lib/gpr/env_posix.cc +2 -3
- data/src/core/lib/gpr/log.cc +3 -3
- data/src/core/lib/gpr/log_android.cc +3 -2
- data/src/core/lib/gpr/log_linux.cc +7 -4
- data/src/core/lib/gpr/log_posix.cc +6 -3
- data/src/core/lib/gpr/string.h +2 -2
- data/src/core/lib/gpr/sync.cc +2 -2
- data/src/core/lib/gpr/sync_abseil.cc +7 -6
- data/src/core/lib/gpr/sync_posix.cc +3 -3
- data/src/core/lib/gpr/time.cc +3 -2
- data/src/core/lib/gpr/time_windows.cc +3 -2
- data/src/core/lib/gpr/tls.h +120 -41
- data/src/core/lib/gpr/tmpfile_posix.cc +1 -2
- data/src/core/lib/gprpp/arena.cc +2 -1
- data/src/core/lib/gprpp/arena.h +5 -5
- data/src/core/lib/gprpp/atomic_utils.h +47 -0
- data/src/core/lib/gprpp/bitset.h +166 -0
- data/src/core/lib/gprpp/construct_destruct.h +39 -0
- data/src/core/lib/gprpp/dual_ref_counted.h +25 -26
- data/src/core/lib/gprpp/fork.cc +14 -12
- data/src/core/lib/gprpp/fork.h +4 -4
- data/src/core/lib/gprpp/global_config.h +1 -2
- data/src/core/lib/gprpp/global_config_env.cc +7 -7
- data/src/core/lib/gprpp/global_config_generic.h +2 -2
- data/src/core/lib/gprpp/manual_constructor.h +8 -5
- data/src/core/lib/gprpp/match.h +73 -0
- data/src/core/lib/gprpp/memory.h +3 -3
- data/src/core/lib/gprpp/mpscq.cc +7 -7
- data/src/core/lib/gprpp/mpscq.h +6 -5
- data/src/core/lib/gprpp/orphanable.h +3 -3
- data/src/core/lib/gprpp/overload.h +59 -0
- data/src/core/lib/gprpp/ref_counted.h +18 -18
- data/src/core/lib/gprpp/status_helper.cc +4 -4
- data/src/core/lib/gprpp/sync.h +3 -1
- data/src/core/lib/gprpp/thd_posix.cc +5 -5
- data/src/core/lib/gprpp/thd_windows.cc +4 -11
- data/src/core/lib/gprpp/time_util.cc +2 -2
- data/src/core/lib/gprpp/time_util.h +2 -2
- data/src/core/lib/http/format_request.cc +1 -0
- data/src/core/lib/http/format_request.h +1 -0
- data/src/core/lib/http/httpcli.cc +9 -9
- data/src/core/lib/http/httpcli.h +3 -0
- data/src/core/lib/http/httpcli_security_connector.cc +5 -8
- data/src/core/lib/http/parser.h +1 -0
- data/src/core/lib/iomgr/buffer_list.cc +2 -1
- data/src/core/lib/iomgr/buffer_list.h +1 -2
- data/src/core/lib/iomgr/call_combiner.cc +1 -0
- data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
- data/src/core/lib/iomgr/combiner.cc +3 -2
- data/src/core/lib/iomgr/combiner.h +1 -0
- data/src/core/lib/iomgr/dualstack_socket_posix.cc +1 -0
- data/src/core/lib/iomgr/endpoint.cc +0 -4
- data/src/core/lib/iomgr/endpoint.h +1 -3
- data/src/core/lib/iomgr/endpoint_cfstream.cc +9 -20
- data/src/core/lib/iomgr/endpoint_cfstream.h +1 -1
- data/src/core/lib/iomgr/endpoint_pair.h +1 -0
- data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +1 -2
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +15 -11
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +17 -9
- data/src/core/lib/iomgr/error.h +23 -9
- data/src/core/lib/iomgr/error_cfstream.cc +2 -2
- data/src/core/lib/iomgr/error_internal.h +1 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +14 -22
- data/src/core/lib/iomgr/ev_epollex_linux.cc +15 -22
- data/src/core/lib/iomgr/ev_poll_posix.cc +13 -25
- data/src/core/lib/iomgr/ev_posix.cc +1 -2
- data/src/core/lib/iomgr/event_engine/endpoint.cc +3 -22
- data/src/core/lib/iomgr/event_engine/endpoint.h +1 -2
- data/src/core/lib/iomgr/event_engine/iomgr.cc +17 -18
- data/src/core/lib/iomgr/event_engine/iomgr.h +20 -2
- data/src/core/lib/iomgr/event_engine/resolver.cc +2 -1
- data/src/core/lib/iomgr/event_engine/tcp.cc +53 -24
- data/src/core/lib/iomgr/exec_ctx.cc +3 -4
- data/src/core/lib/iomgr/exec_ctx.h +11 -19
- data/src/core/lib/iomgr/executor/mpmcqueue.cc +10 -9
- data/src/core/lib/iomgr/executor/mpmcqueue.h +4 -3
- data/src/core/lib/iomgr/executor/threadpool.cc +2 -2
- data/src/core/lib/iomgr/executor/threadpool.h +2 -1
- data/src/core/lib/iomgr/executor.cc +5 -6
- data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -2
- data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +2 -2
- data/src/core/lib/iomgr/internal_errqueue.cc +3 -2
- data/src/core/lib/iomgr/iocp_windows.cc +1 -0
- data/src/core/lib/iomgr/iomgr.h +2 -2
- data/src/core/lib/iomgr/iomgr_custom.cc +2 -2
- data/src/core/lib/iomgr/iomgr_custom.h +2 -2
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -1
- data/src/core/lib/iomgr/iomgr_windows.cc +1 -2
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +4 -4
- data/src/core/lib/iomgr/polling_entity.cc +2 -2
- data/src/core/lib/iomgr/pollset_custom.cc +3 -4
- data/src/core/lib/iomgr/pollset_custom.h +2 -2
- data/src/core/lib/iomgr/pollset_set_custom.cc +1 -2
- data/src/core/lib/iomgr/pollset_set_windows.cc +1 -0
- data/src/core/lib/iomgr/port.h +0 -5
- data/src/core/lib/iomgr/python_util.h +1 -0
- data/src/core/lib/iomgr/resolve_address.cc +2 -1
- data/src/core/lib/iomgr/resolve_address.h +0 -4
- data/src/core/lib/iomgr/resolve_address_custom.cc +4 -4
- data/src/core/lib/iomgr/resolve_address_custom.h +0 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +2 -4
- data/src/core/lib/iomgr/resolve_address_windows.cc +6 -8
- data/src/core/lib/iomgr/resource_quota.cc +127 -42
- data/src/core/lib/iomgr/resource_quota.h +66 -17
- data/src/core/lib/iomgr/sockaddr.h +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +3 -3
- data/src/core/lib/iomgr/socket_factory_posix.h +1 -0
- data/src/core/lib/iomgr/socket_mutator.h +2 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +3 -3
- data/src/core/lib/iomgr/socket_utils_linux.cc +4 -4
- data/src/core/lib/iomgr/socket_utils_posix.cc +2 -2
- data/src/core/lib/iomgr/socket_utils_posix.h +2 -2
- data/src/core/lib/iomgr/socket_utils_windows.cc +2 -2
- data/src/core/lib/iomgr/tcp_client.cc +4 -2
- data/src/core/lib/iomgr/tcp_client.h +4 -0
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +9 -19
- data/src/core/lib/iomgr/tcp_client_custom.cc +9 -17
- data/src/core/lib/iomgr/tcp_client_posix.cc +24 -9
- data/src/core/lib/iomgr/tcp_client_posix.h +5 -2
- data/src/core/lib/iomgr/tcp_client_windows.cc +14 -6
- data/src/core/lib/iomgr/tcp_custom.cc +11 -23
- data/src/core/lib/iomgr/tcp_custom.h +2 -1
- data/src/core/lib/iomgr/tcp_posix.cc +29 -59
- data/src/core/lib/iomgr/tcp_posix.h +11 -12
- data/src/core/lib/iomgr/tcp_server.cc +6 -4
- data/src/core/lib/iomgr/tcp_server.h +12 -9
- data/src/core/lib/iomgr/tcp_server_custom.cc +15 -33
- data/src/core/lib/iomgr/tcp_server_posix.cc +20 -13
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -2
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +3 -4
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +13 -9
- data/src/core/lib/iomgr/tcp_windows.cc +6 -25
- data/src/core/lib/iomgr/tcp_windows.h +2 -1
- data/src/core/lib/iomgr/timer.cc +1 -0
- data/src/core/lib/iomgr/timer.h +1 -2
- data/src/core/lib/iomgr/timer_custom.cc +2 -2
- data/src/core/lib/iomgr/timer_generic.cc +8 -38
- data/src/core/lib/iomgr/timer_generic.h +1 -0
- data/src/core/lib/iomgr/timer_heap.cc +1 -2
- data/src/core/lib/iomgr/udp_server.cc +1 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -5
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -3
- data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -0
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -3
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +1 -0
- data/src/core/lib/iomgr/work_serializer.cc +4 -4
- data/src/core/lib/iomgr/work_serializer.h +1 -1
- data/src/core/lib/json/json_reader.cc +9 -17
- data/src/core/lib/json/json_util.h +18 -26
- data/src/core/lib/matchers/matchers.h +0 -1
- data/src/core/lib/profiling/basic_timers.cc +8 -6
- data/src/core/lib/profiling/stap_timers.cc +2 -2
- data/src/core/lib/security/authorization/authorization_policy_provider.h +5 -4
- data/src/core/lib/security/authorization/evaluate_args.cc +2 -0
- data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +159 -0
- data/src/core/lib/security/authorization/sdk_server_authz_filter.h +67 -0
- data/src/core/lib/security/context/security_context.cc +7 -6
- data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +2 -2
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -2
- data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +2 -2
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -3
- data/src/core/lib/security/credentials/credentials.cc +6 -6
- data/src/core/lib/security/credentials/credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials_metadata.cc +2 -3
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +13 -26
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -2
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +3 -3
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +13 -22
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +2 -4
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +55 -3
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -1
- data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
- data/src/core/lib/security/credentials/jwt/json_token.h +2 -1
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +31 -14
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -3
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +3 -3
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +3 -7
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -0
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +2 -4
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +4 -4
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +3 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +10 -6
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +2 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +7 -5
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +2 -2
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +4 -6
- data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +1 -0
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +3 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -7
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -2
- data/src/core/lib/security/security_connector/ssl_utils.cc +2 -3
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +9 -14
- data/src/core/lib/security/transport/auth_filters.h +1 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +4 -6
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -14
- data/src/core/lib/security/transport/secure_endpoint.h +1 -0
- data/src/core/lib/security/transport/security_handshaker.cc +5 -4
- data/src/core/lib/security/transport/security_handshaker.h +2 -1
- data/src/core/lib/security/util/json_util.cc +6 -8
- data/src/core/lib/slice/percent_encoding.cc +73 -30
- data/src/core/lib/slice/percent_encoding.h +29 -28
- data/src/core/lib/slice/slice.cc +14 -5
- data/src/core/lib/slice/slice_buffer.cc +1 -2
- data/src/core/lib/slice/slice_intern.cc +2 -3
- data/src/core/lib/slice/slice_internal.h +2 -2
- data/src/core/lib/surface/api_trace.cc +2 -1
- data/src/core/lib/surface/api_trace.h +1 -0
- data/src/core/lib/surface/byte_buffer_reader.cc +1 -1
- data/src/core/lib/surface/call.cc +9 -8
- data/src/core/lib/surface/call.h +3 -3
- data/src/core/lib/surface/call_details.cc +2 -2
- data/src/core/lib/surface/call_log_batch.cc +2 -2
- data/src/core/lib/surface/channel.cc +22 -9
- data/src/core/lib/surface/channel.h +14 -2
- data/src/core/lib/surface/channel_ping.cc +1 -2
- data/src/core/lib/surface/channel_stack_type.cc +2 -1
- data/src/core/lib/surface/completion_queue.cc +54 -64
- data/src/core/lib/surface/completion_queue_factory.cc +2 -1
- data/src/core/lib/surface/completion_queue_factory.h +1 -0
- data/src/core/lib/surface/event_string.cc +1 -0
- data/src/core/lib/surface/init.cc +4 -9
- data/src/core/lib/surface/init.h +0 -1
- data/src/core/lib/surface/init_secure.cc +23 -4
- data/src/core/lib/surface/lame_client.cc +6 -5
- data/src/core/lib/surface/metadata_array.cc +2 -2
- data/src/core/lib/surface/server.cc +17 -33
- data/src/core/lib/surface/server.h +11 -13
- data/src/core/lib/surface/validate_metadata.cc +44 -16
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/byte_stream.h +1 -0
- data/src/core/lib/transport/connectivity_state.cc +8 -5
- data/src/core/lib/transport/connectivity_state.h +2 -2
- data/src/core/lib/transport/error_utils.cc +1 -0
- data/src/core/lib/transport/metadata.cc +10 -10
- data/src/core/lib/transport/metadata.h +13 -11
- data/src/core/lib/transport/metadata_batch.cc +13 -2
- data/src/core/lib/transport/metadata_batch.h +15 -0
- data/src/core/lib/transport/transport_op_string.cc +2 -2
- data/src/core/plugin_registry/grpc_plugin_registry.cc +14 -0
- data/src/core/tsi/alts/crypt/aes_gcm.cc +3 -2
- data/src/core/tsi/alts/crypt/gsec.h +2 -3
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +2 -2
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +2 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +2 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -2
- data/src/core/tsi/ssl_transport_security.cc +11 -9
- data/src/core/tsi/ssl_transport_security.h +3 -1
- data/src/core/tsi/transport_security.cc +3 -3
- data/src/core/tsi/transport_security_grpc.h +1 -0
- data/src/ruby/ext/grpc/extconf.rb +1 -1
- data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -1
- data/src/ruby/ext/grpc/rb_call.c +5 -5
- data/src/ruby/ext/grpc/rb_call_credentials.c +5 -5
- data/src/ruby/ext/grpc/rb_channel.c +10 -8
- data/src/ruby/ext/grpc/rb_channel_args.c +2 -2
- data/src/ruby/ext/grpc/rb_channel_credentials.c +4 -4
- data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -0
- data/src/ruby/ext/grpc/rb_completion_queue.c +3 -2
- data/src/ruby/ext/grpc/rb_compression_options.c +5 -4
- data/src/ruby/ext/grpc/rb_event_thread.c +4 -4
- data/src/ruby/ext/grpc/rb_grpc.c +5 -4
- data/src/ruby/ext/grpc/rb_grpc.h +1 -0
- data/src/ruby/ext/grpc/rb_server.c +6 -5
- data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
- data/src/ruby/ext/grpc/rb_server_credentials.h +1 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +8 -5
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +3 -1
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +6 -5
- data/src/ruby/ext/grpc/rb_xds_server_credentials.h +3 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/boringssl-with-bazel/err_data.c +300 -292
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +52 -47
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +6 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +16 -23
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +14 -7
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +19 -29
- data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/a_strex.c +269 -272
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +6 -43
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +1 -40
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/charmap.h +0 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_locl.h → internal.h} +45 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +9 -9
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +290 -199
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +9 -9
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +10 -14
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +11 -8
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +1 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +1 -5
- data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +1 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +1 -6
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -17
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +9 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +45 -65
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +14 -3
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +26 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +5 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +10 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +5 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +4 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +24 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +34 -0
- data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +219 -121
- data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +9 -2
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +23 -2
- data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +253 -0
- data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +28 -23
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -9
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +7 -3
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -9
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -8
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +16 -7
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +9 -4
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +151 -12
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +15 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +225 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +246 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +15 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +10 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -179
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +6 -23
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +1 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +25 -22
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +11 -54
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +9 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +23 -21
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +12 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +16 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +24 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +17 -8
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +112 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +76 -31
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +458 -260
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +2 -9
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +5 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +3 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +3 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +9 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +8 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +8 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +6 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +25 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +14 -12
- data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +4 -205
- data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +12 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +5 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -20
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +12 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +5 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +37 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +79 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +31 -32
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +234 -131
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +0 -131
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +48 -13
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +9 -16
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +310 -359
- data/third_party/boringssl-with-bazel/src/ssl/{t1_lib.cc → extensions.cc} +110 -159
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +24 -13
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +145 -142
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +106 -99
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +87 -48
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +1 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +11 -5
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +2 -51
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +121 -65
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +6 -12
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +28 -22
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +14 -27
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +210 -212
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +30 -41
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +48 -34
- data/third_party/upb/upb/decode.c +129 -60
- data/third_party/upb/upb/decode.h +32 -4
- data/third_party/upb/upb/decode_fast.c +513 -500
- data/third_party/upb/upb/decode_fast.h +27 -0
- data/third_party/upb/upb/{decode.int.h → decode_internal.h} +38 -8
- data/third_party/upb/upb/def.c +171 -181
- data/third_party/upb/upb/def.h +41 -19
- data/third_party/upb/upb/def.hpp +29 -0
- data/third_party/upb/upb/encode.c +49 -16
- data/third_party/upb/upb/encode.h +29 -2
- data/third_party/upb/upb/msg.c +169 -28
- data/third_party/upb/upb/msg.h +75 -580
- data/third_party/upb/upb/msg_internal.h +687 -0
- data/third_party/upb/upb/port_def.inc +85 -24
- data/third_party/upb/upb/port_undef.inc +38 -1
- data/third_party/upb/upb/reflection.c +29 -37
- data/third_party/upb/upb/reflection.h +36 -8
- data/third_party/upb/upb/reflection.hpp +37 -0
- data/third_party/upb/upb/table.c +211 -86
- data/third_party/upb/upb/{table.int.h → table_internal.h} +56 -180
- data/third_party/upb/upb/text_encode.c +32 -4
- data/third_party/upb/upb/text_encode.h +26 -0
- data/third_party/upb/upb/upb.c +59 -8
- data/third_party/upb/upb/upb.h +36 -6
- data/third_party/upb/upb/upb.hpp +24 -0
- data/third_party/upb/upb/upb_internal.h +58 -0
- metadata +70 -67
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +0 -179
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +0 -38
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +0 -243
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +0 -148
- data/src/core/lib/gpr/tls_gcc.h +0 -52
- data/src/core/lib/gpr/tls_msvc.h +0 -54
- data/src/core/lib/gpr/tls_pthread.cc +0 -30
- data/src/core/lib/gpr/tls_pthread.h +0 -56
- data/src/core/lib/gpr/tls_stdcpp.h +0 -48
- data/src/core/lib/gprpp/atomic.h +0 -104
- data/src/core/lib/iomgr/endpoint_pair_uv.cc +0 -40
- data/src/core/lib/iomgr/iomgr_uv.cc +0 -43
- data/src/core/lib/iomgr/pollset_uv.cc +0 -95
- data/src/core/lib/iomgr/pollset_uv.h +0 -36
- data/src/core/lib/iomgr/sockaddr_custom.h +0 -54
- data/src/core/lib/iomgr/socket_utils_uv.cc +0 -49
- data/src/core/lib/iomgr/tcp_uv.cc +0 -421
- data/src/core/lib/iomgr/timer_uv.cc +0 -66
- data/third_party/upb/third_party/wyhash/wyhash.h +0 -145
- data/third_party/upb/upb/upb.int.h +0 -29
@@ -389,13 +389,6 @@ struct ASN1_ADB_TABLE_st {
|
|
389
389
|
/* Field is a SEQUENCE OF */
|
390
390
|
#define ASN1_TFLG_SEQUENCE_OF (0x2 << 1)
|
391
391
|
|
392
|
-
/* Special case: this refers to a SET OF that
|
393
|
-
* will be sorted into DER order when encoded *and*
|
394
|
-
* the corresponding STACK will be modified to match
|
395
|
-
* the new order.
|
396
|
-
*/
|
397
|
-
#define ASN1_TFLG_SET_ORDER (0x3 << 1)
|
398
|
-
|
399
392
|
/* Mask for SET OF or SEQUENCE OF */
|
400
393
|
#define ASN1_TFLG_SK_MASK (0x3 << 1)
|
401
394
|
|
@@ -602,8 +595,8 @@ typedef struct ASN1_AUX_st {
|
|
602
595
|
#define ASN1_OP_FREE_POST 3
|
603
596
|
#define ASN1_OP_D2I_PRE 4
|
604
597
|
#define ASN1_OP_D2I_POST 5
|
605
|
-
|
606
|
-
|
598
|
+
/* ASN1_OP_I2D_PRE and ASN1_OP_I2D_POST are not supported. We leave the
|
599
|
+
* constants undefined so code relying on them does not accidentally compile. */
|
607
600
|
#define ASN1_OP_PRINT_PRE 8
|
608
601
|
#define ASN1_OP_PRINT_POST 9
|
609
602
|
#define ASN1_OP_STREAM_PRE 10
|
@@ -145,7 +145,7 @@ extern "C" {
|
|
145
145
|
// Trusty isn't Linux but currently defines __linux__. As a workaround, we
|
146
146
|
// exclude it here.
|
147
147
|
// TODO(b/169780122): Remove this workaround once Trusty no longer defines it.
|
148
|
-
#if defined(__linux__) && !defined(
|
148
|
+
#if defined(__linux__) && !defined(__TRUSTY__)
|
149
149
|
#define OPENSSL_LINUX
|
150
150
|
#endif
|
151
151
|
|
@@ -153,7 +153,7 @@ extern "C" {
|
|
153
153
|
#define OPENSSL_FUCHSIA
|
154
154
|
#endif
|
155
155
|
|
156
|
-
#if defined(
|
156
|
+
#if defined(__TRUSTY__)
|
157
157
|
#define OPENSSL_TRUSTY
|
158
158
|
#define OPENSSL_NO_THREADS_CORRUPT_MEMORY_AND_LEAK_SECRETS_IF_THREADED
|
159
159
|
#endif
|
@@ -365,7 +365,6 @@ typedef struct X509_POLICY_NODE_st X509_POLICY_NODE;
|
|
365
365
|
typedef struct X509_POLICY_TREE_st X509_POLICY_TREE;
|
366
366
|
typedef struct X509_VERIFY_PARAM_st X509_VERIFY_PARAM;
|
367
367
|
typedef struct X509_algor_st X509_ALGOR;
|
368
|
-
typedef struct X509_crl_info_st X509_CRL_INFO;
|
369
368
|
typedef struct X509_crl_st X509_CRL;
|
370
369
|
typedef struct X509_extension_st X509_EXTENSION;
|
371
370
|
typedef struct X509_info_st X509_INFO;
|
@@ -423,6 +422,7 @@ typedef struct private_key_st X509_PKEY;
|
|
423
422
|
typedef struct rand_meth_st RAND_METHOD;
|
424
423
|
typedef struct rc4_key_st RC4_KEY;
|
425
424
|
typedef struct rsa_meth_st RSA_METHOD;
|
425
|
+
typedef struct rsa_pss_params_st RSA_PSS_PARAMS;
|
426
426
|
typedef struct rsa_st RSA;
|
427
427
|
typedef struct sha256_state_st SHA256_CTX;
|
428
428
|
typedef struct sha512_state_st SHA512_CTX;
|
@@ -446,9 +446,10 @@ typedef struct trust_token_method_st TRUST_TOKEN_METHOD;
|
|
446
446
|
typedef struct v3_ext_ctx X509V3_CTX;
|
447
447
|
typedef struct x509_attributes_st X509_ATTRIBUTE;
|
448
448
|
typedef struct x509_cert_aux_st X509_CERT_AUX;
|
449
|
-
typedef struct x509_cinf_st X509_CINF;
|
450
449
|
typedef struct x509_crl_method_st X509_CRL_METHOD;
|
451
450
|
typedef struct x509_lookup_st X509_LOOKUP;
|
451
|
+
typedef struct x509_lookup_method_st X509_LOOKUP_METHOD;
|
452
|
+
typedef struct x509_object_st X509_OBJECT;
|
452
453
|
typedef struct x509_revoked_st X509_REVOKED;
|
453
454
|
typedef struct x509_st X509;
|
454
455
|
typedef struct x509_store_ctx_st X509_STORE_CTX;
|
@@ -377,7 +377,9 @@ OPENSSL_EXPORT int BIO_read_asn1(BIO *bio, uint8_t **out, size_t *out_len,
|
|
377
377
|
OPENSSL_EXPORT const BIO_METHOD *BIO_s_mem(void);
|
378
378
|
|
379
379
|
// BIO_new_mem_buf creates read-only BIO that reads from |len| bytes at |buf|.
|
380
|
-
// It
|
380
|
+
// It returns the BIO or NULL on error. This function does not copy or take
|
381
|
+
// ownership of |buf|. The caller must ensure the memory pointed to by |buf|
|
382
|
+
// outlives the |BIO|.
|
381
383
|
//
|
382
384
|
// If |len| is negative, then |buf| is treated as a NUL-terminated string, but
|
383
385
|
// don't depend on this in new code.
|
@@ -687,9 +687,9 @@ OPENSSL_EXPORT int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe,
|
|
687
687
|
// BN_prime_checks_for_validation can be used as the |checks| argument to the
|
688
688
|
// primarily testing functions when validating an externally-supplied candidate
|
689
689
|
// prime. It gives a false positive rate of at most 2^{-128}. (The worst case
|
690
|
-
// false positive rate for a single iteration is 1/4
|
691
|
-
//
|
692
|
-
#define BN_prime_checks_for_validation
|
690
|
+
// false positive rate for a single iteration is 1/4 per
|
691
|
+
// https://eprint.iacr.org/2018/749. (1/4)^64 = 2^{-128}.)
|
692
|
+
#define BN_prime_checks_for_validation 64
|
693
693
|
|
694
694
|
// BN_prime_checks_for_generation can be used as the |checks| argument to the
|
695
695
|
// primality testing functions when generating random primes. It gives a false
|
@@ -154,6 +154,11 @@ OPENSSL_EXPORT int CBS_get_u16_length_prefixed(CBS *cbs, CBS *out);
|
|
154
154
|
// returns one on success and zero on error.
|
155
155
|
OPENSSL_EXPORT int CBS_get_u24_length_prefixed(CBS *cbs, CBS *out);
|
156
156
|
|
157
|
+
// CBS_get_until_first finds the first instance of |c| in |cbs|. If found, it
|
158
|
+
// sets |*out| to the text before the match, advances |cbs| over it, and returns
|
159
|
+
// one. Otherwise, it returns zero and leaves |cbs| unmodified.
|
160
|
+
OPENSSL_EXPORT int CBS_get_until_first(CBS *cbs, CBS *out, uint8_t c);
|
161
|
+
|
157
162
|
|
158
163
|
// Parsing ASN.1
|
159
164
|
//
|
@@ -463,6 +468,10 @@ OPENSSL_EXPORT int CBB_add_asn1(CBB *cbb, CBB *out_contents, unsigned tag);
|
|
463
468
|
// success and zero otherwise.
|
464
469
|
OPENSSL_EXPORT int CBB_add_bytes(CBB *cbb, const uint8_t *data, size_t len);
|
465
470
|
|
471
|
+
// CBB_add_zeros append |len| bytes with value zero to |cbb|. It returns one on
|
472
|
+
// success and zero otherwise.
|
473
|
+
OPENSSL_EXPORT int CBB_add_zeros(CBB *cbb, size_t len);
|
474
|
+
|
466
475
|
// CBB_add_space appends |len| bytes to |cbb| and sets |*out_data| to point to
|
467
476
|
// the beginning of that space. The caller must then write |len| bytes of
|
468
477
|
// actual contents to |*out_data|. It returns one on success and zero
|
@@ -106,7 +106,10 @@ OPENSSL_EXPORT const EVP_CIPHER *EVP_rc2_cbc(void);
|
|
106
106
|
const EVP_CIPHER *EVP_rc2_40_cbc(void);
|
107
107
|
|
108
108
|
// EVP_get_cipherbynid returns the cipher corresponding to the given NID, or
|
109
|
-
// NULL if no such cipher is known.
|
109
|
+
// NULL if no such cipher is known. Note using this function links almost every
|
110
|
+
// cipher implemented by BoringSSL into the binary, whether the caller uses them
|
111
|
+
// or not. Size-conscious callers, such as client software, should not use this
|
112
|
+
// function.
|
110
113
|
OPENSSL_EXPORT const EVP_CIPHER *EVP_get_cipherbynid(int nid);
|
111
114
|
|
112
115
|
|
@@ -409,7 +412,10 @@ OPENSSL_EXPORT int EVP_DecryptInit(EVP_CIPHER_CTX *ctx,
|
|
409
412
|
OPENSSL_EXPORT int EVP_add_cipher_alias(const char *a, const char *b);
|
410
413
|
|
411
414
|
// EVP_get_cipherbyname returns an |EVP_CIPHER| given a human readable name in
|
412
|
-
// |name|, or NULL if the name is unknown.
|
415
|
+
// |name|, or NULL if the name is unknown. Note using this function links almost
|
416
|
+
// every cipher implemented by BoringSSL into the binary, not just the ones the
|
417
|
+
// caller requests. Size-conscious callers, such as client software, should not
|
418
|
+
// use this function.
|
413
419
|
OPENSSL_EXPORT const EVP_CIPHER *EVP_get_cipherbyname(const char *name);
|
414
420
|
|
415
421
|
// These AEADs are deprecated AES-GCM implementations that set
|
@@ -100,22 +100,25 @@ OPENSSL_EXPORT void NCONF_free(CONF *conf);
|
|
100
100
|
// |conf|. It returns one on success and zero on error. In the event of an
|
101
101
|
// error, if |out_error_line| is not NULL, |*out_error_line| is set to the
|
102
102
|
// number of the line that contained the error.
|
103
|
-
int NCONF_load(CONF *conf, const char *filename,
|
103
|
+
OPENSSL_EXPORT int NCONF_load(CONF *conf, const char *filename,
|
104
|
+
long *out_error_line);
|
104
105
|
|
105
106
|
// NCONF_load_bio acts like |NCONF_load| but reads from |bio| rather than from
|
106
107
|
// a named file.
|
107
|
-
int NCONF_load_bio(CONF *conf, BIO *bio, long *out_error_line);
|
108
|
+
OPENSSL_EXPORT int NCONF_load_bio(CONF *conf, BIO *bio, long *out_error_line);
|
108
109
|
|
109
110
|
// NCONF_get_section returns a stack of values for a given section in |conf|.
|
110
111
|
// If |section| is NULL, the default section is returned. It returns NULL on
|
111
112
|
// error.
|
112
|
-
STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf,
|
113
|
+
OPENSSL_EXPORT STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf,
|
114
|
+
const char *section);
|
113
115
|
|
114
116
|
// NCONF_get_string returns the value of the key |name|, in section |section|.
|
115
117
|
// The |section| argument may be NULL to indicate the default section. It
|
116
118
|
// returns the value or NULL on error.
|
117
|
-
const char *NCONF_get_string(const CONF *conf,
|
118
|
-
|
119
|
+
OPENSSL_EXPORT const char *NCONF_get_string(const CONF *conf,
|
120
|
+
const char *section,
|
121
|
+
const char *name);
|
119
122
|
|
120
123
|
|
121
124
|
// Utility functions
|
@@ -297,6 +297,9 @@ OPENSSL_EXPORT void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags);
|
|
297
297
|
// their needs). Thus this exists only to allow code to compile.
|
298
298
|
#define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0
|
299
299
|
|
300
|
+
// EVP_MD_nid calls |EVP_MD_type|.
|
301
|
+
OPENSSL_EXPORT int EVP_MD_nid(const EVP_MD *md);
|
302
|
+
|
300
303
|
|
301
304
|
struct evp_md_pctx_ops;
|
302
305
|
|
@@ -867,6 +867,12 @@ OPENSSL_EXPORT void EVP_MD_do_all_sorted(void (*callback)(const EVP_MD *cipher,
|
|
867
867
|
void *arg),
|
868
868
|
void *arg);
|
869
869
|
|
870
|
+
OPENSSL_EXPORT void EVP_MD_do_all(void (*callback)(const EVP_MD *cipher,
|
871
|
+
const char *name,
|
872
|
+
const char *unused,
|
873
|
+
void *arg),
|
874
|
+
void *arg);
|
875
|
+
|
870
876
|
// i2d_PrivateKey marshals a private key from |key| to an ASN.1, DER
|
871
877
|
// structure. If |outp| is not NULL then the result is written to |*outp| and
|
872
878
|
// |*outp| is advanced just past the output. It returns the number of bytes in
|
@@ -41,6 +41,10 @@ OPENSSL_EXPORT int HKDF(uint8_t *out_key, size_t out_len, const EVP_MD *digest,
|
|
41
41
|
// keying material |secret| and salt |salt| using |digest|, and outputs
|
42
42
|
// |out_len| bytes to |out_key|. The maximum output size is |EVP_MAX_MD_SIZE|.
|
43
43
|
// It returns one on success and zero on error.
|
44
|
+
//
|
45
|
+
// WARNING: This function orders the inputs differently from RFC 5869
|
46
|
+
// specification. Double-check which parameter is the secret/IKM and which is
|
47
|
+
// the salt when using.
|
44
48
|
OPENSSL_EXPORT int HKDF_extract(uint8_t *out_key, size_t *out_len,
|
45
49
|
const EVP_MD *digest, const uint8_t *secret,
|
46
50
|
size_t secret_len, const uint8_t *salt,
|
@@ -93,6 +93,17 @@ OPENSSL_EXPORT void EVP_HPKE_KEY_zero(EVP_HPKE_KEY *key);
|
|
93
93
|
// EVP_HPKE_KEY_cleanup releases memory referenced by |key|.
|
94
94
|
OPENSSL_EXPORT void EVP_HPKE_KEY_cleanup(EVP_HPKE_KEY *key);
|
95
95
|
|
96
|
+
// EVP_HPKE_KEY_new returns a newly-allocated |EVP_HPKE_KEY|, or NULL on error.
|
97
|
+
// The caller must call |EVP_HPKE_KEY_free| on the result to release it.
|
98
|
+
//
|
99
|
+
// This is a convenience function for callers that need a heap-allocated
|
100
|
+
// |EVP_HPKE_KEY|.
|
101
|
+
OPENSSL_EXPORT EVP_HPKE_KEY *EVP_HPKE_KEY_new(void);
|
102
|
+
|
103
|
+
// EVP_HPKE_KEY_free releases memory associated with |key|, which must have been
|
104
|
+
// created with |EVP_HPKE_KEY_new|.
|
105
|
+
OPENSSL_EXPORT void EVP_HPKE_KEY_free(EVP_HPKE_KEY *key);
|
106
|
+
|
96
107
|
// EVP_HPKE_KEY_copy sets |dst| to a copy of |src|. It returns one on success
|
97
108
|
// and zero on error. On success, the caller must call |EVP_HPKE_KEY_cleanup| to
|
98
109
|
// release |dst|. On failure, calling |EVP_HPKE_KEY_cleanup| is safe, but not
|
@@ -160,6 +171,17 @@ OPENSSL_EXPORT void EVP_HPKE_CTX_zero(EVP_HPKE_CTX *ctx);
|
|
160
171
|
// |EVP_HPKE_CTX_setup_*| functions.
|
161
172
|
OPENSSL_EXPORT void EVP_HPKE_CTX_cleanup(EVP_HPKE_CTX *ctx);
|
162
173
|
|
174
|
+
// EVP_HPKE_CTX_new returns a newly-allocated |EVP_HPKE_CTX|, or NULL on error.
|
175
|
+
// The caller must call |EVP_HPKE_CTX_free| on the result to release it.
|
176
|
+
//
|
177
|
+
// This is a convenience function for callers that need a heap-allocated
|
178
|
+
// |EVP_HPKE_CTX|.
|
179
|
+
OPENSSL_EXPORT EVP_HPKE_CTX *EVP_HPKE_CTX_new(void);
|
180
|
+
|
181
|
+
// EVP_HPKE_CTX_free releases memory associated with |ctx|, which must have been
|
182
|
+
// created with |EVP_HPKE_CTX_new|.
|
183
|
+
OPENSSL_EXPORT void EVP_HPKE_CTX_free(EVP_HPKE_CTX *ctx);
|
184
|
+
|
163
185
|
// EVP_HPKE_MAX_ENC_LENGTH is the maximum length of "enc", the encapsulated
|
164
186
|
// shared secret, for all supported KEMs in this library.
|
165
187
|
#define EVP_HPKE_MAX_ENC_LENGTH 32
|
@@ -317,6 +339,9 @@ using ScopedEVP_HPKE_KEY =
|
|
317
339
|
internal::StackAllocated<EVP_HPKE_KEY, void, EVP_HPKE_KEY_zero,
|
318
340
|
EVP_HPKE_KEY_cleanup>;
|
319
341
|
|
342
|
+
BORINGSSL_MAKE_DELETER(EVP_HPKE_CTX, EVP_HPKE_CTX_free)
|
343
|
+
BORINGSSL_MAKE_DELETER(EVP_HPKE_KEY, EVP_HPKE_KEY_free)
|
344
|
+
|
320
345
|
BSSL_NAMESPACE_END
|
321
346
|
|
322
347
|
} // extern C++
|
@@ -59,29 +59,31 @@ struct HRSS_public_key {
|
|
59
59
|
(HRSS_POLY3_BYTES * 2 + HRSS_PUBLIC_KEY_BYTES + 2 + 32)
|
60
60
|
|
61
61
|
// HRSS_generate_key is a deterministic function that outputs a public and
|
62
|
-
// private key based on the given entropy.
|
63
|
-
|
62
|
+
// private key based on the given entropy. It returns one on success or zero
|
63
|
+
// on malloc failure.
|
64
|
+
OPENSSL_EXPORT int HRSS_generate_key(
|
64
65
|
struct HRSS_public_key *out_pub, struct HRSS_private_key *out_priv,
|
65
66
|
const uint8_t input[HRSS_GENERATE_KEY_BYTES]);
|
66
67
|
|
67
68
|
// HRSS_encap is a deterministic function the generates and encrypts a random
|
68
69
|
// session key from the given entropy, writing those values to |out_shared_key|
|
69
|
-
// and |out_ciphertext|, respectively.
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
70
|
+
// and |out_ciphertext|, respectively. It returns one on success or zero on
|
71
|
+
// malloc failure.
|
72
|
+
OPENSSL_EXPORT int HRSS_encap(uint8_t out_ciphertext[HRSS_CIPHERTEXT_BYTES],
|
73
|
+
uint8_t out_shared_key[HRSS_KEY_BYTES],
|
74
|
+
const struct HRSS_public_key *in_pub,
|
75
|
+
const uint8_t in[HRSS_ENCAP_BYTES]);
|
74
76
|
|
75
77
|
// HRSS_decap decrypts a session key from |ciphertext_len| bytes of
|
76
78
|
// |ciphertext|. If the ciphertext is valid, the decrypted key is written to
|
77
79
|
// |out_shared_key|. Otherwise the HMAC of |ciphertext| under a secret key (kept
|
78
80
|
// in |in_priv|) is written. If the ciphertext is the wrong length then it will
|
79
81
|
// leak which was done via side-channels. Otherwise it should perform either
|
80
|
-
// action in constant-time.
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
82
|
+
// action in constant-time. It returns one on success (whether the ciphertext
|
83
|
+
// was valid or not) and zero on malloc failure.
|
84
|
+
OPENSSL_EXPORT int HRSS_decap(uint8_t out_shared_key[HRSS_KEY_BYTES],
|
85
|
+
const struct HRSS_private_key *in_priv,
|
86
|
+
const uint8_t *ciphertext, size_t ciphertext_len);
|
85
87
|
|
86
88
|
// HRSS_marshal_public_key serialises |in_pub| to |out|.
|
87
89
|
OPENSSL_EXPORT void HRSS_marshal_public_key(
|
@@ -58,223 +58,22 @@
|
|
58
58
|
#define OPENSSL_HEADER_LHASH_H
|
59
59
|
|
60
60
|
#include <openssl/base.h>
|
61
|
-
#include <openssl/type_check.h>
|
62
61
|
|
63
62
|
#if defined(__cplusplus)
|
64
63
|
extern "C" {
|
65
64
|
#endif
|
66
65
|
|
67
66
|
|
68
|
-
// lhash is
|
69
|
-
//
|
70
|
-
// use the type-safe macro wrappers:
|
71
|
-
//
|
72
|
-
// A hash table of a specific type of object has type |LHASH_OF(type)|. This
|
73
|
-
// can be defined (once) with |DEFINE_LHASH_OF(type)| and declared where needed
|
74
|
-
// with |DECLARE_LHASH_OF(type)|. For example:
|
75
|
-
//
|
76
|
-
// struct foo {
|
77
|
-
// int bar;
|
78
|
-
// };
|
79
|
-
//
|
80
|
-
// DEFINE_LHASH_OF(struct foo)
|
81
|
-
//
|
82
|
-
// Although note that the hash table will contain /pointers/ to |foo|.
|
83
|
-
//
|
84
|
-
// A macro will be defined for each of the lh_* functions below. For
|
85
|
-
// LHASH_OF(foo), the macros would be lh_foo_new, lh_foo_num_items etc.
|
67
|
+
// lhash is an internal library and not exported for use outside BoringSSL. This
|
68
|
+
// header is provided for compatibility with code that expects OpenSSL.
|
86
69
|
|
87
70
|
|
71
|
+
// These two macros are exported for compatibility with existing callers of
|
72
|
+
// |X509V3_EXT_conf_nid|. Do not use these symbols outside BoringSSL.
|
88
73
|
#define LHASH_OF(type) struct lhash_st_##type
|
89
|
-
|
90
74
|
#define DECLARE_LHASH_OF(type) LHASH_OF(type);
|
91
75
|
|
92
76
|
|
93
|
-
// lhash_item_st is an element of a hash chain. It points to the opaque data
|
94
|
-
// for this element and to the next item in the chain. The linked-list is NULL
|
95
|
-
// terminated.
|
96
|
-
typedef struct lhash_item_st {
|
97
|
-
void *data;
|
98
|
-
struct lhash_item_st *next;
|
99
|
-
// hash contains the cached, hash value of |data|.
|
100
|
-
uint32_t hash;
|
101
|
-
} LHASH_ITEM;
|
102
|
-
|
103
|
-
// lhash_cmp_func is a comparison function that returns a value equal, or not
|
104
|
-
// equal, to zero depending on whether |*a| is equal, or not equal to |*b|,
|
105
|
-
// respectively. Note the difference between this and |stack_cmp_func| in that
|
106
|
-
// this takes pointers to the objects directly.
|
107
|
-
//
|
108
|
-
// This function's actual type signature is int (*)(const T*, const T*). The
|
109
|
-
// low-level |lh_*| functions will be passed a type-specific wrapper to call it
|
110
|
-
// correctly.
|
111
|
-
typedef int (*lhash_cmp_func)(const void *a, const void *b);
|
112
|
-
typedef int (*lhash_cmp_func_helper)(lhash_cmp_func func, const void *a,
|
113
|
-
const void *b);
|
114
|
-
|
115
|
-
// lhash_hash_func is a function that maps an object to a uniformly distributed
|
116
|
-
// uint32_t.
|
117
|
-
//
|
118
|
-
// This function's actual type signature is uint32_t (*)(const T*). The
|
119
|
-
// low-level |lh_*| functions will be passed a type-specific wrapper to call it
|
120
|
-
// correctly.
|
121
|
-
typedef uint32_t (*lhash_hash_func)(const void *a);
|
122
|
-
typedef uint32_t (*lhash_hash_func_helper)(lhash_hash_func func, const void *a);
|
123
|
-
|
124
|
-
typedef struct lhash_st _LHASH;
|
125
|
-
|
126
|
-
// lh_new returns a new, empty hash table or NULL on error.
|
127
|
-
OPENSSL_EXPORT _LHASH *lh_new(lhash_hash_func hash, lhash_cmp_func comp);
|
128
|
-
|
129
|
-
// lh_free frees the hash table itself but none of the elements. See
|
130
|
-
// |lh_doall|.
|
131
|
-
OPENSSL_EXPORT void lh_free(_LHASH *lh);
|
132
|
-
|
133
|
-
// lh_num_items returns the number of items in |lh|.
|
134
|
-
OPENSSL_EXPORT size_t lh_num_items(const _LHASH *lh);
|
135
|
-
|
136
|
-
// lh_retrieve finds an element equal to |data| in the hash table and returns
|
137
|
-
// it. If no such element exists, it returns NULL.
|
138
|
-
OPENSSL_EXPORT void *lh_retrieve(const _LHASH *lh, const void *data,
|
139
|
-
lhash_hash_func_helper call_hash_func,
|
140
|
-
lhash_cmp_func_helper call_cmp_func);
|
141
|
-
|
142
|
-
// lh_retrieve_key finds an element matching |key|, given the specified hash and
|
143
|
-
// comparison function. This differs from |lh_retrieve| in that the key may be a
|
144
|
-
// different type than the values stored in |lh|. |key_hash| and |cmp_key| must
|
145
|
-
// be compatible with the functions passed into |lh_new|.
|
146
|
-
OPENSSL_EXPORT void *lh_retrieve_key(const _LHASH *lh, const void *key,
|
147
|
-
uint32_t key_hash,
|
148
|
-
int (*cmp_key)(const void *key,
|
149
|
-
const void *value));
|
150
|
-
|
151
|
-
// lh_insert inserts |data| into the hash table. If an existing element is
|
152
|
-
// equal to |data| (with respect to the comparison function) then |*old_data|
|
153
|
-
// will be set to that value and it will be replaced. Otherwise, or in the
|
154
|
-
// event of an error, |*old_data| will be set to NULL. It returns one on
|
155
|
-
// success or zero in the case of an allocation error.
|
156
|
-
OPENSSL_EXPORT int lh_insert(_LHASH *lh, void **old_data, void *data,
|
157
|
-
lhash_hash_func_helper call_hash_func,
|
158
|
-
lhash_cmp_func_helper call_cmp_func);
|
159
|
-
|
160
|
-
// lh_delete removes an element equal to |data| from the hash table and returns
|
161
|
-
// it. If no such element is found, it returns NULL.
|
162
|
-
OPENSSL_EXPORT void *lh_delete(_LHASH *lh, const void *data,
|
163
|
-
lhash_hash_func_helper call_hash_func,
|
164
|
-
lhash_cmp_func_helper call_cmp_func);
|
165
|
-
|
166
|
-
// lh_doall_arg calls |func| on each element of the hash table and also passes
|
167
|
-
// |arg| as the second argument.
|
168
|
-
// TODO(fork): rename this
|
169
|
-
OPENSSL_EXPORT void lh_doall_arg(_LHASH *lh, void (*func)(void *, void *),
|
170
|
-
void *arg);
|
171
|
-
|
172
|
-
// lh_strhash is the default hash function which processes NUL-terminated
|
173
|
-
// strings.
|
174
|
-
OPENSSL_EXPORT uint32_t lh_strhash(const char *c);
|
175
|
-
|
176
|
-
#define DEFINE_LHASH_OF(type) \
|
177
|
-
DECLARE_LHASH_OF(type) \
|
178
|
-
\
|
179
|
-
typedef int (*lhash_##type##_cmp_func)(const type *, const type *); \
|
180
|
-
typedef uint32_t (*lhash_##type##_hash_func)(const type *); \
|
181
|
-
\
|
182
|
-
OPENSSL_INLINE int lh_##type##_call_cmp_func(lhash_cmp_func func, \
|
183
|
-
const void *a, const void *b) { \
|
184
|
-
return ((lhash_##type##_cmp_func)func)((const type *)a, (const type *)b); \
|
185
|
-
} \
|
186
|
-
\
|
187
|
-
OPENSSL_INLINE uint32_t lh_##type##_call_hash_func(lhash_hash_func func, \
|
188
|
-
const void *a) { \
|
189
|
-
return ((lhash_##type##_hash_func)func)((const type *)a); \
|
190
|
-
} \
|
191
|
-
\
|
192
|
-
OPENSSL_INLINE LHASH_OF(type) * \
|
193
|
-
lh_##type##_new(lhash_##type##_hash_func hash, \
|
194
|
-
lhash_##type##_cmp_func comp) { \
|
195
|
-
return (LHASH_OF(type) *)lh_new((lhash_hash_func)hash, \
|
196
|
-
(lhash_cmp_func)comp); \
|
197
|
-
} \
|
198
|
-
\
|
199
|
-
OPENSSL_INLINE void lh_##type##_free(LHASH_OF(type) *lh) { \
|
200
|
-
lh_free((_LHASH *)lh); \
|
201
|
-
} \
|
202
|
-
\
|
203
|
-
OPENSSL_INLINE size_t lh_##type##_num_items(const LHASH_OF(type) *lh) { \
|
204
|
-
return lh_num_items((const _LHASH *)lh); \
|
205
|
-
} \
|
206
|
-
\
|
207
|
-
OPENSSL_INLINE type *lh_##type##_retrieve(const LHASH_OF(type) *lh, \
|
208
|
-
const type *data) { \
|
209
|
-
return (type *)lh_retrieve((const _LHASH *)lh, data, \
|
210
|
-
lh_##type##_call_hash_func, \
|
211
|
-
lh_##type##_call_cmp_func); \
|
212
|
-
} \
|
213
|
-
\
|
214
|
-
typedef struct { \
|
215
|
-
int (*cmp_key)(const void *key, const type *value); \
|
216
|
-
const void *key; \
|
217
|
-
} LHASH_CMP_KEY_##type; \
|
218
|
-
\
|
219
|
-
OPENSSL_INLINE int lh_##type##_call_cmp_key(const void *key, \
|
220
|
-
const void *value) { \
|
221
|
-
const LHASH_CMP_KEY_##type *cb = (const LHASH_CMP_KEY_##type *)key; \
|
222
|
-
return cb->cmp_key(cb->key, (const type *)value); \
|
223
|
-
} \
|
224
|
-
\
|
225
|
-
OPENSSL_INLINE type *lh_##type##_retrieve_key( \
|
226
|
-
const LHASH_OF(type) *lh, const void *key, uint32_t key_hash, \
|
227
|
-
int (*cmp_key)(const void *key, const type *value)) { \
|
228
|
-
LHASH_CMP_KEY_##type cb = {cmp_key, key}; \
|
229
|
-
return (type *)lh_retrieve_key((const _LHASH *)lh, &cb, key_hash, \
|
230
|
-
lh_##type##_call_cmp_key); \
|
231
|
-
} \
|
232
|
-
\
|
233
|
-
OPENSSL_INLINE int lh_##type##_insert(LHASH_OF(type) *lh, type **old_data, \
|
234
|
-
type *data) { \
|
235
|
-
void *old_data_void = NULL; \
|
236
|
-
int ret = \
|
237
|
-
lh_insert((_LHASH *)lh, &old_data_void, data, \
|
238
|
-
lh_##type##_call_hash_func, lh_##type##_call_cmp_func); \
|
239
|
-
*old_data = (type *)old_data_void; \
|
240
|
-
return ret; \
|
241
|
-
} \
|
242
|
-
\
|
243
|
-
OPENSSL_INLINE type *lh_##type##_delete(LHASH_OF(type) *lh, \
|
244
|
-
const type *data) { \
|
245
|
-
return (type *)lh_delete((_LHASH *)lh, data, lh_##type##_call_hash_func, \
|
246
|
-
lh_##type##_call_cmp_func); \
|
247
|
-
} \
|
248
|
-
\
|
249
|
-
typedef struct { \
|
250
|
-
void (*doall)(type *); \
|
251
|
-
void (*doall_arg)(type *, void *); \
|
252
|
-
void *arg; \
|
253
|
-
} LHASH_DOALL_##type; \
|
254
|
-
\
|
255
|
-
OPENSSL_INLINE void lh_##type##_call_doall(void *value, void *arg) { \
|
256
|
-
const LHASH_DOALL_##type *cb = (const LHASH_DOALL_##type *)arg; \
|
257
|
-
cb->doall((type *)value); \
|
258
|
-
} \
|
259
|
-
\
|
260
|
-
OPENSSL_INLINE void lh_##type##_call_doall_arg(void *value, void *arg) { \
|
261
|
-
const LHASH_DOALL_##type *cb = (const LHASH_DOALL_##type *)arg; \
|
262
|
-
cb->doall_arg((type *)value, cb->arg); \
|
263
|
-
} \
|
264
|
-
\
|
265
|
-
OPENSSL_INLINE void lh_##type##_doall(LHASH_OF(type) *lh, \
|
266
|
-
void (*func)(type *)) { \
|
267
|
-
LHASH_DOALL_##type cb = {func, NULL, NULL}; \
|
268
|
-
lh_doall_arg((_LHASH *)lh, lh_##type##_call_doall, &cb); \
|
269
|
-
} \
|
270
|
-
\
|
271
|
-
OPENSSL_INLINE void lh_##type##_doall_arg( \
|
272
|
-
LHASH_OF(type) *lh, void (*func)(type *, void *), void *arg) { \
|
273
|
-
LHASH_DOALL_##type cb = {NULL, func, arg}; \
|
274
|
-
lh_doall_arg((_LHASH *)lh, lh_##type##_call_doall_arg, &cb); \
|
275
|
-
}
|
276
|
-
|
277
|
-
|
278
77
|
#if defined(__cplusplus)
|
279
78
|
} // extern C
|
280
79
|
#endif
|
@@ -101,6 +101,9 @@ OPENSSL_EXPORT int CRYPTO_memcmp(const void *a, const void *b, size_t len);
|
|
101
101
|
// OPENSSL_hash32 implements the 32 bit, FNV-1a hash.
|
102
102
|
OPENSSL_EXPORT uint32_t OPENSSL_hash32(const void *ptr, size_t len);
|
103
103
|
|
104
|
+
// OPENSSL_strhash calls |OPENSSL_hash32| on the NUL-terminated string |s|.
|
105
|
+
OPENSSL_EXPORT uint32_t OPENSSL_strhash(const char *s);
|
106
|
+
|
104
107
|
// OPENSSL_strdup has the same behaviour as strdup(3).
|
105
108
|
OPENSSL_EXPORT char *OPENSSL_strdup(const char *s);
|
106
109
|
|
@@ -147,9 +150,15 @@ OPENSSL_EXPORT size_t OPENSSL_strlcat(char *dst, const char *src,
|
|
147
150
|
|
148
151
|
// Deprecated functions.
|
149
152
|
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
+
// CRYPTO_malloc calls |OPENSSL_malloc|. |file| and |line| are ignored.
|
154
|
+
OPENSSL_EXPORT void *CRYPTO_malloc(size_t size, const char *file, int line);
|
155
|
+
|
156
|
+
// CRYPTO_realloc calls |OPENSSL_realloc|. |file| and |line| are ignored.
|
157
|
+
OPENSSL_EXPORT void *CRYPTO_realloc(void *ptr, size_t new_size,
|
158
|
+
const char *file, int line);
|
159
|
+
|
160
|
+
// CRYPTO_free calls |OPENSSL_free|. |file| and |line| are ignored.
|
161
|
+
OPENSSL_EXPORT void CRYPTO_free(void *ptr, const char *file, int line);
|
153
162
|
|
154
163
|
// OPENSSL_clear_free calls |OPENSSL_free|. BoringSSL automatically clears all
|
155
164
|
// allocations on free, but we define |OPENSSL_clear_free| for compatibility.
|
@@ -84,7 +84,8 @@ extern "C" {
|
|
84
84
|
|
85
85
|
// Basic operations.
|
86
86
|
|
87
|
-
// OBJ_dup returns a duplicate copy of |obj| or NULL on allocation failure.
|
87
|
+
// OBJ_dup returns a duplicate copy of |obj| or NULL on allocation failure. The
|
88
|
+
// caller must call |ASN1_OBJECT_free| on the result to release it.
|
88
89
|
OPENSSL_EXPORT ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *obj);
|
89
90
|
|
90
91
|
// OBJ_cmp returns a value less than, equal to or greater than zero if |a| is
|
@@ -133,9 +134,9 @@ OPENSSL_EXPORT int OBJ_txt2nid(const char *s);
|
|
133
134
|
// OBJ_nid2obj returns the |ASN1_OBJECT| corresponding to |nid|, or NULL if
|
134
135
|
// |nid| is unknown.
|
135
136
|
//
|
136
|
-
//
|
137
|
-
//
|
138
|
-
//
|
137
|
+
// Although the output is not const, this function returns a static, immutable
|
138
|
+
// |ASN1_OBJECT|. It is not necessary to release the object with
|
139
|
+
// |ASN1_OBJECT_free|.
|
139
140
|
//
|
140
141
|
// However, functions like |X509_ALGOR_set0| expect to take ownership of a
|
141
142
|
// possibly dynamically-allocated |ASN1_OBJECT|. |ASN1_OBJECT_free| is a no-op
|
@@ -112,15 +112,6 @@ extern "C" {
|
|
112
112
|
// write. Now they are all implemented with either:
|
113
113
|
// IMPLEMENT_PEM_rw(...) or IMPLEMENT_PEM_rw_cb(...)
|
114
114
|
|
115
|
-
#ifdef OPENSSL_NO_FP_API
|
116
|
-
|
117
|
-
#define IMPLEMENT_PEM_read_fp(name, type, str, asn1) //
|
118
|
-
#define IMPLEMENT_PEM_write_fp(name, type, str, asn1) //
|
119
|
-
#define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) //
|
120
|
-
#define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) //
|
121
|
-
#define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) //
|
122
|
-
|
123
|
-
#else
|
124
115
|
|
125
116
|
#define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \
|
126
117
|
static void *pem_read_##name##_d2i(void **x, const unsigned char **inp, \
|
@@ -173,7 +164,6 @@ extern "C" {
|
|
173
164
|
cb, u); \
|
174
165
|
}
|
175
166
|
|
176
|
-
#endif
|
177
167
|
|
178
168
|
#define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \
|
179
169
|
static void *pem_read_bio_##name##_d2i(void **x, const unsigned char **inp, \
|
@@ -260,14 +250,6 @@ extern "C" {
|
|
260
250
|
|
261
251
|
// These are the same except they are for the declarations
|
262
252
|
|
263
|
-
#if defined(OPENSSL_NO_FP_API)
|
264
|
-
|
265
|
-
#define DECLARE_PEM_read_fp(name, type) //
|
266
|
-
#define DECLARE_PEM_write_fp(name, type) //
|
267
|
-
#define DECLARE_PEM_write_cb_fp(name, type) //
|
268
|
-
|
269
|
-
#else
|
270
|
-
|
271
253
|
#define DECLARE_PEM_read_fp(name, type) \
|
272
254
|
OPENSSL_EXPORT type *PEM_read_##name(FILE *fp, type **x, \
|
273
255
|
pem_password_cb *cb, void *u);
|
@@ -283,8 +265,6 @@ extern "C" {
|
|
283
265
|
FILE *fp, type *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, \
|
284
266
|
pem_password_cb *cb, void *u);
|
285
267
|
|
286
|
-
#endif
|
287
|
-
|
288
268
|
#define DECLARE_PEM_read_bio(name, type) \
|
289
269
|
OPENSSL_EXPORT type *PEM_read_bio_##name(BIO *bp, type **x, \
|
290
270
|
pem_password_cb *cb, void *u);
|