grpc 1.84.0 → 1.85.0.pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +40 -27
- data/include/grpc/event_engine/memory_allocator.h +1 -0
- data/include/grpc/grpc.h +3 -0
- data/include/grpc/grpc_security_constants.h +2 -0
- data/include/grpc/impl/channel_arg_names.h +4 -0
- data/src/core/call/call_filters.h +10 -10
- data/src/core/{lib/security/authorization → call}/evaluate_args.cc +22 -1
- data/src/core/{lib/security/authorization → call}/evaluate_args.h +19 -5
- data/src/core/call/filter_fusion.h +15 -15
- data/src/core/call/interception_chain.h +3 -3
- data/src/core/call/metadata_batch.cc +1 -0
- data/src/core/call/metadata_batch.h +45 -33
- data/src/core/call/parsed_metadata.h +3 -3
- data/src/core/call/request_buffer.cc +6 -6
- data/src/core/call/request_buffer.h +1 -1
- data/src/core/channelz/channel_trace.cc +5 -5
- data/src/core/channelz/channel_trace.h +1 -1
- data/src/core/channelz/channelz.cc +9 -9
- data/src/core/channelz/channelz.h +12 -12
- data/src/core/channelz/channelz_registry.cc +10 -10
- data/src/core/channelz/ztrace_collector.h +5 -5
- data/src/core/client_channel/client_channel.cc +4 -4
- data/src/core/client_channel/client_channel_filter.cc +14 -14
- data/src/core/client_channel/global_subchannel_pool.cc +4 -4
- data/src/core/client_channel/subchannel.cc +24 -23
- data/src/core/client_channel/subchannel_stream_client.cc +5 -5
- data/src/core/credentials/call/external/aws_external_account_credentials.cc +7 -7
- data/src/core/credentials/call/external/aws_request_signer.cc +16 -0
- data/src/core/credentials/call/external/external_account_credentials.cc +4 -4
- data/src/core/credentials/call/regional_access_boundary_fetcher.cc +9 -9
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +4 -4
- data/src/core/credentials/transport/google_default/google_default_credentials.cc +3 -3
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +1 -1
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +9 -9
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +1 -1
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +6 -6
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +3 -3
- data/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +4 -4
- data/src/core/credentials/transport/tls/ssl_utils.cc +10 -0
- data/src/core/credentials/transport/tls/tls_security_connector.cc +10 -10
- data/src/core/credentials/transport/tls/tls_security_connector.h +6 -6
- data/src/core/credentials/transport/tls/tls_utils.h +9 -0
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +1 -1
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -1
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +2 -2
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +15 -0
- data/src/core/ext/filters/rbac/rbac_filter.h +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +5 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +30 -21
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +5 -11
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +14 -11
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -4
- data/src/core/ext/transport/chttp2/transport/frame.h +9 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +12 -9
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -2
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +16 -18
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +2 -1
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +277 -189
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +40 -17
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +12 -24
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +3 -29
- data/src/core/ext/transport/chttp2/transport/internal.h +2 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +3 -2
- data/src/core/ext/transport/chttp2/transport/read_context.h +96 -3
- data/src/core/ext/transport/chttp2/transport/reclaimer.cc +32 -0
- data/src/core/ext/transport/chttp2/transport/reclaimer.h +64 -0
- data/src/core/ext/transport/chttp2/transport/security_frame.h +8 -8
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +17 -9
- data/src/core/ext/transport/chttp2/transport/write_cycle.h +23 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +5 -5
- data/src/core/ext/upb-gen/grpc/channelz/v1/channelz.upb.h +137 -73
- data/src/core/ext/upb-gen/grpc/channelz/v1/channelz.upb_minitable.c +45 -25
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/altscontext.upb.h +6 -6
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/altscontext.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/altscontext.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/handshaker.upb.h +46 -26
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/handshaker.upb_minitable.c +17 -14
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/handshaker.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/transport_security_common.upb.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/transport_security_common.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/transport_security_common.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/grpc/health/v1/health.upb.h +329 -0
- data/src/core/ext/upb-gen/grpc/health/v1/health.upb_minitable.c +128 -0
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/health/v1/health.upb_minitable.h +8 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lb/v1/load_balancer.upb.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lb/v1/load_balancer.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lb/v1/load_balancer.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls.upb.h +185 -23
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls.upb_minitable.c +20 -12
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls_config.upb.h +58 -42
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls_config.upb_minitable.c +17 -12
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls_config.upb_minitable.h +5 -5
- data/src/core/ext/upbdefs-gen/grpc/channelz/v1/channelz.upbdefs.c +567 -549
- data/src/core/ext/upbdefs-gen/grpc/lookup/v1/rls_config.upbdefs.c +182 -0
- data/src/core/ext/upbdefs-gen/{src/proto/grpc → grpc}/lookup/v1/rls_config.upbdefs.h +14 -14
- data/src/core/filter/ext_proc/ext_proc_filter.cc +1603 -46
- data/src/core/filter/ext_proc/ext_proc_filter.h +55 -22
- data/src/core/filter/ext_proc/ext_proc_messages.cc +106 -51
- data/src/core/filter/ext_proc/ext_proc_messages.h +36 -9
- data/src/core/handshaker/handshaker.cc +4 -4
- data/src/core/handshaker/http_connect/http_connect_client_handshaker.cc +3 -3
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +10 -10
- data/src/core/handshaker/security/secure_endpoint.cc +13 -13
- data/src/core/handshaker/security/security_handshaker.cc +6 -6
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +4 -4
- data/src/core/lib/channel/channel_args.cc +20 -0
- data/src/core/lib/channel/channel_args.h +17 -17
- data/src/core/lib/channel/promise_based_filter.cc +2 -2
- data/src/core/lib/channel/promise_based_filter.h +66 -27
- data/src/core/lib/debug/trace_flags.cc +2 -0
- data/src/core/lib/debug/trace_flags.h +1 -0
- data/src/core/lib/event_engine/ares_resolver.cc +14 -14
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +7 -7
- data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +4 -4
- data/src/core/lib/event_engine/default_event_engine.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +9 -9
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +16 -14
- data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +6 -6
- data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +3 -3
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +7 -7
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +17 -17
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +3 -3
- data/src/core/lib/event_engine/posix_engine/timer.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +3 -3
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.cc +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.h +3 -3
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +50 -21
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +3 -3
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +3 -3
- data/src/core/lib/event_engine/windows/windows_engine.cc +15 -15
- data/src/core/lib/event_engine/windows/windows_listener.cc +6 -6
- data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +6 -6
- data/src/core/lib/experiments/experiments.cc +48 -0
- data/src/core/lib/experiments/experiments.h +24 -0
- data/src/core/lib/iomgr/buffer_list.cc +3 -3
- data/src/core/lib/iomgr/buffer_list.h +1 -1
- data/src/core/lib/iomgr/combiner.cc +0 -1
- data/src/core/lib/iomgr/ev_apple.cc +4 -4
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
- data/src/core/lib/iomgr/tcp_client_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_posix.cc +7 -7
- data/src/core/lib/promise/activity.cc +1 -1
- data/src/core/lib/promise/activity.h +1 -1
- data/src/core/lib/promise/arena_promise.h +7 -7
- data/src/core/lib/promise/detail/promise_factory.h +8 -8
- data/src/core/lib/promise/detail/promise_like.h +4 -4
- data/src/core/lib/promise/inter_activity_latch.h +6 -6
- data/src/core/lib/promise/inter_activity_pipe.h +1 -1
- data/src/core/lib/promise/observable.h +3 -3
- data/src/core/lib/promise/party.cc +1 -1
- data/src/core/lib/promise/try_seq.h +2 -2
- data/src/core/lib/resource_quota/arena.h +3 -3
- data/src/core/lib/resource_quota/memory_quota.cc +16 -16
- data/src/core/lib/resource_quota/memory_quota.h +1 -1
- data/src/core/lib/resource_quota/thread_quota.cc +3 -3
- data/src/core/lib/security/authorization/audit_logging.cc +5 -5
- data/src/core/lib/security/authorization/authorization_engine.h +1 -1
- data/src/core/lib/security/authorization/grpc_authorization_engine.h +1 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
- data/src/core/lib/security/authorization/matchers.h +1 -1
- data/src/core/lib/surface/call.cc +8 -7
- data/src/core/lib/surface/call.h +3 -3
- data/src/core/lib/surface/call_utils.h +4 -0
- data/src/core/lib/surface/channel.cc +1 -1
- data/src/core/lib/surface/channel.h +1 -1
- data/src/core/lib/surface/channel_init.cc +1 -1
- data/src/core/lib/surface/init.cc +7 -7
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/legacy_channel.cc +2 -2
- data/src/core/lib/surface/version.cc +1 -1
- data/src/core/lib/transport/transport_framing_endpoint_extension.h +3 -3
- data/src/core/load_balancing/autosharding/autosharding.cc +931 -0
- data/src/core/load_balancing/autosharding/autosharding.h +78 -0
- data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +2 -2
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +1 -1
- data/src/core/load_balancing/grpclb/load_balancer_api.h +3 -1
- data/src/core/load_balancing/health_check_client.cc +7 -7
- data/src/core/load_balancing/lb_policy.cc +1 -1
- data/src/core/load_balancing/oob_backend_metric.cc +5 -5
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +2 -2
- data/src/core/load_balancing/ring_hash/ring_hash.cc +109 -37
- data/src/core/load_balancing/rls/rls.cc +23 -17
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +10 -10
- data/src/core/load_balancing/xds/cds.cc +6 -5
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +2 -2
- data/src/core/load_balancing/xds/xds_override_host.cc +10 -10
- data/src/core/mitigation_engine/mitigation_engine.h +28 -4
- data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -0
- data/src/core/resolver/dns/dns_resolver.cc +7 -7
- data/src/core/resolver/fake/fake_resolver.cc +5 -5
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +38 -30
- data/src/core/server/server.cc +30 -30
- data/src/core/server/server.h +4 -3
- data/src/core/server/server_config_selector_filter.cc +3 -3
- data/src/core/server/xds_server_config_fetcher_legacy.cc +15 -15
- data/src/core/telemetry/default_tcp_tracer.cc +1 -1
- data/src/core/telemetry/instrument.cc +30 -16
- data/src/core/telemetry/instrument.h +3 -3
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +3 -3
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +4 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +2 -2
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.h +1 -1
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +5 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +3 -3
- data/src/core/tsi/ssl_transport_security.cc +46 -13
- data/src/core/tsi/ssl_transport_security.h +7 -0
- data/src/core/tsi/ssl_transport_security_utils.cc +16 -6
- data/src/core/util/event_log.cc +3 -3
- data/src/core/util/http_client/httpcli.cc +5 -5
- data/src/core/util/http_client/httpcli.h +1 -1
- data/src/core/util/json/json_object_loader.cc +7 -0
- data/src/core/util/json/json_object_loader.h +17 -2
- data/src/core/util/latent_see.cc +123 -36
- data/src/core/util/latent_see.h +14 -1
- data/src/core/util/mpscq.cc +1 -1
- data/src/core/util/notification.h +4 -4
- data/src/core/util/sync.h +20 -6
- data/src/core/util/table.h +20 -22
- data/src/core/util/work_serializer.cc +2 -2
- data/src/core/xds/grpc/blackboard.cc +4 -3
- data/src/core/xds/grpc/certificate_provider_store.cc +2 -2
- data/src/core/xds/grpc/streaming_call_promise_wrapper.cc +181 -0
- data/src/core/xds/grpc/streaming_call_promise_wrapper.h +213 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc_builder.cc +2 -2
- data/src/core/xds/grpc/xds_client_grpc.cc +8 -8
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_endpoint.cc +1 -1
- data/src/core/xds/grpc/xds_endpoint_parser.cc +11 -0
- data/src/core/xds/grpc/xds_grpc_service_parser.cc +12 -10
- data/src/core/xds/grpc/xds_http_ext_proc_filter.cc +17 -14
- data/src/core/xds/grpc/xds_matcher.h +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.cc +125 -85
- data/src/core/xds/grpc/xds_transport_grpc.h +19 -4
- data/src/core/xds/xds_client/lrs_client.cc +22 -19
- data/src/core/xds/xds_client/xds_client.cc +19 -16
- data/src/core/xds/xds_client/xds_transport.h +49 -3
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +3 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/README.md +1 -1
- data/src/ruby/pb/generate_proto_ruby.sh +1 -1
- data/third_party/abseil-cpp/absl/algorithm/algorithm.h +34 -2
- data/third_party/abseil-cpp/absl/algorithm/container.h +345 -147
- data/third_party/abseil-cpp/absl/base/attributes.h +67 -44
- data/third_party/abseil-cpp/absl/base/call_once.h +1 -0
- data/third_party/abseil-cpp/absl/base/casts.cc +61 -0
- data/third_party/abseil-cpp/absl/base/casts.h +135 -2
- data/third_party/abseil-cpp/absl/base/config.h +63 -41
- data/third_party/abseil-cpp/absl/base/fast_type_id.h +30 -2
- data/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +1 -1
- data/third_party/abseil-cpp/absl/base/internal/hardening.h +136 -0
- data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +6 -2
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +39 -4
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +6 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +77 -15
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +3 -4
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +26 -24
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +74 -29
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -11
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +52 -0
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +5 -1
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +5 -0
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +1 -1
- data/third_party/abseil-cpp/absl/base/macros.h +76 -37
- data/third_party/abseil-cpp/absl/base/nullability.h +5 -5
- data/third_party/abseil-cpp/absl/base/optimization.h +4 -5
- data/third_party/abseil-cpp/absl/base/options.h +46 -18
- data/third_party/abseil-cpp/absl/base/policy_checks.h +5 -5
- data/third_party/abseil-cpp/absl/base/{internal/throw_delegate.cc → throw_delegate.cc} +9 -7
- data/third_party/abseil-cpp/absl/base/{internal/throw_delegate.h → throw_delegate.h} +4 -14
- data/third_party/abseil-cpp/absl/cleanup/cleanup.h +7 -2
- data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -2
- data/third_party/abseil-cpp/absl/container/btree_map.h +60 -10
- data/third_party/abseil-cpp/absl/container/btree_set.h +61 -15
- data/third_party/abseil-cpp/absl/container/fixed_array.h +19 -21
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +49 -27
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +50 -26
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +42 -36
- data/third_party/abseil-cpp/absl/container/internal/btree.h +32 -24
- data/third_party/abseil-cpp/absl/container/internal/btree_container.h +30 -22
- data/third_party/abseil-cpp/absl/container/internal/common.h +57 -5
- data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +40 -36
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +119 -39
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +14 -2
- data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +14 -22
- data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +52 -52
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +7 -7
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +7 -7
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +32 -40
- data/third_party/abseil-cpp/absl/container/internal/layout.h +13 -13
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +95 -72
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +633 -365
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1016 -749
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +0 -1
- data/third_party/abseil-cpp/absl/container/node_hash_map.h +58 -35
- data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +23 -6
- data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +7 -1
- data/third_party/abseil-cpp/absl/crc/internal/crc.cc +4 -6
- data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +41 -0
- data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +0 -16
- data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +5 -0
- data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +304 -188
- data/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +4 -2
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +2 -2
- data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +8 -0
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +4 -4
- data/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc +15 -1
- data/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h +7 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +12 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +6 -5
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +13 -11
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +14 -7
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +3 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +6 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +14 -8
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +48 -38
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +4 -0
- data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +63 -118
- data/third_party/abseil-cpp/absl/debugging/stacktrace.h +7 -47
- data/third_party/abseil-cpp/absl/debugging/symbolize.cc +20 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +83 -149
- data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +4 -17
- data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +4 -4
- data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +2 -4
- data/third_party/abseil-cpp/absl/flags/commandlineflag.h +8 -6
- data/third_party/abseil-cpp/absl/flags/declare.h +9 -0
- data/third_party/abseil-cpp/absl/flags/flag.h +2 -1
- data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +1 -1
- data/third_party/abseil-cpp/absl/flags/internal/flag.cc +19 -18
- data/third_party/abseil-cpp/absl/flags/internal/flag.h +33 -34
- data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +2 -2
- data/third_party/abseil-cpp/absl/flags/marshalling.cc +1 -16
- data/third_party/abseil-cpp/absl/flags/marshalling.h +2 -28
- data/third_party/abseil-cpp/absl/flags/reflection.cc +11 -7
- data/third_party/abseil-cpp/absl/flags/usage_config.cc +2 -2
- data/third_party/abseil-cpp/absl/functional/any_invocable.h +22 -19
- data/third_party/abseil-cpp/absl/functional/bind_front.h +7 -1
- data/third_party/abseil-cpp/absl/functional/function_ref.h +125 -20
- data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +43 -31
- data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +4 -4
- data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +44 -6
- data/third_party/abseil-cpp/absl/hash/hash.h +1 -1
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +39 -51
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +379 -14
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +457 -353
- data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +0 -2
- data/third_party/abseil-cpp/absl/log/internal/check_impl.h +2 -1
- data/third_party/abseil-cpp/absl/log/internal/check_op.cc +4 -0
- data/third_party/abseil-cpp/absl/log/internal/check_op.h +128 -50
- data/third_party/abseil-cpp/absl/log/internal/conditions.h +38 -35
- data/third_party/abseil-cpp/absl/log/internal/log_impl.h +108 -110
- data/third_party/abseil-cpp/absl/log/internal/log_message.cc +10 -6
- data/third_party/abseil-cpp/absl/log/internal/log_message.h +19 -1
- data/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc +4 -4
- data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -1
- data/third_party/abseil-cpp/absl/log/internal/proto.cc +13 -0
- data/third_party/abseil-cpp/absl/log/internal/strip.h +30 -31
- data/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +5 -5
- data/third_party/abseil-cpp/absl/log/internal/structured_proto.h +6 -5
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +30 -30
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +0 -1
- data/third_party/abseil-cpp/absl/log/log.h +2 -2
- data/third_party/abseil-cpp/absl/log/log_entry.cc +263 -0
- data/third_party/abseil-cpp/absl/log/log_entry.h +2 -0
- data/third_party/abseil-cpp/absl/log/vlog_is_on.h +0 -2
- data/third_party/abseil-cpp/absl/memory/memory.h +55 -5
- data/third_party/abseil-cpp/absl/meta/type_traits.h +161 -56
- data/third_party/abseil-cpp/absl/numeric/int128.h +41 -21
- data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +16 -22
- data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +5 -7
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +32 -4
- data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +9 -9
- data/third_party/abseil-cpp/absl/random/beta_distribution.h +2 -2
- data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +26 -53
- data/third_party/abseil-cpp/absl/random/discrete_distribution.h +1 -1
- data/third_party/abseil-cpp/absl/random/distributions.h +17 -17
- data/third_party/abseil-cpp/absl/random/exponential_distribution.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +8 -21
- data/third_party/abseil-cpp/absl/random/internal/entropy_pool.cc +2 -2
- data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/generate_real.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +2 -2
- data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +2 -2
- data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +6 -6
- data/third_party/abseil-cpp/absl/random/internal/platform.h +0 -13
- data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +6 -6
- data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +2 -2
- data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +6 -5
- data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +5 -31
- data/third_party/abseil-cpp/absl/random/internal/seed_material.h +2 -1
- data/third_party/abseil-cpp/absl/random/internal/traits.h +21 -0
- data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +23 -23
- data/third_party/abseil-cpp/absl/random/mocking_access.h +74 -0
- data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +1 -1
- data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +63 -18
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +30 -4
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +225 -63
- data/third_party/abseil-cpp/absl/status/status.cc +66 -70
- data/third_party/abseil-cpp/absl/status/status.h +254 -23
- data/third_party/abseil-cpp/absl/status/status_payload_printer.h +3 -2
- data/third_party/abseil-cpp/absl/status/statusor.h +117 -137
- data/third_party/abseil-cpp/absl/strings/ascii.h +10 -6
- data/third_party/abseil-cpp/absl/strings/cord.cc +41 -17
- data/third_party/abseil-cpp/absl/strings/cord.h +26 -17
- data/third_party/abseil-cpp/absl/strings/cord_buffer.h +4 -2
- data/third_party/abseil-cpp/absl/strings/escaping.cc +305 -125
- data/third_party/abseil-cpp/absl/strings/escaping.h +12 -2
- data/third_party/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +2 -2
- data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +27 -21
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +11 -19
- data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +6 -0
- data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +1 -0
- data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +0 -141
- data/third_party/abseil-cpp/absl/strings/internal/escaping.h +2 -24
- data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +31 -36
- data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +39 -39
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -22
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +2 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +2 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +921 -231
- data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +18 -16
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +16 -12
- data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +12 -0
- data/third_party/abseil-cpp/absl/strings/numbers.cc +477 -8
- data/third_party/abseil-cpp/absl/strings/numbers.h +29 -12
- data/third_party/abseil-cpp/absl/strings/resize_and_overwrite.h +198 -0
- data/third_party/abseil-cpp/absl/strings/str_cat.cc +96 -91
- data/third_party/abseil-cpp/absl/strings/str_cat.h +53 -13
- data/third_party/abseil-cpp/absl/strings/str_split.h +14 -9
- data/third_party/abseil-cpp/absl/strings/string_view.h +10 -716
- data/third_party/abseil-cpp/absl/strings/substitute.cc +24 -24
- data/third_party/abseil-cpp/absl/strings/substitute.h +2 -2
- data/third_party/abseil-cpp/absl/synchronization/barrier.cc +1 -1
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +24 -3
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +30 -33
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +5 -0
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +41 -29
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +199 -94
- data/third_party/abseil-cpp/absl/synchronization/notification.cc +5 -5
- data/third_party/abseil-cpp/absl/synchronization/notification.h +1 -1
- data/third_party/abseil-cpp/absl/time/clock.cc +29 -30
- data/third_party/abseil-cpp/absl/time/clock.h +3 -0
- data/third_party/abseil-cpp/absl/time/duration.cc +2 -2
- data/third_party/abseil-cpp/absl/time/format.cc +3 -10
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +12 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +131 -91
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +6 -103
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +185 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +10 -15
- data/third_party/abseil-cpp/absl/time/time.cc +4 -4
- data/third_party/abseil-cpp/absl/time/time.h +14 -13
- data/third_party/abseil-cpp/absl/types/compare.h +64 -63
- data/third_party/abseil-cpp/absl/types/internal/span.h +6 -6
- data/third_party/abseil-cpp/absl/types/optional.h +31 -4
- data/third_party/abseil-cpp/absl/types/optional_ref.h +295 -0
- data/third_party/{boringssl-with-bazel/crypto/x509/x_val.cc → abseil-cpp/absl/types/source_location.cc} +4 -14
- data/third_party/abseil-cpp/absl/types/source_location.h +172 -0
- data/third_party/abseil-cpp/absl/types/span.h +67 -38
- data/third_party/abseil-cpp/absl/types/variant.h +75 -18
- data/third_party/abseil-cpp/absl/utility/utility.h +112 -16
- data/third_party/boringssl-with-bazel/crypto/aes/aes.cc +3 -0
- data/third_party/boringssl-with-bazel/crypto/armv8_feature_parsing.h +67 -0
- data/third_party/boringssl-with-bazel/crypto/asn1/a_bitstr.cc +143 -105
- data/third_party/boringssl-with-bazel/crypto/asn1/a_bool.cc +5 -8
- data/third_party/boringssl-with-bazel/crypto/asn1/a_d2i_fp.cc +3 -3
- data/third_party/boringssl-with-bazel/crypto/asn1/a_dup.cc +6 -6
- data/third_party/boringssl-with-bazel/crypto/asn1/a_gentm.cc +33 -12
- data/third_party/boringssl-with-bazel/crypto/asn1/a_i2d_fp.cc +7 -6
- data/third_party/boringssl-with-bazel/crypto/asn1/a_int.cc +80 -52
- data/third_party/boringssl-with-bazel/crypto/asn1/a_mbstr.cc +7 -4
- data/third_party/boringssl-with-bazel/crypto/asn1/a_object.cc +70 -72
- data/third_party/boringssl-with-bazel/crypto/asn1/a_strex.cc +38 -42
- data/third_party/boringssl-with-bazel/crypto/asn1/a_strnid.cc +41 -39
- data/third_party/boringssl-with-bazel/crypto/asn1/a_time.cc +59 -35
- data/third_party/boringssl-with-bazel/crypto/asn1/a_type.cc +275 -15
- data/third_party/boringssl-with-bazel/crypto/asn1/a_utctm.cc +32 -13
- data/third_party/boringssl-with-bazel/crypto/asn1/asn1_lib.cc +128 -30
- data/third_party/boringssl-with-bazel/crypto/asn1/asn_pack.cc +10 -10
- data/third_party/boringssl-with-bazel/crypto/asn1/f_int.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/asn1/f_string.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/asn1/internal.h +261 -115
- data/third_party/boringssl-with-bazel/crypto/asn1/posix_time.cc +8 -5
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_dec.cc +373 -725
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_enc.cc +211 -526
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_fre.cc +22 -19
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_new.cc +26 -24
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_typ.cc +19 -5
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_utl.cc +47 -51
- data/third_party/boringssl-with-bazel/crypto/base64/base64.cc +14 -15
- data/third_party/boringssl-with-bazel/crypto/bcm_support.h +7 -29
- data/third_party/boringssl-with-bazel/crypto/bio/bio.cc +234 -176
- data/third_party/boringssl-with-bazel/crypto/bio/bio_mem.cc +72 -86
- data/third_party/boringssl-with-bazel/crypto/bio/connect.cc +153 -199
- data/third_party/boringssl-with-bazel/crypto/bio/errno.cc +3 -1
- data/third_party/boringssl-with-bazel/crypto/bio/fd.cc +56 -55
- data/third_party/boringssl-with-bazel/crypto/bio/file.cc +70 -78
- data/third_party/boringssl-with-bazel/crypto/bio/hexdump.cc +6 -4
- data/third_party/boringssl-with-bazel/crypto/bio/internal.h +69 -17
- data/third_party/boringssl-with-bazel/crypto/bio/pair.cc +117 -136
- data/third_party/boringssl-with-bazel/crypto/bio/printf.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/bio/socket.cc +116 -50
- data/third_party/boringssl-with-bazel/crypto/bio/socket_helper.cc +53 -5
- data/third_party/boringssl-with-bazel/crypto/blake2/blake2.cc +9 -5
- data/third_party/boringssl-with-bazel/crypto/bn/bn_asn1.cc +2 -2
- data/third_party/boringssl-with-bazel/crypto/bn/convert.cc +56 -70
- data/third_party/boringssl-with-bazel/crypto/bn/div.cc +102 -0
- data/third_party/boringssl-with-bazel/crypto/bn/exponentiation.cc +26 -42
- data/third_party/boringssl-with-bazel/crypto/bn/sqrt.cc +93 -0
- data/third_party/boringssl-with-bazel/crypto/buf/buf.cc +6 -5
- data/third_party/boringssl-with-bazel/crypto/bytestring/asn1_compat.cc +6 -5
- data/third_party/boringssl-with-bazel/crypto/bytestring/ber.cc +22 -20
- data/third_party/boringssl-with-bazel/crypto/bytestring/cbb.cc +119 -59
- data/third_party/boringssl-with-bazel/crypto/bytestring/cbs.cc +115 -31
- data/third_party/boringssl-with-bazel/crypto/bytestring/internal.h +79 -24
- data/third_party/boringssl-with-bazel/crypto/bytestring/unicode.cc +2 -2
- data/third_party/boringssl-with-bazel/crypto/chacha/chacha.cc +5 -3
- data/third_party/boringssl-with-bazel/crypto/chacha/internal.h +23 -22
- data/third_party/boringssl-with-bazel/crypto/cipher/derive_key.cc +14 -18
- data/third_party/boringssl-with-bazel/crypto/cipher/e_aesctrhmac.cc +73 -58
- data/third_party/boringssl-with-bazel/crypto/cipher/e_aeseax.cc +132 -70
- data/third_party/boringssl-with-bazel/crypto/cipher/e_aesgcmsiv.cc +390 -249
- data/third_party/boringssl-with-bazel/crypto/cipher/e_chacha20poly1305.cc +200 -137
- data/third_party/boringssl-with-bazel/crypto/cipher/e_des.cc +45 -29
- data/third_party/boringssl-with-bazel/crypto/cipher/e_null.cc +9 -5
- data/third_party/boringssl-with-bazel/crypto/cipher/e_rc2.cc +43 -28
- data/third_party/boringssl-with-bazel/crypto/cipher/e_rc4.cc +7 -5
- data/third_party/boringssl-with-bazel/crypto/cipher/e_tls.cc +250 -237
- data/third_party/boringssl-with-bazel/crypto/cipher/get_cipher.cc +12 -12
- data/third_party/boringssl-with-bazel/crypto/cipher/internal.h +59 -59
- data/third_party/boringssl-with-bazel/crypto/cipher/tls_cbc.cc +111 -111
- data/third_party/boringssl-with-bazel/crypto/cms/cms.cc +48 -42
- data/third_party/boringssl-with-bazel/crypto/conf/conf.cc +69 -63
- data/third_party/boringssl-with-bazel/crypto/conf/internal.h +11 -12
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_apple.cc +8 -5
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_fuchsia.cc +6 -1
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_linux.cc +7 -1
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_openbsd.cc +7 -21
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_sysreg.cc +15 -41
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_win.cc +16 -3
- data/third_party/boringssl-with-bazel/crypto/cpu_arm_freebsd.cc +4 -2
- data/third_party/boringssl-with-bazel/crypto/cpu_arm_linux.cc +54 -31
- data/third_party/boringssl-with-bazel/crypto/cpu_arm_linux.h +79 -101
- data/third_party/boringssl-with-bazel/crypto/cpu_intel.cc +51 -45
- data/third_party/boringssl-with-bazel/crypto/crypto.cc +26 -55
- data/third_party/boringssl-with-bazel/crypto/curve25519/curve25519.cc +28 -25
- data/third_party/boringssl-with-bazel/crypto/curve25519/curve25519_tables.h +6 -6
- data/third_party/boringssl-with-bazel/crypto/curve25519/internal.h +14 -15
- data/third_party/boringssl-with-bazel/crypto/curve25519/spake25519.cc +23 -20
- data/third_party/boringssl-with-bazel/crypto/des/des.cc +27 -19
- data/third_party/boringssl-with-bazel/crypto/des/internal.h +4 -9
- data/third_party/boringssl-with-bazel/crypto/dh/dh_asn1.cc +34 -49
- data/third_party/boringssl-with-bazel/crypto/dh/params.cc +44 -41
- data/third_party/boringssl-with-bazel/crypto/digest/digest_extra.cc +87 -40
- data/third_party/boringssl-with-bazel/crypto/dsa/dsa.cc +237 -260
- data/third_party/boringssl-with-bazel/crypto/dsa/dsa_asn1.cc +100 -173
- data/third_party/boringssl-with-bazel/crypto/dsa/internal.h +23 -21
- data/third_party/boringssl-with-bazel/crypto/ec/ec_asn1.cc +181 -209
- data/third_party/boringssl-with-bazel/crypto/ec/ec_derive.cc +26 -28
- data/third_party/boringssl-with-bazel/crypto/ec/hash_to_curve.cc +265 -174
- data/third_party/boringssl-with-bazel/crypto/ec/internal.h +54 -18
- data/third_party/boringssl-with-bazel/crypto/ecdh/ecdh.cc +7 -5
- data/third_party/boringssl-with-bazel/crypto/ecdsa/ecdsa_asn1.cc +50 -70
- data/third_party/boringssl-with-bazel/crypto/ecdsa/ecdsa_p1363.cc +54 -0
- data/third_party/boringssl-with-bazel/crypto/engine/engine.cc +7 -7
- data/third_party/boringssl-with-bazel/crypto/err/err.cc +116 -105
- data/third_party/boringssl-with-bazel/crypto/err/internal.h +8 -21
- data/third_party/boringssl-with-bazel/crypto/evp/evp.cc +238 -166
- data/third_party/boringssl-with-bazel/crypto/evp/evp_asn1.cc +202 -234
- data/third_party/boringssl-with-bazel/crypto/evp/evp_ctx.cc +260 -159
- data/third_party/boringssl-with-bazel/crypto/evp/evp_kem.cc +82 -0
- data/third_party/boringssl-with-bazel/crypto/evp/internal.h +292 -137
- data/third_party/boringssl-with-bazel/crypto/evp/p_dh.cc +198 -25
- data/third_party/boringssl-with-bazel/crypto/evp/p_dsa.cc +333 -0
- data/third_party/boringssl-with-bazel/crypto/evp/p_ec.cc +427 -42
- data/third_party/boringssl-with-bazel/crypto/evp/p_ed25519.cc +270 -14
- data/third_party/boringssl-with-bazel/crypto/evp/p_hkdf.cc +70 -102
- data/third_party/boringssl-with-bazel/crypto/evp/p_mldsa.cc +549 -0
- data/third_party/boringssl-with-bazel/crypto/evp/p_mlkem.cc +485 -0
- data/third_party/boringssl-with-bazel/crypto/evp/p_rsa.cc +666 -158
- data/third_party/boringssl-with-bazel/crypto/evp/p_x25519.cc +290 -28
- data/third_party/boringssl-with-bazel/crypto/evp/p_xwing.cc +273 -0
- data/third_party/boringssl-with-bazel/crypto/evp/pbkdf.cc +14 -7
- data/third_party/boringssl-with-bazel/crypto/evp/print.cc +34 -89
- data/third_party/boringssl-with-bazel/crypto/evp/scrypt.cc +23 -21
- data/third_party/boringssl-with-bazel/crypto/evp/sign.cc +23 -42
- data/third_party/boringssl-with-bazel/crypto/ex_data.cc +40 -41
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/aes.cc.inc +34 -28
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/aes_nohw.cc.inc +119 -121
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/cbc.cc.inc +16 -14
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/cfb.cc.inc +12 -10
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/ctr.cc.inc +7 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/gcm.cc.inc +39 -29
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/gcm_nohw.cc.inc +15 -13
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/internal.h +193 -177
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/key_wrap.cc.inc +5 -3
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/mode_wrappers.cc.inc +7 -3
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/ofb.cc.inc +7 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bcm.cc +24 -19
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bcm_interface.h +512 -384
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/add.cc.inc +7 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +63 -44
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/bn.cc.inc +40 -37
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/bytes.cc.inc +27 -22
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/cmp.cc.inc +9 -7
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/ctx.cc.inc +62 -126
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/div.cc.inc +92 -167
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/div_extra.cc.inc +15 -12
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/exponentiation.cc.inc +96 -93
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/gcd.cc.inc +73 -92
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/gcd_extra.cc.inc +59 -71
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/generic.cc.inc +54 -57
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/internal.h +333 -255
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/jacobi.cc.inc +12 -19
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/montgomery.cc.inc +80 -95
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/montgomery_inv.cc.inc +53 -96
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/mul.cc.inc +58 -419
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/prime.cc.inc +164 -213
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/random.cc.inc +27 -26
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/rsaz_exp.cc.inc +12 -10
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/rsaz_exp.h +47 -49
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/shift.cc.inc +14 -17
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/sqrt.cc.inc +19 -108
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/aead.cc.inc +427 -105
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/cipher.cc.inc +412 -212
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/e_aes.cc.inc +230 -225
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/e_aesccm.cc.inc +115 -84
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/internal.h +374 -27
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cmac/cmac.cc.inc +28 -23
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/delocate.h +36 -40
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/dh/check.cc.inc +68 -78
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/dh/dh.cc.inc +154 -196
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/dh/internal.h +24 -24
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digest/digest.cc.inc +40 -69
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digest/digests.cc.inc +13 -7
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digest/internal.h +13 -11
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digest/md32_common.h +86 -81
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digestsign/digestsign.cc.inc +38 -34
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/ec.cc.inc +187 -196
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/ec_key.cc.inc +196 -154
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/ec_montgomery.cc.inc +65 -125
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/felem.cc.inc +85 -22
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/internal.h +281 -287
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/oct.cc.inc +23 -22
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p256.cc.inc +514 -573
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p256_internal.h +193 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/scalar.cc.inc +44 -39
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/simple.cc.inc +58 -90
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/simple_mul.cc.inc +39 -34
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/util.cc.inc +6 -3
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/wnaf.cc.inc +23 -20
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ecdh/ecdh.cc.inc +6 -3
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +47 -37
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ecdsa/internal.h +5 -10
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/entropy/internal.h +38 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/entropy/jitter.cc.inc +463 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/hkdf/hkdf.cc.inc +8 -6
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/hmac/hmac.cc.inc +19 -16
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/keccak/internal.h +41 -15
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/keccak/keccak.cc.inc +172 -44
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/mldsa/fips_known_values.inc +5 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/mldsa/mldsa.cc.inc +1632 -766
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/mlkem/fips_known_values.inc +5 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/mlkem/mlkem.cc.inc +740 -436
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rand/ctrdrbg.cc.inc +240 -53
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rand/internal.h +41 -26
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rand/rand.cc.inc +221 -218
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/internal.h +64 -67
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/padding.cc.inc +49 -57
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/rsa.cc.inc +247 -234
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/rsa_impl.cc.inc +392 -692
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/self_check/fips.cc.inc +10 -10
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/self_check/self_check.cc.inc +479 -449
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/service_indicator/internal.h +34 -11
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +46 -43
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/sha/internal.h +61 -70
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/sha/sha1.cc.inc +27 -13
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/sha/sha256.cc.inc +46 -30
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/sha/sha512.cc.inc +47 -47
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/address.h +98 -73
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/fors.cc.inc +108 -98
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/fors.h +14 -24
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/merkle.cc.inc +94 -91
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/merkle.h +19 -31
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/params.h +156 -56
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +318 -132
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/thash.cc.inc +234 -81
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/thash.h +20 -34
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/wots.cc.inc +97 -96
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/wots.h +10 -20
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/tls/internal.h +2 -16
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/tls/kdf.cc.inc +26 -26
- data/third_party/boringssl-with-bazel/crypto/fuzzer_mode.cc +5 -5
- data/third_party/boringssl-with-bazel/crypto/hpke/hpke.cc +461 -97
- data/third_party/boringssl-with-bazel/crypto/hrss/hrss.cc +153 -149
- data/third_party/boringssl-with-bazel/crypto/hrss/internal.h +9 -13
- data/third_party/boringssl-with-bazel/crypto/internal.h +531 -394
- data/third_party/boringssl-with-bazel/crypto/kyber/internal.h +117 -12
- data/third_party/boringssl-with-bazel/crypto/kyber/kyber.cc +59 -58
- data/third_party/boringssl-with-bazel/crypto/lhash/internal.h +38 -37
- data/third_party/boringssl-with-bazel/crypto/lhash/lhash.cc +68 -65
- data/third_party/boringssl-with-bazel/crypto/md4/md4.cc +19 -6
- data/third_party/boringssl-with-bazel/crypto/md5/internal.h +6 -9
- data/third_party/boringssl-with-bazel/crypto/md5/md5.cc +18 -6
- data/third_party/boringssl-with-bazel/crypto/mem.cc +61 -65
- data/third_party/boringssl-with-bazel/crypto/mem_internal.h +671 -0
- data/third_party/boringssl-with-bazel/crypto/mldsa/mldsa.cc +238 -32
- data/third_party/boringssl-with-bazel/crypto/mlkem/mlkem.cc +21 -65
- data/third_party/boringssl-with-bazel/crypto/obj/obj.cc +132 -157
- data/third_party/boringssl-with-bazel/crypto/obj/obj_dat.h +79 -1
- data/third_party/boringssl-with-bazel/crypto/obj/obj_xref.cc +14 -11
- data/third_party/boringssl-with-bazel/crypto/params_internal.h +30 -0
- data/third_party/boringssl-with-bazel/crypto/pem/internal.h +20 -15
- data/third_party/boringssl-with-bazel/crypto/pem/pem_all.cc +20 -19
- data/third_party/boringssl-with-bazel/crypto/pem/pem_info.cc +72 -76
- data/third_party/boringssl-with-bazel/crypto/pem/pem_lib.cc +215 -217
- data/third_party/boringssl-with-bazel/crypto/pem/pem_oth.cc +6 -6
- data/third_party/boringssl-with-bazel/crypto/pem/pem_pk8.cc +13 -13
- data/third_party/boringssl-with-bazel/crypto/pem/pem_pkey.cc +11 -11
- data/third_party/boringssl-with-bazel/crypto/pkcs7/internal.h +12 -17
- data/third_party/boringssl-with-bazel/crypto/pkcs7/pkcs7.cc +29 -27
- data/third_party/boringssl-with-bazel/crypto/pkcs7/pkcs7_x509.cc +55 -49
- data/third_party/boringssl-with-bazel/crypto/pkcs8/internal.h +21 -26
- data/third_party/boringssl-with-bazel/crypto/pkcs8/p5_pbev2.cc +33 -31
- data/third_party/boringssl-with-bazel/crypto/pkcs8/pkcs8.cc +73 -81
- data/third_party/boringssl-with-bazel/crypto/pkcs8/pkcs8_x509.cc +139 -138
- data/third_party/boringssl-with-bazel/crypto/poly1305/internal.h +3 -7
- data/third_party/boringssl-with-bazel/crypto/poly1305/poly1305.cc +5 -4
- data/third_party/boringssl-with-bazel/crypto/poly1305/poly1305_arm.cc +43 -47
- data/third_party/boringssl-with-bazel/crypto/poly1305/poly1305_vec.cc +29 -26
- data/third_party/boringssl-with-bazel/crypto/pool/internal.h +64 -20
- data/third_party/boringssl-with-bazel/crypto/pool/pool.cc +177 -157
- data/third_party/boringssl-with-bazel/crypto/rand/deterministic.cc +9 -16
- data/third_party/boringssl-with-bazel/crypto/rand/fork_detect.cc +70 -42
- data/third_party/boringssl-with-bazel/crypto/rand/forkunsafe.cc +7 -7
- data/third_party/boringssl-with-bazel/crypto/rand/getentropy.cc +6 -13
- data/third_party/boringssl-with-bazel/crypto/rand/internal.h +16 -4
- data/third_party/boringssl-with-bazel/crypto/rand/ios.cc +4 -11
- data/third_party/boringssl-with-bazel/crypto/rand/rand.cc +11 -9
- data/third_party/boringssl-with-bazel/crypto/rand/trusty.cc +4 -11
- data/third_party/boringssl-with-bazel/crypto/rand/urandom.cc +16 -195
- data/third_party/boringssl-with-bazel/crypto/rand/windows.cc +12 -19
- data/third_party/boringssl-with-bazel/crypto/refcount.cc +7 -17
- data/third_party/boringssl-with-bazel/crypto/rsa/internal.h +22 -7
- data/third_party/boringssl-with-bazel/crypto/rsa/rsa_asn1.cc +199 -78
- data/third_party/boringssl-with-bazel/crypto/rsa/rsa_crypt.cc +49 -50
- data/third_party/boringssl-with-bazel/crypto/rsa/rsa_extra.cc +11 -0
- data/third_party/boringssl-with-bazel/crypto/rsa/rsa_print.cc +4 -6
- data/third_party/boringssl-with-bazel/crypto/sha/sha1.cc +3 -0
- data/third_party/boringssl-with-bazel/crypto/sha/sha256.cc +3 -1
- data/third_party/boringssl-with-bazel/crypto/sha/sha512.cc +6 -4
- data/third_party/boringssl-with-bazel/crypto/siphash/siphash.cc +2 -0
- data/third_party/boringssl-with-bazel/crypto/slhdsa/slhdsa.cc +43 -6
- data/third_party/boringssl-with-bazel/crypto/spake2plus/internal.h +31 -31
- data/third_party/boringssl-with-bazel/crypto/spake2plus/spake2plus.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/stack/stack.cc +89 -130
- data/third_party/boringssl-with-bazel/crypto/thread.cc +14 -14
- data/third_party/boringssl-with-bazel/crypto/thread_none.cc +10 -13
- data/third_party/boringssl-with-bazel/crypto/thread_pthread.cc +22 -35
- data/third_party/boringssl-with-bazel/crypto/thread_win.cc +29 -40
- data/third_party/boringssl-with-bazel/crypto/trust_token/internal.h +81 -88
- data/third_party/boringssl-with-bazel/crypto/trust_token/pmbtoken.cc +160 -144
- data/third_party/boringssl-with-bazel/crypto/trust_token/trust_token.cc +96 -80
- data/third_party/boringssl-with-bazel/crypto/trust_token/voprf.cc +90 -87
- data/third_party/boringssl-with-bazel/crypto/x509/a_digest.cc +5 -5
- data/third_party/boringssl-with-bazel/crypto/x509/a_sign.cc +51 -48
- data/third_party/boringssl-with-bazel/crypto/x509/a_verify.cc +30 -34
- data/third_party/boringssl-with-bazel/crypto/x509/algorithm.cc +47 -16
- data/third_party/boringssl-with-bazel/crypto/x509/asn1_gen.cc +41 -43
- data/third_party/boringssl-with-bazel/crypto/x509/by_dir.cc +183 -237
- data/third_party/boringssl-with-bazel/crypto/x509/by_file.cc +29 -30
- data/third_party/boringssl-with-bazel/crypto/x509/internal.h +276 -180
- data/third_party/boringssl-with-bazel/crypto/x509/name_print.cc +15 -13
- data/third_party/boringssl-with-bazel/crypto/x509/policy.cc +415 -525
- data/third_party/boringssl-with-bazel/crypto/x509/rsa_pss.cc +94 -271
- data/third_party/boringssl-with-bazel/crypto/x509/t_crl.cc +11 -8
- data/third_party/boringssl-with-bazel/crypto/x509/t_req.cc +26 -23
- data/third_party/boringssl-with-bazel/crypto/x509/t_x509.cc +26 -22
- data/third_party/boringssl-with-bazel/crypto/x509/t_x509a.cc +3 -1
- data/third_party/boringssl-with-bazel/crypto/x509/v3_akey.cc +69 -76
- data/third_party/boringssl-with-bazel/crypto/x509/v3_akeya.cc +2 -2
- data/third_party/boringssl-with-bazel/crypto/x509/v3_alt.cc +112 -69
- data/third_party/boringssl-with-bazel/crypto/x509/v3_bcons.cc +15 -14
- data/third_party/boringssl-with-bazel/crypto/x509/v3_bitst.cc +16 -18
- data/third_party/boringssl-with-bazel/crypto/x509/v3_conf.cc +62 -67
- data/third_party/boringssl-with-bazel/crypto/x509/v3_cpols.cc +143 -170
- data/third_party/boringssl-with-bazel/crypto/x509/v3_crld.cc +121 -165
- data/third_party/boringssl-with-bazel/crypto/x509/v3_enum.cc +13 -12
- data/third_party/boringssl-with-bazel/crypto/x509/v3_extku.cc +17 -34
- data/third_party/boringssl-with-bazel/crypto/x509/v3_genn.cc +20 -10
- data/third_party/boringssl-with-bazel/crypto/x509/v3_ia5.cc +22 -18
- data/third_party/boringssl-with-bazel/crypto/x509/v3_info.cc +45 -47
- data/third_party/boringssl-with-bazel/crypto/x509/v3_int.cc +35 -33
- data/third_party/boringssl-with-bazel/crypto/x509/v3_lib.cc +106 -61
- data/third_party/boringssl-with-bazel/crypto/x509/v3_ncons.cc +642 -358
- data/third_party/boringssl-with-bazel/crypto/x509/v3_ocsp.cc +25 -22
- data/third_party/boringssl-with-bazel/crypto/x509/v3_pcons.cc +15 -14
- data/third_party/boringssl-with-bazel/crypto/x509/v3_pmaps.cc +16 -15
- data/third_party/boringssl-with-bazel/crypto/x509/v3_prn.cc +6 -6
- data/third_party/boringssl-with-bazel/crypto/x509/v3_purp.cc +150 -137
- data/third_party/boringssl-with-bazel/crypto/x509/v3_skey.cc +23 -26
- data/third_party/boringssl-with-bazel/crypto/x509/v3_utl.cc +151 -178
- data/third_party/boringssl-with-bazel/crypto/x509/x509.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/x509/x509_att.cc +32 -30
- data/third_party/boringssl-with-bazel/crypto/x509/x509_cmp.cc +95 -88
- data/third_party/boringssl-with-bazel/crypto/x509/x509_d2.cc +9 -9
- data/third_party/boringssl-with-bazel/crypto/x509/x509_def.cc +6 -8
- data/third_party/boringssl-with-bazel/crypto/x509/x509_ext.cc +46 -24
- data/third_party/boringssl-with-bazel/crypto/x509/x509_lu.cc +211 -195
- data/third_party/boringssl-with-bazel/crypto/x509/x509_obj.cc +20 -16
- data/third_party/boringssl-with-bazel/crypto/x509/x509_req.cc +37 -46
- data/third_party/boringssl-with-bazel/crypto/x509/x509_set.cc +62 -90
- data/third_party/boringssl-with-bazel/crypto/x509/x509_trs.cc +18 -13
- data/third_party/boringssl-with-bazel/crypto/x509/x509_v3.cc +33 -33
- data/third_party/boringssl-with-bazel/crypto/x509/x509_vfy.cc +109 -110
- data/third_party/boringssl-with-bazel/crypto/x509/x509_vpm.cc +56 -47
- data/third_party/boringssl-with-bazel/crypto/x509/x509cset.cc +27 -40
- data/third_party/boringssl-with-bazel/crypto/x509/x509name.cc +77 -67
- data/third_party/boringssl-with-bazel/crypto/x509/x509rset.cc +5 -17
- data/third_party/boringssl-with-bazel/crypto/x509/x509spki.cc +13 -13
- data/third_party/boringssl-with-bazel/crypto/x509/x_algor.cc +131 -24
- data/third_party/boringssl-with-bazel/crypto/x509/x_all.cc +72 -39
- data/third_party/boringssl-with-bazel/crypto/x509/x_attrib.cc +10 -4
- data/third_party/boringssl-with-bazel/crypto/x509/x_crl.cc +77 -44
- data/third_party/boringssl-with-bazel/crypto/x509/x_exten.cc +6 -0
- data/third_party/boringssl-with-bazel/crypto/x509/x_name.cc +311 -383
- data/third_party/boringssl-with-bazel/crypto/x509/x_pubkey.cc +129 -82
- data/third_party/boringssl-with-bazel/crypto/x509/x_req.cc +11 -6
- data/third_party/boringssl-with-bazel/crypto/x509/x_sig.cc +4 -4
- data/third_party/boringssl-with-bazel/crypto/x509/x_spki.cc +11 -1
- data/third_party/boringssl-with-bazel/crypto/x509/x_x509.cc +285 -280
- data/third_party/boringssl-with-bazel/crypto/x509/x_x509a.cc +60 -60
- data/third_party/boringssl-with-bazel/crypto/xwing/xwing.cc +257 -0
- data/third_party/boringssl-with-bazel/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +301 -0
- data/third_party/boringssl-with-bazel/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +301 -0
- data/third_party/boringssl-with-bazel/gen/crypto/err_data.cc +526 -500
- data/third_party/boringssl-with-bazel/include/openssl/aead.h +286 -114
- data/third_party/boringssl-with-bazel/include/openssl/aes.h +43 -43
- data/third_party/boringssl-with-bazel/include/openssl/asm_base.h +29 -16
- data/third_party/boringssl-with-bazel/include/openssl/asn1.h +641 -631
- data/third_party/boringssl-with-bazel/include/openssl/asn1t.h +7 -9
- data/third_party/boringssl-with-bazel/include/openssl/base.h +34 -54
- data/third_party/boringssl-with-bazel/include/openssl/base64.h +30 -30
- data/third_party/boringssl-with-bazel/include/openssl/bio.h +373 -316
- data/third_party/boringssl-with-bazel/include/openssl/blake2.h +15 -11
- data/third_party/boringssl-with-bazel/include/openssl/blowfish.h +10 -3
- data/third_party/boringssl-with-bazel/include/openssl/bn.h +298 -306
- data/third_party/boringssl-with-bazel/include/openssl/buf.h +14 -14
- data/third_party/boringssl-with-bazel/include/openssl/bytestring.h +272 -207
- data/third_party/boringssl-with-bazel/include/openssl/cast.h +45 -8
- data/third_party/boringssl-with-bazel/include/openssl/chacha.h +3 -3
- data/third_party/boringssl-with-bazel/include/openssl/cipher.h +334 -152
- data/third_party/boringssl-with-bazel/include/openssl/cmac.h +13 -13
- data/third_party/boringssl-with-bazel/include/openssl/cms.h +35 -34
- data/third_party/boringssl-with-bazel/include/openssl/conf.h +15 -14
- data/third_party/boringssl-with-bazel/include/openssl/crypto.h +15 -13
- data/third_party/boringssl-with-bazel/include/openssl/ctrdrbg.h +49 -15
- data/third_party/boringssl-with-bazel/include/openssl/curve25519.h +24 -24
- data/third_party/boringssl-with-bazel/include/openssl/des.h +22 -16
- data/third_party/boringssl-with-bazel/include/openssl/dh.h +95 -95
- data/third_party/boringssl-with-bazel/include/openssl/digest.h +140 -71
- data/third_party/boringssl-with-bazel/include/openssl/dsa.h +101 -101
- data/third_party/boringssl-with-bazel/include/openssl/ec.h +143 -119
- data/third_party/boringssl-with-bazel/include/openssl/ec_key.h +97 -97
- data/third_party/boringssl-with-bazel/include/openssl/ecdh.h +9 -9
- data/third_party/boringssl-with-bazel/include/openssl/ecdsa.h +89 -46
- data/third_party/boringssl-with-bazel/include/openssl/engine.h +5 -5
- data/third_party/boringssl-with-bazel/include/openssl/err.h +73 -71
- data/third_party/boringssl-with-bazel/include/openssl/evp.h +824 -344
- data/third_party/boringssl-with-bazel/include/openssl/evp_errors.h +9 -2
- data/third_party/boringssl-with-bazel/include/openssl/ex_data.h +27 -32
- data/third_party/boringssl-with-bazel/include/openssl/hkdf.h +6 -6
- data/third_party/boringssl-with-bazel/include/openssl/hmac.h +31 -31
- data/third_party/boringssl-with-bazel/include/openssl/hpke.h +133 -117
- data/third_party/boringssl-with-bazel/include/openssl/hrss.h +14 -8
- data/third_party/boringssl-with-bazel/include/openssl/kdf.h +20 -19
- data/third_party/boringssl-with-bazel/include/openssl/lhash.h +4 -25
- data/third_party/boringssl-with-bazel/include/openssl/md4.h +14 -7
- data/third_party/boringssl-with-bazel/include/openssl/md5.h +7 -7
- data/third_party/boringssl-with-bazel/include/openssl/mem.h +38 -38
- data/third_party/boringssl-with-bazel/include/openssl/mldsa.h +380 -24
- data/third_party/boringssl-with-bazel/include/openssl/mlkem.h +43 -43
- data/third_party/boringssl-with-bazel/include/openssl/nid.h +1297 -2
- data/third_party/boringssl-with-bazel/include/openssl/obj.h +49 -49
- data/third_party/boringssl-with-bazel/include/openssl/opensslconf.h +30 -0
- data/third_party/boringssl-with-bazel/include/openssl/params.h +42 -0
- data/third_party/boringssl-with-bazel/include/openssl/pem.h +39 -30
- data/third_party/boringssl-with-bazel/include/openssl/pkcs7.h +40 -40
- data/third_party/boringssl-with-bazel/include/openssl/pkcs8.h +69 -63
- data/third_party/boringssl-with-bazel/include/openssl/poly1305.h +8 -5
- data/third_party/boringssl-with-bazel/include/openssl/pool.h +54 -25
- data/third_party/boringssl-with-bazel/include/openssl/posix_time.h +6 -6
- data/third_party/boringssl-with-bazel/include/openssl/prefix_symbols.h +7866 -0
- data/third_party/boringssl-with-bazel/include/openssl/prefix_symbols_internal_S.h +585 -0
- data/third_party/boringssl-with-bazel/include/openssl/prefix_symbols_internal_c.h +305 -0
- data/third_party/boringssl-with-bazel/include/openssl/rand.h +18 -18
- data/third_party/boringssl-with-bazel/include/openssl/rc4.h +4 -4
- data/third_party/boringssl-with-bazel/include/openssl/ripemd.h +15 -10
- data/third_party/boringssl-with-bazel/include/openssl/rsa.h +272 -235
- data/third_party/boringssl-with-bazel/include/openssl/service_indicator.h +4 -81
- data/third_party/boringssl-with-bazel/include/openssl/sha.h +43 -166
- data/third_party/boringssl-with-bazel/include/openssl/sha2.h +201 -0
- data/third_party/boringssl-with-bazel/include/openssl/slhdsa.h +100 -48
- data/third_party/boringssl-with-bazel/include/openssl/span.h +190 -75
- data/third_party/boringssl-with-bazel/include/openssl/ssl.h +2168 -1567
- data/third_party/boringssl-with-bazel/include/openssl/ssl3.h +11 -69
- data/third_party/boringssl-with-bazel/include/openssl/stack.h +135 -80
- data/third_party/boringssl-with-bazel/include/openssl/target.h +13 -1
- data/third_party/boringssl-with-bazel/include/openssl/thread.h +0 -10
- data/third_party/boringssl-with-bazel/include/openssl/tls1.h +31 -310
- data/third_party/boringssl-with-bazel/include/openssl/tls_prf.h +47 -0
- data/third_party/boringssl-with-bazel/include/openssl/trust_token.h +97 -92
- data/third_party/boringssl-with-bazel/include/openssl/type_check.h +1 -1
- data/third_party/boringssl-with-bazel/include/openssl/x509.h +1805 -1857
- data/third_party/boringssl-with-bazel/include/openssl/x509v3.h +1 -1
- data/third_party/boringssl-with-bazel/include/openssl/xwing.h +115 -0
- data/third_party/boringssl-with-bazel/ssl/bio_ssl.cc +24 -19
- data/third_party/boringssl-with-bazel/ssl/d1_both.cc +59 -57
- data/third_party/boringssl-with-bazel/ssl/d1_lib.cc +53 -42
- data/third_party/boringssl-with-bazel/ssl/d1_pkt.cc +4 -4
- data/third_party/boringssl-with-bazel/ssl/d1_srtp.cc +2 -2
- data/third_party/boringssl-with-bazel/ssl/dtls_method.cc +10 -10
- data/third_party/boringssl-with-bazel/ssl/dtls_record.cc +6 -6
- data/third_party/boringssl-with-bazel/ssl/encrypted_client_hello.cc +61 -71
- data/third_party/boringssl-with-bazel/ssl/extensions.cc +967 -366
- data/third_party/boringssl-with-bazel/ssl/handoff.cc +77 -38
- data/third_party/boringssl-with-bazel/ssl/handshake.cc +63 -30
- data/third_party/boringssl-with-bazel/ssl/handshake_client.cc +129 -85
- data/third_party/boringssl-with-bazel/ssl/handshake_server.cc +116 -68
- data/third_party/boringssl-with-bazel/ssl/internal.h +983 -1207
- data/third_party/boringssl-with-bazel/ssl/s3_both.cc +34 -29
- data/third_party/boringssl-with-bazel/ssl/s3_lib.cc +4 -3
- data/third_party/boringssl-with-bazel/ssl/s3_pkt.cc +12 -12
- data/third_party/boringssl-with-bazel/ssl/ssl_aead_ctx.cc +5 -5
- data/third_party/boringssl-with-bazel/ssl/ssl_asn1.cc +114 -59
- data/third_party/boringssl-with-bazel/ssl/ssl_buffer.cc +17 -18
- data/third_party/boringssl-with-bazel/ssl/ssl_cert.cc +99 -61
- data/third_party/boringssl-with-bazel/ssl/ssl_cipher.cc +143 -134
- data/third_party/boringssl-with-bazel/ssl/ssl_credential.cc +188 -90
- data/third_party/boringssl-with-bazel/ssl/ssl_file.cc +132 -225
- data/third_party/boringssl-with-bazel/ssl/ssl_key_share.cc +79 -7
- data/third_party/boringssl-with-bazel/ssl/ssl_lib.cc +698 -302
- data/third_party/boringssl-with-bazel/ssl/ssl_privkey.cc +102 -45
- data/third_party/boringssl-with-bazel/ssl/ssl_session.cc +117 -102
- data/third_party/boringssl-with-bazel/ssl/ssl_transcript.cc +3 -3
- data/third_party/boringssl-with-bazel/ssl/ssl_versions.cc +24 -24
- data/third_party/boringssl-with-bazel/ssl/ssl_x509.cc +184 -170
- data/third_party/boringssl-with-bazel/ssl/t1_enc.cc +12 -10
- data/third_party/boringssl-with-bazel/ssl/tls13_both.cc +86 -54
- data/third_party/boringssl-with-bazel/ssl/tls13_client.cc +176 -90
- data/third_party/boringssl-with-bazel/ssl/tls13_enc.cc +166 -112
- data/third_party/boringssl-with-bazel/ssl/tls13_server.cc +188 -97
- data/third_party/boringssl-with-bazel/ssl/tls_method.cc +23 -23
- data/third_party/boringssl-with-bazel/ssl/tls_record.cc +17 -14
- data/third_party/boringssl-with-bazel/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
- data/third_party/boringssl-with-bazel/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
- data/third_party/boringssl-with-bazel/third_party/fiat/curve25519_64_adx.h +37 -33
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_64.h +4 -93
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_64_msvc.h +4 -69
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_field_32.br.c.inc +71 -0
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_field_64.br.c.inc +84 -0
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_point.br.c.inc +166 -0
- metadata +77 -52
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +0 -240
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +0 -56
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +0 -157
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +0 -72
- data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +0 -181
- data/third_party/abseil-cpp/absl/base/internal/identity.h +0 -39
- data/third_party/abseil-cpp/absl/base/internal/nullability_deprecated.h +0 -106
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +0 -105
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +0 -50
- data/third_party/abseil-cpp/absl/strings/string_view.cc +0 -257
- data/third_party/boringssl-with-bazel/crypto/evp/p_dh_asn1.cc +0 -142
- data/third_party/boringssl-with-bazel/crypto/evp/p_dsa_asn1.cc +0 -279
- data/third_party/boringssl-with-bazel/crypto/evp/p_ec_asn1.cc +0 -286
- data/third_party/boringssl-with-bazel/crypto/evp/p_ed25519_asn1.cc +0 -225
- data/third_party/boringssl-with-bazel/crypto/evp/p_rsa_asn1.cc +0 -198
- data/third_party/boringssl-with-bazel/crypto/evp/p_x25519_asn1.cc +0 -237
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p224-64.cc.inc +0 -1163
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p256-nistz.cc.inc +0 -741
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p256-nistz.h +0 -207
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/blinding.cc.inc +0 -147
- data/third_party/boringssl-with-bazel/crypto/rand/getrandom_fillin.h +0 -64
- data/third_party/boringssl-with-bazel/crypto/rand/passive.cc +0 -178
- data/third_party/boringssl-with-bazel/crypto/x509/ext_dat.h +0 -92
- data/third_party/boringssl-with-bazel/include/openssl/bcm_public.h +0 -82
- data/third_party/boringssl-with-bazel/include/openssl/experimental/kyber.h +0 -146
|
@@ -17,61 +17,81 @@
|
|
|
17
17
|
|
|
18
18
|
#include <openssl/base.h>
|
|
19
19
|
#include <openssl/evp.h>
|
|
20
|
+
#include <openssl/span.h>
|
|
20
21
|
#include <openssl/x509.h>
|
|
21
22
|
|
|
22
23
|
#include "../asn1/internal.h"
|
|
24
|
+
#include "../mem_internal.h"
|
|
23
25
|
#include "../internal.h"
|
|
24
26
|
|
|
25
|
-
#if defined(__cplusplus)
|
|
26
|
-
extern "C" {
|
|
27
|
-
#endif
|
|
28
|
-
|
|
29
|
-
|
|
30
27
|
// Internal structures.
|
|
31
28
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
} X509_VAL;
|
|
36
|
-
|
|
37
|
-
DECLARE_ASN1_FUNCTIONS_const(X509_VAL)
|
|
29
|
+
DECLARE_OPAQUE_STRUCT(x509_st, X509Impl)
|
|
30
|
+
DECLARE_OPAQUE_STRUCT(x509_store_st, X509Store)
|
|
31
|
+
DECLARE_OPAQUE_STRUCT(X509_name_st, X509Name)
|
|
38
32
|
|
|
39
33
|
struct X509_pubkey_st {
|
|
40
|
-
X509_ALGOR
|
|
41
|
-
ASN1_BIT_STRING
|
|
34
|
+
X509_ALGOR algor;
|
|
35
|
+
ASN1_BIT_STRING public_key;
|
|
42
36
|
EVP_PKEY *pkey;
|
|
43
37
|
} /* X509_PUBKEY */;
|
|
44
38
|
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
BSSL_NAMESPACE_BEGIN
|
|
40
|
+
|
|
41
|
+
void x509_pubkey_init(X509_PUBKEY *key);
|
|
42
|
+
void x509_pubkey_cleanup(X509_PUBKEY *key);
|
|
43
|
+
|
|
44
|
+
int x509_parse_public_key(CBS *cbs, X509_PUBKEY *out,
|
|
45
|
+
Span<const EVP_PKEY_ALG *const> algs);
|
|
46
|
+
int x509_marshal_public_key(CBB *cbb, const X509_PUBKEY *in);
|
|
47
|
+
int x509_pubkey_set1(X509_PUBKEY *key, EVP_PKEY *pkey);
|
|
48
|
+
|
|
49
|
+
// X509_PUBKEY is an `ASN1_ITEM` whose ASN.1 type is SubjectPublicKeyInfo and C
|
|
50
|
+
// type is `X509_PUBKEY*`.
|
|
51
|
+
// TODO(crbug.com/42290417): Remove this when `X509` and `X509_REQ` no longer
|
|
52
|
+
// depend on the tables.
|
|
47
53
|
DECLARE_ASN1_ITEM(X509_PUBKEY)
|
|
48
54
|
|
|
55
|
+
BSSL_NAMESPACE_END
|
|
56
|
+
|
|
49
57
|
struct X509_name_entry_st {
|
|
50
58
|
ASN1_OBJECT *object;
|
|
51
|
-
ASN1_STRING
|
|
59
|
+
ASN1_STRING value;
|
|
52
60
|
int set;
|
|
53
61
|
} /* X509_NAME_ENTRY */;
|
|
54
62
|
|
|
55
|
-
|
|
56
|
-
|
|
63
|
+
BSSL_NAMESPACE_BEGIN
|
|
64
|
+
|
|
65
|
+
// X509_NAME_ENTRY is an `ASN1_ITEM` whose ASN.1 type is AttributeTypeAndValue
|
|
66
|
+
// (RFC 5280) and C type is `X509_NAME_ENTRY*`.
|
|
57
67
|
DECLARE_ASN1_ITEM(X509_NAME_ENTRY)
|
|
58
68
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
69
|
+
struct X509_NAME_CACHE {
|
|
70
|
+
static constexpr bool kAllowUniquePtr = true;
|
|
71
|
+
// canon contains the DER-encoded canonicalized X.509 Name, not including the
|
|
72
|
+
// outermost TLV.
|
|
73
|
+
Array<uint8_t> canon;
|
|
74
|
+
// der contains the DER-encoded X.509 Name, including the outermost TLV.
|
|
75
|
+
Array<uint8_t> der;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
class X509Name : public X509_name_st {
|
|
79
|
+
public:
|
|
80
|
+
STACK_OF(X509_NAME_ENTRY) *entries = nullptr;
|
|
81
|
+
mutable bssl::Atomic<bssl::X509_NAME_CACHE *> cache;
|
|
66
82
|
} /* X509_NAME */;
|
|
67
83
|
|
|
84
|
+
BSSL_NAMESPACE_END
|
|
85
|
+
|
|
68
86
|
struct x509_attributes_st {
|
|
69
87
|
ASN1_OBJECT *object;
|
|
70
88
|
STACK_OF(ASN1_TYPE) *set;
|
|
71
89
|
} /* X509_ATTRIBUTE */;
|
|
72
90
|
|
|
73
|
-
|
|
74
|
-
|
|
91
|
+
BSSL_NAMESPACE_BEGIN
|
|
92
|
+
|
|
93
|
+
// X509_ATTRIBUTE is an `ASN1_ITEM` whose ASN.1 type is Attribute (RFC 2986) and
|
|
94
|
+
// C type is `X509_ATTRIBUTE*`.
|
|
75
95
|
DECLARE_ASN1_ITEM(X509_ATTRIBUTE)
|
|
76
96
|
|
|
77
97
|
typedef struct x509_cert_aux_st {
|
|
@@ -83,65 +103,76 @@ typedef struct x509_cert_aux_st {
|
|
|
83
103
|
|
|
84
104
|
DECLARE_ASN1_FUNCTIONS_const(X509_CERT_AUX)
|
|
85
105
|
|
|
106
|
+
BSSL_NAMESPACE_END
|
|
107
|
+
|
|
86
108
|
struct X509_extension_st {
|
|
87
109
|
ASN1_OBJECT *object;
|
|
88
110
|
ASN1_BOOLEAN critical;
|
|
89
111
|
ASN1_OCTET_STRING *value;
|
|
90
112
|
} /* X509_EXTENSION */;
|
|
91
113
|
|
|
92
|
-
// X509_EXTENSION is an
|
|
93
|
-
// 5280) and C type is
|
|
114
|
+
// X509_EXTENSION is an `ASN1_ITEM` whose ASN.1 type is X.509 Extension (RFC
|
|
115
|
+
// 5280) and C type is `X509_EXTENSION*`.
|
|
94
116
|
DECLARE_ASN1_ITEM(X509_EXTENSION)
|
|
95
117
|
|
|
96
|
-
|
|
97
|
-
|
|
118
|
+
BSSL_NAMESPACE_BEGIN
|
|
119
|
+
|
|
120
|
+
// X509_EXTENSIONS is an `ASN1_ITEM` whose ASN.1 type is SEQUENCE of Extension
|
|
121
|
+
// (RFC 5280) and C type is `STACK_OF(X509_EXTENSION)*`.
|
|
98
122
|
DECLARE_ASN1_ITEM(X509_EXTENSIONS)
|
|
99
123
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
//
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
124
|
+
class X509Impl : public x509_st, public RefCounted<X509Impl> {
|
|
125
|
+
public:
|
|
126
|
+
X509Impl();
|
|
127
|
+
|
|
128
|
+
// TBSCertificate fields:
|
|
129
|
+
uint8_t version = X509_VERSION_1; // One of the `X509_VERSION_*` constants.
|
|
130
|
+
ASN1_INTEGER serialNumber;
|
|
131
|
+
X509_ALGOR tbs_sig_alg;
|
|
132
|
+
X509Name issuer;
|
|
133
|
+
ASN1_TIME notBefore;
|
|
134
|
+
ASN1_TIME notAfter;
|
|
135
|
+
X509Name subject;
|
|
136
|
+
X509_PUBKEY key;
|
|
137
|
+
ASN1_BIT_STRING *issuerUID = nullptr; // [ 1 ] optional in v2
|
|
138
|
+
ASN1_BIT_STRING *subjectUID = nullptr; // [ 2 ] optional in v2
|
|
139
|
+
STACK_OF(X509_EXTENSION) *extensions = nullptr; // [ 3 ] optional in v3
|
|
140
|
+
// Certificate fields:
|
|
141
|
+
X509_ALGOR sig_alg;
|
|
142
|
+
ASN1_BIT_STRING signature;
|
|
143
|
+
// Other state:
|
|
144
|
+
// buf, if not nullptr, contains a copy of the serialized Certificate.
|
|
145
|
+
// TODO(davidben): Now every parsed `X509` has an underlying `CRYPTO_BUFFER`,
|
|
146
|
+
// but `X509`s created peacemeal do not. Can we make this more uniform?
|
|
147
|
+
CRYPTO_BUFFER *buf = nullptr;
|
|
123
148
|
CRYPTO_EX_DATA ex_data;
|
|
124
149
|
// These contain copies of various extension values
|
|
125
|
-
long ex_pathlen;
|
|
126
|
-
uint32_t ex_flags;
|
|
127
|
-
uint32_t ex_kusage;
|
|
128
|
-
uint32_t ex_xkusage;
|
|
129
|
-
ASN1_OCTET_STRING *skid;
|
|
130
|
-
AUTHORITY_KEYID *akid;
|
|
131
|
-
STACK_OF(DIST_POINT) *crldp;
|
|
132
|
-
STACK_OF(GENERAL_NAME) *altname;
|
|
133
|
-
NAME_CONSTRAINTS *nc;
|
|
134
|
-
unsigned char cert_hash[SHA256_DIGEST_LENGTH];
|
|
135
|
-
X509_CERT_AUX *aux;
|
|
136
|
-
|
|
150
|
+
long ex_pathlen = -1;
|
|
151
|
+
uint32_t ex_flags = 0;
|
|
152
|
+
uint32_t ex_kusage = 0;
|
|
153
|
+
uint32_t ex_xkusage = 0;
|
|
154
|
+
ASN1_OCTET_STRING *skid = nullptr;
|
|
155
|
+
AUTHORITY_KEYID *akid = nullptr;
|
|
156
|
+
STACK_OF(DIST_POINT) *crldp = nullptr;
|
|
157
|
+
STACK_OF(GENERAL_NAME) *altname = nullptr;
|
|
158
|
+
NAME_CONSTRAINTS *nc = nullptr;
|
|
159
|
+
unsigned char cert_hash[SHA256_DIGEST_LENGTH] = {};
|
|
160
|
+
bssl::X509_CERT_AUX *aux = nullptr;
|
|
161
|
+
Mutex lock;
|
|
162
|
+
|
|
163
|
+
private:
|
|
164
|
+
friend RefCounted;
|
|
165
|
+
~X509Impl();
|
|
137
166
|
} /* X509 */;
|
|
138
167
|
|
|
139
|
-
|
|
140
|
-
|
|
168
|
+
int x509_marshal_tbs_cert(CBB *cbb, const X509 *x509);
|
|
169
|
+
|
|
170
|
+
// X509 is an `ASN1_ITEM` whose ASN.1 type is X.509 Certificate (RFC 5280) and C
|
|
171
|
+
// type is `X509*`.
|
|
141
172
|
DECLARE_ASN1_ITEM(X509)
|
|
142
173
|
|
|
143
174
|
typedef struct {
|
|
144
|
-
ASN1_ENCODING enc;
|
|
175
|
+
bssl::ASN1_ENCODING enc;
|
|
145
176
|
ASN1_INTEGER *version;
|
|
146
177
|
X509_NAME *subject;
|
|
147
178
|
X509_PUBKEY *pubkey;
|
|
@@ -149,20 +180,24 @@ typedef struct {
|
|
|
149
180
|
STACK_OF(X509_ATTRIBUTE) *attributes; // [ 0 ]
|
|
150
181
|
} X509_REQ_INFO;
|
|
151
182
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
183
|
+
DECLARE_ASN1_FUNCTIONS_const(X509_REQ_INFO)
|
|
184
|
+
|
|
185
|
+
BSSL_NAMESPACE_END
|
|
155
186
|
|
|
156
187
|
struct X509_req_st {
|
|
157
|
-
X509_REQ_INFO *req_info;
|
|
188
|
+
bssl::X509_REQ_INFO *req_info;
|
|
158
189
|
X509_ALGOR *sig_alg;
|
|
159
190
|
ASN1_BIT_STRING *signature;
|
|
160
191
|
} /* X509_REQ */;
|
|
161
192
|
|
|
162
|
-
|
|
163
|
-
|
|
193
|
+
BSSL_NAMESPACE_BEGIN
|
|
194
|
+
|
|
195
|
+
// X509_REQ is an `ASN1_ITEM` whose ASN.1 type is CertificateRequest (RFC 2986)
|
|
196
|
+
// and C type is `X509_REQ*`.
|
|
164
197
|
DECLARE_ASN1_ITEM(X509_REQ)
|
|
165
198
|
|
|
199
|
+
BSSL_NAMESPACE_END
|
|
200
|
+
|
|
166
201
|
struct x509_revoked_st {
|
|
167
202
|
ASN1_INTEGER *serialNumber;
|
|
168
203
|
ASN1_TIME *revocationDate;
|
|
@@ -171,9 +206,11 @@ struct x509_revoked_st {
|
|
|
171
206
|
int reason;
|
|
172
207
|
} /* X509_REVOKED */;
|
|
173
208
|
|
|
174
|
-
|
|
209
|
+
BSSL_NAMESPACE_BEGIN
|
|
210
|
+
|
|
211
|
+
// X509_REVOKED is an `ASN1_ITEM` whose ASN.1 type is an element of the
|
|
175
212
|
// revokedCertificates field of TBSCertList (RFC 5280) and C type is
|
|
176
|
-
//
|
|
213
|
+
// `X509_REVOKED*`.
|
|
177
214
|
DECLARE_ASN1_ITEM(X509_REVOKED)
|
|
178
215
|
|
|
179
216
|
typedef struct {
|
|
@@ -184,12 +221,12 @@ typedef struct {
|
|
|
184
221
|
ASN1_TIME *nextUpdate;
|
|
185
222
|
STACK_OF(X509_REVOKED) *revoked;
|
|
186
223
|
STACK_OF(X509_EXTENSION) /* [0] */ *extensions;
|
|
187
|
-
ASN1_ENCODING enc;
|
|
224
|
+
bssl::ASN1_ENCODING enc;
|
|
188
225
|
} X509_CRL_INFO;
|
|
189
226
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
227
|
+
DECLARE_ASN1_FUNCTIONS_const(X509_CRL_INFO)
|
|
228
|
+
|
|
229
|
+
BSSL_NAMESPACE_END
|
|
193
230
|
|
|
194
231
|
// Values in idp_flags field
|
|
195
232
|
// IDP present
|
|
@@ -209,10 +246,10 @@ DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO)
|
|
|
209
246
|
|
|
210
247
|
struct X509_crl_st {
|
|
211
248
|
// actual signature
|
|
212
|
-
X509_CRL_INFO *crl;
|
|
249
|
+
bssl::X509_CRL_INFO *crl;
|
|
213
250
|
X509_ALGOR *sig_alg;
|
|
214
251
|
ASN1_BIT_STRING *signature;
|
|
215
|
-
CRYPTO_refcount_t references;
|
|
252
|
+
bssl::CRYPTO_refcount_t references;
|
|
216
253
|
int flags;
|
|
217
254
|
// Copies of various extensions
|
|
218
255
|
AUTHORITY_KEYID *akid;
|
|
@@ -222,18 +259,22 @@ struct X509_crl_st {
|
|
|
222
259
|
unsigned char crl_hash[SHA256_DIGEST_LENGTH];
|
|
223
260
|
} /* X509_CRL */;
|
|
224
261
|
|
|
225
|
-
|
|
226
|
-
|
|
262
|
+
BSSL_NAMESPACE_BEGIN
|
|
263
|
+
|
|
264
|
+
// X509_CRL is an `ASN1_ITEM` whose ASN.1 type is X.509 CertificateList (RFC
|
|
265
|
+
// 5280) and C type is `X509_CRL*`.
|
|
227
266
|
DECLARE_ASN1_ITEM(X509_CRL)
|
|
228
267
|
|
|
229
|
-
// GENERAL_NAME is an
|
|
230
|
-
//
|
|
268
|
+
// GENERAL_NAME is an `ASN1_ITEM` whose ASN.1 type is GeneralName and C type is
|
|
269
|
+
// `GENERAL_NAME*`.
|
|
231
270
|
DECLARE_ASN1_ITEM(GENERAL_NAME)
|
|
232
271
|
|
|
233
|
-
// GENERAL_NAMES is an
|
|
234
|
-
// and C type is
|
|
272
|
+
// GENERAL_NAMES is an `ASN1_ITEM` whose ASN.1 type is SEQUENCE OF GeneralName
|
|
273
|
+
// and C type is `GENERAL_NAMES*`, aka `STACK_OF(GENERAL_NAME)*`.
|
|
235
274
|
DECLARE_ASN1_ITEM(GENERAL_NAMES)
|
|
236
275
|
|
|
276
|
+
BSSL_NAMESPACE_END
|
|
277
|
+
|
|
237
278
|
struct X509_VERIFY_PARAM_st {
|
|
238
279
|
int64_t check_time; // POSIX time to use
|
|
239
280
|
unsigned long flags; // Various verify flags
|
|
@@ -262,45 +303,56 @@ struct x509_object_st {
|
|
|
262
303
|
} data;
|
|
263
304
|
} /* X509_OBJECT */;
|
|
264
305
|
|
|
265
|
-
|
|
266
|
-
|
|
306
|
+
BSSL_NAMESPACE_BEGIN
|
|
307
|
+
|
|
308
|
+
// NETSCAPE_SPKI is an `ASN1_ITEM` whose ASN.1 type is
|
|
309
|
+
// SignedPublicKeyAndChallenge and C type is `NETSCAPE_SPKI*`.
|
|
267
310
|
DECLARE_ASN1_ITEM(NETSCAPE_SPKI)
|
|
268
311
|
|
|
269
|
-
// NETSCAPE_SPKAC is an
|
|
270
|
-
// and C type is
|
|
312
|
+
// NETSCAPE_SPKAC is an `ASN1_ITEM` whose ASN.1 type is PublicKeyAndChallenge
|
|
313
|
+
// and C type is `NETSCAPE_SPKAC*`.
|
|
271
314
|
DECLARE_ASN1_ITEM(NETSCAPE_SPKAC)
|
|
272
315
|
|
|
316
|
+
BSSL_NAMESPACE_END
|
|
317
|
+
|
|
273
318
|
// This is a static that defines the function interface
|
|
274
319
|
struct x509_lookup_method_st {
|
|
275
320
|
int (*new_item)(X509_LOOKUP *ctx);
|
|
276
321
|
void (*free)(X509_LOOKUP *ctx);
|
|
277
322
|
int (*ctrl)(X509_LOOKUP *ctx, int cmd, const char *argc, long argl,
|
|
278
323
|
char **ret);
|
|
279
|
-
int (*get_by_subject)(X509_LOOKUP *ctx, int type, X509_NAME *name,
|
|
324
|
+
int (*get_by_subject)(X509_LOOKUP *ctx, int type, const X509_NAME *name,
|
|
280
325
|
X509_OBJECT *ret);
|
|
281
326
|
} /* X509_LOOKUP_METHOD */;
|
|
282
327
|
|
|
283
|
-
|
|
328
|
+
BSSL_NAMESPACE_BEGIN
|
|
284
329
|
|
|
285
330
|
// This is used to hold everything. It is used for all certificate
|
|
286
331
|
// validation. Once we have a certificate chain, the 'verify'
|
|
287
332
|
// function is then called to actually check the cert chain.
|
|
288
|
-
|
|
333
|
+
class X509Store : public x509_store_st, public RefCounted<X509Store> {
|
|
334
|
+
public:
|
|
335
|
+
X509Store();
|
|
336
|
+
|
|
289
337
|
// The following is a cache of trusted certs
|
|
290
|
-
STACK_OF(X509_OBJECT)
|
|
291
|
-
|
|
338
|
+
UniquePtr<STACK_OF(X509_OBJECT)> objs; // Cache of all objects
|
|
339
|
+
Mutex objs_lock;
|
|
292
340
|
|
|
293
341
|
// These are external lookup methods
|
|
294
|
-
|
|
342
|
+
Vector<UniquePtr<X509_LOOKUP>> get_cert_methods;
|
|
295
343
|
|
|
296
|
-
X509_VERIFY_PARAM
|
|
344
|
+
UniquePtr<X509_VERIFY_PARAM> param;
|
|
297
345
|
|
|
298
346
|
// Callbacks for various operations
|
|
299
|
-
X509_STORE_CTX_verify_cb verify_cb;
|
|
347
|
+
X509_STORE_CTX_verify_cb verify_cb = nullptr; // error callback
|
|
300
348
|
|
|
301
|
-
|
|
349
|
+
private:
|
|
350
|
+
friend RefCounted;
|
|
351
|
+
~X509Store() = default;
|
|
302
352
|
} /* X509_STORE */;
|
|
303
353
|
|
|
354
|
+
BSSL_NAMESPACE_END
|
|
355
|
+
|
|
304
356
|
// This is the functions plus an instance of the local variables.
|
|
305
357
|
struct x509_lookup_st {
|
|
306
358
|
const X509_LOOKUP_METHOD *method; // the functions
|
|
@@ -323,7 +375,7 @@ struct x509_store_ctx_st {
|
|
|
323
375
|
X509_VERIFY_PARAM *param;
|
|
324
376
|
|
|
325
377
|
// trusted_stack, if non-NULL, is a set of trusted certificates to consider
|
|
326
|
-
// instead of those from
|
|
378
|
+
// instead of those from `X509_STORE`.
|
|
327
379
|
STACK_OF(X509) *trusted_stack;
|
|
328
380
|
|
|
329
381
|
// Callbacks for various operations
|
|
@@ -345,6 +397,8 @@ struct x509_store_ctx_st {
|
|
|
345
397
|
CRYPTO_EX_DATA ex_data;
|
|
346
398
|
} /* X509_STORE_CTX */;
|
|
347
399
|
|
|
400
|
+
BSSL_NAMESPACE_BEGIN
|
|
401
|
+
|
|
348
402
|
ASN1_TYPE *ASN1_generate_v3(const char *str, const X509V3_CTX *cnf);
|
|
349
403
|
|
|
350
404
|
int X509_CERT_AUX_print(BIO *bp, X509_CERT_AUX *x, int indent);
|
|
@@ -352,20 +406,20 @@ int X509_CERT_AUX_print(BIO *bp, X509_CERT_AUX *x, int indent);
|
|
|
352
406
|
|
|
353
407
|
// RSA-PSS functions.
|
|
354
408
|
|
|
355
|
-
// x509_rsa_pss_to_ctx configures
|
|
356
|
-
// signature algorithm parameters in
|
|
357
|
-
//
|
|
409
|
+
// x509_rsa_pss_to_ctx configures `ctx` for an RSA-PSS operation based on
|
|
410
|
+
// signature algorithm parameters in `sigalg` (which must have type
|
|
411
|
+
// `NID_rsassaPss`) and key `pkey`. It returns one on success and zero on
|
|
358
412
|
// error.
|
|
359
413
|
int x509_rsa_pss_to_ctx(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg,
|
|
360
414
|
EVP_PKEY *pkey);
|
|
361
415
|
|
|
362
|
-
// x509_rsa_pss_to_ctx sets
|
|
363
|
-
//
|
|
416
|
+
// x509_rsa_pss_to_ctx sets `algor` to the signature algorithm parameters for
|
|
417
|
+
// `ctx`, which must have been configured for an RSA-PSS signing operation. It
|
|
364
418
|
// returns one on success and zero on error.
|
|
365
419
|
int x509_rsa_ctx_to_pss(EVP_MD_CTX *ctx, X509_ALGOR *algor);
|
|
366
420
|
|
|
367
421
|
// x509_print_rsa_pss_params prints a human-readable representation of RSA-PSS
|
|
368
|
-
// parameters in
|
|
422
|
+
// parameters in `sigalg` to `bp`. It returns one on success and zero on
|
|
369
423
|
// error.
|
|
370
424
|
int x509_print_rsa_pss_params(BIO *bp, const X509_ALGOR *sigalg, int indent,
|
|
371
425
|
ASN1_PCTX *pctx);
|
|
@@ -373,138 +427,150 @@ int x509_print_rsa_pss_params(BIO *bp, const X509_ALGOR *sigalg, int indent,
|
|
|
373
427
|
|
|
374
428
|
// Signature algorithm functions.
|
|
375
429
|
|
|
376
|
-
// x509_digest_sign_algorithm encodes the signing parameters of
|
|
377
|
-
// AlgorithmIdentifier and saves the result in
|
|
430
|
+
// x509_digest_sign_algorithm encodes the signing parameters of `ctx` as an
|
|
431
|
+
// AlgorithmIdentifier and saves the result in `algor`. It returns one on
|
|
378
432
|
// success, or zero on error.
|
|
379
433
|
int x509_digest_sign_algorithm(EVP_MD_CTX *ctx, X509_ALGOR *algor);
|
|
380
434
|
|
|
381
|
-
// x509_digest_verify_init sets up
|
|
382
|
-
// with public key
|
|
383
|
-
// have been initialised with
|
|
435
|
+
// x509_digest_verify_init sets up `ctx` for a signature verification operation
|
|
436
|
+
// with public key `pkey` and parameters from `algor`. The `ctx` argument must
|
|
437
|
+
// have been initialised with `EVP_MD_CTX_init`. It returns one on success, or
|
|
384
438
|
// zero on error.
|
|
385
439
|
int x509_digest_verify_init(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg,
|
|
386
440
|
EVP_PKEY *pkey);
|
|
387
441
|
|
|
442
|
+
// x509_verify_signature verifies a `signature` using `sigalg` and `pkey` over
|
|
443
|
+
// `in`. It returns one if the signature is valid and zero on error.
|
|
444
|
+
int x509_verify_signature(const X509_ALGOR *sigalg,
|
|
445
|
+
const ASN1_BIT_STRING *signature,
|
|
446
|
+
Span<const uint8_t> in, EVP_PKEY *pkey);
|
|
447
|
+
|
|
448
|
+
// x509_sign_to_bit_string signs `in` using `ctx` and saves the result in `out`.
|
|
449
|
+
// It returns the length of the signature on success and zero on error.
|
|
450
|
+
int x509_sign_to_bit_string(EVP_MD_CTX *ctx, ASN1_BIT_STRING *out,
|
|
451
|
+
Span<const uint8_t> in);
|
|
452
|
+
|
|
388
453
|
|
|
389
454
|
// Path-building functions.
|
|
390
455
|
|
|
391
|
-
// X509_policy_check checks certificate policies in
|
|
392
|
-
// the user-initial-policy-set. If
|
|
393
|
-
// interpreted as anyPolicy.
|
|
394
|
-
// apply. It returns
|
|
395
|
-
// additionally sets
|
|
456
|
+
// X509_policy_check checks certificate policies in `certs`. `user_policies` is
|
|
457
|
+
// the user-initial-policy-set. If `user_policies` is NULL or empty, it is
|
|
458
|
+
// interpreted as anyPolicy. `flags` is a set of `X509_V_FLAG_*` values to
|
|
459
|
+
// apply. It returns `X509_V_OK` on success and `X509_V_ERR_*` on error. It
|
|
460
|
+
// additionally sets `*out_current_cert` to the certificate where the error
|
|
396
461
|
// occurred. If the function succeeded, or the error applies to the entire
|
|
397
|
-
// chain, it sets
|
|
462
|
+
// chain, it sets `*out_current_cert` to NULL.
|
|
398
463
|
int X509_policy_check(const STACK_OF(X509) *certs,
|
|
399
464
|
const STACK_OF(ASN1_OBJECT) *user_policies,
|
|
400
465
|
unsigned long flags, X509 **out_current_cert);
|
|
401
466
|
|
|
402
|
-
// x509_check_issued_with_callback calls
|
|
467
|
+
// x509_check_issued_with_callback calls `X509_check_issued`, but allows the
|
|
403
468
|
// verify callback to override the result. It returns one on success and zero on
|
|
404
469
|
// error.
|
|
405
470
|
//
|
|
406
471
|
// TODO(davidben): Reduce the scope of the verify callback and remove this. The
|
|
407
|
-
// callback only runs with
|
|
472
|
+
// callback only runs with `X509_V_FLAG_CB_ISSUER_CHECK`, which is only used by
|
|
408
473
|
// one internal project and rust-openssl, who use it by mistake.
|
|
409
|
-
int x509_check_issued_with_callback(X509_STORE_CTX *ctx, X509 *x,
|
|
474
|
+
int x509_check_issued_with_callback(X509_STORE_CTX *ctx, const X509 *x,
|
|
475
|
+
const X509 *issuer);
|
|
410
476
|
|
|
411
|
-
// x509v3_bytes_to_hex encodes
|
|
477
|
+
// x509v3_bytes_to_hex encodes `len` bytes from `in` to hex and returns a
|
|
412
478
|
// newly-allocated NUL-terminated string containing the result, or NULL on
|
|
413
479
|
// allocation error.
|
|
414
480
|
//
|
|
415
|
-
// This function was historically named
|
|
416
|
-
// name,
|
|
481
|
+
// This function was historically named `hex_to_string` in OpenSSL. Despite the
|
|
482
|
+
// name, `hex_to_string` converted to hex.
|
|
417
483
|
OPENSSL_EXPORT char *x509v3_bytes_to_hex(const uint8_t *in, size_t len);
|
|
418
484
|
|
|
419
|
-
// x509v3_hex_string_to_bytes decodes
|
|
420
|
-
// array containing the result, or NULL on error. On success, it sets
|
|
485
|
+
// x509v3_hex_string_to_bytes decodes `str` in hex and returns a newly-allocated
|
|
486
|
+
// array containing the result, or NULL on error. On success, it sets `*len` to
|
|
421
487
|
// the length of the result. Colon separators between bytes in the input are
|
|
422
488
|
// allowed and ignored.
|
|
423
489
|
//
|
|
424
|
-
// This function was historically named
|
|
425
|
-
// name,
|
|
490
|
+
// This function was historically named `string_to_hex` in OpenSSL. Despite the
|
|
491
|
+
// name, `string_to_hex` converted from hex.
|
|
426
492
|
unsigned char *x509v3_hex_to_bytes(const char *str, size_t *len);
|
|
427
493
|
|
|
428
|
-
// x509v3_conf_name_matches returns one if
|
|
429
|
-
// with
|
|
494
|
+
// x509v3_conf_name_matches returns one if `name` is equal to `cmp` or begins
|
|
495
|
+
// with `cmp` followed by '.', and zero otherwise.
|
|
430
496
|
int x509v3_conf_name_matches(const char *name, const char *cmp);
|
|
431
497
|
|
|
432
|
-
// x509v3_looks_like_dns_name returns one if
|
|
498
|
+
// x509v3_looks_like_dns_name returns one if `in` looks like a DNS name and zero
|
|
433
499
|
// otherwise.
|
|
434
500
|
OPENSSL_EXPORT int x509v3_looks_like_dns_name(const unsigned char *in,
|
|
435
501
|
size_t len);
|
|
436
502
|
|
|
437
503
|
// x509v3_cache_extensions fills in a number of fields relating to X.509
|
|
438
|
-
// extensions in
|
|
504
|
+
// extensions in `x`. It returns one on success and zero if some extensions were
|
|
439
505
|
// invalid.
|
|
440
506
|
OPENSSL_EXPORT int x509v3_cache_extensions(X509 *x);
|
|
441
507
|
|
|
442
|
-
// x509v3_a2i_ipadd decodes
|
|
508
|
+
// x509v3_a2i_ipadd decodes `ipasc` as an IPv4 or IPv6 address. IPv6 addresses
|
|
443
509
|
// use colon-separated syntax while IPv4 addresses use dotted decimal syntax. If
|
|
444
510
|
// it decodes an IPv4 address, it writes the result to the first four bytes of
|
|
445
|
-
//
|
|
446
|
-
// to all 16 bytes of
|
|
511
|
+
// `ipout` and returns four. If it decodes an IPv6 address, it writes the result
|
|
512
|
+
// to all 16 bytes of `ipout` and returns 16. Otherwise, it returns zero.
|
|
447
513
|
int x509v3_a2i_ipadd(unsigned char ipout[16], const char *ipasc);
|
|
448
514
|
|
|
449
|
-
// A
|
|
515
|
+
// A `BIT_STRING_BITNAME` is used to contain a list of bit names.
|
|
450
516
|
typedef struct {
|
|
451
517
|
int bitnum;
|
|
452
518
|
const char *lname;
|
|
453
519
|
const char *sname;
|
|
454
520
|
} BIT_STRING_BITNAME;
|
|
455
521
|
|
|
456
|
-
// x509V3_add_value_asn1_string appends a
|
|
457
|
-
// and value to
|
|
458
|
-
// newly-allocated
|
|
522
|
+
// x509V3_add_value_asn1_string appends a `CONF_VALUE` with the specified name
|
|
523
|
+
// and value to `*extlist`. if `*extlist` is NULL, it sets `*extlist` to a
|
|
524
|
+
// newly-allocated `STACK_OF(CONF_VALUE)` first. It returns one on success and
|
|
459
525
|
// zero on error.
|
|
460
526
|
int x509V3_add_value_asn1_string(const char *name, const ASN1_STRING *value,
|
|
461
527
|
STACK_OF(CONF_VALUE) **extlist);
|
|
462
528
|
|
|
463
|
-
// X509V3_NAME_from_section adds attributes to
|
|
464
|
-
// key/value pairs in
|
|
465
|
-
//
|
|
529
|
+
// X509V3_NAME_from_section adds attributes to `nm` by interpreting the
|
|
530
|
+
// key/value pairs in `dn_sk`. It returns one on success and zero on error.
|
|
531
|
+
// `chtype`, which should be one of `MBSTRING_*` constants, determines the
|
|
466
532
|
// character encoding used to interpret values.
|
|
467
533
|
int X509V3_NAME_from_section(X509_NAME *nm, const STACK_OF(CONF_VALUE) *dn_sk,
|
|
468
534
|
int chtype);
|
|
469
535
|
|
|
470
|
-
// X509V3_bool_from_string decodes
|
|
471
|
-
// one and sets
|
|
536
|
+
// X509V3_bool_from_string decodes `str` as a boolean. On success, it returns
|
|
537
|
+
// one and sets `*out_bool` to resulting value. Otherwise, it returns zero.
|
|
472
538
|
int X509V3_bool_from_string(const char *str, ASN1_BOOLEAN *out_bool);
|
|
473
539
|
|
|
474
|
-
// X509V3_get_value_bool decodes
|
|
475
|
-
// one and sets
|
|
540
|
+
// X509V3_get_value_bool decodes `value` as a boolean. On success, it returns
|
|
541
|
+
// one and sets `*out_bool` to the resulting value. Otherwise, it returns zero.
|
|
476
542
|
int X509V3_get_value_bool(const CONF_VALUE *value, ASN1_BOOLEAN *out_bool);
|
|
477
543
|
|
|
478
|
-
// X509V3_get_value_int decodes
|
|
479
|
-
// one and sets
|
|
480
|
-
//
|
|
544
|
+
// X509V3_get_value_int decodes `value` as an integer. On success, it returns
|
|
545
|
+
// one and sets `*aint` to the resulting value. Otherwise, it returns zero. If
|
|
546
|
+
// `*aint` was non-NULL at the start of the function, it frees the previous
|
|
481
547
|
// value before writing a new one.
|
|
482
548
|
int X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint);
|
|
483
549
|
|
|
484
|
-
// X509V3_get_section behaves like
|
|
550
|
+
// X509V3_get_section behaves like `NCONF_get_section` but queries `ctx`'s
|
|
485
551
|
// config database.
|
|
486
552
|
const STACK_OF(CONF_VALUE) *X509V3_get_section(const X509V3_CTX *ctx,
|
|
487
553
|
const char *section);
|
|
488
554
|
|
|
489
|
-
// X509V3_add_value appends a
|
|
490
|
-
//
|
|
491
|
-
// NULL, it sets
|
|
492
|
-
// containing the result. Either
|
|
555
|
+
// X509V3_add_value appends a `CONF_VALUE` containing `name` and `value` to
|
|
556
|
+
// `*extlist`. It returns one on success and zero on error. If `*extlist` is
|
|
557
|
+
// NULL, it sets `*extlist` to a newly-allocated `STACK_OF(CONF_VALUE)`
|
|
558
|
+
// containing the result. Either `name` or `value` may be NULL to omit the
|
|
493
559
|
// field.
|
|
494
560
|
//
|
|
495
|
-
// On failure, if
|
|
561
|
+
// On failure, if `*extlist` was NULL, `*extlist` will remain NULL when the
|
|
496
562
|
// function returns.
|
|
497
563
|
int X509V3_add_value(const char *name, const char *value,
|
|
498
564
|
STACK_OF(CONF_VALUE) **extlist);
|
|
499
565
|
|
|
500
|
-
// X509V3_add_value_bool behaves like
|
|
501
|
-
// "TRUE" if
|
|
566
|
+
// X509V3_add_value_bool behaves like `X509V3_add_value` but stores the value
|
|
567
|
+
// "TRUE" if `asn1_bool` is non-zero and "FALSE" otherwise.
|
|
502
568
|
int X509V3_add_value_bool(const char *name, int asn1_bool,
|
|
503
569
|
STACK_OF(CONF_VALUE) **extlist);
|
|
504
570
|
|
|
505
|
-
// X509V3_add_value_bool behaves like
|
|
506
|
-
// representation of
|
|
507
|
-
// hexadecimal, depending on the size of
|
|
571
|
+
// X509V3_add_value_bool behaves like `X509V3_add_value` but stores a string
|
|
572
|
+
// representation of `aint`. Note this string representation may be decimal or
|
|
573
|
+
// hexadecimal, depending on the size of `aint`.
|
|
508
574
|
int X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint,
|
|
509
575
|
STACK_OF(CONF_VALUE) **extlist);
|
|
510
576
|
|
|
@@ -514,7 +580,7 @@ STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line);
|
|
|
514
580
|
ERR_add_error_data(6, "section:", (val)->section, ",name:", (val)->name, \
|
|
515
581
|
",value:", (val)->value);
|
|
516
582
|
|
|
517
|
-
// GENERAL_NAME_cmp returns zero if
|
|
583
|
+
// GENERAL_NAME_cmp returns zero if `a` and `b` are equal and a non-zero
|
|
518
584
|
// value otherwise. Note this function does not provide a comparison suitable
|
|
519
585
|
// for sorting.
|
|
520
586
|
//
|
|
@@ -522,8 +588,8 @@ STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line);
|
|
|
522
588
|
OPENSSL_EXPORT int GENERAL_NAME_cmp(const GENERAL_NAME *a,
|
|
523
589
|
const GENERAL_NAME *b);
|
|
524
590
|
|
|
525
|
-
// X509_VERIFY_PARAM_lookup returns a pre-defined
|
|
526
|
-
//
|
|
591
|
+
// X509_VERIFY_PARAM_lookup returns a pre-defined `X509_VERIFY_PARAM` named by
|
|
592
|
+
// `name`, or NULL if no such name is defined.
|
|
527
593
|
const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name);
|
|
528
594
|
|
|
529
595
|
GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method,
|
|
@@ -536,9 +602,7 @@ GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method,
|
|
|
536
602
|
const X509V3_CTX *ctx,
|
|
537
603
|
const STACK_OF(CONF_VALUE) *nval);
|
|
538
604
|
|
|
539
|
-
|
|
540
|
-
// |X509_NAME| issue is resolved.
|
|
541
|
-
int X509_check_akid(X509 *issuer, const AUTHORITY_KEYID *akid);
|
|
605
|
+
int X509_check_akid(const X509 *issuer, const AUTHORITY_KEYID *akid);
|
|
542
606
|
|
|
543
607
|
int X509_is_valid_trust_id(int trust);
|
|
544
608
|
|
|
@@ -547,21 +611,53 @@ int X509_PURPOSE_get_trust(const X509_PURPOSE *xp);
|
|
|
547
611
|
// TODO(https://crbug.com/boringssl/695): Remove this.
|
|
548
612
|
int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname);
|
|
549
613
|
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
//
|
|
554
|
-
//
|
|
555
|
-
|
|
556
|
-
|
|
614
|
+
void x509_name_init(X509_NAME *name);
|
|
615
|
+
void x509_name_cleanup(X509_NAME *name);
|
|
616
|
+
|
|
617
|
+
// x509_parse_name parses a DER-encoded, X.509 Name from `cbs` and writes the
|
|
618
|
+
// result to `*out`. It returns one on success and zero on error.
|
|
619
|
+
int x509_parse_name(CBS *cbs, X509_NAME *out);
|
|
620
|
+
|
|
621
|
+
// x509_marshal_name marshals `in` as a DER-encoded, X.509 Name and writes the
|
|
622
|
+
// result to `out`. It returns one on success and zero on error.
|
|
623
|
+
int x509_marshal_name(CBB *out, const X509_NAME *in);
|
|
624
|
+
|
|
625
|
+
const X509_NAME_CACHE *x509_name_get_cache(const X509_NAME *name);
|
|
626
|
+
void x509_name_invalidate_cache(X509_NAME *name);
|
|
627
|
+
|
|
628
|
+
int x509_name_copy(X509_NAME *dst, const X509_NAME *src);
|
|
557
629
|
|
|
558
|
-
|
|
559
|
-
|
|
630
|
+
void x509_algor_init(X509_ALGOR *alg);
|
|
631
|
+
void x509_algor_cleanup(X509_ALGOR *alg);
|
|
632
|
+
|
|
633
|
+
// x509_parse_algorithm parses a DER-encoded, AlgorithmIdentifier from `cbs` and
|
|
634
|
+
// writes the result to `*out`. It returns one on success and zero on error.
|
|
635
|
+
int x509_parse_algorithm(CBS *cbs, X509_ALGOR *out);
|
|
636
|
+
|
|
637
|
+
// x509_marshal_algorithm marshals `in` as a DER-encoded, AlgorithmIdentifier
|
|
638
|
+
// and writes the result to `out`. It returns one on success and zero on error.
|
|
560
639
|
int x509_marshal_algorithm(CBB *out, const X509_ALGOR *in);
|
|
561
640
|
|
|
562
641
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
642
|
+
// Standard extensions.
|
|
643
|
+
|
|
644
|
+
extern const X509V3_EXT_METHOD v3_bcons, v3_nscert, v3_key_usage, v3_ext_ku;
|
|
645
|
+
extern const X509V3_EXT_METHOD v3_info, v3_sinfo;
|
|
646
|
+
extern const X509V3_EXT_METHOD v3_skey_id, v3_akey_id;
|
|
647
|
+
extern const X509V3_EXT_METHOD v3_subject_alt_name, v3_issuer_alt_name,
|
|
648
|
+
v3_certificate_issuer;
|
|
649
|
+
extern const X509V3_EXT_METHOD v3_netscape_base_url, v3_netscape_revocation_url,
|
|
650
|
+
v3_netscape_ca_revocation_url, v3_netscape_renewal_url,
|
|
651
|
+
v3_netscape_ca_policy_url, v3_netscape_ssl_server_name, v3_netscape_comment;
|
|
652
|
+
extern const X509V3_EXT_METHOD v3_crl_num, v3_crl_reason, v3_crl_invdate;
|
|
653
|
+
extern const X509V3_EXT_METHOD v3_delta_crl, v3_cpols, v3_crld, v3_freshest_crl;
|
|
654
|
+
extern const X509V3_EXT_METHOD v3_ocsp_nocheck;
|
|
655
|
+
extern const X509V3_EXT_METHOD v3_crl_hold;
|
|
656
|
+
extern const X509V3_EXT_METHOD v3_policy_mappings, v3_policy_constraints;
|
|
657
|
+
extern const X509V3_EXT_METHOD v3_name_constraints, v3_inhibit_anyp, v3_idp;
|
|
658
|
+
extern const X509V3_EXT_METHOD v3_addr, v3_asid;
|
|
659
|
+
|
|
660
|
+
BSSL_NAMESPACE_END
|
|
661
|
+
|
|
566
662
|
|
|
567
663
|
#endif // OPENSSL_HEADER_CRYPTO_X509_INTERNAL_H
|