grpc 1.40.0 → 1.46.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
 - data/Makefile +462 -267
 - 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 +164 -95
 - data/include/grpc/event_engine/internal/memory_allocator_impl.h +68 -0
 - data/include/grpc/event_engine/memory_allocator.h +226 -0
 - data/include/grpc/event_engine/memory_request.h +57 -0
 - data/include/grpc/event_engine/port.h +1 -3
 - data/include/grpc/fork.h +1 -1
 - data/include/grpc/grpc.h +54 -18
 - data/include/grpc/grpc_posix.h +22 -18
 - data/include/grpc/grpc_security.h +328 -193
 - data/include/grpc/grpc_security_constants.h +2 -14
 - 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 -2
 - 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 +28 -26
 - data/include/grpc/impl/codegen/log.h +2 -0
 - data/include/grpc/impl/codegen/port_platform.h +37 -22
 - data/include/grpc/impl/codegen/propagation_bits.h +2 -0
 - data/include/grpc/impl/codegen/slice.h +6 -1
 - 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 -12
 - 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/channel_idle/channel_idle_filter.cc +309 -0
 - data/src/core/ext/filters/channel_idle/channel_idle_filter.h +122 -0
 - data/src/core/ext/filters/channel_idle/idle_filter_state.cc +96 -0
 - data/src/core/ext/filters/channel_idle/idle_filter_state.h +66 -0
 - data/src/core/ext/filters/client_channel/backend_metric.cc +24 -27
 - data/src/core/ext/filters/client_channel/backend_metric.h +4 -3
 - data/src/core/ext/filters/client_channel/backup_poller.cc +14 -9
 - data/src/core/ext/filters/client_channel/backup_poller.h +1 -0
 - data/src/core/ext/filters/client_channel/channel_connectivity.cc +75 -94
 - data/src/core/ext/filters/client_channel/client_channel.cc +532 -501
 - data/src/core/ext/filters/client_channel/client_channel.h +115 -64
 - 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 +2 -1
 - data/src/core/ext/filters/client_channel/client_channel_factory.h +17 -19
 - data/src/core/ext/filters/client_channel/client_channel_plugin.cc +18 -24
 - data/src/core/ext/filters/client_channel/config_selector.cc +2 -1
 - data/src/core/ext/filters/client_channel/config_selector.h +5 -6
 - data/src/core/ext/filters/client_channel/connector.h +19 -19
 - data/src/core/ext/filters/client_channel/dynamic_filters.cc +6 -7
 - data/src/core/ext/filters/client_channel/dynamic_filters.h +2 -2
 - data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -22
 - data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -16
 - data/src/core/ext/filters/client_channel/health/health_check_client.cc +128 -582
 - data/src/core/ext/filters/client_channel/health/health_check_client.h +24 -159
 - data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +30 -34
 - data/src/core/ext/filters/client_channel/http_connect_handshaker.h +10 -2
 - data/src/core/ext/filters/client_channel/http_proxy.cc +88 -110
 - data/src/core/ext/filters/client_channel/http_proxy.h +17 -0
 - data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +4 -3
 - data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +6 -5
 - data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +6 -2
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -18
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +247 -150
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +3 -6
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +1 -1
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +1 -1
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +3 -4
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +4 -4
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +17 -18
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -4
 - data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +73 -39
 - data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +226 -181
 - data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +126 -79
 - data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2542 -0
 - data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +68 -62
 - data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +18 -13
 - data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +106 -71
 - data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +119 -159
 - data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +1 -1
 - data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +1 -1
 - data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +162 -77
 - data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +29 -19
 - data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +331 -488
 - data/src/core/ext/filters/client_channel/lb_policy.cc +15 -14
 - data/src/core/ext/filters/client_channel/lb_policy.h +115 -106
 - data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -0
 - data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -7
 - data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +133 -0
 - data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +296 -324
 - data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +23 -12
 - data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +23 -18
 - data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +37 -55
 - data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +153 -275
 - data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +38 -25
 - data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
 - data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +96 -254
 - data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +23 -20
 - data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +2 -1
 - data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +85 -69
 - data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +201 -0
 - data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +106 -0
 - data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +40 -39
 - data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +509 -439
 - data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +11 -15
 - data/src/core/ext/filters/client_channel/resolver_result_parsing.h +13 -7
 - data/src/core/ext/filters/client_channel/retry_filter.cc +282 -238
 - data/src/core/ext/filters/client_channel/retry_service_config.cc +16 -18
 - data/src/core/ext/filters/client_channel/retry_service_config.h +18 -12
 - data/src/core/ext/filters/client_channel/retry_throttle.cc +14 -59
 - data/src/core/ext/filters/client_channel/retry_throttle.h +11 -5
 - data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +51 -37
 - data/src/core/ext/filters/client_channel/subchannel.cc +132 -197
 - data/src/core/ext/filters/client_channel/subchannel.h +36 -56
 - data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +22 -7
 - data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +11 -2
 - data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +544 -0
 - data/src/core/ext/filters/client_channel/subchannel_stream_client.h +214 -0
 - data/src/core/ext/filters/deadline/deadline_filter.cc +31 -33
 - data/src/core/ext/filters/deadline/deadline_filter.h +3 -2
 - data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +158 -401
 - data/src/core/ext/filters/fault_injection/fault_injection_filter.h +24 -1
 - data/src/core/ext/filters/fault_injection/service_config_parser.cc +17 -27
 - data/src/core/ext/filters/fault_injection/service_config_parser.h +10 -4
 - data/src/core/ext/filters/http/client/http_client_filter.cc +83 -548
 - data/src/core/ext/filters/http/client/http_client_filter.h +21 -4
 - data/src/core/ext/filters/http/client_authority_filter.cc +39 -103
 - data/src/core/ext/filters/http/client_authority_filter.h +24 -5
 - data/src/core/ext/filters/http/http_filters_plugin.cc +55 -73
 - data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +49 -140
 - data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +22 -35
 - data/src/core/ext/filters/http/server/http_server_filter.cc +64 -274
 - data/src/core/ext/filters/message_size/message_size_filter.cc +49 -58
 - data/src/core/ext/filters/message_size/message_size_filter.h +10 -3
 - data/src/core/ext/filters/rbac/rbac_filter.cc +162 -0
 - data/src/core/ext/filters/rbac/rbac_filter.h +76 -0
 - data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +606 -0
 - data/src/core/ext/filters/rbac/rbac_service_config_parser.h +75 -0
 - data/src/core/ext/filters/server_config_selector/server_config_selector.cc +61 -0
 - data/src/core/ext/filters/server_config_selector/server_config_selector.h +71 -0
 - data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +143 -0
 - data/src/core/ext/filters/{workarounds/workaround_cronet_compression_filter.h → server_config_selector/server_config_selector_filter.h} +11 -6
 - data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
 - data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +245 -12
 - data/src/core/ext/transport/chttp2/server/chttp2_server.cc +294 -95
 - 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_transport.cc +368 -349
 - data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -4
 - data/src/core/ext/transport/chttp2/transport/context_list.cc +2 -3
 - data/src/core/ext/transport/chttp2/transport/context_list.h +3 -5
 - data/src/core/ext/transport/chttp2/transport/flow_control.cc +63 -44
 - data/src/core/ext/transport/chttp2/transport/flow_control.h +18 -12
 - data/src/core/ext/transport/chttp2/transport/frame_data.cc +11 -12
 - data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -0
 - data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +6 -4
 - data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -0
 - data/src/core/ext/transport/chttp2/transport/frame_ping.cc +10 -9
 - data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -0
 - data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -8
 - data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -0
 - data/src/core/ext/transport/chttp2/transport/frame_settings.cc +40 -7
 - 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 +516 -749
 - data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +183 -71
 - data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +86 -0
 - data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +71 -0
 - data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +764 -1062
 - data/src/core/ext/transport/chttp2/transport/hpack_parser.h +75 -178
 - data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +239 -0
 - data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +115 -0
 - data/src/core/ext/transport/chttp2/transport/internal.h +22 -48
 - data/src/core/ext/transport/chttp2/transport/parsing.cc +61 -212
 - 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 +125 -169
 - data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -4
 - data/src/core/ext/transport/inproc/inproc_transport.cc +132 -173
 - data/src/core/ext/transport/inproc/inproc_transport.h +1 -4
 - data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +117 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +482 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +553 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +248 -210
 - data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1382 -685
 - data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +151 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +62 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +124 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +102 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +97 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +106 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +605 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
 - data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +103 -0
 - data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +44 -1
 - data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +52 -1
 - data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +31 -5
 - data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +57 -18
 - data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +144 -117
 - data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +761 -386
 - data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +240 -200
 - data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1376 -667
 - data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +50 -29
 - data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +224 -95
 - data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +337 -255
 - data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1901 -790
 - data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -8
 - data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +50 -24
 - data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +61 -28
 - data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +280 -99
 - data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +299 -0
 - data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1381 -0
 - data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +75 -54
 - data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +398 -190
 - data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -8
 - data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +53 -25
 - data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +220 -171
 - data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1224 -567
 - data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +106 -46
 - data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +561 -171
 - data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +20 -7
 - data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +46 -24
 - data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +17 -23
 - data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +49 -95
 - data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
 - data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +151 -0
 - data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +146 -118
 - data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +853 -415
 - data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +142 -92
 - data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +797 -345
 - data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -9
 - data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +65 -31
 - data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +205 -122
 - data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1097 -393
 - data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +18 -5
 - data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +36 -17
 - data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +28 -14
 - data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +97 -49
 - data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +23 -10
 - data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +83 -34
 - data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +27 -14
 - data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +101 -49
 - data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -9
 - data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +54 -26
 - data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +52 -36
 - data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +214 -109
 - data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +92 -39
 - data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +449 -131
 - data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +71 -54
 - data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +389 -188
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +20 -7
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +42 -21
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +99 -72
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +541 -259
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +105 -80
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +610 -307
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +32 -17
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +112 -49
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +25 -11
 - data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +79 -40
 - data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
 - data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +136 -0
 - data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +83 -62
 - data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +463 -235
 - data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +93 -60
 - data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +483 -214
 - data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +130 -100
 - data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +628 -282
 - data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +54 -35
 - data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +291 -142
 - data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +665 -567
 - data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +3977 -1883
 - data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +39 -20
 - data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +168 -72
 - data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +222 -0
 - data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +1052 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +88 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +103 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +28 -14
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +91 -46
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +134 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +63 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +250 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +94 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +213 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +32 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +42 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +218 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
 - data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +146 -0
 - data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +18 -5
 - data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +42 -24
 - data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +46 -29
 - data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +219 -112
 - data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +52 -37
 - data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +282 -134
 - data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +64 -0
 - data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +183 -0
 - data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +27 -14
 - data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +94 -43
 - data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +284 -225
 - data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1673 -738
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +10 -1
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +7 -4
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +113 -54
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +621 -216
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +42 -27
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +176 -87
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +128 -83
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +673 -259
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
 - data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +160 -0
 - data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +16 -3
 - data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +29 -15
 - data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +92 -73
 - data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +516 -260
 - data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +32 -18
 - data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +121 -62
 - data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +74 -57
 - data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +379 -186
 - data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
 - data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +112 -0
 - data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +35 -19
 - data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +149 -81
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +214 -0
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +29 -14
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +116 -56
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -9
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +58 -31
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -8
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +56 -27
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +20 -7
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +46 -24
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +36 -21
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +137 -69
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +32 -18
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +137 -65
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +27 -13
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +99 -53
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +38 -23
 - data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +170 -83
 - data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +51 -32
 - data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +273 -145
 - data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +54 -37
 - data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +268 -132
 - data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
 - data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +201 -0
 - data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +10 -1
 - data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +4 -1
 - data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
 - data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +139 -0
 - data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +24 -10
 - data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +76 -36
 - data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +31 -16
 - data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +118 -52
 - data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
 - data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
 - data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -7
 - data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -19
 - data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
 - data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +127 -0
 - data/src/core/ext/upb-generated/google/api/annotations.upb.c +23 -1
 - data/src/core/ext/upb-generated/google/api/annotations.upb.h +24 -1
 - data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +155 -126
 - data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +791 -385
 - data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +159 -127
 - data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +869 -402
 - data/src/core/ext/upb-generated/google/api/http.upb.c +44 -29
 - data/src/core/ext/upb-generated/google/api/http.upb.h +236 -115
 - data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
 - data/src/core/ext/upb-generated/google/api/httpbody.upb.h +111 -0
 - data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -6
 - data/src/core/ext/upb-generated/google/protobuf/any.upb.h +46 -22
 - data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +374 -283
 - data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2263 -1053
 - data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -6
 - data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +44 -20
 - data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +16 -3
 - data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +29 -15
 - data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +48 -32
 - data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +197 -93
 - data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -6
 - data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +44 -20
 - data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +58 -37
 - data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +296 -149
 - data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -9
 - data/src/core/ext/upb-generated/google/rpc/status.upb.h +60 -30
 - data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
 - data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +319 -0
 - data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +33 -19
 - data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +111 -48
 - data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +136 -108
 - data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +753 -365
 - data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +28 -13
 - data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +90 -41
 - data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +23 -9
 - data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +70 -35
 - data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +82 -62
 - data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +448 -232
 - data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +70 -0
 - data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +208 -0
 - data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
 - data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +764 -0
 - data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +76 -14
 - data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +213 -57
 - data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +32 -8
 - data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +62 -18
 - data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +22 -1
 - data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +17 -1
 - data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +32 -6
 - data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +64 -20
 - data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +31 -5
 - data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +57 -18
 - data/src/core/ext/upb-generated/validate/validate.upb.c +407 -311
 - data/src/core/ext/upb-generated/validate/validate.upb.h +2904 -1200
 - data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
 - data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +278 -0
 - data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
 - data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +108 -0
 - data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
 - data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +46 -0
 - data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +105 -0
 - data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +290 -0
 - data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
 - data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +99 -0
 - data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +19 -6
 - data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +38 -19
 - data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +32 -18
 - data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +112 -55
 - data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +27 -13
 - data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +61 -30
 - data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
 - data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +103 -0
 - data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +24 -11
 - data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +63 -30
 - data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +35 -21
 - data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +144 -70
 - data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +24 -11
 - data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +66 -30
 - data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +73 -0
 - data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +187 -0
 - data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +207 -0
 - data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +878 -0
 - data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
 - data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +143 -0
 - data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
 - data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +218 -0
 - data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +46 -0
 - data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +103 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +16 -61
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +67 -67
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +53 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
 - data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +10 -8
 - data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
 - data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +10 -13
 - data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +22 -52
 - data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
 - data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +250 -281
 - data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
 - data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +60 -62
 - data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +445 -458
 - data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +80 -70
 - data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +16 -18
 - data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +25 -23
 - data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +17 -32
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +22 -22
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +17 -19
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +121 -154
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +75 -70
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +140 -116
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +26 -16
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +16 -19
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +24 -43
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +4 -9
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +23 -51
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +179 -184
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +30 -25
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +16 -19
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +263 -252
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +14 -16
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +16 -20
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +16 -18
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +20 -22
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +15 -18
 - data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +20 -28
 - data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
 - data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +98 -83
 - data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +23 -13
 - data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +20 -30
 - data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +16 -18
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +54 -62
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +19 -19
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +155 -166
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +21 -23
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +17 -21
 - data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +19 -35
 - data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
 - data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +40 -47
 - data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +30 -25
 - data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +190 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +70 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +38 -38
 - data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +845 -913
 - data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +160 -160
 - data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +54 -48
 - data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +188 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +85 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +17 -21
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +57 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
 - data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +17 -18
 - data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +19 -29
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +20 -26
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +59 -0
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +19 -20
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +291 -311
 - data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +63 -58
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +17 -13
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +173 -141
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +26 -16
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +21 -27
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +219 -211
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +24 -19
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
 - data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +16 -18
 - data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +19 -33
 - data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +22 -22
 - data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +18 -22
 - data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +22 -32
 - data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
 - data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +15 -23
 - data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +24 -27
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +17 -19
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +17 -19
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +17 -19
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +17 -23
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +17 -21
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +16 -21
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +18 -24
 - data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +15 -29
 - data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
 - data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +16 -26
 - data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +12 -10
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +14 -19
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +13 -19
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +13 -16
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
 - data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +7 -7
 - data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
 - data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +154 -0
 - data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
 - data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +153 -0
 - data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
 - data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +5 -14
 - data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
 - data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +5 -10
 - data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +107 -164
 - data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
 - data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +5 -10
 - data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +5 -10
 - data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +5 -16
 - data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
 - data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +5 -10
 - data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +5 -26
 - data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
 - data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +6 -11
 - data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
 - data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
 - data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
 - data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
 - data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +10 -18
 - data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
 - data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +24 -33
 - data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +9 -8
 - data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
 - data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +10 -13
 - data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +10 -14
 - data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +8 -57
 - data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +64 -0
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
 - data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +18 -22
 - data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +32 -38
 - data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +20 -26
 - data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
 - data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
 - data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +23 -27
 - data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +39 -45
 - data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
 - data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +25 -29
 - data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
 - data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
 - data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
 - data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
 - data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
 - data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
 - data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +40 -0
 - data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
 - data/src/core/ext/xds/certificate_provider_registry.cc +3 -3
 - data/src/core/ext/xds/certificate_provider_store.cc +8 -0
 - data/src/core/ext/xds/certificate_provider_store.h +10 -1
 - data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -4
 - data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
 - data/src/core/ext/xds/upb_utils.h +67 -0
 - data/src/core/ext/xds/xds_api.cc +214 -3608
 - data/src/core/ext/xds/xds_api.h +62 -580
 - data/src/core/ext/xds/xds_bootstrap.cc +241 -167
 - data/src/core/ext/xds/xds_bootstrap.h +43 -15
 - data/src/core/ext/xds/xds_certificate_provider.cc +5 -3
 - data/src/core/ext/xds/xds_certificate_provider.h +10 -2
 - data/src/core/ext/xds/xds_channel_stack_modifier.cc +109 -0
 - data/src/core/ext/xds/xds_channel_stack_modifier.h +53 -0
 - data/src/core/ext/xds/xds_client.cc +872 -899
 - data/src/core/ext/xds/xds_client.h +132 -159
 - data/src/core/ext/xds/xds_client_stats.cc +31 -30
 - data/src/core/ext/xds/xds_client_stats.h +12 -11
 - data/src/core/ext/xds/xds_cluster.cc +453 -0
 - data/src/core/ext/xds/xds_cluster.h +108 -0
 - data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +142 -0
 - data/src/core/ext/xds/xds_cluster_specifier_plugin.h +79 -0
 - data/src/core/ext/xds/xds_common_types.cc +388 -0
 - data/src/core/ext/xds/xds_common_types.h +95 -0
 - data/src/core/ext/xds/xds_endpoint.cc +371 -0
 - data/src/core/ext/xds/xds_endpoint.h +135 -0
 - data/src/core/ext/xds/xds_http_fault_filter.cc +11 -10
 - data/src/core/ext/xds/xds_http_fault_filter.h +6 -5
 - data/src/core/ext/xds/xds_http_filters.cc +12 -5
 - data/src/core/ext/xds/xds_http_filters.h +4 -4
 - data/src/core/ext/xds/xds_http_rbac_filter.cc +563 -0
 - data/src/core/ext/xds/xds_http_rbac_filter.h +54 -0
 - data/src/core/ext/xds/xds_listener.cc +1039 -0
 - data/src/core/ext/xds/xds_listener.h +220 -0
 - data/src/core/{lib/transport/authority_override.h → ext/xds/xds_resource_type.cc} +11 -15
 - data/src/core/ext/xds/xds_resource_type.h +98 -0
 - data/src/core/ext/xds/xds_resource_type_impl.h +87 -0
 - data/src/core/ext/xds/xds_route_config.cc +1122 -0
 - data/src/core/ext/xds/xds_route_config.h +218 -0
 - data/src/core/ext/xds/xds_routing.cc +250 -0
 - data/src/core/ext/xds/xds_routing.h +101 -0
 - data/src/core/ext/xds/xds_server_config_fetcher.cc +1057 -289
 - data/src/core/lib/address_utils/parse_address.cc +26 -8
 - data/src/core/lib/address_utils/parse_address.h +5 -0
 - data/src/core/lib/address_utils/sockaddr_utils.cc +33 -36
 - data/src/core/lib/address_utils/sockaddr_utils.h +1 -16
 - data/src/core/lib/avl/avl.h +452 -88
 - data/src/core/lib/backoff/backoff.cc +9 -38
 - data/src/core/lib/backoff/backoff.h +11 -11
 - data/src/core/lib/channel/call_finalization.h +86 -0
 - data/src/core/lib/channel/call_tracer.h +4 -1
 - data/src/core/lib/channel/channel_args.cc +173 -16
 - data/src/core/lib/channel/channel_args.h +214 -1
 - data/src/core/lib/channel/channel_args_preconditioning.cc +42 -0
 - data/src/core/lib/channel/channel_args_preconditioning.h +61 -0
 - data/src/core/lib/channel/channel_stack.cc +15 -6
 - data/src/core/lib/channel/channel_stack.h +39 -6
 - data/src/core/lib/channel/channel_stack_builder.cc +24 -283
 - data/src/core/lib/channel/channel_stack_builder.h +118 -157
 - data/src/core/lib/channel/channel_stack_builder_impl.cc +102 -0
 - data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
 - data/src/core/lib/channel/channel_trace.cc +8 -10
 - data/src/core/lib/channel/channel_trace.h +2 -1
 - data/src/core/lib/channel/channelz.cc +44 -39
 - data/src/core/lib/channel/channelz.h +29 -29
 - data/src/core/lib/channel/channelz_registry.cc +8 -7
 - data/src/core/lib/channel/channelz_registry.h +1 -1
 - data/src/core/lib/channel/connected_channel.cc +10 -6
 - data/src/core/lib/channel/connected_channel.h +2 -2
 - data/src/core/lib/channel/context.h +11 -0
 - data/src/core/lib/channel/handshaker.cc +3 -2
 - data/src/core/lib/channel/handshaker.h +2 -3
 - 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/promise_based_filter.cc +1002 -0
 - data/src/core/lib/channel/promise_based_filter.h +437 -0
 - data/src/core/lib/channel/status_util.h +2 -2
 - data/src/core/lib/compression/compression.cc +22 -114
 - data/src/core/lib/compression/compression_internal.cc +139 -207
 - data/src/core/lib/compression/compression_internal.h +64 -69
 - data/src/core/lib/compression/message_compress.cc +13 -13
 - data/src/core/lib/compression/message_compress.h +2 -2
 - data/src/core/lib/config/core_configuration.cc +104 -0
 - data/src/core/lib/config/core_configuration.h +196 -0
 - data/src/core/lib/debug/stats.cc +1 -1
 - data/src/core/lib/debug/stats.h +1 -0
 - data/src/core/lib/debug/stats_data.cc +17 -20
 - data/src/core/lib/debug/stats_data.h +19 -21
 - data/src/core/lib/debug/trace.cc +1 -0
 - data/src/core/lib/debug/trace.h +4 -3
 - data/src/core/lib/event_engine/{endpoint_config.cc → channel_args_endpoint_config.cc} +2 -2
 - data/src/core/lib/event_engine/{endpoint_config_internal.h → channel_args_endpoint_config.h} +3 -3
 - data/src/core/lib/{iomgr/event_engine/iomgr.h → event_engine/default_event_engine_factory.cc} +11 -8
 - data/src/core/lib/event_engine/event_engine.cc +21 -19
 - data/src/core/lib/event_engine/event_engine_factory.h +36 -0
 - data/src/core/lib/event_engine/memory_allocator.cc +66 -0
 - data/src/core/lib/event_engine/resolved_address.cc +39 -0
 - data/src/core/lib/event_engine/sockaddr.cc +3 -3
 - data/src/core/lib/gpr/alloc.cc +4 -3
 - data/src/core/lib/gpr/atm.cc +1 -1
 - data/src/core/lib/gpr/cpu_posix.cc +1 -1
 - 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.cc +2 -2
 - 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 +4 -3
 - data/src/core/lib/gpr/time.cc +5 -3
 - data/src/core/lib/gpr/time_windows.cc +3 -2
 - data/src/core/lib/gpr/tls.h +126 -40
 - data/src/core/lib/gpr/tmpfile_posix.cc +1 -2
 - data/src/core/lib/gpr/useful.h +97 -32
 - data/src/core/lib/gprpp/atomic_utils.h +47 -0
 - data/src/core/lib/gprpp/bitset.h +207 -0
 - data/src/core/lib/gprpp/capture.h +76 -0
 - data/src/core/lib/gprpp/chunked_vector.h +253 -0
 - data/src/core/lib/{transport/authority_override.cc → gprpp/construct_destruct.h} +16 -17
 - data/src/core/lib/gprpp/cpp_impl_of.h +49 -0
 - data/src/core/lib/gprpp/debug_location.h +2 -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 +14 -14
 - data/src/core/lib/gprpp/global_config_env.h +2 -2
 - data/src/core/lib/gprpp/global_config_generic.h +2 -2
 - data/src/core/lib/gprpp/manual_constructor.h +10 -8
 - data/src/core/lib/gprpp/match.h +73 -0
 - data/src/core/lib/gprpp/memory.h +9 -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 +4 -4
 - data/src/core/lib/gprpp/overload.h +59 -0
 - data/src/core/lib/gprpp/ref_counted.h +21 -19
 - data/src/core/lib/gprpp/ref_counted_ptr.h +2 -4
 - data/src/core/lib/gprpp/single_set_ptr.h +87 -0
 - data/src/core/lib/gprpp/status_helper.cc +65 -37
 - data/src/core/lib/gprpp/status_helper.h +14 -16
 - data/src/core/lib/gprpp/sync.h +3 -1
 - data/src/core/lib/gprpp/table.h +434 -0
 - 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.cc +198 -0
 - data/src/core/lib/gprpp/time.h +292 -0
 - 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 +29 -25
 - data/src/core/lib/http/format_request.h +8 -6
 - data/src/core/lib/http/httpcli.cc +298 -208
 - data/src/core/lib/http/httpcli.h +183 -85
 - data/src/core/lib/http/httpcli_security_connector.cc +67 -81
 - data/src/core/lib/http/httpcli_ssl_credentials.h +37 -0
 - data/src/core/lib/http/parser.cc +82 -11
 - data/src/core/lib/http/parser.h +16 -2
 - data/src/core/lib/iomgr/buffer_list.cc +11 -10
 - data/src/core/lib/iomgr/buffer_list.h +19 -20
 - data/src/core/lib/iomgr/call_combiner.cc +45 -16
 - data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
 - data/src/core/lib/iomgr/closure.h +29 -9
 - data/src/core/lib/iomgr/combiner.cc +34 -26
 - 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 -4
 - data/src/core/lib/iomgr/endpoint_cfstream.cc +15 -42
 - data/src/core/lib/iomgr/endpoint_cfstream.h +4 -4
 - 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 +11 -9
 - data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
 - data/src/core/lib/iomgr/error.cc +123 -59
 - data/src/core/lib/iomgr/error.h +73 -20
 - data/src/core/lib/iomgr/error_cfstream.cc +7 -2
 - data/src/core/lib/iomgr/error_internal.h +1 -0
 - data/src/core/lib/iomgr/ev_apple.cc +6 -5
 - data/src/core/lib/iomgr/ev_epoll1_linux.cc +25 -31
 - data/src/core/lib/iomgr/ev_poll_posix.cc +49 -52
 - data/src/core/lib/iomgr/ev_posix.cc +10 -12
 - data/src/core/lib/iomgr/ev_posix.h +1 -1
 - data/src/core/lib/iomgr/event_engine/closure.cc +41 -18
 - data/src/core/lib/iomgr/event_engine/closure.h +10 -1
 - data/src/core/lib/iomgr/event_engine/endpoint.cc +7 -27
 - data/src/core/lib/iomgr/event_engine/endpoint.h +1 -2
 - data/src/core/lib/iomgr/event_engine/iomgr.cc +10 -30
 - data/src/core/lib/iomgr/event_engine/pollset.cc +6 -6
 - data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +6 -0
 - data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +2 -0
 - data/src/core/lib/iomgr/event_engine/resolver.cc +70 -47
 - data/src/core/lib/iomgr/event_engine/resolver.h +56 -0
 - data/src/core/lib/iomgr/event_engine/tcp.cc +70 -37
 - data/src/core/lib/iomgr/event_engine/timer.cc +13 -8
 - data/src/core/lib/iomgr/exec_ctx.cc +28 -109
 - data/src/core/lib/iomgr/exec_ctx.h +28 -52
 - data/src/core/lib/iomgr/executor/mpmcqueue.cc +15 -16
 - data/src/core/lib/iomgr/executor/mpmcqueue.h +7 -11
 - 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 +30 -39
 - data/src/core/lib/iomgr/executor.h +1 -1
 - data/src/core/lib/iomgr/fork_posix.cc +2 -1
 - 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 +10 -9
 - data/src/core/lib/iomgr/iocp_windows.h +1 -1
 - data/src/core/lib/iomgr/iomgr.cc +3 -1
 - data/src/core/lib/iomgr/iomgr.h +2 -2
 - data/src/core/lib/iomgr/iomgr_internal.cc +6 -10
 - data/src/core/lib/iomgr/iomgr_internal.h +3 -2
 - data/src/core/lib/iomgr/iomgr_posix.cc +2 -2
 - data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
 - data/src/core/lib/iomgr/iomgr_windows.cc +3 -4
 - data/src/core/lib/iomgr/load_file.cc +2 -2
 - data/src/core/lib/iomgr/lockfree_event.cc +18 -0
 - data/src/core/lib/iomgr/polling_entity.cc +2 -2
 - data/src/core/lib/iomgr/polling_entity.h +6 -0
 - data/src/core/lib/iomgr/pollset.cc +1 -1
 - data/src/core/lib/iomgr/pollset.h +4 -4
 - data/src/core/lib/iomgr/pollset_set_windows.cc +1 -0
 - data/src/core/lib/iomgr/pollset_windows.cc +2 -2
 - data/src/core/lib/iomgr/port.h +6 -16
 - data/src/core/lib/iomgr/python_util.h +1 -0
 - data/src/core/lib/iomgr/resolve_address.cc +7 -25
 - data/src/core/lib/iomgr/resolve_address.h +47 -48
 - data/src/core/lib/iomgr/resolve_address_impl.h +59 -0
 - data/src/core/lib/iomgr/resolve_address_posix.cc +90 -78
 - data/src/core/lib/iomgr/resolve_address_posix.h +47 -0
 - data/src/core/lib/iomgr/resolve_address_windows.cc +99 -82
 - data/src/core/lib/iomgr/resolve_address_windows.h +47 -0
 - data/src/core/lib/iomgr/resolved_address.h +39 -0
 - data/src/core/lib/iomgr/sockaddr.h +1 -1
 - data/src/core/lib/iomgr/{socket_utils_uv.cc → sockaddr_utils_posix.cc} +21 -8
 - data/src/core/lib/iomgr/socket_factory_posix.cc +5 -5
 - data/src/core/lib/iomgr/socket_factory_posix.h +1 -0
 - data/src/core/lib/iomgr/socket_mutator.cc +2 -2
 - data/src/core/lib/iomgr/socket_mutator.h +2 -2
 - data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -22
 - 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 +1 -1
 - data/src/core/lib/iomgr/tcp_client.h +5 -2
 - data/src/core/lib/iomgr/tcp_client_cfstream.cc +8 -24
 - data/src/core/lib/iomgr/tcp_client_posix.cc +17 -27
 - data/src/core/lib/iomgr/tcp_client_posix.h +4 -2
 - data/src/core/lib/iomgr/tcp_client_windows.cc +8 -10
 - data/src/core/lib/iomgr/tcp_posix.cc +143 -120
 - data/src/core/lib/iomgr/tcp_posix.h +9 -12
 - data/src/core/lib/iomgr/tcp_server.h +4 -3
 - data/src/core/lib/iomgr/tcp_server_posix.cc +40 -29
 - data/src/core/lib/iomgr/tcp_server_utils_posix.h +21 -17
 - data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +2 -2
 - data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -4
 - data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
 - data/src/core/lib/iomgr/tcp_server_windows.cc +6 -10
 - data/src/core/lib/iomgr/tcp_windows.cc +22 -39
 - data/src/core/lib/iomgr/tcp_windows.h +1 -1
 - data/src/core/lib/iomgr/timer.cc +3 -2
 - data/src/core/lib/iomgr/timer.h +11 -7
 - data/src/core/lib/iomgr/timer_generic.cc +113 -124
 - data/src/core/lib/iomgr/timer_generic.h +1 -0
 - data/src/core/lib/iomgr/timer_heap.cc +2 -3
 - data/src/core/lib/iomgr/timer_manager.cc +15 -14
 - data/src/core/lib/iomgr/unix_sockets_posix.cc +25 -39
 - data/src/core/lib/iomgr/unix_sockets_posix.h +6 -10
 - data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +6 -15
 - 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 +120 -44
 - data/src/core/lib/iomgr/work_serializer.h +17 -5
 - data/src/core/lib/json/json_reader.cc +92 -52
 - data/src/core/lib/json/json_util.cc +71 -3
 - data/src/core/lib/json/json_util.h +67 -117
 - data/src/core/lib/json/json_writer.cc +0 -3
 - data/src/core/lib/matchers/matchers.cc +1 -1
 - 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/promise/activity.cc +121 -0
 - data/src/core/lib/promise/activity.h +540 -0
 - data/src/core/lib/promise/arena_promise.h +188 -0
 - data/src/core/lib/promise/call_push_pull.h +144 -0
 - data/src/core/lib/promise/context.h +86 -0
 - data/src/core/lib/promise/detail/basic_seq.h +496 -0
 - data/src/core/lib/promise/detail/promise_factory.h +189 -0
 - data/src/core/lib/promise/detail/promise_like.h +85 -0
 - data/src/core/lib/promise/detail/status.h +50 -0
 - data/src/core/lib/promise/detail/switch.h +1455 -0
 - data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +48 -0
 - data/src/core/lib/promise/intra_activity_waiter.h +49 -0
 - data/src/core/lib/promise/latch.h +104 -0
 - data/src/core/lib/promise/loop.h +134 -0
 - data/src/core/lib/promise/map.h +88 -0
 - data/src/core/lib/promise/poll.h +66 -0
 - data/src/core/lib/promise/promise.h +95 -0
 - data/src/core/lib/promise/race.h +84 -0
 - data/src/core/lib/promise/seq.h +89 -0
 - data/src/core/lib/promise/sleep.cc +74 -0
 - data/src/core/lib/promise/sleep.h +66 -0
 - data/src/core/lib/promise/try_seq.h +157 -0
 - data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.cc +17 -25
 - data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.h +43 -44
 - data/src/core/{ext/filters/client_channel → lib/resolver}/resolver_factory.h +32 -29
 - data/src/core/lib/resolver/resolver_registry.cc +156 -0
 - data/src/core/lib/resolver/resolver_registry.h +113 -0
 - data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.cc +1 -1
 - data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.h +5 -5
 - data/src/core/lib/resource_quota/api.cc +83 -0
 - data/src/core/lib/resource_quota/api.h +40 -0
 - data/src/core/lib/{gprpp → resource_quota}/arena.cc +18 -14
 - data/src/core/lib/{gprpp → resource_quota}/arena.h +37 -16
 - data/src/core/lib/resource_quota/memory_quota.cc +478 -0
 - data/src/core/lib/resource_quota/memory_quota.h +457 -0
 - data/src/core/lib/resource_quota/resource_quota.cc +33 -0
 - data/src/core/lib/resource_quota/resource_quota.h +66 -0
 - data/src/core/lib/resource_quota/thread_quota.cc +43 -0
 - data/src/core/lib/resource_quota/thread_quota.h +57 -0
 - data/src/core/lib/resource_quota/trace.cc +19 -0
 - data/src/core/{ext/filters/max_age/max_age_filter.h → lib/resource_quota/trace.h} +6 -8
 - data/src/core/lib/security/authorization/authorization_policy_provider.h +12 -4
 - data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
 - data/src/core/lib/security/authorization/evaluate_args.cc +39 -36
 - data/src/core/lib/security/authorization/evaluate_args.h +3 -2
 - data/src/core/lib/security/authorization/grpc_authorization_engine.cc +60 -0
 - data/src/core/lib/security/authorization/grpc_authorization_engine.h +62 -0
 - data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +106 -0
 - data/src/core/lib/security/authorization/grpc_server_authz_filter.h +50 -0
 - data/src/core/lib/security/authorization/matchers.cc +227 -0
 - data/src/core/lib/security/authorization/matchers.h +211 -0
 - data/src/core/lib/security/authorization/rbac_policy.cc +442 -0
 - data/src/core/lib/security/authorization/rbac_policy.h +171 -0
 - data/src/core/lib/security/context/security_context.cc +15 -10
 - data/src/core/lib/security/context/security_context.h +9 -2
 - data/src/core/lib/security/credentials/alts/alts_credentials.cc +6 -5
 - data/src/core/lib/security/credentials/alts/alts_credentials.h +10 -0
 - 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/call_creds_util.cc +87 -0
 - data/src/core/lib/security/credentials/call_creds_util.h +42 -0
 - data/src/core/lib/security/credentials/channel_creds_registry.h +97 -0
 - data/src/core/lib/security/credentials/channel_creds_registry_init.cc +70 -0
 - data/src/core/lib/security/credentials/composite/composite_credentials.cc +28 -86
 - data/src/core/lib/security/credentials/composite/composite_credentials.h +23 -10
 - data/src/core/lib/security/credentials/credentials.cc +11 -10
 - data/src/core/lib/security/credentials/credentials.h +81 -82
 - data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +61 -59
 - data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -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 +112 -68
 - data/src/core/lib/security/credentials/external/external_account_credentials.h +6 -9
 - data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
 - data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +35 -18
 - data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -0
 - data/src/core/lib/security/credentials/fake/fake_credentials.cc +23 -27
 - data/src/core/lib/security/credentials/fake/fake_credentials.h +22 -21
 - 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 +77 -20
 - data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -3
 - data/src/core/lib/security/credentials/iam/iam_credentials.cc +23 -29
 - data/src/core/lib/security/credentials/iam/iam_credentials.h +15 -9
 - data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +25 -26
 - data/src/core/lib/security/credentials/insecure/insecure_credentials.h +57 -0
 - data/src/core/lib/security/credentials/jwt/json_token.cc +5 -7
 - data/src/core/lib/security/credentials/jwt/json_token.h +2 -1
 - data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +56 -51
 - data/src/core/lib/security/credentials/jwt/jwt_credentials.h +27 -15
 - data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +59 -54
 - data/src/core/lib/security/credentials/jwt/jwt_verifier.h +4 -4
 - data/src/core/lib/security/credentials/local/local_credentials.cc +6 -6
 - data/src/core/lib/security/credentials/local/local_credentials.h +10 -0
 - data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +160 -181
 - data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +61 -33
 - data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +98 -156
 - data/src/core/lib/security/credentials/plugin/plugin_credentials.h +56 -27
 - data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +11 -18
 - data/src/core/lib/security/credentials/ssl/ssl_credentials.h +14 -4
 - 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 +13 -13
 - data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +62 -12
 - data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +209 -0
 - data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +145 -0
 - data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +33 -87
 - data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +75 -151
 - data/src/core/lib/security/credentials/tls/tls_credentials.cc +30 -16
 - data/src/core/lib/security/credentials/tls/tls_credentials.h +6 -0
 - data/src/core/lib/security/credentials/xds/xds_credentials.cc +51 -58
 - data/src/core/lib/security/credentials/xds/xds_credentials.h +37 -6
 - data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +11 -17
 - data/src/core/lib/security/security_connector/alts/alts_security_connector.h +3 -3
 - data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -24
 - data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -2
 - data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +8 -18
 - data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +11 -16
 - 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 +4 -5
 - data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -19
 - data/src/core/lib/security/security_connector/security_connector.cc +8 -15
 - data/src/core/lib/security/security_connector/security_connector.h +26 -22
 - data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +14 -20
 - data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -2
 - data/src/core/lib/security/security_connector/ssl_utils.cc +41 -36
 - data/src/core/lib/security/security_connector/ssl_utils.h +14 -18
 - data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +366 -211
 - data/src/core/lib/security/security_connector/tls/tls_security_connector.h +69 -48
 - data/src/core/lib/security/transport/auth_filters.h +39 -5
 - data/src/core/lib/security/transport/client_auth_filter.cc +98 -363
 - data/src/core/lib/security/transport/secure_endpoint.cc +202 -143
 - data/src/core/lib/security/transport/secure_endpoint.h +2 -1
 - data/src/core/lib/security/transport/security_handshaker.cc +95 -54
 - data/src/core/lib/security/transport/security_handshaker.h +2 -1
 - data/src/core/lib/security/transport/server_auth_filter.cc +41 -37
 - data/src/core/lib/security/transport/tsi_error.cc +3 -5
 - data/src/core/lib/security/util/json_util.cc +6 -8
 - data/src/core/lib/service_config/service_config.h +82 -0
 - data/src/core/lib/service_config/service_config_call_data.h +72 -0
 - data/src/core/{ext/filters/client_channel/service_config.cc → lib/service_config/service_config_impl.cc} +20 -17
 - data/src/core/{ext/filters/client_channel/service_config.h → lib/service_config/service_config_impl.h} +16 -18
 - data/src/core/{ext/filters/client_channel → lib/service_config}/service_config_parser.cc +31 -27
 - data/src/core/{ext/filters/client_channel → lib/service_config}/service_config_parser.h +39 -28
 - data/src/core/lib/slice/percent_encoding.cc +84 -97
 - data/src/core/lib/slice/percent_encoding.h +23 -28
 - data/src/core/lib/slice/slice.cc +80 -200
 - data/src/core/lib/slice/slice.h +384 -0
 - data/src/core/lib/{iomgr/is_epollexclusive_available.h → slice/slice_api.cc} +15 -12
 - data/src/core/lib/slice/slice_buffer.cc +10 -7
 - data/src/core/lib/slice/slice_internal.h +15 -277
 - data/src/core/lib/slice/slice_refcount.cc +35 -0
 - data/src/core/lib/slice/slice_refcount.h +46 -0
 - data/src/core/lib/slice/slice_refcount_base.h +61 -0
 - data/src/core/lib/slice/slice_split.cc +100 -0
 - data/src/core/lib/slice/slice_split.h +40 -0
 - data/src/core/lib/slice/slice_string_helpers.cc +0 -83
 - data/src/core/lib/slice/slice_string_helpers.h +0 -11
 - 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/builtins.cc +49 -0
 - data/src/core/lib/surface/builtins.h +26 -0
 - data/src/core/lib/surface/byte_buffer_reader.cc +1 -1
 - data/src/core/lib/surface/call.cc +1142 -1247
 - data/src/core/lib/surface/call.h +8 -28
 - 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 +72 -103
 - data/src/core/lib/surface/channel.h +15 -23
 - data/src/core/lib/surface/channel_init.cc +22 -76
 - data/src/core/lib/surface/channel_init.h +44 -40
 - 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 +70 -78
 - 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 +81 -57
 - data/src/core/lib/surface/init.h +0 -3
 - data/src/core/lib/surface/lame_client.cc +47 -32
 - data/src/core/lib/surface/lame_client.h +1 -1
 - data/src/core/lib/surface/metadata_array.cc +2 -2
 - data/src/core/lib/surface/server.cc +71 -118
 - data/src/core/lib/surface/server.h +40 -37
 - data/src/core/lib/surface/validate_metadata.cc +49 -18
 - data/src/core/lib/surface/version.cc +2 -2
 - data/src/core/lib/transport/bdp_estimator.cc +11 -12
 - data/src/core/lib/transport/bdp_estimator.h +2 -2
 - data/src/core/lib/transport/byte_stream.cc +6 -0
 - 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 +48 -20
 - data/src/core/lib/transport/error_utils.h +3 -2
 - data/src/core/lib/transport/metadata_batch.h +1352 -171
 - data/src/core/lib/transport/parsed_metadata.cc +37 -0
 - data/src/core/lib/transport/parsed_metadata.h +401 -0
 - data/src/core/lib/transport/pid_controller.cc +4 -4
 - data/src/core/lib/transport/status_conversion.cc +2 -2
 - data/src/core/lib/transport/status_conversion.h +1 -1
 - data/src/core/lib/transport/timeout_encoding.cc +204 -67
 - data/src/core/lib/transport/timeout_encoding.h +40 -10
 - data/src/core/lib/transport/transport.cc +11 -32
 - data/src/core/lib/transport/transport.h +103 -4
 - data/src/core/lib/transport/transport_impl.h +14 -0
 - data/src/core/lib/transport/transport_op_string.cc +7 -29
 - data/src/core/lib/uri/uri_parser.cc +237 -63
 - data/src/core/lib/uri/uri_parser.h +39 -23
 - data/src/core/plugin_registry/grpc_plugin_registry.cc +69 -102
 - data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +85 -0
 - data/src/core/tsi/alts/crypt/aes_gcm.cc +6 -3
 - data/src/core/tsi/alts/crypt/gsec.h +2 -3
 - data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -12
 - data/src/core/tsi/alts/frame_protector/frame_handler.cc +10 -11
 - data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +31 -27
 - data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +2 -3
 - data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +9 -1
 - data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +33 -15
 - data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -2
 - data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
 - data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
 - data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
 - data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +2 -2
 - data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
 - data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +2 -2
 - data/src/core/tsi/fake_transport_security.cc +15 -7
 - data/src/core/tsi/local_transport_security.cc +42 -87
 - data/src/core/tsi/local_transport_security.h +1 -4
 - data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +141 -0
 - data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
 - data/src/core/tsi/ssl/session_cache/ssl_session.h +2 -4
 - data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +20 -53
 - data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +6 -7
 - data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -2
 - data/src/core/tsi/ssl_transport_security.cc +229 -62
 - data/src/core/tsi/ssl_transport_security.h +50 -9
 - data/src/core/tsi/transport_security.cc +15 -3
 - data/src/core/tsi/transport_security.h +16 -1
 - data/src/core/tsi/transport_security_grpc.h +1 -0
 - data/src/core/tsi/transport_security_interface.h +28 -0
 - data/src/ruby/ext/grpc/extconf.rb +21 -11
 - 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 +15 -10
 - 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_grpc_imports.generated.c +30 -34
 - data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +45 -51
 - data/src/ruby/ext/grpc/rb_server.c +13 -9
 - 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/generic/active_call.rb +7 -1
 - data/src/ruby/lib/grpc/grpc.rb +1 -1
 - data/src/ruby/lib/grpc/version.rb +1 -1
 - data/src/ruby/pb/generate_proto_ruby.sh +1 -0
 - data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -0
 - data/src/ruby/pb/test/client.rb +769 -0
 - data/src/ruby/pb/test/server.rb +252 -0
 - data/src/ruby/pb/test/xds_client.rb +415 -0
 - data/src/ruby/spec/client_server_spec.rb +1 -1
 - data/third_party/abseil-cpp/absl/algorithm/container.h +101 -91
 - data/third_party/abseil-cpp/absl/base/attributes.h +64 -31
 - data/third_party/abseil-cpp/absl/base/config.h +67 -37
 - data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +1 -26
 - data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +48 -0
 - data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -1
 - data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +2 -0
 - data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +69 -0
 - data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +4 -4
 - data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +15 -10
 - data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +16 -0
 - data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +4 -4
 - data/third_party/abseil-cpp/absl/base/options.h +1 -1
 - data/third_party/abseil-cpp/absl/container/fixed_array.h +0 -5
 - data/third_party/abseil-cpp/absl/container/inlined_vector.h +105 -97
 - data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +17 -15
 - data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +18 -102
 - data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +37 -78
 - data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +388 -423
 - data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +3 -2
 - data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -8
 - data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +251 -120
 - data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +11 -1
 - data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +12 -11
 - data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +6 -2
 - data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +12 -5
 - data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +110 -0
 - data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +234 -0
 - data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +25 -7
 - data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +8 -2
 - data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +21 -3
 - data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +2 -0
 - data/third_party/abseil-cpp/absl/debugging/symbolize.cc +2 -0
 - data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +14 -0
 - data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +72 -0
 - data/third_party/abseil-cpp/absl/functional/function_ref.h +4 -1
 - data/third_party/abseil-cpp/absl/hash/hash.h +22 -0
 - data/third_party/abseil-cpp/absl/hash/internal/hash.cc +15 -16
 - data/third_party/abseil-cpp/absl/hash/internal/hash.h +88 -37
 - data/third_party/abseil-cpp/absl/hash/internal/{wyhash.cc → low_level_hash.cc} +23 -11
 - data/third_party/abseil-cpp/absl/hash/internal/{wyhash.h → low_level_hash.h} +14 -12
 - data/third_party/abseil-cpp/absl/memory/memory.h +1 -1
 - data/third_party/abseil-cpp/absl/meta/type_traits.h +32 -2
 - data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -10
 - data/third_party/abseil-cpp/absl/numeric/int128.h +146 -73
 - data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +19 -25
 - data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +73 -70
 - data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.cc +4 -4
 - data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.h +6 -6
 - data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +230 -0
 - data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
 - data/third_party/abseil-cpp/absl/random/beta_distribution.h +427 -0
 - data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
 - data/third_party/abseil-cpp/absl/random/discrete_distribution.h +247 -0
 - data/third_party/abseil-cpp/absl/random/distributions.h +452 -0
 - data/third_party/abseil-cpp/absl/random/exponential_distribution.h +165 -0
 - data/third_party/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
 - data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
 - data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +92 -0
 - data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +268 -0
 - data/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
 - data/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
 - data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
 - data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +150 -0
 - data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +308 -0
 - data/third_party/abseil-cpp/absl/random/internal/platform.h +171 -0
 - data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
 - data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen.cc +91 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen.h +102 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +221 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +239 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
 - data/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
 - data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +167 -0
 - data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
 - data/third_party/abseil-cpp/absl/random/internal/seed_material.h +104 -0
 - data/third_party/abseil-cpp/absl/random/internal/traits.h +101 -0
 - data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
 - data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +111 -0
 - data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +257 -0
 - data/third_party/abseil-cpp/absl/random/poisson_distribution.h +258 -0
 - data/third_party/abseil-cpp/absl/random/random.h +189 -0
 - data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
 - data/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
 - data/third_party/abseil-cpp/absl/random/seed_sequences.cc +29 -0
 - data/third_party/abseil-cpp/absl/random/seed_sequences.h +110 -0
 - data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
 - data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
 - data/third_party/abseil-cpp/absl/random/zipf_distribution.h +271 -0
 - data/third_party/abseil-cpp/absl/status/internal/status_internal.h +5 -5
 - data/third_party/abseil-cpp/absl/status/status.cc +9 -17
 - data/third_party/abseil-cpp/absl/status/status.h +19 -15
 - data/third_party/abseil-cpp/absl/status/statusor.cc +34 -2
 - data/third_party/abseil-cpp/absl/status/statusor.h +31 -21
 - data/third_party/abseil-cpp/absl/strings/charconv.cc +3 -3
 - data/third_party/abseil-cpp/absl/strings/charconv.h +3 -2
 - data/third_party/abseil-cpp/absl/strings/cord.cc +453 -359
 - data/third_party/abseil-cpp/absl/strings/cord.h +197 -70
 - data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +1 -1
 - data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +6 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +140 -63
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1128 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +939 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +185 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +265 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +68 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +211 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +129 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +50 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +7 -7
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +55 -181
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +42 -24
 - data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +4 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +96 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +85 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +139 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +131 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +445 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +298 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +87 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
 - data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +121 -0
 - data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +48 -2
 - data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +8 -0
 - data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -4
 - data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +1 -1
 - data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +6 -6
 - data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +36 -18
 - data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +62 -73
 - data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +24 -16
 - data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -35
 - data/third_party/abseil-cpp/absl/strings/numbers.cc +1 -1
 - data/third_party/abseil-cpp/absl/strings/numbers.h +34 -0
 - data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
 - data/third_party/abseil-cpp/absl/strings/str_format.h +1 -2
 - data/third_party/abseil-cpp/absl/strings/string_view.cc +16 -21
 - data/third_party/abseil-cpp/absl/strings/string_view.h +120 -39
 - data/third_party/abseil-cpp/absl/strings/substitute.cc +2 -1
 - data/third_party/abseil-cpp/absl/strings/substitute.h +99 -74
 - data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +25 -15
 - data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +5 -3
 - data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -1
 - data/third_party/abseil-cpp/absl/synchronization/mutex.h +3 -3
 - data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -3
 - data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +93 -20
 - data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
 - data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +2 -1
 - data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +83 -21
 - data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +49 -0
 - data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +1 -1
 - data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +2 -3
 - data/third_party/abseil-cpp/absl/time/time.h +67 -36
 - data/third_party/abseil-cpp/absl/types/bad_optional_access.h +1 -1
 - data/third_party/abseil-cpp/absl/types/bad_variant_access.h +2 -2
 - data/third_party/abseil-cpp/absl/types/span.h +3 -3
 - data/third_party/address_sorting/address_sorting_posix.c +1 -0
 - data/third_party/boringssl-with-bazel/err_data.c +685 -673
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +67 -54
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +21 -22
 - 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 +55 -37
 - 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 +106 -153
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +4 -4
 - 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_lib.c +59 -47
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +1 -1
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +24 -28
 - data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/charmap.h +0 -0
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +5 -0
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_locl.h → internal.h} +86 -1
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +57 -281
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +291 -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_typ.c +8 -6
 - 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 +24 -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/blake2/blake2.c +4 -6
 - data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +3 -1
 - 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/chacha/chacha.c +38 -47
 - 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/dsa/dsa.c +21 -0
 - data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +2 -2
 - data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +32 -34
 - 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/bn/sqrt.c +5 -9
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +12 -0
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +10 -0
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +10 -11
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +1 -3
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +2 -0
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +1 -2
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +4 -7
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +4 -7
 - 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/fipsmodule/self_check/self_check.c +7 -7
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +35 -35
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +11 -10
 - data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +10 -37
 - data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +36 -2
 - 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 +62 -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 +32 -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 +38 -4
 - data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +151 -12
 - data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +0 -1
 - data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +1 -1
 - data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +2 -2
 - data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +1 -1
 - data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +5 -1
 - data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +59 -22
 - 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/siphash/siphash.c +6 -6
 - 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/asn1_gen.c +2 -18
 - 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 +233 -4
 - 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 +232 -11
 - data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +2 -1
 - data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +2 -2
 - data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +1 -1
 - data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +2 -1
 - data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +1 -1
 - data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +5 -4
 - 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 +18 -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 -7
 - 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 +23 -4
 - 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 -1
 - 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 +1504 -561
 - data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +5 -12
 - data/third_party/boringssl-with-bazel/src/include/openssl/base.h +10 -6
 - data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +8 -0
 - 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 +21 -3
 - data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +8 -5
 - data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -12
 - data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +3 -0
 - data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +27 -41
 - data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +12 -27
 - data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +8 -10
 - data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +35 -55
 - data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +4 -0
 - data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +26 -1
 - 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 +24 -18
 - data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +6 -1
 - data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +7 -1
 - data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +29 -28
 - data/third_party/boringssl-with-bazel/src/include/openssl/span.h +37 -15
 - data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +110 -26
 - data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +31 -32
 - data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +725 -189
 - data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +16 -695
 - data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +52 -16
 - 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 +90 -51
 - 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 +6 -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_versions.cc +4 -0
 - data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +28 -23
 - 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/cares/cares/{ares.h → include/ares.h} +73 -1
 - data/third_party/cares/cares/{ares_dns.h → include/ares_dns.h} +9 -0
 - data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
 - data/third_party/cares/cares/{ares_version.h → include/ares_version.h} +3 -3
 - data/third_party/cares/cares/{ares__close_sockets.c → src/lib/ares__close_sockets.c} +2 -2
 - data/third_party/cares/cares/{ares__get_hostent.c → src/lib/ares__get_hostent.c} +1 -2
 - data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
 - data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
 - data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
 - data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
 - data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
 - data/third_party/cares/cares/src/lib/ares_android.c +444 -0
 - data/third_party/cares/cares/src/lib/ares_android.h +27 -0
 - data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
 - data/third_party/cares/cares/{ares_create_query.c → src/lib/ares_create_query.c} +8 -17
 - data/third_party/cares/cares/{ares_data.c → src/lib/ares_data.c} +18 -0
 - data/third_party/cares/cares/{ares_data.h → src/lib/ares_data.h} +2 -0
 - data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
 - data/third_party/cares/cares/{ares_expand_name.c → src/lib/ares_expand_name.c} +114 -23
 - data/third_party/cares/cares/{ares_expand_string.c → src/lib/ares_expand_string.c} +2 -5
 - data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
 - data/third_party/cares/cares/{ares_free_hostent.c → src/lib/ares_free_hostent.c} +6 -4
 - data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
 - data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
 - data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
 - data/third_party/cares/cares/{ares_getenv.c → src/lib/ares_getenv.c} +0 -2
 - data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
 - data/third_party/cares/cares/{ares_gethostbyaddr.c → src/lib/ares_gethostbyaddr.c} +2 -9
 - data/third_party/cares/cares/{ares_gethostbyname.c → src/lib/ares_gethostbyname.c} +25 -20
 - data/third_party/cares/cares/{ares_getnameinfo.c → src/lib/ares_getnameinfo.c} +4 -10
 - data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
 - data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
 - data/third_party/cares/cares/{ares_init.c → src/lib/ares_init.c} +79 -40
 - data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
 - data/third_party/cares/cares/{ares_ipv6.h → src/lib/ares_ipv6.h} +7 -0
 - data/third_party/cares/cares/{ares_library_init.c → src/lib/ares_library_init.c} +7 -2
 - data/third_party/cares/cares/{ares_library_init.h → src/lib/ares_library_init.h} +1 -1
 - data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
 - data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
 - data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
 - data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
 - data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
 - data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
 - data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
 - data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
 - data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
 - data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
 - data/third_party/cares/cares/{ares_parse_mx_reply.c → src/lib/ares_parse_mx_reply.c} +2 -8
 - data/third_party/cares/cares/{ares_parse_naptr_reply.c → src/lib/ares_parse_naptr_reply.c} +2 -13
 - data/third_party/cares/cares/{ares_parse_ns_reply.c → src/lib/ares_parse_ns_reply.c} +5 -11
 - data/third_party/cares/cares/{ares_parse_ptr_reply.c → src/lib/ares_parse_ptr_reply.c} +53 -46
 - data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
 - data/third_party/cares/cares/{ares_parse_srv_reply.c → src/lib/ares_parse_srv_reply.c} +2 -13
 - data/third_party/cares/cares/{ares_parse_txt_reply.c → src/lib/ares_parse_txt_reply.c} +3 -9
 - data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
 - data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
 - data/third_party/cares/cares/{ares_private.h → src/lib/ares_private.h} +52 -11
 - data/third_party/cares/cares/{ares_process.c → src/lib/ares_process.c} +127 -52
 - data/third_party/cares/cares/{ares_query.c → src/lib/ares_query.c} +3 -9
 - data/third_party/cares/cares/{ares_search.c → src/lib/ares_search.c} +5 -7
 - data/third_party/cares/cares/{ares_send.c → src/lib/ares_send.c} +2 -8
 - data/third_party/cares/cares/{ares_setup.h → src/lib/ares_setup.h} +4 -1
 - data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
 - data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
 - data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
 - data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
 - data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
 - data/third_party/cares/cares/{ares_strsplit.c → src/lib/ares_strsplit.c} +4 -0
 - data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
 - data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
 - data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
 - data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
 - data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
 - data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
 - data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
 - data/third_party/cares/cares/src/lib/config-dos.h +115 -0
 - data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
 - data/third_party/cares/cares/{inet_net_pton.c → src/lib/inet_net_pton.c} +2 -8
 - data/third_party/cares/cares/{inet_ntop.c → src/lib/inet_ntop.c} +2 -8
 - data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
 - data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
 - data/third_party/re2/re2/compile.cc +91 -109
 - data/third_party/re2/re2/dfa.cc +27 -39
 - data/third_party/re2/re2/filtered_re2.cc +18 -2
 - data/third_party/re2/re2/filtered_re2.h +10 -5
 - data/third_party/re2/re2/nfa.cc +1 -1
 - data/third_party/re2/re2/parse.cc +42 -23
 - data/third_party/re2/re2/perl_groups.cc +34 -34
 - data/third_party/re2/re2/prefilter.cc +3 -2
 - data/third_party/re2/re2/prog.cc +182 -4
 - data/third_party/re2/re2/prog.h +28 -9
 - data/third_party/re2/re2/re2.cc +87 -118
 - data/third_party/re2/re2/re2.h +156 -141
 - data/third_party/re2/re2/regexp.cc +12 -5
 - data/third_party/re2/re2/regexp.h +8 -2
 - data/third_party/re2/re2/set.cc +31 -9
 - data/third_party/re2/re2/set.h +9 -4
 - data/third_party/re2/re2/simplify.cc +11 -3
 - data/third_party/re2/re2/tostring.cc +1 -1
 - data/third_party/re2/re2/walker-inl.h +1 -1
 - data/third_party/re2/util/mutex.h +2 -2
 - data/third_party/re2/util/pcre.h +3 -3
 - data/third_party/upb/third_party/utf8_range/naive.c +92 -0
 - data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
 - data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
 - data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
 - data/third_party/upb/upb/decode.c +774 -351
 - data/third_party/upb/upb/decode.h +66 -12
 - data/third_party/upb/upb/decode_fast.c +596 -581
 - data/third_party/upb/upb/decode_fast.h +40 -13
 - data/third_party/upb/upb/decode_internal.h +211 -0
 - data/third_party/upb/upb/def.c +2151 -1068
 - data/third_party/upb/upb/def.h +352 -258
 - data/third_party/upb/upb/def.hpp +160 -161
 - data/third_party/upb/upb/encode.c +291 -165
 - data/third_party/upb/upb/encode.h +38 -13
 - data/third_party/upb/upb/json_encode.c +776 -0
 - data/third_party/upb/upb/json_encode.h +62 -0
 - data/third_party/upb/upb/msg.c +274 -102
 - data/third_party/upb/upb/msg.h +83 -582
 - data/third_party/upb/upb/msg_internal.h +831 -0
 - data/third_party/upb/upb/port_def.inc +93 -24
 - data/third_party/upb/upb/port_undef.inc +39 -1
 - data/third_party/upb/upb/reflection.c +312 -240
 - data/third_party/upb/upb/reflection.h +119 -67
 - data/third_party/upb/upb/reflection.hpp +37 -0
 - data/third_party/upb/upb/table.c +406 -197
 - data/third_party/upb/upb/table_internal.h +385 -0
 - data/third_party/upb/upb/text_encode.c +141 -90
 - data/third_party/upb/upb/text_encode.h +31 -5
 - data/third_party/upb/upb/upb.c +164 -66
 - data/third_party/upb/upb/upb.h +182 -146
 - data/third_party/upb/upb/upb.hpp +50 -23
 - data/third_party/upb/upb/upb_internal.h +68 -0
 - data/third_party/xxhash/xxhash.h +607 -352
 - data/third_party/zlib/crc32.c +966 -292
 - data/third_party/zlib/crc32.h +9441 -436
 - data/third_party/zlib/deflate.c +78 -30
 - data/third_party/zlib/deflate.h +12 -15
 - data/third_party/zlib/gzguts.h +3 -2
 - data/third_party/zlib/gzlib.c +5 -3
 - data/third_party/zlib/gzread.c +5 -7
 - data/third_party/zlib/gzwrite.c +25 -13
 - data/third_party/zlib/infback.c +2 -1
 - data/third_party/zlib/inffast.c +14 -14
 - data/third_party/zlib/inflate.c +39 -8
 - data/third_party/zlib/inflate.h +3 -2
 - data/third_party/zlib/inftrees.c +3 -3
 - data/third_party/zlib/trees.c +27 -48
 - data/third_party/zlib/zlib.h +123 -100
 - data/third_party/zlib/zutil.c +2 -2
 - data/third_party/zlib/zutil.h +12 -9
 - metadata +559 -260
 - data/include/grpc/event_engine/slice_allocator.h +0 -66
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
 - data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -84
 - 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/filters/client_channel/resolver_registry.cc +0 -197
 - data/src/core/ext/filters/client_channel/resolver_registry.h +0 -89
 - data/src/core/ext/filters/client_channel/service_config_call_data.h +0 -126
 - data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -441
 - data/src/core/ext/filters/max_age/max_age_filter.cc +0 -562
 - data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +0 -211
 - data/src/core/ext/filters/workarounds/workaround_utils.cc +0 -53
 - data/src/core/ext/filters/workarounds/workaround_utils.h +0 -39
 - data/src/core/ext/transport/chttp2/client/authority.cc +0 -42
 - data/src/core/ext/transport/chttp2/client/authority.h +0 -36
 - data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -125
 - data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -91
 - data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -213
 - data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -54
 - data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -77
 - data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -129
 - data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -37
 - data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.cc +0 -66
 - data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +0 -74
 - 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/ext/transport/chttp2/transport/incoming_metadata.cc +0 -66
 - data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +0 -58
 - data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -27
 - data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -56
 - data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -27
 - data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -56
 - data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -27
 - data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -56
 - data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -27
 - data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -56
 - data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -27
 - data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -56
 - data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +0 -58
 - data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +0 -124
 - data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +0 -33
 - data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +0 -77
 - data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -72
 - data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
 - data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -73
 - data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
 - data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -72
 - data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
 - data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -80
 - data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
 - data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -74
 - data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
 - data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +0 -44
 - data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +0 -35
 - data/src/core/lib/avl/avl.cc +0 -306
 - data/src/core/lib/compression/algorithm_metadata.h +0 -61
 - data/src/core/lib/compression/compression_args.cc +0 -135
 - data/src/core/lib/compression/compression_args.h +0 -56
 - data/src/core/lib/compression/stream_compression.cc +0 -80
 - data/src/core/lib/compression/stream_compression.h +0 -116
 - data/src/core/lib/compression/stream_compression_gzip.cc +0 -230
 - data/src/core/lib/compression/stream_compression_gzip.h +0 -28
 - data/src/core/lib/compression/stream_compression_identity.cc +0 -90
 - data/src/core/lib/compression/stream_compression_identity.h +0 -29
 - 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/ev_epollex_linux.cc +0 -1661
 - data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
 - data/src/core/lib/iomgr/iomgr_custom.cc +0 -79
 - data/src/core/lib/iomgr/iomgr_custom.h +0 -49
 - data/src/core/lib/iomgr/iomgr_uv.cc +0 -43
 - data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
 - data/src/core/lib/iomgr/pollset_custom.cc +0 -106
 - data/src/core/lib/iomgr/pollset_custom.h +0 -37
 - data/src/core/lib/iomgr/pollset_set_custom.cc +0 -48
 - data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
 - 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/resolve_address_custom.cc +0 -169
 - data/src/core/lib/iomgr/resolve_address_custom.h +0 -45
 - data/src/core/lib/iomgr/resource_quota.cc +0 -1019
 - data/src/core/lib/iomgr/resource_quota.h +0 -177
 - data/src/core/lib/iomgr/sockaddr_custom.h +0 -54
 - data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
 - data/src/core/lib/iomgr/tcp_client_custom.cc +0 -160
 - data/src/core/lib/iomgr/tcp_custom.cc +0 -389
 - data/src/core/lib/iomgr/tcp_custom.h +0 -85
 - data/src/core/lib/iomgr/tcp_server_custom.cc +0 -484
 - data/src/core/lib/iomgr/tcp_uv.cc +0 -421
 - data/src/core/lib/iomgr/timer_custom.cc +0 -96
 - data/src/core/lib/iomgr/timer_custom.h +0 -43
 - data/src/core/lib/iomgr/timer_uv.cc +0 -66
 - data/src/core/lib/iomgr/udp_server.cc +0 -748
 - data/src/core/lib/iomgr/udp_server.h +0 -103
 - data/src/core/lib/security/credentials/credentials_metadata.cc +0 -62
 - data/src/core/lib/slice/slice_intern.cc +0 -373
 - data/src/core/lib/slice/slice_utils.h +0 -200
 - data/src/core/lib/surface/init_secure.cc +0 -81
 - data/src/core/lib/transport/metadata.cc +0 -693
 - data/src/core/lib/transport/metadata.h +0 -446
 - data/src/core/lib/transport/metadata_batch.cc +0 -430
 - data/src/core/lib/transport/static_metadata.cc +0 -1249
 - data/src/core/lib/transport/static_metadata.h +0 -604
 - data/src/core/lib/transport/status_metadata.cc +0 -62
 - data/src/core/lib/transport/status_metadata.h +0 -48
 - data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +0 -93
 - data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +0 -217
 - data/third_party/cares/cares/ares_getopt.c +0 -122
 - data/third_party/cares/cares/ares_getopt.h +0 -53
 - data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
 - data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
 - data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
 - data/third_party/upb/third_party/wyhash/wyhash.h +0 -145
 - data/third_party/upb/upb/decode.int.h +0 -163
 - data/third_party/upb/upb/table.int.h +0 -475
 - data/third_party/upb/upb/upb.int.h +0 -29
 
| 
         @@ -82,7 +82,7 @@ 
     | 
|
| 
       82 
82 
     | 
    
         
             
            #include <openssl/thread.h>
         
     | 
| 
       83 
83 
     | 
    
         
             
            #include <time.h>
         
     | 
| 
       84 
84 
     | 
    
         | 
| 
       85 
     | 
    
         
            -
            # 
     | 
| 
      
 85 
     | 
    
         
            +
            #if defined(__cplusplus)
         
     | 
| 
       86 
86 
     | 
    
         
             
            extern "C" {
         
     | 
| 
       87 
87 
     | 
    
         
             
            #endif
         
     | 
| 
       88 
88 
     | 
    
         | 
| 
         @@ -110,60 +110,26 @@ extern "C" { 
     | 
|
| 
       110 
110 
     | 
    
         
             
            #define X509v3_KU_DECIPHER_ONLY 0x8000
         
     | 
| 
       111 
111 
     | 
    
         
             
            #define X509v3_KU_UNDEF 0xffff
         
     | 
| 
       112 
112 
     | 
    
         | 
| 
      
 113 
     | 
    
         
            +
            struct X509_algor_st {
         
     | 
| 
      
 114 
     | 
    
         
            +
              ASN1_OBJECT *algorithm;
         
     | 
| 
      
 115 
     | 
    
         
            +
              ASN1_TYPE *parameter;
         
     | 
| 
      
 116 
     | 
    
         
            +
            } /* X509_ALGOR */;
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
            DECLARE_ASN1_FUNCTIONS(X509_ALGOR)
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
       113 
120 
     | 
    
         
             
            DEFINE_STACK_OF(X509_ALGOR)
         
     | 
| 
       114 
     | 
    
         
            -
            DECLARE_ASN1_SET_OF(X509_ALGOR)
         
     | 
| 
       115 
121 
     | 
    
         | 
| 
       116 
122 
     | 
    
         
             
            typedef STACK_OF(X509_ALGOR) X509_ALGORS;
         
     | 
| 
       117 
123 
     | 
    
         | 
| 
       118 
     | 
    
         
            -
            struct X509_name_entry_st {
         
     | 
| 
       119 
     | 
    
         
            -
              ASN1_OBJECT *object;
         
     | 
| 
       120 
     | 
    
         
            -
              ASN1_STRING *value;
         
     | 
| 
       121 
     | 
    
         
            -
              int set;
         
     | 
| 
       122 
     | 
    
         
            -
              int size;  // temp variable
         
     | 
| 
       123 
     | 
    
         
            -
            } /* X509_NAME_ENTRY */;
         
     | 
| 
       124 
     | 
    
         
            -
             
     | 
| 
       125 
124 
     | 
    
         
             
            DEFINE_STACK_OF(X509_NAME_ENTRY)
         
     | 
| 
       126 
     | 
    
         
            -
            DECLARE_ASN1_SET_OF(X509_NAME_ENTRY)
         
     | 
| 
       127 
     | 
    
         
            -
             
     | 
| 
       128 
     | 
    
         
            -
            // we always keep X509_NAMEs in 2 forms.
         
     | 
| 
       129 
     | 
    
         
            -
            struct X509_name_st {
         
     | 
| 
       130 
     | 
    
         
            -
              STACK_OF(X509_NAME_ENTRY) *entries;
         
     | 
| 
       131 
     | 
    
         
            -
              int modified;  // true if 'bytes' needs to be built
         
     | 
| 
       132 
     | 
    
         
            -
              BUF_MEM *bytes;
         
     | 
| 
       133 
     | 
    
         
            -
              // unsigned long hash; Keep the hash around for lookups
         
     | 
| 
       134 
     | 
    
         
            -
              unsigned char *canon_enc;
         
     | 
| 
       135 
     | 
    
         
            -
              int canon_enclen;
         
     | 
| 
       136 
     | 
    
         
            -
            } /* X509_NAME */;
         
     | 
| 
       137 
125 
     | 
    
         | 
| 
       138 
126 
     | 
    
         
             
            DEFINE_STACK_OF(X509_NAME)
         
     | 
| 
       139 
127 
     | 
    
         | 
| 
       140 
     | 
    
         
            -
            struct X509_extension_st {
         
     | 
| 
       141 
     | 
    
         
            -
              ASN1_OBJECT *object;
         
     | 
| 
       142 
     | 
    
         
            -
              ASN1_BOOLEAN critical;
         
     | 
| 
       143 
     | 
    
         
            -
              ASN1_OCTET_STRING *value;
         
     | 
| 
       144 
     | 
    
         
            -
            } /* X509_EXTENSION */;
         
     | 
| 
       145 
     | 
    
         
            -
             
     | 
| 
       146 
128 
     | 
    
         
             
            typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS;
         
     | 
| 
       147 
129 
     | 
    
         | 
| 
       148 
130 
     | 
    
         
             
            DEFINE_STACK_OF(X509_EXTENSION)
         
     | 
| 
       149 
     | 
    
         
            -
            DECLARE_ASN1_SET_OF(X509_EXTENSION)
         
     | 
| 
       150 
131 
     | 
    
         | 
| 
       151 
132 
     | 
    
         
             
            DEFINE_STACK_OF(X509_ATTRIBUTE)
         
     | 
| 
       152 
     | 
    
         
            -
            DECLARE_ASN1_SET_OF(X509_ATTRIBUTE)
         
     | 
| 
       153 
     | 
    
         
            -
             
     | 
| 
       154 
     | 
    
         
            -
            struct x509_cinf_st {
         
     | 
| 
       155 
     | 
    
         
            -
              ASN1_INTEGER *version;  // [ 0 ] default of v1
         
     | 
| 
       156 
     | 
    
         
            -
              ASN1_INTEGER *serialNumber;
         
     | 
| 
       157 
     | 
    
         
            -
              X509_ALGOR *signature;
         
     | 
| 
       158 
     | 
    
         
            -
              X509_NAME *issuer;
         
     | 
| 
       159 
     | 
    
         
            -
              X509_VAL *validity;
         
     | 
| 
       160 
     | 
    
         
            -
              X509_NAME *subject;
         
     | 
| 
       161 
     | 
    
         
            -
              X509_PUBKEY *key;
         
     | 
| 
       162 
     | 
    
         
            -
              ASN1_BIT_STRING *issuerUID;            // [ 1 ] optional in v2
         
     | 
| 
       163 
     | 
    
         
            -
              ASN1_BIT_STRING *subjectUID;           // [ 2 ] optional in v2
         
     | 
| 
       164 
     | 
    
         
            -
              STACK_OF(X509_EXTENSION) *extensions;  // [ 3 ] optional in v3
         
     | 
| 
       165 
     | 
    
         
            -
              ASN1_ENCODING enc;
         
     | 
| 
       166 
     | 
    
         
            -
            } /* X509_CINF */;
         
     | 
| 
       167 
133 
     | 
    
         | 
| 
       168 
134 
     | 
    
         
             
            // This stuff is certificate "auxiliary info"
         
     | 
| 
       169 
135 
     | 
    
         
             
            // it contains details which are useful in certificate
         
     | 
| 
         @@ -173,33 +139,7 @@ struct x509_cinf_st { 
     | 
|
| 
       173 
139 
     | 
    
         
             
            DECLARE_STACK_OF(DIST_POINT)
         
     | 
| 
       174 
140 
     | 
    
         
             
            DECLARE_STACK_OF(GENERAL_NAME)
         
     | 
| 
       175 
141 
     | 
    
         | 
| 
       176 
     | 
    
         
            -
            struct x509_st {
         
     | 
| 
       177 
     | 
    
         
            -
              X509_CINF *cert_info;
         
     | 
| 
       178 
     | 
    
         
            -
              X509_ALGOR *sig_alg;
         
     | 
| 
       179 
     | 
    
         
            -
              ASN1_BIT_STRING *signature;
         
     | 
| 
       180 
     | 
    
         
            -
              CRYPTO_refcount_t references;
         
     | 
| 
       181 
     | 
    
         
            -
              CRYPTO_EX_DATA ex_data;
         
     | 
| 
       182 
     | 
    
         
            -
              // These contain copies of various extension values
         
     | 
| 
       183 
     | 
    
         
            -
              long ex_pathlen;
         
     | 
| 
       184 
     | 
    
         
            -
              long ex_pcpathlen;
         
     | 
| 
       185 
     | 
    
         
            -
              unsigned long ex_flags;
         
     | 
| 
       186 
     | 
    
         
            -
              unsigned long ex_kusage;
         
     | 
| 
       187 
     | 
    
         
            -
              unsigned long ex_xkusage;
         
     | 
| 
       188 
     | 
    
         
            -
              unsigned long ex_nscert;
         
     | 
| 
       189 
     | 
    
         
            -
              ASN1_OCTET_STRING *skid;
         
     | 
| 
       190 
     | 
    
         
            -
              AUTHORITY_KEYID *akid;
         
     | 
| 
       191 
     | 
    
         
            -
              X509_POLICY_CACHE *policy_cache;
         
     | 
| 
       192 
     | 
    
         
            -
              STACK_OF(DIST_POINT) *crldp;
         
     | 
| 
       193 
     | 
    
         
            -
              STACK_OF(GENERAL_NAME) *altname;
         
     | 
| 
       194 
     | 
    
         
            -
              NAME_CONSTRAINTS *nc;
         
     | 
| 
       195 
     | 
    
         
            -
              unsigned char sha1_hash[SHA_DIGEST_LENGTH];
         
     | 
| 
       196 
     | 
    
         
            -
              X509_CERT_AUX *aux;
         
     | 
| 
       197 
     | 
    
         
            -
              CRYPTO_BUFFER *buf;
         
     | 
| 
       198 
     | 
    
         
            -
              CRYPTO_MUTEX lock;
         
     | 
| 
       199 
     | 
    
         
            -
            } /* X509 */;
         
     | 
| 
       200 
     | 
    
         
            -
             
     | 
| 
       201 
142 
     | 
    
         
             
            DEFINE_STACK_OF(X509)
         
     | 
| 
       202 
     | 
    
         
            -
            DECLARE_ASN1_SET_OF(X509)
         
     | 
| 
       203 
143 
     | 
    
         | 
| 
       204 
144 
     | 
    
         
             
            // This is used for a table of trust checking functions
         
     | 
| 
       205 
145 
     | 
    
         | 
| 
         @@ -266,7 +206,7 @@ DEFINE_STACK_OF(X509_TRUST) 
     | 
|
| 
       266 
206 
     | 
    
         
             
            #define XN_FLAG_SEP_MASK (0xf << 16)
         
     | 
| 
       267 
207 
     | 
    
         | 
| 
       268 
208 
     | 
    
         
             
            #define XN_FLAG_COMPAT 0  // Traditional SSLeay: use old X509_NAME_print
         
     | 
| 
       269 
     | 
    
         
            -
            #define XN_FLAG_SEP_COMMA_PLUS (1 << 16)  //  
     | 
| 
      
 209 
     | 
    
         
            +
            #define XN_FLAG_SEP_COMMA_PLUS (1 << 16)  // RFC 2253 ,+
         
     | 
| 
       270 
210 
     | 
    
         
             
            #define XN_FLAG_SEP_CPLUS_SPC (2 << 16)   // ,+ spaced: more readable
         
     | 
| 
       271 
211 
     | 
    
         
             
            #define XN_FLAG_SEP_SPLUS_SPC (3 << 16)   // ;+ spaced
         
     | 
| 
       272 
212 
     | 
    
         
             
            #define XN_FLAG_SEP_MULTILINE (4 << 16)   // One line per field
         
     | 
| 
         @@ -285,13 +225,13 @@ DEFINE_STACK_OF(X509_TRUST) 
     | 
|
| 
       285 
225 
     | 
    
         
             
            #define XN_FLAG_SPC_EQ (1 << 23)  // Put spaces round '='
         
     | 
| 
       286 
226 
     | 
    
         | 
| 
       287 
227 
     | 
    
         
             
            // This determines if we dump fields we don't recognise:
         
     | 
| 
       288 
     | 
    
         
            -
            //  
     | 
| 
      
 228 
     | 
    
         
            +
            // RFC 2253 requires this.
         
     | 
| 
       289 
229 
     | 
    
         | 
| 
       290 
230 
     | 
    
         
             
            #define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24)
         
     | 
| 
       291 
231 
     | 
    
         | 
| 
       292 
232 
     | 
    
         
             
            #define XN_FLAG_FN_ALIGN (1 << 25)  // Align field names to 20 characters
         
     | 
| 
       293 
233 
     | 
    
         | 
| 
       294 
     | 
    
         
            -
            // Complete set of  
     | 
| 
      
 234 
     | 
    
         
            +
            // Complete set of RFC 2253 flags
         
     | 
| 
       295 
235 
     | 
    
         | 
| 
       296 
236 
     | 
    
         
             
            #define XN_FLAG_RFC2253                                             \
         
     | 
| 
       297 
237 
     | 
    
         
             
              (ASN1_STRFLGS_RFC2253 | XN_FLAG_SEP_COMMA_PLUS | XN_FLAG_DN_REV | \
         
     | 
| 
         @@ -321,45 +261,10 @@ struct x509_revoked_st { 
     | 
|
| 
       321 
261 
     | 
    
         
             
            };
         
     | 
| 
       322 
262 
     | 
    
         | 
| 
       323 
263 
     | 
    
         
             
            DEFINE_STACK_OF(X509_REVOKED)
         
     | 
| 
       324 
     | 
    
         
            -
            DECLARE_ASN1_SET_OF(X509_REVOKED)
         
     | 
| 
       325 
     | 
    
         
            -
             
     | 
| 
       326 
     | 
    
         
            -
            struct X509_crl_info_st {
         
     | 
| 
       327 
     | 
    
         
            -
              ASN1_INTEGER *version;
         
     | 
| 
       328 
     | 
    
         
            -
              X509_ALGOR *sig_alg;
         
     | 
| 
       329 
     | 
    
         
            -
              X509_NAME *issuer;
         
     | 
| 
       330 
     | 
    
         
            -
              ASN1_TIME *lastUpdate;
         
     | 
| 
       331 
     | 
    
         
            -
              ASN1_TIME *nextUpdate;
         
     | 
| 
       332 
     | 
    
         
            -
              STACK_OF(X509_REVOKED) *revoked;
         
     | 
| 
       333 
     | 
    
         
            -
              STACK_OF(X509_EXTENSION) /* [0] */ *extensions;
         
     | 
| 
       334 
     | 
    
         
            -
              ASN1_ENCODING enc;
         
     | 
| 
       335 
     | 
    
         
            -
            } /* X509_CRL_INFO */;
         
     | 
| 
       336 
264 
     | 
    
         | 
| 
       337 
265 
     | 
    
         
             
            DECLARE_STACK_OF(GENERAL_NAMES)
         
     | 
| 
       338 
266 
     | 
    
         | 
| 
       339 
     | 
    
         
            -
            struct X509_crl_st {
         
     | 
| 
       340 
     | 
    
         
            -
              // actual signature
         
     | 
| 
       341 
     | 
    
         
            -
              X509_CRL_INFO *crl;
         
     | 
| 
       342 
     | 
    
         
            -
              X509_ALGOR *sig_alg;
         
     | 
| 
       343 
     | 
    
         
            -
              ASN1_BIT_STRING *signature;
         
     | 
| 
       344 
     | 
    
         
            -
              CRYPTO_refcount_t references;
         
     | 
| 
       345 
     | 
    
         
            -
              int flags;
         
     | 
| 
       346 
     | 
    
         
            -
              // Copies of various extensions
         
     | 
| 
       347 
     | 
    
         
            -
              AUTHORITY_KEYID *akid;
         
     | 
| 
       348 
     | 
    
         
            -
              ISSUING_DIST_POINT *idp;
         
     | 
| 
       349 
     | 
    
         
            -
              // Convenient breakdown of IDP
         
     | 
| 
       350 
     | 
    
         
            -
              int idp_flags;
         
     | 
| 
       351 
     | 
    
         
            -
              int idp_reasons;
         
     | 
| 
       352 
     | 
    
         
            -
              // CRL and base CRL numbers for delta processing
         
     | 
| 
       353 
     | 
    
         
            -
              ASN1_INTEGER *crl_number;
         
     | 
| 
       354 
     | 
    
         
            -
              ASN1_INTEGER *base_crl_number;
         
     | 
| 
       355 
     | 
    
         
            -
              unsigned char sha1_hash[SHA_DIGEST_LENGTH];
         
     | 
| 
       356 
     | 
    
         
            -
              STACK_OF(GENERAL_NAMES) *issuers;
         
     | 
| 
       357 
     | 
    
         
            -
              const X509_CRL_METHOD *meth;
         
     | 
| 
       358 
     | 
    
         
            -
              void *meth_data;
         
     | 
| 
       359 
     | 
    
         
            -
            } /* X509_CRL */;
         
     | 
| 
       360 
     | 
    
         
            -
             
     | 
| 
       361 
267 
     | 
    
         
             
            DEFINE_STACK_OF(X509_CRL)
         
     | 
| 
       362 
     | 
    
         
            -
            DECLARE_ASN1_SET_OF(X509_CRL)
         
     | 
| 
       363 
268 
     | 
    
         | 
| 
       364 
269 
     | 
    
         
             
            struct private_key_st {
         
     | 
| 
       365 
270 
     | 
    
         
             
              int version;
         
     | 
| 
         @@ -379,7 +284,6 @@ struct private_key_st { 
     | 
|
| 
       379 
284 
     | 
    
         
             
              EVP_CIPHER_INFO cipher;
         
     | 
| 
       380 
285 
     | 
    
         
             
            } /* X509_PKEY */;
         
     | 
| 
       381 
286 
     | 
    
         | 
| 
       382 
     | 
    
         
            -
            #ifndef OPENSSL_NO_EVP
         
     | 
| 
       383 
287 
     | 
    
         
             
            struct X509_info_st {
         
     | 
| 
       384 
288 
     | 
    
         
             
              X509 *x509;
         
     | 
| 
       385 
289 
     | 
    
         
             
              X509_CRL *crl;
         
     | 
| 
         @@ -392,7 +296,6 @@ struct X509_info_st { 
     | 
|
| 
       392 
296 
     | 
    
         
             
            } /* X509_INFO */;
         
     | 
| 
       393 
297 
     | 
    
         | 
| 
       394 
298 
     | 
    
         
             
            DEFINE_STACK_OF(X509_INFO)
         
     | 
| 
       395 
     | 
    
         
            -
            #endif
         
     | 
| 
       396 
299 
     | 
    
         | 
| 
       397 
300 
     | 
    
         
             
            // The next 2 structures and their 8 routines were sent to me by
         
     | 
| 
       398 
301 
     | 
    
         
             
            // Pat Richard <patr@x509.com> and are used to manipulate
         
     | 
| 
         @@ -408,16 +311,6 @@ struct Netscape_spki_st { 
     | 
|
| 
       408 
311 
     | 
    
         
             
              ASN1_BIT_STRING *signature;
         
     | 
| 
       409 
312 
     | 
    
         
             
            } /* NETSCAPE_SPKI */;
         
     | 
| 
       410 
313 
     | 
    
         | 
| 
       411 
     | 
    
         
            -
            #ifdef __cplusplus
         
     | 
| 
       412 
     | 
    
         
            -
            }
         
     | 
| 
       413 
     | 
    
         
            -
            #endif
         
     | 
| 
       414 
     | 
    
         
            -
             
     | 
| 
       415 
     | 
    
         
            -
            #include <openssl/x509_vfy.h>
         
     | 
| 
       416 
     | 
    
         
            -
             
     | 
| 
       417 
     | 
    
         
            -
            #ifdef __cplusplus
         
     | 
| 
       418 
     | 
    
         
            -
            extern "C" {
         
     | 
| 
       419 
     | 
    
         
            -
            #endif
         
     | 
| 
       420 
     | 
    
         
            -
             
     | 
| 
       421 
314 
     | 
    
         
             
            // TODO(davidben): Document remaining functions, reorganize them, and define
         
     | 
| 
       422 
315 
     | 
    
         
             
            // supported patterns for using |X509| objects in general. In particular, when
         
     | 
| 
       423 
316 
     | 
    
         
             
            // it is safe to call mutating functions is a little tricky due to various
         
     | 
| 
         @@ -503,7 +396,7 @@ OPENSSL_EXPORT void X509_get0_uids(const X509 *x509, 
     | 
|
| 
       503 
396 
     | 
    
         
             
            #define X509_extract_key(x) X509_get_pubkey(x)
         
     | 
| 
       504 
397 
     | 
    
         | 
| 
       505 
398 
     | 
    
         
             
            // X509_get_pathlen returns path length constraint from the basic constraints
         
     | 
| 
       506 
     | 
    
         
            -
            // extension in |x509|. (See  
     | 
| 
      
 399 
     | 
    
         
            +
            // extension in |x509|. (See RFC 5280, section 4.2.1.9.) It returns -1 if the
         
     | 
| 
       507 
400 
     | 
    
         
             
            // constraint is not present, or if some extension in |x509| was invalid.
         
     | 
| 
       508 
401 
     | 
    
         
             
            //
         
     | 
| 
       509 
402 
     | 
    
         
             
            // Note that decoding an |X509| object will not check for invalid extensions. To
         
     | 
| 
         @@ -617,9 +510,6 @@ OPENSSL_EXPORT X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x509); 
     | 
|
| 
       617 
510 
     | 
    
         
             
            // X509_verify_cert_error_string returns |err| as a human-readable string, where
         
     | 
| 
       618 
511 
     | 
    
         
             
            // |err| should be one of the |X509_V_*| values. If |err| is unknown, it returns
         
     | 
| 
       619 
512 
     | 
    
         
             
            // a default description.
         
     | 
| 
       620 
     | 
    
         
            -
            //
         
     | 
| 
       621 
     | 
    
         
            -
            // TODO(davidben): Move this function to x509_vfy.h, with the |X509_V_*|
         
     | 
| 
       622 
     | 
    
         
            -
            // definitions, or fold x509_vfy.h into this function.
         
     | 
| 
       623 
513 
     | 
    
         
             
            OPENSSL_EXPORT const char *X509_verify_cert_error_string(long err);
         
     | 
| 
       624 
514 
     | 
    
         | 
| 
       625 
515 
     | 
    
         
             
            // X509_verify checks that |x509| has a valid signature by |pkey|. It returns
         
     | 
| 
         @@ -771,7 +661,6 @@ OPENSSL_EXPORT int X509_NAME_digest(const X509_NAME *name, const EVP_MD *md, 
     | 
|
| 
       771 
661 
     | 
    
         
             
            // copying parts of it as a normal |d2i_X509| call would do.
         
     | 
| 
       772 
662 
     | 
    
         
             
            OPENSSL_EXPORT X509 *X509_parse_from_buffer(CRYPTO_BUFFER *buf);
         
     | 
| 
       773 
663 
     | 
    
         | 
| 
       774 
     | 
    
         
            -
            #ifndef OPENSSL_NO_FP_API
         
     | 
| 
       775 
664 
     | 
    
         
             
            OPENSSL_EXPORT X509 *d2i_X509_fp(FILE *fp, X509 **x509);
         
     | 
| 
       776 
665 
     | 
    
         
             
            OPENSSL_EXPORT int i2d_X509_fp(FILE *fp, X509 *x509);
         
     | 
| 
       777 
666 
     | 
    
         
             
            OPENSSL_EXPORT X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl);
         
     | 
| 
         @@ -805,7 +694,6 @@ OPENSSL_EXPORT int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); 
     | 
|
| 
       805 
694 
     | 
    
         
             
            OPENSSL_EXPORT EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a);
         
     | 
| 
       806 
695 
     | 
    
         
             
            OPENSSL_EXPORT int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey);
         
     | 
| 
       807 
696 
     | 
    
         
             
            OPENSSL_EXPORT EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a);
         
     | 
| 
       808 
     | 
    
         
            -
            #endif
         
     | 
| 
       809 
697 
     | 
    
         | 
| 
       810 
698 
     | 
    
         
             
            OPENSSL_EXPORT X509 *d2i_X509_bio(BIO *bp, X509 **x509);
         
     | 
| 
       811 
699 
     | 
    
         
             
            OPENSSL_EXPORT int i2d_X509_bio(BIO *bp, X509 *x509);
         
     | 
| 
         @@ -907,12 +795,30 @@ OPENSSL_EXPORT int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne); 
     | 
|
| 
       907 
795 
     | 
    
         
             
            OPENSSL_EXPORT int X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder,
         
     | 
| 
       908 
796 
     | 
    
         
             
                                                  size_t *pderlen);
         
     | 
| 
       909 
797 
     | 
    
         | 
| 
      
 798 
     | 
    
         
            +
            // X509_cmp_time compares |s| against |*t|. On success, it returns a negative
         
     | 
| 
      
 799 
     | 
    
         
            +
            // number if |s| <= |*t| and a positive number if |s| > |*t|. On error, it
         
     | 
| 
      
 800 
     | 
    
         
            +
            // returns zero. If |t| is NULL, it uses the current time instead of |*t|.
         
     | 
| 
      
 801 
     | 
    
         
            +
            //
         
     | 
| 
      
 802 
     | 
    
         
            +
            // WARNING: Unlike most comparison functions, this function returns zero on
         
     | 
| 
      
 803 
     | 
    
         
            +
            // error, not equality.
         
     | 
| 
       910 
804 
     | 
    
         
             
            OPENSSL_EXPORT int X509_cmp_time(const ASN1_TIME *s, time_t *t);
         
     | 
| 
      
 805 
     | 
    
         
            +
             
     | 
| 
      
 806 
     | 
    
         
            +
            // X509_cmp_current_time behaves like |X509_cmp_time| but compares |s| against
         
     | 
| 
      
 807 
     | 
    
         
            +
            // the current time.
         
     | 
| 
       911 
808 
     | 
    
         
             
            OPENSSL_EXPORT int X509_cmp_current_time(const ASN1_TIME *s);
         
     | 
| 
       912 
     | 
    
         
            -
             
     | 
| 
      
 809 
     | 
    
         
            +
             
     | 
| 
      
 810 
     | 
    
         
            +
            // X509_time_adj calls |X509_time_adj_ex| with |offset_day| equal to zero.
         
     | 
| 
      
 811 
     | 
    
         
            +
            OPENSSL_EXPORT ASN1_TIME *X509_time_adj(ASN1_TIME *s, long offset_sec,
         
     | 
| 
      
 812 
     | 
    
         
            +
                                                    time_t *t);
         
     | 
| 
      
 813 
     | 
    
         
            +
             
     | 
| 
      
 814 
     | 
    
         
            +
            // X509_time_adj_ex behaves like |ASN1_TIME_adj|, but adds an offset to |*t|. If
         
     | 
| 
      
 815 
     | 
    
         
            +
            // |t| is NULL, it uses the current time instead of |*t|.
         
     | 
| 
       913 
816 
     | 
    
         
             
            OPENSSL_EXPORT ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, int offset_day,
         
     | 
| 
       914 
817 
     | 
    
         
             
                                                       long offset_sec, time_t *t);
         
     | 
| 
       915 
     | 
    
         
            -
             
     | 
| 
      
 818 
     | 
    
         
            +
             
     | 
| 
      
 819 
     | 
    
         
            +
            // X509_gmtime_adj behaves like |X509_time_adj_ex| but adds |offset_sec| to the
         
     | 
| 
      
 820 
     | 
    
         
            +
            // current time.
         
     | 
| 
      
 821 
     | 
    
         
            +
            OPENSSL_EXPORT ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long offset_sec);
         
     | 
| 
       916 
822 
     | 
    
         | 
| 
       917 
823 
     | 
    
         
             
            OPENSSL_EXPORT const char *X509_get_default_cert_area(void);
         
     | 
| 
       918 
824 
     | 
    
         
             
            OPENSSL_EXPORT const char *X509_get_default_cert_dir(void);
         
     | 
| 
         @@ -925,11 +831,18 @@ OPENSSL_EXPORT X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, 
     | 
|
| 
       925 
831 
     | 
    
         
             
                                                      const EVP_MD *md);
         
     | 
| 
       926 
832 
     | 
    
         | 
| 
       927 
833 
     | 
    
         
             
            DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS)
         
     | 
| 
       928 
     | 
    
         
            -
            DECLARE_ASN1_FUNCTIONS(X509_VAL)
         
     | 
| 
       929 
834 
     | 
    
         | 
| 
       930 
835 
     | 
    
         
             
            DECLARE_ASN1_FUNCTIONS(X509_PUBKEY)
         
     | 
| 
       931 
836 
     | 
    
         | 
| 
      
 837 
     | 
    
         
            +
            // X509_PUBKEY_set serializes |pkey| into a newly-allocated |X509_PUBKEY|
         
     | 
| 
      
 838 
     | 
    
         
            +
            // structure. On success, it frees |*x|, sets |*x| to the new object, and
         
     | 
| 
      
 839 
     | 
    
         
            +
            // returns one. Otherwise, it returns zero.
         
     | 
| 
       932 
840 
     | 
    
         
             
            OPENSSL_EXPORT int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey);
         
     | 
| 
      
 841 
     | 
    
         
            +
             
     | 
| 
      
 842 
     | 
    
         
            +
            // X509_PUBKEY_get decodes the public key in |key| and returns an |EVP_PKEY| on
         
     | 
| 
      
 843 
     | 
    
         
            +
            // success, or NULL on error. The caller must release the result with
         
     | 
| 
      
 844 
     | 
    
         
            +
            // |EVP_PKEY_free| when done. The |EVP_PKEY| is cached in |key|, so callers must
         
     | 
| 
      
 845 
     | 
    
         
            +
            // not mutate the result.
         
     | 
| 
       933 
846 
     | 
    
         
             
            OPENSSL_EXPORT EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key);
         
     | 
| 
       934 
847 
     | 
    
         | 
| 
       935 
848 
     | 
    
         
             
            DECLARE_ASN1_FUNCTIONS(X509_SIG)
         
     | 
| 
         @@ -951,10 +864,10 @@ DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) 
     | 
|
| 
       951 
864 
     | 
    
         | 
| 
       952 
865 
     | 
    
         
             
            DECLARE_ASN1_FUNCTIONS(X509_NAME)
         
     | 
| 
       953 
866 
     | 
    
         | 
| 
      
 867 
     | 
    
         
            +
            // X509_NAME_set makes a copy of |name|. On success, it frees |*xn|, sets |*xn|
         
     | 
| 
      
 868 
     | 
    
         
            +
            // to the copy, and returns one. Otherwise, it returns zero.
         
     | 
| 
       954 
869 
     | 
    
         
             
            OPENSSL_EXPORT int X509_NAME_set(X509_NAME **xn, X509_NAME *name);
         
     | 
| 
       955 
870 
     | 
    
         | 
| 
       956 
     | 
    
         
            -
            DECLARE_ASN1_FUNCTIONS(X509_CINF)
         
     | 
| 
       957 
     | 
    
         
            -
             
     | 
| 
       958 
871 
     | 
    
         
             
            DECLARE_ASN1_FUNCTIONS(X509)
         
     | 
| 
       959 
872 
     | 
    
         
             
            DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX)
         
     | 
| 
       960 
873 
     | 
    
         | 
| 
         @@ -971,28 +884,16 @@ OPENSSL_EXPORT int i2d_X509_AUX(X509 *a, unsigned char **pp); 
     | 
|
| 
       971 
884 
     | 
    
         
             
            OPENSSL_EXPORT X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp,
         
     | 
| 
       972 
885 
     | 
    
         
             
                                              long length);
         
     | 
| 
       973 
886 
     | 
    
         | 
| 
       974 
     | 
    
         
            -
            // i2d_re_X509_tbs serializes the TBSCertificate portion of |x509 
     | 
| 
       975 
     | 
    
         
            -
            //  
     | 
| 
       976 
     | 
    
         
            -
            // written to |*outp|, which must have enough space available, and |*outp| is
         
     | 
| 
       977 
     | 
    
         
            -
            // advanced just past the output. If |outp| is non-NULL and |*outp| is NULL, it
         
     | 
| 
       978 
     | 
    
         
            -
            // sets |*outp| to a newly-allocated buffer containing the result. The caller is
         
     | 
| 
       979 
     | 
    
         
            -
            // responsible for releasing the buffer with |OPENSSL_free|. In all cases, this
         
     | 
| 
       980 
     | 
    
         
            -
            // function returns the number of bytes in the result, whether written or not,
         
     | 
| 
       981 
     | 
    
         
            -
            // or a negative value on error.
         
     | 
| 
      
 887 
     | 
    
         
            +
            // i2d_re_X509_tbs serializes the TBSCertificate portion of |x509|, as described
         
     | 
| 
      
 888 
     | 
    
         
            +
            // in |i2d_SAMPLE|.
         
     | 
| 
       982 
889 
     | 
    
         
             
            //
         
     | 
| 
       983 
890 
     | 
    
         
             
            // This function re-encodes the TBSCertificate and may not reflect |x509|'s
         
     | 
| 
       984 
891 
     | 
    
         
             
            // original encoding. It may be used to manually generate a signature for a new
         
     | 
| 
       985 
892 
     | 
    
         
             
            // certificate. To verify certificates, use |i2d_X509_tbs| instead.
         
     | 
| 
       986 
893 
     | 
    
         
             
            OPENSSL_EXPORT int i2d_re_X509_tbs(X509 *x509, unsigned char **outp);
         
     | 
| 
       987 
894 
     | 
    
         | 
| 
       988 
     | 
    
         
            -
            // i2d_X509_tbs serializes the TBSCertificate portion of |x509 
     | 
| 
       989 
     | 
    
         
            -
            //  
     | 
| 
       990 
     | 
    
         
            -
            // written to |*outp|, which must have enough space available, and |*outp| is
         
     | 
| 
       991 
     | 
    
         
            -
            // advanced just past the output. If |outp| is non-NULL and |*outp| is NULL, it
         
     | 
| 
       992 
     | 
    
         
            -
            // sets |*outp| to a newly-allocated buffer containing the result. The caller is
         
     | 
| 
       993 
     | 
    
         
            -
            // responsible for releasing the buffer with |OPENSSL_free|. In all cases, this
         
     | 
| 
       994 
     | 
    
         
            -
            // function returns the number of bytes in the result, whether written or not,
         
     | 
| 
       995 
     | 
    
         
            -
            // or a negative value on error.
         
     | 
| 
      
 895 
     | 
    
         
            +
            // i2d_X509_tbs serializes the TBSCertificate portion of |x509|, as described in
         
     | 
| 
      
 896 
     | 
    
         
            +
            // |i2d_SAMPLE|.
         
     | 
| 
       996 
897 
     | 
    
         
             
            //
         
     | 
| 
       997 
898 
     | 
    
         
             
            // This function preserves the original encoding of the TBSCertificate and may
         
     | 
| 
       998 
899 
     | 
    
         
             
            // not reflect modifications made to |x509|. It may be used to manually verify
         
     | 
| 
         @@ -1048,7 +949,6 @@ OPENSSL_EXPORT void X509_trust_clear(X509 *x); 
     | 
|
| 
       1048 
949 
     | 
    
         
             
            OPENSSL_EXPORT void X509_reject_clear(X509 *x);
         
     | 
| 
       1049 
950 
     | 
    
         | 
| 
       1050 
951 
     | 
    
         
             
            DECLARE_ASN1_FUNCTIONS(X509_REVOKED)
         
     | 
| 
       1051 
     | 
    
         
            -
            DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO)
         
     | 
| 
       1052 
952 
     | 
    
         
             
            DECLARE_ASN1_FUNCTIONS(X509_CRL)
         
     | 
| 
       1053 
953 
     | 
    
         | 
| 
       1054 
954 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev);
         
     | 
| 
         @@ -1074,9 +974,10 @@ OPENSSL_EXPORT int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, 
     | 
|
| 
       1074 
974 
     | 
    
         
             
                                                void *data, unsigned char *md,
         
     | 
| 
       1075 
975 
     | 
    
         
             
                                                unsigned int *len);
         
     | 
| 
       1076 
976 
     | 
    
         | 
| 
       1077 
     | 
    
         
            -
            OPENSSL_EXPORT int ASN1_item_verify(const ASN1_ITEM *it, 
     | 
| 
       1078 
     | 
    
         
            -
                                                 
     | 
| 
       1079 
     | 
    
         
            -
                                                 
     | 
| 
      
 977 
     | 
    
         
            +
            OPENSSL_EXPORT int ASN1_item_verify(const ASN1_ITEM *it,
         
     | 
| 
      
 978 
     | 
    
         
            +
                                                const X509_ALGOR *algor1,
         
     | 
| 
      
 979 
     | 
    
         
            +
                                                const ASN1_BIT_STRING *signature,
         
     | 
| 
      
 980 
     | 
    
         
            +
                                                void *data, EVP_PKEY *pkey);
         
     | 
| 
       1080 
981 
     | 
    
         | 
| 
       1081 
982 
     | 
    
         
             
            OPENSSL_EXPORT int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1,
         
     | 
| 
       1082 
983 
     | 
    
         
             
                                              X509_ALGOR *algor2,
         
     | 
| 
         @@ -1158,14 +1059,8 @@ OPENSSL_EXPORT void X509_REQ_get0_signature(const X509_REQ *req, 
     | 
|
| 
       1158 
1059 
     | 
    
         
             
            // a known NID.
         
     | 
| 
       1159 
1060 
     | 
    
         
             
            OPENSSL_EXPORT int X509_REQ_get_signature_nid(const X509_REQ *req);
         
     | 
| 
       1160 
1061 
     | 
    
         | 
| 
       1161 
     | 
    
         
            -
            // i2d_re_X509_REQ_tbs serializes the CertificationRequestInfo (see  
     | 
| 
       1162 
     | 
    
         
            -
            // portion of |req 
     | 
| 
       1163 
     | 
    
         
            -
            // |*outp| is not NULL, the result is written to |*outp|, which must have enough
         
     | 
| 
       1164 
     | 
    
         
            -
            // space available, and |*outp| is advanced just past the output. If |outp| is
         
     | 
| 
       1165 
     | 
    
         
            -
            // non-NULL and |*outp| is NULL, it sets |*outp| to a newly-allocated buffer
         
     | 
| 
       1166 
     | 
    
         
            -
            // containing the result. The caller is responsible for releasing the buffer
         
     | 
| 
       1167 
     | 
    
         
            -
            // with |OPENSSL_free|. In all cases, this function returns the number of bytes
         
     | 
| 
       1168 
     | 
    
         
            -
            // in the result, whether written or not, or a negative value on error.
         
     | 
| 
      
 1062 
     | 
    
         
            +
            // i2d_re_X509_REQ_tbs serializes the CertificationRequestInfo (see RFC 2986)
         
     | 
| 
      
 1063 
     | 
    
         
            +
            // portion of |req|, as described in |i2d_SAMPLE|.
         
     | 
| 
       1169 
1064 
     | 
    
         
             
            //
         
     | 
| 
       1170 
1065 
     | 
    
         
             
            // This function re-encodes the CertificationRequestInfo and may not reflect
         
     | 
| 
       1171 
1066 
     | 
    
         
             
            // |req|'s original encoding. It may be used to manually generate a signature
         
     | 
| 
         @@ -1185,7 +1080,7 @@ OPENSSL_EXPORT EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); 
     | 
|
| 
       1185 
1080 
     | 
    
         | 
| 
       1186 
1081 
     | 
    
         
             
            // X509_REQ_extension_nid returns one if |nid| is a supported CSR attribute type
         
     | 
| 
       1187 
1082 
     | 
    
         
             
            // for carrying extensions and zero otherwise. The supported types are
         
     | 
| 
       1188 
     | 
    
         
            -
            // |NID_ext_req| (pkcs-9-at-extensionRequest from  
     | 
| 
      
 1083 
     | 
    
         
            +
            // |NID_ext_req| (pkcs-9-at-extensionRequest from RFC 2985) and |NID_ms_ext_req|
         
     | 
| 
       1189 
1084 
     | 
    
         
             
            // (a Microsoft szOID_CERT_EXTENSIONS variant).
         
     | 
| 
       1190 
1085 
     | 
    
         
             
            OPENSSL_EXPORT int X509_REQ_extension_nid(int nid);
         
     | 
| 
       1191 
1086 
     | 
    
         | 
| 
         @@ -1193,7 +1088,7 @@ OPENSSL_EXPORT int X509_REQ_extension_nid(int nid); 
     | 
|
| 
       1193 
1088 
     | 
    
         
             
            // returns a newly-allocated |STACK_OF(X509_EXTENSION)| containing the result.
         
     | 
| 
       1194 
1089 
     | 
    
         
             
            // It returns NULL on error, or if |req| did not request extensions.
         
     | 
| 
       1195 
1090 
     | 
    
         
             
            //
         
     | 
| 
       1196 
     | 
    
         
            -
            // This function supports both pkcs-9-at-extensionRequest from  
     | 
| 
      
 1091 
     | 
    
         
            +
            // This function supports both pkcs-9-at-extensionRequest from RFC 2985 and the
         
     | 
| 
       1197 
1092 
     | 
    
         
             
            // Microsoft szOID_CERT_EXTENSIONS variant.
         
     | 
| 
       1198 
1093 
     | 
    
         
             
            OPENSSL_EXPORT STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req);
         
     | 
| 
       1199 
1094 
     | 
    
         | 
| 
         @@ -1303,28 +1198,16 @@ OPENSSL_EXPORT void X509_CRL_get0_signature(const X509_CRL *crl, 
     | 
|
| 
       1303 
1198 
     | 
    
         
             
            // a known NID.
         
     | 
| 
       1304 
1199 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_get_signature_nid(const X509_CRL *crl);
         
     | 
| 
       1305 
1200 
     | 
    
         | 
| 
       1306 
     | 
    
         
            -
            // i2d_re_X509_CRL_tbs serializes the TBSCertList portion of |crl 
     | 
| 
       1307 
     | 
    
         
            -
            //  
     | 
| 
       1308 
     | 
    
         
            -
            // written to |*outp|, which must have enough space available, and |*outp| is
         
     | 
| 
       1309 
     | 
    
         
            -
            // advanced just past the output. If |outp| is non-NULL and |*outp| is NULL, it
         
     | 
| 
       1310 
     | 
    
         
            -
            // sets |*outp| to a newly-allocated buffer containing the result. The caller is
         
     | 
| 
       1311 
     | 
    
         
            -
            // responsible for releasing the buffer with |OPENSSL_free|. In all cases, this
         
     | 
| 
       1312 
     | 
    
         
            -
            // function returns the number of bytes in the result, whether written or not,
         
     | 
| 
       1313 
     | 
    
         
            -
            // or a negative value on error.
         
     | 
| 
      
 1201 
     | 
    
         
            +
            // i2d_re_X509_CRL_tbs serializes the TBSCertList portion of |crl|, as described
         
     | 
| 
      
 1202 
     | 
    
         
            +
            // in |i2d_SAMPLE|.
         
     | 
| 
       1314 
1203 
     | 
    
         
             
            //
         
     | 
| 
       1315 
1204 
     | 
    
         
             
            // This function re-encodes the TBSCertList and may not reflect |crl|'s original
         
     | 
| 
       1316 
1205 
     | 
    
         
             
            // encoding. It may be used to manually generate a signature for a new CRL. To
         
     | 
| 
       1317 
1206 
     | 
    
         
             
            // verify CRLs, use |i2d_X509_CRL_tbs| instead.
         
     | 
| 
       1318 
1207 
     | 
    
         
             
            OPENSSL_EXPORT int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **outp);
         
     | 
| 
       1319 
1208 
     | 
    
         | 
| 
       1320 
     | 
    
         
            -
            // i2d_X509_CRL_tbs serializes the TBSCertList portion of |crl 
     | 
| 
       1321 
     | 
    
         
            -
            //  
     | 
| 
       1322 
     | 
    
         
            -
            // written to |*outp|, which must have enough space available, and |*outp| is
         
     | 
| 
       1323 
     | 
    
         
            -
            // advanced just past the output. If |outp| is non-NULL and |*outp| is NULL, it
         
     | 
| 
       1324 
     | 
    
         
            -
            // sets |*outp| to a newly-allocated buffer containing the result. The caller is
         
     | 
| 
       1325 
     | 
    
         
            -
            // responsible for releasing the buffer with |OPENSSL_free|. In all cases, this
         
     | 
| 
       1326 
     | 
    
         
            -
            // function returns the number of bytes in the result, whether written or not,
         
     | 
| 
       1327 
     | 
    
         
            -
            // or a negative value on error.
         
     | 
| 
      
 1209 
     | 
    
         
            +
            // i2d_X509_CRL_tbs serializes the TBSCertList portion of |crl|, as described in
         
     | 
| 
      
 1210 
     | 
    
         
            +
            // |i2d_SAMPLE|.
         
     | 
| 
       1328 
1211 
     | 
    
         
             
            //
         
     | 
| 
       1329 
1212 
     | 
    
         
             
            // This function preserves the original encoding of the TBSCertList and may not
         
     | 
| 
       1330 
1213 
     | 
    
         
             
            // reflect modifications made to |crl|. It may be used to manually verify the
         
     | 
| 
         @@ -1413,7 +1296,6 @@ OPENSSL_EXPORT unsigned long X509_NAME_hash_old(X509_NAME *x); 
     | 
|
| 
       1413 
1296 
     | 
    
         | 
| 
       1414 
1297 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b);
         
     | 
| 
       1415 
1298 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_match(const X509_CRL *a, const X509_CRL *b);
         
     | 
| 
       1416 
     | 
    
         
            -
            #ifndef OPENSSL_NO_FP_API
         
     | 
| 
       1417 
1299 
     | 
    
         
             
            OPENSSL_EXPORT int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag,
         
     | 
| 
       1418 
1300 
     | 
    
         
             
                                                unsigned long cflag);
         
     | 
| 
       1419 
1301 
     | 
    
         
             
            OPENSSL_EXPORT int X509_print_fp(FILE *bp, X509 *x);
         
     | 
| 
         @@ -1421,7 +1303,6 @@ OPENSSL_EXPORT int X509_CRL_print_fp(FILE *bp, X509_CRL *x); 
     | 
|
| 
       1421 
1303 
     | 
    
         
             
            OPENSSL_EXPORT int X509_REQ_print_fp(FILE *bp, X509_REQ *req);
         
     | 
| 
       1422 
1304 
     | 
    
         
             
            OPENSSL_EXPORT int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm,
         
     | 
| 
       1423 
1305 
     | 
    
         
             
                                                     int indent, unsigned long flags);
         
     | 
| 
       1424 
     | 
    
         
            -
            #endif
         
     | 
| 
       1425 
1306 
     | 
    
         | 
| 
       1426 
1307 
     | 
    
         
             
            OPENSSL_EXPORT int X509_NAME_print(BIO *bp, const X509_NAME *name, int obase);
         
     | 
| 
       1427 
1308 
     | 
    
         
             
            OPENSSL_EXPORT int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,
         
     | 
| 
         @@ -1486,28 +1367,90 @@ OPENSSL_EXPORT ASN1_OBJECT *X509_NAME_ENTRY_get_object( 
     | 
|
| 
       1486 
1367 
     | 
    
         
             
                const X509_NAME_ENTRY *ne);
         
     | 
| 
       1487 
1368 
     | 
    
         
             
            OPENSSL_EXPORT ASN1_STRING *X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne);
         
     | 
| 
       1488 
1369 
     | 
    
         | 
| 
      
 1370 
     | 
    
         
            +
            // X509v3_get_ext_count returns the number of extensions in |x|.
         
     | 
| 
       1489 
1371 
     | 
    
         
             
            OPENSSL_EXPORT int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x);
         
     | 
| 
      
 1372 
     | 
    
         
            +
             
     | 
| 
      
 1373 
     | 
    
         
            +
            // X509v3_get_ext_by_NID returns the index of the first extension in |x| with
         
     | 
| 
      
 1374 
     | 
    
         
            +
            // type |nid|, or a negative number if not found. If found, callers can use
         
     | 
| 
      
 1375 
     | 
    
         
            +
            // |X509v3_get_ext| to look up the extension by index.
         
     | 
| 
      
 1376 
     | 
    
         
            +
            //
         
     | 
| 
      
 1377 
     | 
    
         
            +
            // If |lastpos| is non-negative, it begins searching at |lastpos| + 1. Callers
         
     | 
| 
      
 1378 
     | 
    
         
            +
            // can thus loop over all matching extensions by first passing -1 and then
         
     | 
| 
      
 1379 
     | 
    
         
            +
            // passing the previously-returned value until no match is returned.
         
     | 
| 
       1490 
1380 
     | 
    
         
             
            OPENSSL_EXPORT int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x,
         
     | 
| 
       1491 
1381 
     | 
    
         
             
                                                     int nid, int lastpos);
         
     | 
| 
      
 1382 
     | 
    
         
            +
             
     | 
| 
      
 1383 
     | 
    
         
            +
            // X509v3_get_ext_by_OBJ behaves like |X509v3_get_ext_by_NID| but looks for
         
     | 
| 
      
 1384 
     | 
    
         
            +
            // extensions matching |obj|.
         
     | 
| 
       1492 
1385 
     | 
    
         
             
            OPENSSL_EXPORT int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x,
         
     | 
| 
       1493 
1386 
     | 
    
         
             
                                                     const ASN1_OBJECT *obj, int lastpos);
         
     | 
| 
      
 1387 
     | 
    
         
            +
             
     | 
| 
      
 1388 
     | 
    
         
            +
            // X509v3_get_ext_by_critical returns the index of the first extension in |x|
         
     | 
| 
      
 1389 
     | 
    
         
            +
            // whose critical bit matches |crit|, or a negative number if no such extension
         
     | 
| 
      
 1390 
     | 
    
         
            +
            // was found.
         
     | 
| 
      
 1391 
     | 
    
         
            +
            //
         
     | 
| 
      
 1392 
     | 
    
         
            +
            // If |lastpos| is non-negative, it begins searching at |lastpos| + 1. Callers
         
     | 
| 
      
 1393 
     | 
    
         
            +
            // can thus loop over all matching extensions by first passing -1 and then
         
     | 
| 
      
 1394 
     | 
    
         
            +
            // passing the previously-returned value until no match is returned.
         
     | 
| 
       1494 
1395 
     | 
    
         
             
            OPENSSL_EXPORT int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x,
         
     | 
| 
       1495 
1396 
     | 
    
         
             
                                                          int crit, int lastpos);
         
     | 
| 
      
 1397 
     | 
    
         
            +
             
     | 
| 
      
 1398 
     | 
    
         
            +
            // X509v3_get_ext returns the extension in |x| at index |loc|, or NULL if |loc|
         
     | 
| 
      
 1399 
     | 
    
         
            +
            // is out of bounds.
         
     | 
| 
       1496 
1400 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x,
         
     | 
| 
       1497 
1401 
     | 
    
         
             
                                                          int loc);
         
     | 
| 
      
 1402 
     | 
    
         
            +
             
     | 
| 
      
 1403 
     | 
    
         
            +
            // X509v3_delete_ext removes the extension in |x| at index |loc| and returns the
         
     | 
| 
      
 1404 
     | 
    
         
            +
            // removed extension, or NULL if |loc| was out of bounds. If an extension was
         
     | 
| 
      
 1405 
     | 
    
         
            +
            // returned, the caller must release it with |X509_EXTENSION_free|.
         
     | 
| 
       1498 
1406 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x,
         
     | 
| 
       1499 
1407 
     | 
    
         
             
                                                             int loc);
         
     | 
| 
      
 1408 
     | 
    
         
            +
             
     | 
| 
      
 1409 
     | 
    
         
            +
            // X509v3_add_ext adds a copy of |ex| to the extension list in |*x|. If |*x| is
         
     | 
| 
      
 1410 
     | 
    
         
            +
            // NULL, it allocates a new |STACK_OF(X509_EXTENSION)| to hold the copy and sets
         
     | 
| 
      
 1411 
     | 
    
         
            +
            // |*x| to the new list. It returns |*x| on success and NULL on error. The
         
     | 
| 
      
 1412 
     | 
    
         
            +
            // caller retains ownership of |ex| and can release it independently of |*x|.
         
     | 
| 
      
 1413 
     | 
    
         
            +
            //
         
     | 
| 
      
 1414 
     | 
    
         
            +
            // The new extension is inserted at index |loc|, shifting extensions to the
         
     | 
| 
      
 1415 
     | 
    
         
            +
            // right. If |loc| is -1 or out of bounds, the new extension is appended to the
         
     | 
| 
      
 1416 
     | 
    
         
            +
            // list.
         
     | 
| 
       1500 
1417 
     | 
    
         
             
            OPENSSL_EXPORT STACK_OF(X509_EXTENSION) *X509v3_add_ext(
         
     | 
| 
       1501 
1418 
     | 
    
         
             
                STACK_OF(X509_EXTENSION) **x, X509_EXTENSION *ex, int loc);
         
     | 
| 
       1502 
1419 
     | 
    
         | 
| 
      
 1420 
     | 
    
         
            +
            // X509_get_ext_count returns the number of extensions in |x|.
         
     | 
| 
       1503 
1421 
     | 
    
         
             
            OPENSSL_EXPORT int X509_get_ext_count(const X509 *x);
         
     | 
| 
      
 1422 
     | 
    
         
            +
             
     | 
| 
      
 1423 
     | 
    
         
            +
            // X509_get_ext_by_NID behaves like |X509v3_get_ext_by_NID| but searches for
         
     | 
| 
      
 1424 
     | 
    
         
            +
            // extensions in |x|.
         
     | 
| 
       1504 
1425 
     | 
    
         
             
            OPENSSL_EXPORT int X509_get_ext_by_NID(const X509 *x, int nid, int lastpos);
         
     | 
| 
      
 1426 
     | 
    
         
            +
             
     | 
| 
      
 1427 
     | 
    
         
            +
            // X509_get_ext_by_OBJ behaves like |X509v3_get_ext_by_OBJ| but searches for
         
     | 
| 
      
 1428 
     | 
    
         
            +
            // extensions in |x|.
         
     | 
| 
       1505 
1429 
     | 
    
         
             
            OPENSSL_EXPORT int X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj,
         
     | 
| 
       1506 
1430 
     | 
    
         
             
                                                   int lastpos);
         
     | 
| 
      
 1431 
     | 
    
         
            +
             
     | 
| 
      
 1432 
     | 
    
         
            +
            // X509_get_ext_by_critical behaves like |X509v3_get_ext_by_critical| but
         
     | 
| 
      
 1433 
     | 
    
         
            +
            // searches for extensions in |x|.
         
     | 
| 
       1507 
1434 
     | 
    
         
             
            OPENSSL_EXPORT int X509_get_ext_by_critical(const X509 *x, int crit,
         
     | 
| 
       1508 
1435 
     | 
    
         
             
                                                        int lastpos);
         
     | 
| 
      
 1436 
     | 
    
         
            +
             
     | 
| 
      
 1437 
     | 
    
         
            +
            // X509_get_ext returns the extension in |x| at index |loc|, or NULL if |loc| is
         
     | 
| 
      
 1438 
     | 
    
         
            +
            // out of bounds.
         
     | 
| 
       1509 
1439 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509_get_ext(const X509 *x, int loc);
         
     | 
| 
      
 1440 
     | 
    
         
            +
             
     | 
| 
      
 1441 
     | 
    
         
            +
            // X509_delete_ext removes the extension in |x| at index |loc| and returns the
         
     | 
| 
      
 1442 
     | 
    
         
            +
            // removed extension, or NULL if |loc| was out of bounds. If non-NULL, the
         
     | 
| 
      
 1443 
     | 
    
         
            +
            // caller must release the result with |X509_EXTENSION_free|. It is also safe,
         
     | 
| 
      
 1444 
     | 
    
         
            +
            // but not necessary, to call |X509_EXTENSION_free| if the result is NULL.
         
     | 
| 
       1510 
1445 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509_delete_ext(X509 *x, int loc);
         
     | 
| 
      
 1446 
     | 
    
         
            +
             
     | 
| 
      
 1447 
     | 
    
         
            +
            // X509_add_ext adds a copy of |ex| to |x|. It returns one on success and zero
         
     | 
| 
      
 1448 
     | 
    
         
            +
            // on failure. The caller retains ownership of |ex| and can release it
         
     | 
| 
      
 1449 
     | 
    
         
            +
            // independently of |x|.
         
     | 
| 
      
 1450 
     | 
    
         
            +
            //
         
     | 
| 
      
 1451 
     | 
    
         
            +
            // The new extension is inserted at index |loc|, shifting extensions to the
         
     | 
| 
      
 1452 
     | 
    
         
            +
            // right. If |loc| is -1 or out of bounds, the new extension is appended to the
         
     | 
| 
      
 1453 
     | 
    
         
            +
            // list.
         
     | 
| 
       1511 
1454 
     | 
    
         
             
            OPENSSL_EXPORT int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc);
         
     | 
| 
       1512 
1455 
     | 
    
         | 
| 
       1513 
1456 
     | 
    
         
             
            // X509_get_ext_d2i behaves like |X509V3_get_d2i| but looks for the extension in
         
     | 
| 
         @@ -1527,15 +1470,41 @@ OPENSSL_EXPORT void *X509_get_ext_d2i(const X509 *x509, int nid, 
     | 
|
| 
       1527 
1470 
     | 
    
         
             
            OPENSSL_EXPORT int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit,
         
     | 
| 
       1528 
1471 
     | 
    
         
             
                                                 unsigned long flags);
         
     | 
| 
       1529 
1472 
     | 
    
         | 
| 
      
 1473 
     | 
    
         
            +
            // X509_CRL_get_ext_count returns the number of extensions in |x|.
         
     | 
| 
       1530 
1474 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_get_ext_count(const X509_CRL *x);
         
     | 
| 
      
 1475 
     | 
    
         
            +
             
     | 
| 
      
 1476 
     | 
    
         
            +
            // X509_CRL_get_ext_by_NID behaves like |X509v3_get_ext_by_NID| but searches for
         
     | 
| 
      
 1477 
     | 
    
         
            +
            // extensions in |x|.
         
     | 
| 
       1531 
1478 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid,
         
     | 
| 
       1532 
1479 
     | 
    
         
             
                                                       int lastpos);
         
     | 
| 
      
 1480 
     | 
    
         
            +
             
     | 
| 
      
 1481 
     | 
    
         
            +
            // X509_CRL_get_ext_by_OBJ behaves like |X509v3_get_ext_by_OBJ| but searches for
         
     | 
| 
      
 1482 
     | 
    
         
            +
            // extensions in |x|.
         
     | 
| 
       1533 
1483 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_get_ext_by_OBJ(const X509_CRL *x,
         
     | 
| 
       1534 
1484 
     | 
    
         
             
                                                       const ASN1_OBJECT *obj, int lastpos);
         
     | 
| 
      
 1485 
     | 
    
         
            +
             
     | 
| 
      
 1486 
     | 
    
         
            +
            // X509_CRL_get_ext_by_critical behaves like |X509v3_get_ext_by_critical| but
         
     | 
| 
      
 1487 
     | 
    
         
            +
            // searches for extensions in |x|.
         
     | 
| 
       1535 
1488 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit,
         
     | 
| 
       1536 
1489 
     | 
    
         
             
                                                            int lastpos);
         
     | 
| 
      
 1490 
     | 
    
         
            +
             
     | 
| 
      
 1491 
     | 
    
         
            +
            // X509_CRL_get_ext returns the extension in |x| at index |loc|, or NULL if
         
     | 
| 
      
 1492 
     | 
    
         
            +
            // |loc| is out of bounds.
         
     | 
| 
       1537 
1493 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc);
         
     | 
| 
      
 1494 
     | 
    
         
            +
             
     | 
| 
      
 1495 
     | 
    
         
            +
            // X509_CRL_delete_ext removes the extension in |x| at index |loc| and returns
         
     | 
| 
      
 1496 
     | 
    
         
            +
            // the removed extension, or NULL if |loc| was out of bounds. If non-NULL, the
         
     | 
| 
      
 1497 
     | 
    
         
            +
            // caller must release the result with |X509_EXTENSION_free|. It is also safe,
         
     | 
| 
      
 1498 
     | 
    
         
            +
            // but not necessary, to call |X509_EXTENSION_free| if the result is NULL.
         
     | 
| 
       1538 
1499 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc);
         
     | 
| 
      
 1500 
     | 
    
         
            +
             
     | 
| 
      
 1501 
     | 
    
         
            +
            // X509_CRL_add_ext adds a copy of |ex| to |x|. It returns one on success and
         
     | 
| 
      
 1502 
     | 
    
         
            +
            // zero on failure. The caller retains ownership of |ex| and can release it
         
     | 
| 
      
 1503 
     | 
    
         
            +
            // independently of |x|.
         
     | 
| 
      
 1504 
     | 
    
         
            +
            //
         
     | 
| 
      
 1505 
     | 
    
         
            +
            // The new extension is inserted at index |loc|, shifting extensions to the
         
     | 
| 
      
 1506 
     | 
    
         
            +
            // right. If |loc| is -1 or out of bounds, the new extension is appended to the
         
     | 
| 
      
 1507 
     | 
    
         
            +
            // list.
         
     | 
| 
       1539 
1508 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc);
         
     | 
| 
       1540 
1509 
     | 
    
         | 
| 
       1541 
1510 
     | 
    
         
             
            // X509_CRL_get_ext_d2i behaves like |X509V3_get_d2i| but looks for the
         
     | 
| 
         @@ -1555,18 +1524,45 @@ OPENSSL_EXPORT void *X509_CRL_get_ext_d2i(const X509_CRL *crl, int nid, 
     | 
|
| 
       1555 
1524 
     | 
    
         
             
            OPENSSL_EXPORT int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value,
         
     | 
| 
       1556 
1525 
     | 
    
         
             
                                                     int crit, unsigned long flags);
         
     | 
| 
       1557 
1526 
     | 
    
         | 
| 
      
 1527 
     | 
    
         
            +
            // X509_REVOKED_get_ext_count returns the number of extensions in |x|.
         
     | 
| 
       1558 
1528 
     | 
    
         
             
            OPENSSL_EXPORT int X509_REVOKED_get_ext_count(const X509_REVOKED *x);
         
     | 
| 
      
 1529 
     | 
    
         
            +
             
     | 
| 
      
 1530 
     | 
    
         
            +
            // X509_REVOKED_get_ext_by_NID behaves like |X509v3_get_ext_by_NID| but searches
         
     | 
| 
      
 1531 
     | 
    
         
            +
            // for extensions in |x|.
         
     | 
| 
       1559 
1532 
     | 
    
         
             
            OPENSSL_EXPORT int X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid,
         
     | 
| 
       1560 
1533 
     | 
    
         
             
                                                           int lastpos);
         
     | 
| 
      
 1534 
     | 
    
         
            +
             
     | 
| 
      
 1535 
     | 
    
         
            +
            // X509_REVOKED_get_ext_by_OBJ behaves like |X509v3_get_ext_by_OBJ| but searches
         
     | 
| 
      
 1536 
     | 
    
         
            +
            // for extensions in |x|.
         
     | 
| 
       1561 
1537 
     | 
    
         
             
            OPENSSL_EXPORT int X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x,
         
     | 
| 
       1562 
1538 
     | 
    
         
             
                                                           const ASN1_OBJECT *obj,
         
     | 
| 
       1563 
1539 
     | 
    
         
             
                                                           int lastpos);
         
     | 
| 
      
 1540 
     | 
    
         
            +
             
     | 
| 
      
 1541 
     | 
    
         
            +
            // X509_REVOKED_get_ext_by_critical behaves like |X509v3_get_ext_by_critical|
         
     | 
| 
      
 1542 
     | 
    
         
            +
            // but searches for extensions in |x|.
         
     | 
| 
       1564 
1543 
     | 
    
         
             
            OPENSSL_EXPORT int X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x,
         
     | 
| 
       1565 
1544 
     | 
    
         
             
                                                                int crit, int lastpos);
         
     | 
| 
      
 1545 
     | 
    
         
            +
             
     | 
| 
      
 1546 
     | 
    
         
            +
            // X509_REVOKED_get_ext returns the extension in |x| at index |loc|, or NULL if
         
     | 
| 
      
 1547 
     | 
    
         
            +
            // |loc| is out of bounds.
         
     | 
| 
       1566 
1548 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x,
         
     | 
| 
       1567 
1549 
     | 
    
         
             
                                                                int loc);
         
     | 
| 
      
 1550 
     | 
    
         
            +
             
     | 
| 
      
 1551 
     | 
    
         
            +
            // X509_REVOKED_delete_ext removes the extension in |x| at index |loc| and
         
     | 
| 
      
 1552 
     | 
    
         
            +
            // returns the removed extension, or NULL if |loc| was out of bounds. If
         
     | 
| 
      
 1553 
     | 
    
         
            +
            // non-NULL, the caller must release the result with |X509_EXTENSION_free|. It
         
     | 
| 
      
 1554 
     | 
    
         
            +
            // is also safe, but not necessary, to call |X509_EXTENSION_free| if the result
         
     | 
| 
      
 1555 
     | 
    
         
            +
            // is NULL.
         
     | 
| 
       1568 
1556 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x,
         
     | 
| 
       1569 
1557 
     | 
    
         
             
                                                                   int loc);
         
     | 
| 
      
 1558 
     | 
    
         
            +
             
     | 
| 
      
 1559 
     | 
    
         
            +
            // X509_REVOKED_add_ext adds a copy of |ex| to |x|. It returns one on success
         
     | 
| 
      
 1560 
     | 
    
         
            +
            // and zero on failure. The caller retains ownership of |ex| and can release it
         
     | 
| 
      
 1561 
     | 
    
         
            +
            // independently of |x|.
         
     | 
| 
      
 1562 
     | 
    
         
            +
            //
         
     | 
| 
      
 1563 
     | 
    
         
            +
            // The new extension is inserted at index |loc|, shifting extensions to the
         
     | 
| 
      
 1564 
     | 
    
         
            +
            // right. If |loc| is -1 or out of bounds, the new extension is appended to the
         
     | 
| 
      
 1565 
     | 
    
         
            +
            // list.
         
     | 
| 
       1570 
1566 
     | 
    
         
             
            OPENSSL_EXPORT int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex,
         
     | 
| 
       1571 
1567 
     | 
    
         
             
                                                    int loc);
         
     | 
| 
       1572 
1568 
     | 
    
         | 
| 
         @@ -1589,43 +1585,103 @@ OPENSSL_EXPORT int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, 
     | 
|
| 
       1589 
1585 
     | 
    
         
             
                                                         void *value, int crit,
         
     | 
| 
       1590 
1586 
     | 
    
         
             
                                                         unsigned long flags);
         
     | 
| 
       1591 
1587 
     | 
    
         | 
| 
      
 1588 
     | 
    
         
            +
            // X509_EXTENSION_create_by_NID creates a new |X509_EXTENSION| with type |nid|,
         
     | 
| 
      
 1589 
     | 
    
         
            +
            // value |data|, and critical bit |crit|. It returns the newly-allocated
         
     | 
| 
      
 1590 
     | 
    
         
            +
            // |X509_EXTENSION| on success, and false on error. |nid| should be a |NID_*|
         
     | 
| 
      
 1591 
     | 
    
         
            +
            // constant.
         
     | 
| 
      
 1592 
     | 
    
         
            +
            //
         
     | 
| 
      
 1593 
     | 
    
         
            +
            // If |ex| and |*ex| are both non-NULL, it modifies and returns |*ex| instead of
         
     | 
| 
      
 1594 
     | 
    
         
            +
            // creating a new object. If |ex| is non-NULL, but |*ex| is NULL, it sets |*ex|
         
     | 
| 
      
 1595 
     | 
    
         
            +
            // to the new |X509_EXTENSION|, in addition to returning the result.
         
     | 
| 
       1592 
1596 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509_EXTENSION_create_by_NID(
         
     | 
| 
       1593 
1597 
     | 
    
         
             
                X509_EXTENSION **ex, int nid, int crit, const ASN1_OCTET_STRING *data);
         
     | 
| 
      
 1598 
     | 
    
         
            +
             
     | 
| 
      
 1599 
     | 
    
         
            +
            // X509_EXTENSION_create_by_OBJ behaves like |X509_EXTENSION_create_by_NID|, but
         
     | 
| 
      
 1600 
     | 
    
         
            +
            // the extension type is determined by an |ASN1_OBJECT|.
         
     | 
| 
       1594 
1601 
     | 
    
         
             
            OPENSSL_EXPORT X509_EXTENSION *X509_EXTENSION_create_by_OBJ(
         
     | 
| 
       1595 
1602 
     | 
    
         
             
                X509_EXTENSION **ex, const ASN1_OBJECT *obj, int crit,
         
     | 
| 
       1596 
1603 
     | 
    
         
             
                const ASN1_OCTET_STRING *data);
         
     | 
| 
      
 1604 
     | 
    
         
            +
             
     | 
| 
      
 1605 
     | 
    
         
            +
            // X509_EXTENSION_set_object sets |ex|'s extension type to |obj|. It returns one
         
     | 
| 
      
 1606 
     | 
    
         
            +
            // on success and zero on error.
         
     | 
| 
       1597 
1607 
     | 
    
         
             
            OPENSSL_EXPORT int X509_EXTENSION_set_object(X509_EXTENSION *ex,
         
     | 
| 
       1598 
1608 
     | 
    
         
             
                                                         const ASN1_OBJECT *obj);
         
     | 
| 
      
 1609 
     | 
    
         
            +
             
     | 
| 
      
 1610 
     | 
    
         
            +
            // X509_EXTENSION_set_critical sets |ex| to critical if |crit| is non-zero and
         
     | 
| 
      
 1611 
     | 
    
         
            +
            // to non-critical if |crit| is zero.
         
     | 
| 
       1599 
1612 
     | 
    
         
             
            OPENSSL_EXPORT int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit);
         
     | 
| 
      
 1613 
     | 
    
         
            +
             
     | 
| 
      
 1614 
     | 
    
         
            +
            // X509_EXTENSION_set_data set's |ex|'s extension value to a copy of |data|. It
         
     | 
| 
      
 1615 
     | 
    
         
            +
            // returns one on success and zero on error.
         
     | 
| 
       1600 
1616 
     | 
    
         
             
            OPENSSL_EXPORT int X509_EXTENSION_set_data(X509_EXTENSION *ex,
         
     | 
| 
       1601 
1617 
     | 
    
         
             
                                                       const ASN1_OCTET_STRING *data);
         
     | 
| 
      
 1618 
     | 
    
         
            +
             
     | 
| 
      
 1619 
     | 
    
         
            +
            // X509_EXTENSION_get_object returns |ex|'s extension type.
         
     | 
| 
       1602 
1620 
     | 
    
         
             
            OPENSSL_EXPORT ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex);
         
     | 
| 
      
 1621 
     | 
    
         
            +
             
     | 
| 
      
 1622 
     | 
    
         
            +
            // X509_EXTENSION_get_data returns |ne|'s extension value.
         
     | 
| 
       1603 
1623 
     | 
    
         
             
            OPENSSL_EXPORT ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne);
         
     | 
| 
       1604 
     | 
    
         
            -
            OPENSSL_EXPORT int X509_EXTENSION_get_critical(X509_EXTENSION *ex);
         
     | 
| 
       1605 
1624 
     | 
    
         | 
| 
      
 1625 
     | 
    
         
            +
            // X509_EXTENSION_get_critical returns one if |ex| is critical and zero
         
     | 
| 
      
 1626 
     | 
    
         
            +
            // otherwise.
         
     | 
| 
      
 1627 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_EXTENSION_get_critical(const X509_EXTENSION *ex);
         
     | 
| 
      
 1628 
     | 
    
         
            +
             
     | 
| 
      
 1629 
     | 
    
         
            +
            // X509at_get_attr_count returns the number of attributes in |x|.
         
     | 
| 
       1606 
1630 
     | 
    
         
             
            OPENSSL_EXPORT int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x);
         
     | 
| 
      
 1631 
     | 
    
         
            +
             
     | 
| 
      
 1632 
     | 
    
         
            +
            // X509at_get_attr_by_NID returns the index of the attribute in |x| of type
         
     | 
| 
      
 1633 
     | 
    
         
            +
            // |nid|, or a negative number if not found. If found, callers can use
         
     | 
| 
      
 1634 
     | 
    
         
            +
            // |X509at_get_attr| to look up the attribute by index.
         
     | 
| 
      
 1635 
     | 
    
         
            +
            //
         
     | 
| 
      
 1636 
     | 
    
         
            +
            // If |lastpos| is non-negative, it begins searching at |lastpos| + 1. Callers
         
     | 
| 
      
 1637 
     | 
    
         
            +
            // can thus loop over all matching attributes by first passing -1 and then
         
     | 
| 
      
 1638 
     | 
    
         
            +
            // passing the previously-returned value until no match is returned.
         
     | 
| 
       1607 
1639 
     | 
    
         
             
            OPENSSL_EXPORT int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x,
         
     | 
| 
       1608 
1640 
     | 
    
         
             
                                                      int nid, int lastpos);
         
     | 
| 
      
 1641 
     | 
    
         
            +
             
     | 
| 
      
 1642 
     | 
    
         
            +
            // X509at_get_attr_by_OBJ behaves like |X509at_get_attr_by_NID| but looks for
         
     | 
| 
      
 1643 
     | 
    
         
            +
            // attributes of type |obj|.
         
     | 
| 
       1609 
1644 
     | 
    
         
             
            OPENSSL_EXPORT int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk,
         
     | 
| 
       1610 
1645 
     | 
    
         
             
                                                      const ASN1_OBJECT *obj, int lastpos);
         
     | 
| 
      
 1646 
     | 
    
         
            +
             
     | 
| 
      
 1647 
     | 
    
         
            +
            // X509at_get_attr returns the attribute at index |loc| in |x|, or NULL if
         
     | 
| 
      
 1648 
     | 
    
         
            +
            // out of bounds.
         
     | 
| 
       1611 
1649 
     | 
    
         
             
            OPENSSL_EXPORT X509_ATTRIBUTE *X509at_get_attr(
         
     | 
| 
       1612 
1650 
     | 
    
         
             
                const STACK_OF(X509_ATTRIBUTE) *x, int loc);
         
     | 
| 
      
 1651 
     | 
    
         
            +
             
     | 
| 
      
 1652 
     | 
    
         
            +
            // X509at_delete_attr removes the attribute at index |loc| in |x|. It returns
         
     | 
| 
      
 1653 
     | 
    
         
            +
            // the removed attribute to the caller, or NULL if |loc| was out of bounds. If
         
     | 
| 
      
 1654 
     | 
    
         
            +
            // non-NULL, the caller must release the result with |X509_ATTRIBUTE_free| when
         
     | 
| 
      
 1655 
     | 
    
         
            +
            // done. It is also safe, but not necessary, to call |X509_ATTRIBUTE_free| if
         
     | 
| 
      
 1656 
     | 
    
         
            +
            // the result is NULL.
         
     | 
| 
       1613 
1657 
     | 
    
         
             
            OPENSSL_EXPORT X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x,
         
     | 
| 
       1614 
1658 
     | 
    
         
             
                                                              int loc);
         
     | 
| 
      
 1659 
     | 
    
         
            +
             
     | 
| 
      
 1660 
     | 
    
         
            +
            // X509at_add1_attr appends a copy of |attr| to the attribute list in |*x|. If
         
     | 
| 
      
 1661 
     | 
    
         
            +
            // |*x| is NULL, it allocates a new |STACK_OF(X509_ATTRIBUTE)| to hold the copy
         
     | 
| 
      
 1662 
     | 
    
         
            +
            // and sets |*x| to the new list. It returns |*x| on success and NULL on error.
         
     | 
| 
      
 1663 
     | 
    
         
            +
            // The caller retains ownership of |attr| and can release it independently of
         
     | 
| 
      
 1664 
     | 
    
         
            +
            // |*x|.
         
     | 
| 
       1615 
1665 
     | 
    
         
             
            OPENSSL_EXPORT STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(
         
     | 
| 
       1616 
1666 
     | 
    
         
             
                STACK_OF(X509_ATTRIBUTE) **x, X509_ATTRIBUTE *attr);
         
     | 
| 
      
 1667 
     | 
    
         
            +
             
     | 
| 
      
 1668 
     | 
    
         
            +
            // X509at_add1_attr_by_OBJ behaves like |X509at_add1_attr|, but adds an
         
     | 
| 
      
 1669 
     | 
    
         
            +
            // attribute created by |X509_ATTRIBUTE_create_by_OBJ|.
         
     | 
| 
       1617 
1670 
     | 
    
         
             
            OPENSSL_EXPORT STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(
         
     | 
| 
       1618 
1671 
     | 
    
         
             
                STACK_OF(X509_ATTRIBUTE) **x, const ASN1_OBJECT *obj, int type,
         
     | 
| 
       1619 
1672 
     | 
    
         
             
                const unsigned char *bytes, int len);
         
     | 
| 
      
 1673 
     | 
    
         
            +
             
     | 
| 
      
 1674 
     | 
    
         
            +
            // X509at_add1_attr_by_NID behaves like |X509at_add1_attr|, but adds an
         
     | 
| 
      
 1675 
     | 
    
         
            +
            // attribute created by |X509_ATTRIBUTE_create_by_NID|.
         
     | 
| 
       1620 
1676 
     | 
    
         
             
            OPENSSL_EXPORT STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(
         
     | 
| 
       1621 
1677 
     | 
    
         
             
                STACK_OF(X509_ATTRIBUTE) **x, int nid, int type, const unsigned char *bytes,
         
     | 
| 
       1622 
1678 
     | 
    
         
             
                int len);
         
     | 
| 
      
 1679 
     | 
    
         
            +
             
     | 
| 
      
 1680 
     | 
    
         
            +
            // X509at_add1_attr_by_txt behaves like |X509at_add1_attr|, but adds an
         
     | 
| 
      
 1681 
     | 
    
         
            +
            // attribute created by |X509_ATTRIBUTE_create_by_txt|.
         
     | 
| 
       1623 
1682 
     | 
    
         
             
            OPENSSL_EXPORT STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(
         
     | 
| 
       1624 
1683 
     | 
    
         
             
                STACK_OF(X509_ATTRIBUTE) **x, const char *attrname, int type,
         
     | 
| 
       1625 
1684 
     | 
    
         
             
                const unsigned char *bytes, int len);
         
     | 
| 
       1626 
     | 
    
         
            -
            OPENSSL_EXPORT void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x,
         
     | 
| 
       1627 
     | 
    
         
            -
                                                         ASN1_OBJECT *obj, int lastpos,
         
     | 
| 
       1628 
     | 
    
         
            -
                                                         int type);
         
     | 
| 
       1629 
1685 
     | 
    
         | 
| 
       1630 
1686 
     | 
    
         
             
            // X509_ATTRIBUTE_create_by_NID returns a newly-allocated |X509_ATTRIBUTE| of
         
     | 
| 
       1631 
1687 
     | 
    
         
             
            // type |nid|, or NULL on error. The value is determined as in
         
     | 
| 
         @@ -1785,19 +1841,502 @@ OPENSSL_EXPORT char *X509_TRUST_get0_name(const X509_TRUST *xp); 
     | 
|
| 
       1785 
1841 
     | 
    
         
             
            OPENSSL_EXPORT int X509_TRUST_get_trust(const X509_TRUST *xp);
         
     | 
| 
       1786 
1842 
     | 
    
         | 
| 
       1787 
1843 
     | 
    
         | 
| 
       1788 
     | 
    
         
            -
             
     | 
| 
      
 1844 
     | 
    
         
            +
            struct rsa_pss_params_st {
         
     | 
| 
       1789 
1845 
     | 
    
         
             
              X509_ALGOR *hashAlgorithm;
         
     | 
| 
       1790 
1846 
     | 
    
         
             
              X509_ALGOR *maskGenAlgorithm;
         
     | 
| 
       1791 
1847 
     | 
    
         
             
              ASN1_INTEGER *saltLength;
         
     | 
| 
       1792 
1848 
     | 
    
         
             
              ASN1_INTEGER *trailerField;
         
     | 
| 
       1793 
     | 
    
         
            -
             
     | 
| 
      
 1849 
     | 
    
         
            +
              // OpenSSL caches the MGF hash on |RSA_PSS_PARAMS| in some cases. None of the
         
     | 
| 
      
 1850 
     | 
    
         
            +
              // cases apply to BoringSSL, so this is always NULL, but Node expects the
         
     | 
| 
      
 1851 
     | 
    
         
            +
              // field to be present.
         
     | 
| 
      
 1852 
     | 
    
         
            +
              X509_ALGOR *maskHash;
         
     | 
| 
      
 1853 
     | 
    
         
            +
            } /* RSA_PSS_PARAMS */;
         
     | 
| 
       1794 
1854 
     | 
    
         | 
| 
       1795 
1855 
     | 
    
         
             
            DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
         
     | 
| 
       1796 
1856 
     | 
    
         | 
| 
      
 1857 
     | 
    
         
            +
            /*
         
     | 
| 
      
 1858 
     | 
    
         
            +
            SSL_CTX -> X509_STORE
         
     | 
| 
      
 1859 
     | 
    
         
            +
                            -> X509_LOOKUP
         
     | 
| 
      
 1860 
     | 
    
         
            +
                                    ->X509_LOOKUP_METHOD
         
     | 
| 
      
 1861 
     | 
    
         
            +
                            -> X509_LOOKUP
         
     | 
| 
      
 1862 
     | 
    
         
            +
                                    ->X509_LOOKUP_METHOD
         
     | 
| 
      
 1863 
     | 
    
         
            +
             
     | 
| 
      
 1864 
     | 
    
         
            +
            SSL	-> X509_STORE_CTX
         
     | 
| 
      
 1865 
     | 
    
         
            +
                            ->X509_STORE
         
     | 
| 
      
 1866 
     | 
    
         
            +
             
     | 
| 
      
 1867 
     | 
    
         
            +
            The X509_STORE holds the tables etc for verification stuff.
         
     | 
| 
      
 1868 
     | 
    
         
            +
            A X509_STORE_CTX is used while validating a single certificate.
         
     | 
| 
      
 1869 
     | 
    
         
            +
            The X509_STORE has X509_LOOKUPs for looking up certs.
         
     | 
| 
      
 1870 
     | 
    
         
            +
            The X509_STORE then calls a function to actually verify the
         
     | 
| 
      
 1871 
     | 
    
         
            +
            certificate chain.
         
     | 
| 
      
 1872 
     | 
    
         
            +
            */
         
     | 
| 
      
 1873 
     | 
    
         
            +
             
     | 
| 
      
 1874 
     | 
    
         
            +
            #define X509_LU_X509 1
         
     | 
| 
      
 1875 
     | 
    
         
            +
            #define X509_LU_CRL 2
         
     | 
| 
      
 1876 
     | 
    
         
            +
            #define X509_LU_PKEY 3
         
     | 
| 
      
 1877 
     | 
    
         
            +
             
     | 
| 
      
 1878 
     | 
    
         
            +
            DEFINE_STACK_OF(X509_LOOKUP)
         
     | 
| 
      
 1879 
     | 
    
         
            +
            DEFINE_STACK_OF(X509_OBJECT)
         
     | 
| 
      
 1880 
     | 
    
         
            +
            DEFINE_STACK_OF(X509_VERIFY_PARAM)
         
     | 
| 
      
 1881 
     | 
    
         
            +
             
     | 
| 
      
 1882 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *);
         
     | 
| 
      
 1883 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *);
         
     | 
| 
      
 1884 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer, X509_STORE_CTX *ctx,
         
     | 
| 
      
 1885 
     | 
    
         
            +
                                                        X509 *x);
         
     | 
| 
      
 1886 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx, X509 *x,
         
     | 
| 
      
 1887 
     | 
    
         
            +
                                                          X509 *issuer);
         
     | 
| 
      
 1888 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx);
         
     | 
| 
      
 1889 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx, X509_CRL **crl,
         
     | 
| 
      
 1890 
     | 
    
         
            +
                                                     X509 *x);
         
     | 
| 
      
 1891 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl);
         
     | 
| 
      
 1892 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl,
         
     | 
| 
      
 1893 
     | 
    
         
            +
                                                      X509 *x);
         
     | 
| 
      
 1894 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx);
         
     | 
| 
      
 1895 
     | 
    
         
            +
            typedef STACK_OF(X509) *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx,
         
     | 
| 
      
 1896 
     | 
    
         
            +
                                                                      X509_NAME *nm);
         
     | 
| 
      
 1897 
     | 
    
         
            +
            typedef STACK_OF(X509_CRL) *(*X509_STORE_CTX_lookup_crls_fn)(
         
     | 
| 
      
 1898 
     | 
    
         
            +
                X509_STORE_CTX *ctx, X509_NAME *nm);
         
     | 
| 
      
 1899 
     | 
    
         
            +
            typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx);
         
     | 
| 
      
 1900 
     | 
    
         
            +
             
     | 
| 
      
 1901 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_set_depth(X509_STORE *store, int depth);
         
     | 
| 
      
 1902 
     | 
    
         
            +
             
     | 
| 
      
 1903 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
         
     | 
| 
      
 1904 
     | 
    
         
            +
             
     | 
| 
      
 1905 
     | 
    
         
            +
            #define X509_STORE_CTX_set_app_data(ctx, data) \
         
     | 
| 
      
 1906 
     | 
    
         
            +
              X509_STORE_CTX_set_ex_data(ctx, 0, data)
         
     | 
| 
      
 1907 
     | 
    
         
            +
            #define X509_STORE_CTX_get_app_data(ctx) X509_STORE_CTX_get_ex_data(ctx, 0)
         
     | 
| 
      
 1908 
     | 
    
         
            +
             
     | 
| 
      
 1909 
     | 
    
         
            +
            #define X509_L_FILE_LOAD 1
         
     | 
| 
      
 1910 
     | 
    
         
            +
            #define X509_L_ADD_DIR 2
         
     | 
| 
      
 1911 
     | 
    
         
            +
             
     | 
| 
      
 1912 
     | 
    
         
            +
            #define X509_LOOKUP_load_file(x, name, type) \
         
     | 
| 
      
 1913 
     | 
    
         
            +
              X509_LOOKUP_ctrl((x), X509_L_FILE_LOAD, (name), (long)(type), NULL)
         
     | 
| 
      
 1914 
     | 
    
         
            +
             
     | 
| 
      
 1915 
     | 
    
         
            +
            #define X509_LOOKUP_add_dir(x, name, type) \
         
     | 
| 
      
 1916 
     | 
    
         
            +
              X509_LOOKUP_ctrl((x), X509_L_ADD_DIR, (name), (long)(type), NULL)
         
     | 
| 
      
 1917 
     | 
    
         
            +
             
     | 
| 
      
 1918 
     | 
    
         
            +
            #define X509_V_OK 0
         
     | 
| 
      
 1919 
     | 
    
         
            +
            #define X509_V_ERR_UNSPECIFIED 1
         
     | 
| 
      
 1920 
     | 
    
         
            +
             
     | 
| 
      
 1921 
     | 
    
         
            +
            #define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2
         
     | 
| 
      
 1922 
     | 
    
         
            +
            #define X509_V_ERR_UNABLE_TO_GET_CRL 3
         
     | 
| 
      
 1923 
     | 
    
         
            +
            #define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4
         
     | 
| 
      
 1924 
     | 
    
         
            +
            #define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5
         
     | 
| 
      
 1925 
     | 
    
         
            +
            #define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6
         
     | 
| 
      
 1926 
     | 
    
         
            +
            #define X509_V_ERR_CERT_SIGNATURE_FAILURE 7
         
     | 
| 
      
 1927 
     | 
    
         
            +
            #define X509_V_ERR_CRL_SIGNATURE_FAILURE 8
         
     | 
| 
      
 1928 
     | 
    
         
            +
            #define X509_V_ERR_CERT_NOT_YET_VALID 9
         
     | 
| 
      
 1929 
     | 
    
         
            +
            #define X509_V_ERR_CERT_HAS_EXPIRED 10
         
     | 
| 
      
 1930 
     | 
    
         
            +
            #define X509_V_ERR_CRL_NOT_YET_VALID 11
         
     | 
| 
      
 1931 
     | 
    
         
            +
            #define X509_V_ERR_CRL_HAS_EXPIRED 12
         
     | 
| 
      
 1932 
     | 
    
         
            +
            #define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13
         
     | 
| 
      
 1933 
     | 
    
         
            +
            #define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14
         
     | 
| 
      
 1934 
     | 
    
         
            +
            #define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15
         
     | 
| 
      
 1935 
     | 
    
         
            +
            #define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16
         
     | 
| 
      
 1936 
     | 
    
         
            +
            #define X509_V_ERR_OUT_OF_MEM 17
         
     | 
| 
      
 1937 
     | 
    
         
            +
            #define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18
         
     | 
| 
      
 1938 
     | 
    
         
            +
            #define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19
         
     | 
| 
      
 1939 
     | 
    
         
            +
            #define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20
         
     | 
| 
      
 1940 
     | 
    
         
            +
            #define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21
         
     | 
| 
      
 1941 
     | 
    
         
            +
            #define X509_V_ERR_CERT_CHAIN_TOO_LONG 22
         
     | 
| 
      
 1942 
     | 
    
         
            +
            #define X509_V_ERR_CERT_REVOKED 23
         
     | 
| 
      
 1943 
     | 
    
         
            +
            #define X509_V_ERR_INVALID_CA 24
         
     | 
| 
      
 1944 
     | 
    
         
            +
            #define X509_V_ERR_PATH_LENGTH_EXCEEDED 25
         
     | 
| 
      
 1945 
     | 
    
         
            +
            #define X509_V_ERR_INVALID_PURPOSE 26
         
     | 
| 
      
 1946 
     | 
    
         
            +
            #define X509_V_ERR_CERT_UNTRUSTED 27
         
     | 
| 
      
 1947 
     | 
    
         
            +
            #define X509_V_ERR_CERT_REJECTED 28
         
     | 
| 
      
 1948 
     | 
    
         
            +
            // These are 'informational' when looking for issuer cert
         
     | 
| 
      
 1949 
     | 
    
         
            +
            #define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29
         
     | 
| 
      
 1950 
     | 
    
         
            +
            #define X509_V_ERR_AKID_SKID_MISMATCH 30
         
     | 
| 
      
 1951 
     | 
    
         
            +
            #define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31
         
     | 
| 
      
 1952 
     | 
    
         
            +
            #define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32
         
     | 
| 
      
 1953 
     | 
    
         
            +
             
     | 
| 
      
 1954 
     | 
    
         
            +
            #define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33
         
     | 
| 
      
 1955 
     | 
    
         
            +
            #define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34
         
     | 
| 
      
 1956 
     | 
    
         
            +
            #define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35
         
     | 
| 
      
 1957 
     | 
    
         
            +
            #define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36
         
     | 
| 
      
 1958 
     | 
    
         
            +
            #define X509_V_ERR_INVALID_NON_CA 37
         
     | 
| 
      
 1959 
     | 
    
         
            +
            #define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38
         
     | 
| 
      
 1960 
     | 
    
         
            +
            #define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39
         
     | 
| 
      
 1961 
     | 
    
         
            +
            #define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40
         
     | 
| 
      
 1962 
     | 
    
         
            +
             
     | 
| 
      
 1963 
     | 
    
         
            +
            #define X509_V_ERR_INVALID_EXTENSION 41
         
     | 
| 
      
 1964 
     | 
    
         
            +
            #define X509_V_ERR_INVALID_POLICY_EXTENSION 42
         
     | 
| 
      
 1965 
     | 
    
         
            +
            #define X509_V_ERR_NO_EXPLICIT_POLICY 43
         
     | 
| 
      
 1966 
     | 
    
         
            +
            #define X509_V_ERR_DIFFERENT_CRL_SCOPE 44
         
     | 
| 
      
 1967 
     | 
    
         
            +
            #define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45
         
     | 
| 
      
 1968 
     | 
    
         
            +
             
     | 
| 
      
 1969 
     | 
    
         
            +
            #define X509_V_ERR_UNNESTED_RESOURCE 46
         
     | 
| 
      
 1970 
     | 
    
         
            +
             
     | 
| 
      
 1971 
     | 
    
         
            +
            #define X509_V_ERR_PERMITTED_VIOLATION 47
         
     | 
| 
      
 1972 
     | 
    
         
            +
            #define X509_V_ERR_EXCLUDED_VIOLATION 48
         
     | 
| 
      
 1973 
     | 
    
         
            +
            #define X509_V_ERR_SUBTREE_MINMAX 49
         
     | 
| 
      
 1974 
     | 
    
         
            +
            #define X509_V_ERR_APPLICATION_VERIFICATION 50
         
     | 
| 
      
 1975 
     | 
    
         
            +
            #define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51
         
     | 
| 
      
 1976 
     | 
    
         
            +
            #define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52
         
     | 
| 
      
 1977 
     | 
    
         
            +
            #define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53
         
     | 
| 
      
 1978 
     | 
    
         
            +
            #define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54
         
     | 
| 
      
 1979 
     | 
    
         
            +
             
     | 
| 
      
 1980 
     | 
    
         
            +
            // Suite B mode algorithm violation
         
     | 
| 
      
 1981 
     | 
    
         
            +
            #define X509_V_ERR_SUITE_B_INVALID_VERSION 56
         
     | 
| 
      
 1982 
     | 
    
         
            +
            #define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57
         
     | 
| 
      
 1983 
     | 
    
         
            +
            #define X509_V_ERR_SUITE_B_INVALID_CURVE 58
         
     | 
| 
      
 1984 
     | 
    
         
            +
            #define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59
         
     | 
| 
      
 1985 
     | 
    
         
            +
            #define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60
         
     | 
| 
      
 1986 
     | 
    
         
            +
            #define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61
         
     | 
| 
      
 1987 
     | 
    
         
            +
             
     | 
| 
      
 1988 
     | 
    
         
            +
            // Host, email and IP check errors
         
     | 
| 
      
 1989 
     | 
    
         
            +
            #define X509_V_ERR_HOSTNAME_MISMATCH 62
         
     | 
| 
      
 1990 
     | 
    
         
            +
            #define X509_V_ERR_EMAIL_MISMATCH 63
         
     | 
| 
      
 1991 
     | 
    
         
            +
            #define X509_V_ERR_IP_ADDRESS_MISMATCH 64
         
     | 
| 
      
 1992 
     | 
    
         
            +
             
     | 
| 
      
 1993 
     | 
    
         
            +
            // Caller error
         
     | 
| 
      
 1994 
     | 
    
         
            +
            #define X509_V_ERR_INVALID_CALL 65
         
     | 
| 
      
 1995 
     | 
    
         
            +
            // Issuer lookup error
         
     | 
| 
      
 1996 
     | 
    
         
            +
            #define X509_V_ERR_STORE_LOOKUP 66
         
     | 
| 
      
 1997 
     | 
    
         
            +
             
     | 
| 
      
 1998 
     | 
    
         
            +
            #define X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS 67
         
     | 
| 
      
 1999 
     | 
    
         
            +
             
     | 
| 
      
 2000 
     | 
    
         
            +
            // Certificate verify flags
         
     | 
| 
      
 2001 
     | 
    
         
            +
             
     | 
| 
      
 2002 
     | 
    
         
            +
            // Send issuer+subject checks to verify_cb
         
     | 
| 
      
 2003 
     | 
    
         
            +
            #define X509_V_FLAG_CB_ISSUER_CHECK 0x1
         
     | 
| 
      
 2004 
     | 
    
         
            +
            // Use check time instead of current time
         
     | 
| 
      
 2005 
     | 
    
         
            +
            #define X509_V_FLAG_USE_CHECK_TIME 0x2
         
     | 
| 
      
 2006 
     | 
    
         
            +
            // Lookup CRLs
         
     | 
| 
      
 2007 
     | 
    
         
            +
            #define X509_V_FLAG_CRL_CHECK 0x4
         
     | 
| 
      
 2008 
     | 
    
         
            +
            // Lookup CRLs for whole chain
         
     | 
| 
      
 2009 
     | 
    
         
            +
            #define X509_V_FLAG_CRL_CHECK_ALL 0x8
         
     | 
| 
      
 2010 
     | 
    
         
            +
            // Ignore unhandled critical extensions
         
     | 
| 
      
 2011 
     | 
    
         
            +
            #define X509_V_FLAG_IGNORE_CRITICAL 0x10
         
     | 
| 
      
 2012 
     | 
    
         
            +
            // Does nothing as its functionality has been enabled by default.
         
     | 
| 
      
 2013 
     | 
    
         
            +
            #define X509_V_FLAG_X509_STRICT 0x00
         
     | 
| 
      
 2014 
     | 
    
         
            +
            // Enable proxy certificate validation
         
     | 
| 
      
 2015 
     | 
    
         
            +
            #define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40
         
     | 
| 
      
 2016 
     | 
    
         
            +
            // Enable policy checking
         
     | 
| 
      
 2017 
     | 
    
         
            +
            #define X509_V_FLAG_POLICY_CHECK 0x80
         
     | 
| 
      
 2018 
     | 
    
         
            +
            // Policy variable require-explicit-policy
         
     | 
| 
      
 2019 
     | 
    
         
            +
            #define X509_V_FLAG_EXPLICIT_POLICY 0x100
         
     | 
| 
      
 2020 
     | 
    
         
            +
            // Policy variable inhibit-any-policy
         
     | 
| 
      
 2021 
     | 
    
         
            +
            #define X509_V_FLAG_INHIBIT_ANY 0x200
         
     | 
| 
      
 2022 
     | 
    
         
            +
            // Policy variable inhibit-policy-mapping
         
     | 
| 
      
 2023 
     | 
    
         
            +
            #define X509_V_FLAG_INHIBIT_MAP 0x400
         
     | 
| 
      
 2024 
     | 
    
         
            +
            // Notify callback that policy is OK
         
     | 
| 
      
 2025 
     | 
    
         
            +
            #define X509_V_FLAG_NOTIFY_POLICY 0x800
         
     | 
| 
      
 2026 
     | 
    
         
            +
            // Extended CRL features such as indirect CRLs, alternate CRL signing keys
         
     | 
| 
      
 2027 
     | 
    
         
            +
            #define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000
         
     | 
| 
      
 2028 
     | 
    
         
            +
            // Delta CRL support
         
     | 
| 
      
 2029 
     | 
    
         
            +
            #define X509_V_FLAG_USE_DELTAS 0x2000
         
     | 
| 
      
 2030 
     | 
    
         
            +
            // Check selfsigned CA signature
         
     | 
| 
      
 2031 
     | 
    
         
            +
            #define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000
         
     | 
| 
      
 2032 
     | 
    
         
            +
            // Use trusted store first
         
     | 
| 
      
 2033 
     | 
    
         
            +
            #define X509_V_FLAG_TRUSTED_FIRST 0x8000
         
     | 
| 
      
 2034 
     | 
    
         
            +
            // Suite B 128 bit only mode: not normally used
         
     | 
| 
      
 2035 
     | 
    
         
            +
            #define X509_V_FLAG_SUITEB_128_LOS_ONLY 0x10000
         
     | 
| 
      
 2036 
     | 
    
         
            +
            // Suite B 192 bit only mode
         
     | 
| 
      
 2037 
     | 
    
         
            +
            #define X509_V_FLAG_SUITEB_192_LOS 0x20000
         
     | 
| 
      
 2038 
     | 
    
         
            +
            // Suite B 128 bit mode allowing 192 bit algorithms
         
     | 
| 
      
 2039 
     | 
    
         
            +
            #define X509_V_FLAG_SUITEB_128_LOS 0x30000
         
     | 
| 
      
 2040 
     | 
    
         
            +
             
     | 
| 
      
 2041 
     | 
    
         
            +
            // Allow partial chains if at least one certificate is in trusted store
         
     | 
| 
      
 2042 
     | 
    
         
            +
            #define X509_V_FLAG_PARTIAL_CHAIN 0x80000
         
     | 
| 
      
 2043 
     | 
    
         
            +
             
     | 
| 
      
 2044 
     | 
    
         
            +
            // If the initial chain is not trusted, do not attempt to build an alternative
         
     | 
| 
      
 2045 
     | 
    
         
            +
            // chain. Alternate chain checking was introduced in 1.0.2b. Setting this flag
         
     | 
| 
      
 2046 
     | 
    
         
            +
            // will force the behaviour to match that of previous versions.
         
     | 
| 
      
 2047 
     | 
    
         
            +
            #define X509_V_FLAG_NO_ALT_CHAINS 0x100000
         
     | 
| 
      
 2048 
     | 
    
         
            +
             
     | 
| 
      
 2049 
     | 
    
         
            +
            #define X509_VP_FLAG_DEFAULT 0x1
         
     | 
| 
      
 2050 
     | 
    
         
            +
            #define X509_VP_FLAG_OVERWRITE 0x2
         
     | 
| 
      
 2051 
     | 
    
         
            +
            #define X509_VP_FLAG_RESET_FLAGS 0x4
         
     | 
| 
      
 2052 
     | 
    
         
            +
            #define X509_VP_FLAG_LOCKED 0x8
         
     | 
| 
      
 2053 
     | 
    
         
            +
            #define X509_VP_FLAG_ONCE 0x10
         
     | 
| 
      
 2054 
     | 
    
         
            +
             
     | 
| 
      
 2055 
     | 
    
         
            +
            // Internal use: mask of policy related options
         
     | 
| 
      
 2056 
     | 
    
         
            +
            #define X509_V_FLAG_POLICY_MASK                             \
         
     | 
| 
      
 2057 
     | 
    
         
            +
              (X509_V_FLAG_POLICY_CHECK | X509_V_FLAG_EXPLICIT_POLICY | \
         
     | 
| 
      
 2058 
     | 
    
         
            +
               X509_V_FLAG_INHIBIT_ANY | X509_V_FLAG_INHIBIT_MAP)
         
     | 
| 
      
 2059 
     | 
    
         
            +
             
     | 
| 
      
 2060 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h,
         
     | 
| 
      
 2061 
     | 
    
         
            +
                                                          int type, X509_NAME *name);
         
     | 
| 
      
 2062 
     | 
    
         
            +
            OPENSSL_EXPORT X509_OBJECT *X509_OBJECT_retrieve_by_subject(
         
     | 
| 
      
 2063 
     | 
    
         
            +
                STACK_OF(X509_OBJECT) *h, int type, X509_NAME *name);
         
     | 
| 
      
 2064 
     | 
    
         
            +
            OPENSSL_EXPORT X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h,
         
     | 
| 
      
 2065 
     | 
    
         
            +
                                                                   X509_OBJECT *x);
         
     | 
| 
      
 2066 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_OBJECT_up_ref_count(X509_OBJECT *a);
         
     | 
| 
      
 2067 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_OBJECT_free_contents(X509_OBJECT *a);
         
     | 
| 
      
 2068 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_OBJECT_get_type(const X509_OBJECT *a);
         
     | 
| 
      
 2069 
     | 
    
         
            +
            OPENSSL_EXPORT X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a);
         
     | 
| 
      
 2070 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE *X509_STORE_new(void);
         
     | 
| 
      
 2071 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_up_ref(X509_STORE *store);
         
     | 
| 
      
 2072 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_free(X509_STORE *v);
         
     | 
| 
      
 2073 
     | 
    
         
            +
             
     | 
| 
      
 2074 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *st);
         
     | 
| 
      
 2075 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_get1_certs(X509_STORE_CTX *st,
         
     | 
| 
      
 2076 
     | 
    
         
            +
                                                                 X509_NAME *nm);
         
     | 
| 
      
 2077 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(X509_CRL) *X509_STORE_get1_crls(X509_STORE_CTX *st,
         
     | 
| 
      
 2078 
     | 
    
         
            +
                                                                    X509_NAME *nm);
         
     | 
| 
      
 2079 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags);
         
     | 
| 
      
 2080 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_set_purpose(X509_STORE *ctx, int purpose);
         
     | 
| 
      
 2081 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_set_trust(X509_STORE *ctx, int trust);
         
     | 
| 
      
 2082 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_set1_param(X509_STORE *ctx,
         
     | 
| 
      
 2083 
     | 
    
         
            +
                                                     X509_VERIFY_PARAM *pm);
         
     | 
| 
      
 2084 
     | 
    
         
            +
            OPENSSL_EXPORT X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx);
         
     | 
| 
      
 2085 
     | 
    
         
            +
             
     | 
| 
      
 2086 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_verify(X509_STORE *ctx,
         
     | 
| 
      
 2087 
     | 
    
         
            +
                                                      X509_STORE_CTX_verify_fn verify);
         
     | 
| 
      
 2088 
     | 
    
         
            +
            #define X509_STORE_set_verify_func(ctx, func) \
         
     | 
| 
      
 2089 
     | 
    
         
            +
              X509_STORE_set_verify((ctx), (func))
         
     | 
| 
      
 2090 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx,
         
     | 
| 
      
 2091 
     | 
    
         
            +
                                                          X509_STORE_CTX_verify_fn verify);
         
     | 
| 
      
 2092 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx);
         
     | 
| 
      
 2093 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_verify_cb(
         
     | 
| 
      
 2094 
     | 
    
         
            +
                X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb);
         
     | 
| 
      
 2095 
     | 
    
         
            +
            #define X509_STORE_set_verify_cb_func(ctx, func) \
         
     | 
| 
      
 2096 
     | 
    
         
            +
              X509_STORE_set_verify_cb((ctx), (func))
         
     | 
| 
      
 2097 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_verify_cb
         
     | 
| 
      
 2098 
     | 
    
         
            +
            X509_STORE_get_verify_cb(X509_STORE *ctx);
         
     | 
| 
      
 2099 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_get_issuer(
         
     | 
| 
      
 2100 
     | 
    
         
            +
                X509_STORE *ctx, X509_STORE_CTX_get_issuer_fn get_issuer);
         
     | 
| 
      
 2101 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_get_issuer_fn
         
     | 
| 
      
 2102 
     | 
    
         
            +
            X509_STORE_get_get_issuer(X509_STORE *ctx);
         
     | 
| 
      
 2103 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_check_issued(
         
     | 
| 
      
 2104 
     | 
    
         
            +
                X509_STORE *ctx, X509_STORE_CTX_check_issued_fn check_issued);
         
     | 
| 
      
 2105 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_check_issued_fn
         
     | 
| 
      
 2106 
     | 
    
         
            +
            X509_STORE_get_check_issued(X509_STORE *ctx);
         
     | 
| 
      
 2107 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_check_revocation(
         
     | 
| 
      
 2108 
     | 
    
         
            +
                X509_STORE *ctx, X509_STORE_CTX_check_revocation_fn check_revocation);
         
     | 
| 
      
 2109 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_check_revocation_fn
         
     | 
| 
      
 2110 
     | 
    
         
            +
            X509_STORE_get_check_revocation(X509_STORE *ctx);
         
     | 
| 
      
 2111 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_get_crl(X509_STORE *ctx,
         
     | 
| 
      
 2112 
     | 
    
         
            +
                                                       X509_STORE_CTX_get_crl_fn get_crl);
         
     | 
| 
      
 2113 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_get_crl_fn
         
     | 
| 
      
 2114 
     | 
    
         
            +
            X509_STORE_get_get_crl(X509_STORE *ctx);
         
     | 
| 
      
 2115 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_check_crl(
         
     | 
| 
      
 2116 
     | 
    
         
            +
                X509_STORE *ctx, X509_STORE_CTX_check_crl_fn check_crl);
         
     | 
| 
      
 2117 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_check_crl_fn
         
     | 
| 
      
 2118 
     | 
    
         
            +
            X509_STORE_get_check_crl(X509_STORE *ctx);
         
     | 
| 
      
 2119 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_cert_crl(
         
     | 
| 
      
 2120 
     | 
    
         
            +
                X509_STORE *ctx, X509_STORE_CTX_cert_crl_fn cert_crl);
         
     | 
| 
      
 2121 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_cert_crl_fn
         
     | 
| 
      
 2122 
     | 
    
         
            +
            X509_STORE_get_cert_crl(X509_STORE *ctx);
         
     | 
| 
      
 2123 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_lookup_certs(
         
     | 
| 
      
 2124 
     | 
    
         
            +
                X509_STORE *ctx, X509_STORE_CTX_lookup_certs_fn lookup_certs);
         
     | 
| 
      
 2125 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_lookup_certs_fn
         
     | 
| 
      
 2126 
     | 
    
         
            +
            X509_STORE_get_lookup_certs(X509_STORE *ctx);
         
     | 
| 
      
 2127 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_lookup_crls(
         
     | 
| 
      
 2128 
     | 
    
         
            +
                X509_STORE *ctx, X509_STORE_CTX_lookup_crls_fn lookup_crls);
         
     | 
| 
      
 2129 
     | 
    
         
            +
            #define X509_STORE_set_lookup_crls_cb(ctx, func) \
         
     | 
| 
      
 2130 
     | 
    
         
            +
              X509_STORE_set_lookup_crls((ctx), (func))
         
     | 
| 
      
 2131 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_lookup_crls_fn
         
     | 
| 
      
 2132 
     | 
    
         
            +
            X509_STORE_get_lookup_crls(X509_STORE *ctx);
         
     | 
| 
      
 2133 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_set_cleanup(X509_STORE *ctx,
         
     | 
| 
      
 2134 
     | 
    
         
            +
                                                       X509_STORE_CTX_cleanup_fn cleanup);
         
     | 
| 
      
 2135 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX_cleanup_fn
         
     | 
| 
      
 2136 
     | 
    
         
            +
            X509_STORE_get_cleanup(X509_STORE *ctx);
         
     | 
| 
      
 2137 
     | 
    
         
            +
             
     | 
| 
      
 2138 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX *X509_STORE_CTX_new(void);
         
     | 
| 
      
 2139 
     | 
    
         
            +
             
     | 
| 
      
 2140 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_get1_issuer(X509 **issuer,
         
     | 
| 
      
 2141 
     | 
    
         
            +
                                                          X509_STORE_CTX *ctx, X509 *x);
         
     | 
| 
      
 2142 
     | 
    
         
            +
             
     | 
| 
      
 2143 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_zero(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2144 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_free(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2145 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store,
         
     | 
| 
      
 2146 
     | 
    
         
            +
                                                   X509 *x509, STACK_OF(X509) *chain);
         
     | 
| 
      
 2147 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx,
         
     | 
| 
      
 2148 
     | 
    
         
            +
                                                             STACK_OF(X509) *sk);
         
     | 
| 
      
 2149 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2150 
     | 
    
         
            +
             
     | 
| 
      
 2151 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2152 
     | 
    
         
            +
            OPENSSL_EXPORT X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2153 
     | 
    
         
            +
             
     | 
| 
      
 2154 
     | 
    
         
            +
            OPENSSL_EXPORT X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v,
         
     | 
| 
      
 2155 
     | 
    
         
            +
                                                              X509_LOOKUP_METHOD *m);
         
     | 
| 
      
 2156 
     | 
    
         
            +
             
     | 
| 
      
 2157 
     | 
    
         
            +
            OPENSSL_EXPORT X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void);
         
     | 
| 
      
 2158 
     | 
    
         
            +
            OPENSSL_EXPORT X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
         
     | 
| 
      
 2159 
     | 
    
         
            +
             
     | 
| 
      
 2160 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_add_cert(X509_STORE *ctx, X509 *x);
         
     | 
| 
      
 2161 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x);
         
     | 
| 
      
 2162 
     | 
    
         
            +
             
     | 
| 
      
 2163 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_get_by_subject(X509_STORE_CTX *vs, int type,
         
     | 
| 
      
 2164 
     | 
    
         
            +
                                                         X509_NAME *name, X509_OBJECT *ret);
         
     | 
| 
      
 2165 
     | 
    
         
            +
             
     | 
| 
      
 2166 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc,
         
     | 
| 
      
 2167 
     | 
    
         
            +
                                                long argl, char **ret);
         
     | 
| 
      
 2168 
     | 
    
         
            +
             
     | 
| 
      
 2169 
     | 
    
         
            +
            #ifndef OPENSSL_NO_STDIO
         
     | 
| 
      
 2170 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_load_cert_file(X509_LOOKUP *ctx, const char *file,
         
     | 
| 
      
 2171 
     | 
    
         
            +
                                                   int type);
         
     | 
| 
      
 2172 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_load_crl_file(X509_LOOKUP *ctx, const char *file,
         
     | 
| 
      
 2173 
     | 
    
         
            +
                                                  int type);
         
     | 
| 
      
 2174 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file,
         
     | 
| 
      
 2175 
     | 
    
         
            +
                                                       int type);
         
     | 
| 
      
 2176 
     | 
    
         
            +
            #endif
         
     | 
| 
       1797 
2177 
     | 
    
         | 
| 
      
 2178 
     | 
    
         
            +
            OPENSSL_EXPORT X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method);
         
     | 
| 
      
 2179 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_LOOKUP_free(X509_LOOKUP *ctx);
         
     | 
| 
      
 2180 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_LOOKUP_init(X509_LOOKUP *ctx);
         
     | 
| 
      
 2181 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, int type,
         
     | 
| 
      
 2182 
     | 
    
         
            +
                                                      X509_NAME *name, X509_OBJECT *ret);
         
     | 
| 
      
 2183 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, int type,
         
     | 
| 
      
 2184 
     | 
    
         
            +
                                                            X509_NAME *name,
         
     | 
| 
      
 2185 
     | 
    
         
            +
                                                            ASN1_INTEGER *serial,
         
     | 
| 
      
 2186 
     | 
    
         
            +
                                                            X509_OBJECT *ret);
         
     | 
| 
      
 2187 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, int type,
         
     | 
| 
      
 2188 
     | 
    
         
            +
                                                          unsigned char *bytes, int len,
         
     | 
| 
      
 2189 
     | 
    
         
            +
                                                          X509_OBJECT *ret);
         
     | 
| 
      
 2190 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, int type, char *str,
         
     | 
| 
      
 2191 
     | 
    
         
            +
                                                    int len, X509_OBJECT *ret);
         
     | 
| 
      
 2192 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_LOOKUP_shutdown(X509_LOOKUP *ctx);
         
     | 
| 
      
 2193 
     | 
    
         
            +
             
     | 
| 
      
 2194 
     | 
    
         
            +
            #ifndef OPENSSL_NO_STDIO
         
     | 
| 
      
 2195 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_load_locations(X509_STORE *ctx, const char *file,
         
     | 
| 
      
 2196 
     | 
    
         
            +
                                                         const char *dir);
         
     | 
| 
      
 2197 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_set_default_paths(X509_STORE *ctx);
         
     | 
| 
      
 2198 
     | 
    
         
            +
            #endif
         
     | 
| 
       1798 
2199 
     | 
    
         | 
| 
       1799 
     | 
    
         
            -
             
     | 
| 
       1800 
     | 
    
         
            -
             
     | 
| 
      
 2200 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_get_ex_new_index(long argl, void *argp,
         
     | 
| 
      
 2201 
     | 
    
         
            +
                                                               CRYPTO_EX_unused *unused,
         
     | 
| 
      
 2202 
     | 
    
         
            +
                                                               CRYPTO_EX_dup *dup_unused,
         
     | 
| 
      
 2203 
     | 
    
         
            +
                                                               CRYPTO_EX_free *free_func);
         
     | 
| 
      
 2204 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx,
         
     | 
| 
      
 2205 
     | 
    
         
            +
                                                          void *data);
         
     | 
| 
      
 2206 
     | 
    
         
            +
            OPENSSL_EXPORT void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx);
         
     | 
| 
      
 2207 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2208 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s);
         
     | 
| 
      
 2209 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2210 
     | 
    
         
            +
            OPENSSL_EXPORT X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2211 
     | 
    
         
            +
            OPENSSL_EXPORT X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2212 
     | 
    
         
            +
            OPENSSL_EXPORT X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2213 
     | 
    
         
            +
            OPENSSL_EXPORT X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(
         
     | 
| 
      
 2214 
     | 
    
         
            +
                X509_STORE_CTX *ctx);
         
     | 
| 
      
 2215 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2216 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2217 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2218 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set_cert(X509_STORE_CTX *c, X509 *x);
         
     | 
| 
      
 2219 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set_chain(X509_STORE_CTX *c,
         
     | 
| 
      
 2220 
     | 
    
         
            +
                                                         STACK_OF(X509) *sk);
         
     | 
| 
      
 2221 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get0_untrusted(
         
     | 
| 
      
 2222 
     | 
    
         
            +
                X509_STORE_CTX *ctx);
         
     | 
| 
      
 2223 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c,
         
     | 
| 
      
 2224 
     | 
    
         
            +
                                                         STACK_OF(X509_CRL) *sk);
         
     | 
| 
      
 2225 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
         
     | 
| 
      
 2226 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust);
         
     | 
| 
      
 2227 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx,
         
     | 
| 
      
 2228 
     | 
    
         
            +
                                                              int def_purpose, int purpose,
         
     | 
| 
      
 2229 
     | 
    
         
            +
                                                              int trust);
         
     | 
| 
      
 2230 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx,
         
     | 
| 
      
 2231 
     | 
    
         
            +
                                                         unsigned long flags);
         
     | 
| 
      
 2232 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx,
         
     | 
| 
      
 2233 
     | 
    
         
            +
                                                        unsigned long flags, time_t t);
         
     | 
| 
      
 2234 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set_verify_cb(
         
     | 
| 
      
 2235 
     | 
    
         
            +
                X509_STORE_CTX *ctx, int (*verify_cb)(int, X509_STORE_CTX *));
         
     | 
| 
      
 2236 
     | 
    
         
            +
             
     | 
| 
      
 2237 
     | 
    
         
            +
            OPENSSL_EXPORT X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(
         
     | 
| 
      
 2238 
     | 
    
         
            +
                X509_STORE_CTX *ctx);
         
     | 
| 
      
 2239 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx);
         
     | 
| 
      
 2240 
     | 
    
         
            +
             
     | 
| 
      
 2241 
     | 
    
         
            +
            OPENSSL_EXPORT X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(
         
     | 
| 
      
 2242 
     | 
    
         
            +
                X509_STORE_CTX *ctx);
         
     | 
| 
      
 2243 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx,
         
     | 
| 
      
 2244 
     | 
    
         
            +
                                                          X509_VERIFY_PARAM *param);
         
     | 
| 
      
 2245 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx,
         
     | 
| 
      
 2246 
     | 
    
         
            +
                                                          const char *name);
         
     | 
| 
      
 2247 
     | 
    
         
            +
             
     | 
| 
      
 2248 
     | 
    
         
            +
            // X509_VERIFY_PARAM functions
         
     | 
| 
      
 2249 
     | 
    
         
            +
             
     | 
| 
      
 2250 
     | 
    
         
            +
            OPENSSL_EXPORT X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void);
         
     | 
| 
      
 2251 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param);
         
     | 
| 
      
 2252 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to,
         
     | 
| 
      
 2253 
     | 
    
         
            +
                                                         const X509_VERIFY_PARAM *from);
         
     | 
| 
      
 2254 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to,
         
     | 
| 
      
 2255 
     | 
    
         
            +
                                                      const X509_VERIFY_PARAM *from);
         
     | 
| 
      
 2256 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2257 
     | 
    
         
            +
                                                           const char *name);
         
     | 
| 
      
 2258 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2259 
     | 
    
         
            +
                                                           unsigned long flags);
         
     | 
| 
      
 2260 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2261 
     | 
    
         
            +
                                                             unsigned long flags);
         
     | 
| 
      
 2262 
     | 
    
         
            +
            OPENSSL_EXPORT unsigned long X509_VERIFY_PARAM_get_flags(
         
     | 
| 
      
 2263 
     | 
    
         
            +
                X509_VERIFY_PARAM *param);
         
     | 
| 
      
 2264 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2265 
     | 
    
         
            +
                                                             int purpose);
         
     | 
| 
      
 2266 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2267 
     | 
    
         
            +
                                                           int trust);
         
     | 
| 
      
 2268 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2269 
     | 
    
         
            +
                                                            int depth);
         
     | 
| 
      
 2270 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2271 
     | 
    
         
            +
                                                           time_t t);
         
     | 
| 
      
 2272 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2273 
     | 
    
         
            +
                                                             ASN1_OBJECT *policy);
         
     | 
| 
      
 2274 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_policies(
         
     | 
| 
      
 2275 
     | 
    
         
            +
                X509_VERIFY_PARAM *param, STACK_OF(ASN1_OBJECT) *policies);
         
     | 
| 
      
 2276 
     | 
    
         
            +
             
     | 
| 
      
 2277 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2278 
     | 
    
         
            +
                                                           const char *name,
         
     | 
| 
      
 2279 
     | 
    
         
            +
                                                           size_t namelen);
         
     | 
| 
      
 2280 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2281 
     | 
    
         
            +
                                                           const char *name,
         
     | 
| 
      
 2282 
     | 
    
         
            +
                                                           size_t namelen);
         
     | 
| 
      
 2283 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2284 
     | 
    
         
            +
                                                                unsigned int flags);
         
     | 
| 
      
 2285 
     | 
    
         
            +
            OPENSSL_EXPORT char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *);
         
     | 
| 
      
 2286 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2287 
     | 
    
         
            +
                                                            const char *email,
         
     | 
| 
      
 2288 
     | 
    
         
            +
                                                            size_t emaillen);
         
     | 
| 
      
 2289 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2290 
     | 
    
         
            +
                                                         const unsigned char *ip,
         
     | 
| 
      
 2291 
     | 
    
         
            +
                                                         size_t iplen);
         
     | 
| 
      
 2292 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param,
         
     | 
| 
      
 2293 
     | 
    
         
            +
                                                             const char *ipasc);
         
     | 
| 
      
 2294 
     | 
    
         
            +
             
     | 
| 
      
 2295 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param);
         
     | 
| 
      
 2296 
     | 
    
         
            +
            OPENSSL_EXPORT const char *X509_VERIFY_PARAM_get0_name(
         
     | 
| 
      
 2297 
     | 
    
         
            +
                const X509_VERIFY_PARAM *param);
         
     | 
| 
      
 2298 
     | 
    
         
            +
             
     | 
| 
      
 2299 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param);
         
     | 
| 
      
 2300 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_VERIFY_PARAM_get_count(void);
         
     | 
| 
      
 2301 
     | 
    
         
            +
            OPENSSL_EXPORT const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id);
         
     | 
| 
      
 2302 
     | 
    
         
            +
            OPENSSL_EXPORT const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(
         
     | 
| 
      
 2303 
     | 
    
         
            +
                const char *name);
         
     | 
| 
      
 2304 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_VERIFY_PARAM_table_cleanup(void);
         
     | 
| 
      
 2305 
     | 
    
         
            +
             
     | 
| 
      
 2306 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_policy_check(X509_POLICY_TREE **ptree,
         
     | 
| 
      
 2307 
     | 
    
         
            +
                                                 int *pexplicit_policy,
         
     | 
| 
      
 2308 
     | 
    
         
            +
                                                 STACK_OF(X509) *certs,
         
     | 
| 
      
 2309 
     | 
    
         
            +
                                                 STACK_OF(ASN1_OBJECT) *policy_oids,
         
     | 
| 
      
 2310 
     | 
    
         
            +
                                                 unsigned int flags);
         
     | 
| 
      
 2311 
     | 
    
         
            +
             
     | 
| 
      
 2312 
     | 
    
         
            +
            OPENSSL_EXPORT void X509_policy_tree_free(X509_POLICY_TREE *tree);
         
     | 
| 
      
 2313 
     | 
    
         
            +
             
     | 
| 
      
 2314 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_policy_tree_level_count(const X509_POLICY_TREE *tree);
         
     | 
| 
      
 2315 
     | 
    
         
            +
            OPENSSL_EXPORT X509_POLICY_LEVEL *X509_policy_tree_get0_level(
         
     | 
| 
      
 2316 
     | 
    
         
            +
                const X509_POLICY_TREE *tree, int i);
         
     | 
| 
      
 2317 
     | 
    
         
            +
             
     | 
| 
      
 2318 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(
         
     | 
| 
      
 2319 
     | 
    
         
            +
                const X509_POLICY_TREE *tree);
         
     | 
| 
      
 2320 
     | 
    
         
            +
             
     | 
| 
      
 2321 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(
         
     | 
| 
      
 2322 
     | 
    
         
            +
                const X509_POLICY_TREE *tree);
         
     | 
| 
      
 2323 
     | 
    
         
            +
             
     | 
| 
      
 2324 
     | 
    
         
            +
            OPENSSL_EXPORT int X509_policy_level_node_count(X509_POLICY_LEVEL *level);
         
     | 
| 
      
 2325 
     | 
    
         
            +
             
     | 
| 
      
 2326 
     | 
    
         
            +
            OPENSSL_EXPORT X509_POLICY_NODE *X509_policy_level_get0_node(
         
     | 
| 
      
 2327 
     | 
    
         
            +
                X509_POLICY_LEVEL *level, int i);
         
     | 
| 
      
 2328 
     | 
    
         
            +
             
     | 
| 
      
 2329 
     | 
    
         
            +
            OPENSSL_EXPORT const ASN1_OBJECT *X509_policy_node_get0_policy(
         
     | 
| 
      
 2330 
     | 
    
         
            +
                const X509_POLICY_NODE *node);
         
     | 
| 
      
 2331 
     | 
    
         
            +
             
     | 
| 
      
 2332 
     | 
    
         
            +
            OPENSSL_EXPORT STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(
         
     | 
| 
      
 2333 
     | 
    
         
            +
                const X509_POLICY_NODE *node);
         
     | 
| 
      
 2334 
     | 
    
         
            +
            OPENSSL_EXPORT const X509_POLICY_NODE *X509_policy_node_get0_parent(
         
     | 
| 
      
 2335 
     | 
    
         
            +
                const X509_POLICY_NODE *node);
         
     | 
| 
      
 2336 
     | 
    
         
            +
             
     | 
| 
      
 2337 
     | 
    
         
            +
             
     | 
| 
      
 2338 
     | 
    
         
            +
            #if defined(__cplusplus)
         
     | 
| 
      
 2339 
     | 
    
         
            +
            }  // extern C
         
     | 
| 
       1801 
2340 
     | 
    
         
             
            #endif
         
     | 
| 
       1802 
2341 
     | 
    
         | 
| 
       1803 
2342 
     | 
    
         
             
            #if !defined(BORINGSSL_NO_CXX)
         
     | 
| 
         @@ -1826,13 +2365,10 @@ BORINGSSL_MAKE_DELETER(X509_REQ, X509_REQ_free) 
     | 
|
| 
       1826 
2365 
     | 
    
         
             
            BORINGSSL_MAKE_DELETER(X509_REVOKED, X509_REVOKED_free)
         
     | 
| 
       1827 
2366 
     | 
    
         
             
            BORINGSSL_MAKE_DELETER(X509_SIG, X509_SIG_free)
         
     | 
| 
       1828 
2367 
     | 
    
         
             
            BORINGSSL_MAKE_DELETER(X509_STORE, X509_STORE_free)
         
     | 
| 
      
 2368 
     | 
    
         
            +
            BORINGSSL_MAKE_UP_REF(X509_STORE, X509_STORE_up_ref)
         
     | 
| 
       1829 
2369 
     | 
    
         
             
            BORINGSSL_MAKE_DELETER(X509_STORE_CTX, X509_STORE_CTX_free)
         
     | 
| 
       1830 
2370 
     | 
    
         
             
            BORINGSSL_MAKE_DELETER(X509_VERIFY_PARAM, X509_VERIFY_PARAM_free)
         
     | 
| 
       1831 
2371 
     | 
    
         | 
| 
       1832 
     | 
    
         
            -
            using ScopedX509_STORE_CTX =
         
     | 
| 
       1833 
     | 
    
         
            -
                internal::StackAllocated<X509_STORE_CTX, void, X509_STORE_CTX_zero,
         
     | 
| 
       1834 
     | 
    
         
            -
                                         X509_STORE_CTX_cleanup>;
         
     | 
| 
       1835 
     | 
    
         
            -
             
     | 
| 
       1836 
2372 
     | 
    
         
             
            BSSL_NAMESPACE_END
         
     | 
| 
       1837 
2373 
     | 
    
         | 
| 
       1838 
2374 
     | 
    
         
             
            }  // extern C++
         
     |