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
|
@@ -21,15 +21,18 @@
|
|
|
21
21
|
#include <openssl/mem.h>
|
|
22
22
|
#include <openssl/nid.h>
|
|
23
23
|
#include <openssl/rand.h>
|
|
24
|
-
#include <openssl/
|
|
24
|
+
#include <openssl/sha2.h>
|
|
25
25
|
|
|
26
26
|
#include "../ec/internal.h"
|
|
27
27
|
#include "../fipsmodule/bn/internal.h"
|
|
28
28
|
#include "../fipsmodule/ec/internal.h"
|
|
29
|
+
#include "../mem_internal.h"
|
|
29
30
|
|
|
30
31
|
#include "internal.h"
|
|
31
32
|
|
|
32
33
|
|
|
34
|
+
using namespace bssl;
|
|
35
|
+
|
|
33
36
|
typedef int (*hash_t_func_t)(const EC_GROUP *group, EC_JACOBIAN *out,
|
|
34
37
|
const uint8_t t[TRUST_TOKEN_NONCE_SIZE]);
|
|
35
38
|
typedef int (*hash_s_func_t)(const EC_GROUP *group, EC_JACOBIAN *out,
|
|
@@ -97,7 +100,7 @@ static int derive_scalar_from_secret(const PMBTOKEN_METHOD *method,
|
|
|
97
100
|
int ok = 0;
|
|
98
101
|
CBB cbb;
|
|
99
102
|
CBB_zero(&cbb);
|
|
100
|
-
uint8_t *buf =
|
|
103
|
+
uint8_t *buf = nullptr;
|
|
101
104
|
size_t len;
|
|
102
105
|
if (!CBB_init(&cbb, 0) ||
|
|
103
106
|
!CBB_add_bytes(&cbb, kKeygenLabel, sizeof(kKeygenLabel)) ||
|
|
@@ -173,8 +176,8 @@ static int mul_public_3(const EC_GROUP *group, EC_JACOBIAN *out,
|
|
|
173
176
|
const EC_JACOBIAN *p2, const EC_SCALAR *scalar2) {
|
|
174
177
|
EC_JACOBIAN points[3] = {*p0, *p1, *p2};
|
|
175
178
|
EC_SCALAR scalars[3] = {*scalar0, *scalar1, *scalar2};
|
|
176
|
-
return ec_point_mul_scalar_public_batch(group, out, /*g_scalar=*/
|
|
177
|
-
scalars, 3);
|
|
179
|
+
return ec_point_mul_scalar_public_batch(group, out, /*g_scalar=*/nullptr,
|
|
180
|
+
points, scalars, 3);
|
|
178
181
|
}
|
|
179
182
|
|
|
180
183
|
static int pmbtoken_compute_keys(const PMBTOKEN_METHOD *method,
|
|
@@ -185,24 +188,25 @@ static int pmbtoken_compute_keys(const PMBTOKEN_METHOD *method,
|
|
|
185
188
|
const EC_GROUP *group = method->group;
|
|
186
189
|
EC_JACOBIAN pub[3];
|
|
187
190
|
if (!ec_point_mul_scalar_precomp(group, &pub[0], &method->g_precomp, x0,
|
|
188
|
-
&method->h_precomp, y0,
|
|
191
|
+
&method->h_precomp, y0, nullptr, nullptr) ||
|
|
189
192
|
!ec_point_mul_scalar_precomp(group, &pub[1], &method->g_precomp, x1,
|
|
190
|
-
&method->h_precomp, y1,
|
|
193
|
+
&method->h_precomp, y1, nullptr, nullptr) ||
|
|
191
194
|
!ec_point_mul_scalar_precomp(method->group, &pub[2], &method->g_precomp,
|
|
192
|
-
xs, &method->h_precomp, ys,
|
|
195
|
+
xs, &method->h_precomp, ys, nullptr,
|
|
196
|
+
nullptr)) {
|
|
193
197
|
OPENSSL_PUT_ERROR(TRUST_TOKEN, TRUST_TOKEN_R_KEYGEN_FAILURE);
|
|
194
198
|
return 0;
|
|
195
199
|
}
|
|
196
200
|
|
|
197
201
|
const EC_SCALAR *scalars[] = {x0, y0, x1, y1, xs, ys};
|
|
198
202
|
size_t scalar_len = BN_num_bytes(EC_GROUP_get0_order(group));
|
|
199
|
-
for (
|
|
203
|
+
for (const EC_SCALAR *scalar : scalars) {
|
|
200
204
|
uint8_t *buf;
|
|
201
205
|
if (!CBB_add_space(out_private, &buf, scalar_len)) {
|
|
202
206
|
OPENSSL_PUT_ERROR(TRUST_TOKEN, TRUST_TOKEN_R_BUFFER_TOO_SMALL);
|
|
203
207
|
return 0;
|
|
204
208
|
}
|
|
205
|
-
ec_scalar_to_bytes(group, buf, &scalar_len,
|
|
209
|
+
ec_scalar_to_bytes(group, buf, &scalar_len, scalar);
|
|
206
210
|
}
|
|
207
211
|
|
|
208
212
|
EC_AFFINE pub_affine[3];
|
|
@@ -287,10 +291,9 @@ static int pmbtoken_issuer_key_from_bytes(const PMBTOKEN_METHOD *method,
|
|
|
287
291
|
size_t scalar_len = BN_num_bytes(EC_GROUP_get0_order(group));
|
|
288
292
|
EC_SCALAR *scalars[] = {&key->x0, &key->y0, &key->x1,
|
|
289
293
|
&key->y1, &key->xs, &key->ys};
|
|
290
|
-
for (
|
|
294
|
+
for (EC_SCALAR *scalar : scalars) {
|
|
291
295
|
if (!CBS_get_bytes(&cbs, &tmp, scalar_len) ||
|
|
292
|
-
!ec_scalar_from_bytes(group,
|
|
293
|
-
CBS_len(&tmp))) {
|
|
296
|
+
!ec_scalar_from_bytes(group, scalar, CBS_data(&tmp), CBS_len(&tmp))) {
|
|
294
297
|
OPENSSL_PUT_ERROR(TRUST_TOKEN, TRUST_TOKEN_R_DECODE_FAILURE);
|
|
295
298
|
return 0;
|
|
296
299
|
}
|
|
@@ -300,13 +303,16 @@ static int pmbtoken_issuer_key_from_bytes(const PMBTOKEN_METHOD *method,
|
|
|
300
303
|
EC_JACOBIAN pub[3];
|
|
301
304
|
EC_AFFINE pub_affine[3];
|
|
302
305
|
if (!ec_point_mul_scalar_precomp(group, &pub[0], &method->g_precomp, &key->x0,
|
|
303
|
-
&method->h_precomp, &key->y0,
|
|
306
|
+
&method->h_precomp, &key->y0, nullptr,
|
|
307
|
+
nullptr) ||
|
|
304
308
|
!ec_init_precomp(group, &key->pub0_precomp, &pub[0]) ||
|
|
305
309
|
!ec_point_mul_scalar_precomp(group, &pub[1], &method->g_precomp, &key->x1,
|
|
306
|
-
&method->h_precomp, &key->y1,
|
|
310
|
+
&method->h_precomp, &key->y1, nullptr,
|
|
311
|
+
nullptr) ||
|
|
307
312
|
!ec_init_precomp(group, &key->pub1_precomp, &pub[1]) ||
|
|
308
313
|
!ec_point_mul_scalar_precomp(group, &pub[2], &method->g_precomp, &key->xs,
|
|
309
|
-
&method->h_precomp, &key->ys,
|
|
314
|
+
&method->h_precomp, &key->ys, nullptr,
|
|
315
|
+
nullptr) ||
|
|
310
316
|
!ec_init_precomp(group, &key->pubs_precomp, &pub[2]) ||
|
|
311
317
|
!ec_jacobian_to_affine_batch(group, pub_affine, pub, 3)) {
|
|
312
318
|
return 0;
|
|
@@ -326,15 +332,14 @@ static STACK_OF(TRUST_TOKEN_PRETOKEN) *pmbtoken_blind(
|
|
|
326
332
|
const EC_GROUP *group = method->group;
|
|
327
333
|
STACK_OF(TRUST_TOKEN_PRETOKEN) *pretokens =
|
|
328
334
|
sk_TRUST_TOKEN_PRETOKEN_new_null();
|
|
329
|
-
if (pretokens ==
|
|
335
|
+
if (pretokens == nullptr) {
|
|
330
336
|
goto err;
|
|
331
337
|
}
|
|
332
338
|
|
|
333
339
|
for (size_t i = 0; i < count; i++) {
|
|
334
|
-
// Insert
|
|
335
|
-
TRUST_TOKEN_PRETOKEN *pretoken =
|
|
336
|
-
|
|
337
|
-
if (pretoken == NULL ||
|
|
340
|
+
// Insert `pretoken` into `pretokens` early to simplify error-handling.
|
|
341
|
+
TRUST_TOKEN_PRETOKEN *pretoken = New<TRUST_TOKEN_PRETOKEN>();
|
|
342
|
+
if (pretoken == nullptr ||
|
|
338
343
|
!sk_TRUST_TOKEN_PRETOKEN_push(pretokens, pretoken)) {
|
|
339
344
|
TRUST_TOKEN_PRETOKEN_free(pretoken);
|
|
340
345
|
goto err;
|
|
@@ -351,7 +356,7 @@ static STACK_OF(TRUST_TOKEN_PRETOKEN) *pmbtoken_blind(
|
|
|
351
356
|
OPENSSL_memcpy(pretoken->t, pretoken->salt, TRUST_TOKEN_NONCE_SIZE);
|
|
352
357
|
}
|
|
353
358
|
|
|
354
|
-
// We sample
|
|
359
|
+
// We sample `pretoken->r` in Montgomery form to simplify inverting.
|
|
355
360
|
if (!ec_random_nonzero_scalar(group, &pretoken->r,
|
|
356
361
|
kDefaultAdditionalData)) {
|
|
357
362
|
goto err;
|
|
@@ -380,7 +385,7 @@ static STACK_OF(TRUST_TOKEN_PRETOKEN) *pmbtoken_blind(
|
|
|
380
385
|
|
|
381
386
|
err:
|
|
382
387
|
sk_TRUST_TOKEN_PRETOKEN_pop_free(pretokens, TRUST_TOKEN_PRETOKEN_free);
|
|
383
|
-
return
|
|
388
|
+
return nullptr;
|
|
384
389
|
}
|
|
385
390
|
|
|
386
391
|
static int scalar_to_cbb(CBB *out, const EC_GROUP *group,
|
|
@@ -415,7 +420,7 @@ static int hash_c_dleq(const PMBTOKEN_METHOD *method, EC_SCALAR *out,
|
|
|
415
420
|
int ok = 0;
|
|
416
421
|
CBB cbb;
|
|
417
422
|
CBB_zero(&cbb);
|
|
418
|
-
uint8_t *buf =
|
|
423
|
+
uint8_t *buf = nullptr;
|
|
419
424
|
size_t len;
|
|
420
425
|
if (!CBB_init(&cbb, 0) ||
|
|
421
426
|
!CBB_add_bytes(&cbb, kDLEQ2Label, sizeof(kDLEQ2Label)) ||
|
|
@@ -448,7 +453,7 @@ static int hash_c_dleqor(const PMBTOKEN_METHOD *method, EC_SCALAR *out,
|
|
|
448
453
|
int ok = 0;
|
|
449
454
|
CBB cbb;
|
|
450
455
|
CBB_zero(&cbb);
|
|
451
|
-
uint8_t *buf =
|
|
456
|
+
uint8_t *buf = nullptr;
|
|
452
457
|
size_t len;
|
|
453
458
|
if (!CBB_init(&cbb, 0) ||
|
|
454
459
|
!CBB_add_bytes(&cbb, kDLEQOR2Label, sizeof(kDLEQOR2Label)) ||
|
|
@@ -486,7 +491,7 @@ static int hash_c_batch(const PMBTOKEN_METHOD *method, EC_SCALAR *out,
|
|
|
486
491
|
int ok = 0;
|
|
487
492
|
CBB cbb;
|
|
488
493
|
CBB_zero(&cbb);
|
|
489
|
-
uint8_t *buf =
|
|
494
|
+
uint8_t *buf = nullptr;
|
|
490
495
|
size_t len;
|
|
491
496
|
if (!CBB_init(&cbb, 0) ||
|
|
492
497
|
!CBB_add_bytes(&cbb, kDLEQBatchLabel, sizeof(kDLEQBatchLabel)) ||
|
|
@@ -541,9 +546,9 @@ static int dleq_generate(const PMBTOKEN_METHOD *method, CBB *cbb,
|
|
|
541
546
|
// Ks = ks0*(G;T) + ks1*(H;S)
|
|
542
547
|
!ec_point_mul_scalar_precomp(group, &jacobians[idx_Ks0],
|
|
543
548
|
&method->g_precomp, &ks0, &method->h_precomp,
|
|
544
|
-
&ks1,
|
|
549
|
+
&ks1, nullptr, nullptr) ||
|
|
545
550
|
!ec_point_mul_scalar_batch(group, &jacobians[idx_Ks1], T, &ks0, S, &ks1,
|
|
546
|
-
|
|
551
|
+
nullptr, nullptr)) {
|
|
547
552
|
return 0;
|
|
548
553
|
}
|
|
549
554
|
|
|
@@ -565,9 +570,9 @@ static int dleq_generate(const PMBTOKEN_METHOD *method, CBB *cbb,
|
|
|
565
570
|
// Kb = k0*(G;T) + k1*(H;S)
|
|
566
571
|
!ec_point_mul_scalar_precomp(group, &jacobians[idx_Kb0],
|
|
567
572
|
&method->g_precomp, &k0, &method->h_precomp,
|
|
568
|
-
&k1,
|
|
573
|
+
&k1, nullptr, nullptr) ||
|
|
569
574
|
!ec_point_mul_scalar_batch(group, &jacobians[idx_Kb1], T, &k0, S, &k1,
|
|
570
|
-
|
|
575
|
+
nullptr, nullptr) ||
|
|
571
576
|
// co, uo, vo <- Zp
|
|
572
577
|
!ec_random_nonzero_scalar(group, &minus_co, kDefaultAdditionalData) ||
|
|
573
578
|
!ec_random_nonzero_scalar(group, &uo, kDefaultAdditionalData) ||
|
|
@@ -828,14 +833,15 @@ static int pmbtoken_sign(const PMBTOKEN_METHOD *method,
|
|
|
828
833
|
|
|
829
834
|
uint8_t s[TRUST_TOKEN_NONCE_SIZE];
|
|
830
835
|
RAND_bytes(s, TRUST_TOKEN_NONCE_SIZE);
|
|
831
|
-
// The
|
|
836
|
+
// The `jacobians` and `affines` contain Sp, Wp, and Wsp.
|
|
832
837
|
EC_JACOBIAN jacobians[3];
|
|
833
838
|
EC_AFFINE affines[3];
|
|
834
839
|
if (!method->hash_s(group, &jacobians[0], &Tp_affine, s) ||
|
|
835
840
|
!ec_point_mul_scalar_batch(group, &jacobians[1], &Tp, &xb,
|
|
836
|
-
&jacobians[0], &yb,
|
|
841
|
+
&jacobians[0], &yb, nullptr, nullptr) ||
|
|
837
842
|
!ec_point_mul_scalar_batch(group, &jacobians[2], &Tp, &key->xs,
|
|
838
|
-
&jacobians[0], &key->ys,
|
|
843
|
+
&jacobians[0], &key->ys, nullptr,
|
|
844
|
+
nullptr) ||
|
|
839
845
|
!ec_jacobian_to_affine_batch(group, affines, jacobians, 3) ||
|
|
840
846
|
!CBB_add_bytes(cbb, s, TRUST_TOKEN_NONCE_SIZE) ||
|
|
841
847
|
!cbb_add_prefixed_point(cbb, group, &affines[1],
|
|
@@ -872,16 +878,16 @@ static int pmbtoken_sign(const PMBTOKEN_METHOD *method,
|
|
|
872
878
|
|
|
873
879
|
EC_JACOBIAN Tp_batch, Sp_batch, Wp_batch, Wsp_batch;
|
|
874
880
|
if (!ec_point_mul_scalar_public_batch(group, &Tp_batch,
|
|
875
|
-
/*g_scalar=*/
|
|
881
|
+
/*g_scalar=*/nullptr, Tps, es,
|
|
876
882
|
num_to_issue) ||
|
|
877
883
|
!ec_point_mul_scalar_public_batch(group, &Sp_batch,
|
|
878
|
-
/*g_scalar=*/
|
|
884
|
+
/*g_scalar=*/nullptr, Sps, es,
|
|
879
885
|
num_to_issue) ||
|
|
880
886
|
!ec_point_mul_scalar_public_batch(group, &Wp_batch,
|
|
881
|
-
/*g_scalar=*/
|
|
887
|
+
/*g_scalar=*/nullptr, Wps, es,
|
|
882
888
|
num_to_issue) ||
|
|
883
889
|
!ec_point_mul_scalar_public_batch(group, &Wsp_batch,
|
|
884
|
-
/*g_scalar=*/
|
|
890
|
+
/*g_scalar=*/nullptr, Wsps, es,
|
|
885
891
|
num_to_issue)) {
|
|
886
892
|
goto err;
|
|
887
893
|
}
|
|
@@ -909,11 +915,11 @@ static int pmbtoken_sign(const PMBTOKEN_METHOD *method,
|
|
|
909
915
|
}
|
|
910
916
|
|
|
911
917
|
err:
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
918
|
+
Delete(Tps);
|
|
919
|
+
Delete(Sps);
|
|
920
|
+
Delete(Wps);
|
|
921
|
+
Delete(Wsps);
|
|
922
|
+
Delete(es);
|
|
917
923
|
CBB_cleanup(&batch_cbb);
|
|
918
924
|
return ret;
|
|
919
925
|
}
|
|
@@ -925,7 +931,7 @@ static STACK_OF(TRUST_TOKEN) *pmbtoken_unblind(
|
|
|
925
931
|
const EC_GROUP *group = method->group;
|
|
926
932
|
if (count > sk_TRUST_TOKEN_PRETOKEN_num(pretokens)) {
|
|
927
933
|
OPENSSL_PUT_ERROR(TRUST_TOKEN, TRUST_TOKEN_R_DECODE_FAILURE);
|
|
928
|
-
return
|
|
934
|
+
return nullptr;
|
|
929
935
|
}
|
|
930
936
|
|
|
931
937
|
int ok = 0;
|
|
@@ -942,8 +948,8 @@ static STACK_OF(TRUST_TOKEN) *pmbtoken_unblind(
|
|
|
942
948
|
reinterpret_cast<EC_SCALAR *>(OPENSSL_calloc(count, sizeof(EC_SCALAR)));
|
|
943
949
|
CBB batch_cbb;
|
|
944
950
|
CBB_zero(&batch_cbb);
|
|
945
|
-
if (ret ==
|
|
946
|
-
Wsps ==
|
|
951
|
+
if (ret == nullptr || Tps == nullptr || Sps == nullptr || Wps == nullptr ||
|
|
952
|
+
Wsps == nullptr || es == nullptr || !CBB_init(&batch_cbb, 0) ||
|
|
947
953
|
!point_to_cbb(&batch_cbb, method->group, &key->pubs) ||
|
|
948
954
|
!point_to_cbb(&batch_cbb, method->group, &key->pub0) ||
|
|
949
955
|
!point_to_cbb(&batch_cbb, method->group, &key->pub1)) {
|
|
@@ -990,7 +996,7 @@ static STACK_OF(TRUST_TOKEN) *pmbtoken_unblind(
|
|
|
990
996
|
goto err;
|
|
991
997
|
}
|
|
992
998
|
|
|
993
|
-
// Serialize the token. Include
|
|
999
|
+
// Serialize the token. Include `key_id` to avoid an extra copy in the layer
|
|
994
1000
|
// above.
|
|
995
1001
|
CBB token_cbb;
|
|
996
1002
|
size_t point_len = ec_point_byte_len(group, POINT_CONVERSION_UNCOMPRESSED);
|
|
@@ -1012,7 +1018,7 @@ static STACK_OF(TRUST_TOKEN) *pmbtoken_unblind(
|
|
|
1012
1018
|
TRUST_TOKEN *token =
|
|
1013
1019
|
TRUST_TOKEN_new(CBB_data(&token_cbb), CBB_len(&token_cbb));
|
|
1014
1020
|
CBB_cleanup(&token_cbb);
|
|
1015
|
-
if (token ==
|
|
1021
|
+
if (token == nullptr || !sk_TRUST_TOKEN_push(ret, token)) {
|
|
1016
1022
|
TRUST_TOKEN_free(token);
|
|
1017
1023
|
goto err;
|
|
1018
1024
|
}
|
|
@@ -1029,13 +1035,14 @@ static STACK_OF(TRUST_TOKEN) *pmbtoken_unblind(
|
|
|
1029
1035
|
|
|
1030
1036
|
EC_JACOBIAN Tp_batch, Sp_batch, Wp_batch, Wsp_batch;
|
|
1031
1037
|
if (!ec_point_mul_scalar_public_batch(group, &Tp_batch,
|
|
1032
|
-
/*g_scalar=*/
|
|
1038
|
+
/*g_scalar=*/nullptr, Tps, es, count) ||
|
|
1033
1039
|
!ec_point_mul_scalar_public_batch(group, &Sp_batch,
|
|
1034
|
-
/*g_scalar=*/
|
|
1040
|
+
/*g_scalar=*/nullptr, Sps, es, count) ||
|
|
1035
1041
|
!ec_point_mul_scalar_public_batch(group, &Wp_batch,
|
|
1036
|
-
/*g_scalar=*/
|
|
1042
|
+
/*g_scalar=*/nullptr, Wps, es, count) ||
|
|
1037
1043
|
!ec_point_mul_scalar_public_batch(group, &Wsp_batch,
|
|
1038
|
-
/*g_scalar=*/
|
|
1044
|
+
/*g_scalar=*/nullptr, Wsps, es,
|
|
1045
|
+
count)) {
|
|
1039
1046
|
goto err;
|
|
1040
1047
|
}
|
|
1041
1048
|
|
|
@@ -1050,15 +1057,15 @@ static STACK_OF(TRUST_TOKEN) *pmbtoken_unblind(
|
|
|
1050
1057
|
ok = 1;
|
|
1051
1058
|
|
|
1052
1059
|
err:
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1060
|
+
Delete(Tps);
|
|
1061
|
+
Delete(Sps);
|
|
1062
|
+
Delete(Wps);
|
|
1063
|
+
Delete(Wsps);
|
|
1064
|
+
Delete(es);
|
|
1058
1065
|
CBB_cleanup(&batch_cbb);
|
|
1059
1066
|
if (!ok) {
|
|
1060
1067
|
sk_TRUST_TOKEN_pop_free(ret, TRUST_TOKEN_free);
|
|
1061
|
-
ret =
|
|
1068
|
+
ret = nullptr;
|
|
1062
1069
|
}
|
|
1063
1070
|
return ret;
|
|
1064
1071
|
}
|
|
@@ -1099,7 +1106,7 @@ static int pmbtoken_read(const PMBTOKEN_METHOD *method,
|
|
|
1099
1106
|
}
|
|
1100
1107
|
|
|
1101
1108
|
// We perform three multiplications with S and T. This is enough that it is
|
|
1102
|
-
// worth using
|
|
1109
|
+
// worth using `ec_point_mul_scalar_precomp`.
|
|
1103
1110
|
EC_JACOBIAN S_jacobian;
|
|
1104
1111
|
EC_PRECOMP S_precomp, T_precomp;
|
|
1105
1112
|
ec_affine_to_jacobian(group, &S_jacobian, &S);
|
|
@@ -1111,7 +1118,7 @@ static int pmbtoken_read(const PMBTOKEN_METHOD *method,
|
|
|
1111
1118
|
EC_JACOBIAN Ws_calculated;
|
|
1112
1119
|
// Check the validity of the token.
|
|
1113
1120
|
if (!ec_point_mul_scalar_precomp(group, &Ws_calculated, &T_precomp, &key->xs,
|
|
1114
|
-
&S_precomp, &key->ys,
|
|
1121
|
+
&S_precomp, &key->ys, nullptr, nullptr) ||
|
|
1115
1122
|
!ec_affine_jacobian_equal(group, &Ws, &Ws_calculated)) {
|
|
1116
1123
|
OPENSSL_PUT_ERROR(TRUST_TOKEN, TRUST_TOKEN_R_BAD_VALIDITY_CHECK);
|
|
1117
1124
|
return 0;
|
|
@@ -1119,9 +1126,9 @@ static int pmbtoken_read(const PMBTOKEN_METHOD *method,
|
|
|
1119
1126
|
|
|
1120
1127
|
EC_JACOBIAN W0, W1;
|
|
1121
1128
|
if (!ec_point_mul_scalar_precomp(group, &W0, &T_precomp, &key->x0, &S_precomp,
|
|
1122
|
-
&key->y0,
|
|
1129
|
+
&key->y0, nullptr, nullptr) ||
|
|
1123
1130
|
!ec_point_mul_scalar_precomp(group, &W1, &T_precomp, &key->x1, &S_precomp,
|
|
1124
|
-
&key->y1,
|
|
1131
|
+
&key->y1, nullptr, nullptr)) {
|
|
1125
1132
|
return 0;
|
|
1126
1133
|
}
|
|
1127
1134
|
|
|
@@ -1154,7 +1161,7 @@ static int pmbtoken_exp1_hash_s(const EC_GROUP *group, EC_JACOBIAN *out,
|
|
|
1154
1161
|
const uint8_t kHashSLabel[] = "PMBTokens Experiment V1 HashS";
|
|
1155
1162
|
int ret = 0;
|
|
1156
1163
|
CBB cbb;
|
|
1157
|
-
uint8_t *buf =
|
|
1164
|
+
uint8_t *buf = nullptr;
|
|
1158
1165
|
size_t len;
|
|
1159
1166
|
if (!CBB_init(&cbb, 0) || !point_to_cbb(&cbb, group, t) ||
|
|
1160
1167
|
!CBB_add_bytes(&cbb, s, TRUST_TOKEN_NONCE_SIZE) ||
|
|
@@ -1190,8 +1197,8 @@ static int pmbtoken_exp1_ok = 0;
|
|
|
1190
1197
|
static PMBTOKEN_METHOD pmbtoken_exp1_method;
|
|
1191
1198
|
static CRYPTO_once_t pmbtoken_exp1_method_once = CRYPTO_ONCE_INIT;
|
|
1192
1199
|
|
|
1193
|
-
static void pmbtoken_exp1_init_method_impl(
|
|
1194
|
-
// This is the output of
|
|
1200
|
+
static void pmbtoken_exp1_init_method_impl() {
|
|
1201
|
+
// This is the output of `ec_hash_to_scalar_p384_xmd_sha512_draft07` with DST
|
|
1195
1202
|
// "PMBTokens Experiment V1 HashH" and message "generator".
|
|
1196
1203
|
static const uint8_t kH[] = {
|
|
1197
1204
|
0x04, 0x82, 0xd5, 0x68, 0xf5, 0x39, 0xf6, 0x08, 0x19, 0xa1, 0x75,
|
|
@@ -1211,7 +1218,7 @@ static void pmbtoken_exp1_init_method_impl(void) {
|
|
|
1211
1218
|
pmbtoken_exp1_hash_to_scalar, 1);
|
|
1212
1219
|
}
|
|
1213
1220
|
|
|
1214
|
-
static int pmbtoken_exp1_init_method(
|
|
1221
|
+
static int pmbtoken_exp1_init_method() {
|
|
1215
1222
|
CRYPTO_once(&pmbtoken_exp1_method_once, pmbtoken_exp1_init_method_impl);
|
|
1216
1223
|
if (!pmbtoken_exp1_ok) {
|
|
1217
1224
|
OPENSSL_PUT_ERROR(TRUST_TOKEN, ERR_R_INTERNAL_ERROR);
|
|
@@ -1220,7 +1227,7 @@ static int pmbtoken_exp1_init_method(void) {
|
|
|
1220
1227
|
return 1;
|
|
1221
1228
|
}
|
|
1222
1229
|
|
|
1223
|
-
int pmbtoken_exp1_generate_key(CBB *out_private, CBB *out_public) {
|
|
1230
|
+
int bssl::pmbtoken_exp1_generate_key(CBB *out_private, CBB *out_public) {
|
|
1224
1231
|
if (!pmbtoken_exp1_init_method()) {
|
|
1225
1232
|
return 0;
|
|
1226
1233
|
}
|
|
@@ -1228,9 +1235,10 @@ int pmbtoken_exp1_generate_key(CBB *out_private, CBB *out_public) {
|
|
|
1228
1235
|
return pmbtoken_generate_key(&pmbtoken_exp1_method, out_private, out_public);
|
|
1229
1236
|
}
|
|
1230
1237
|
|
|
1231
|
-
int pmbtoken_exp1_derive_key_from_secret(CBB *out_private,
|
|
1232
|
-
|
|
1233
|
-
|
|
1238
|
+
int bssl::pmbtoken_exp1_derive_key_from_secret(CBB *out_private,
|
|
1239
|
+
CBB *out_public,
|
|
1240
|
+
const uint8_t *secret,
|
|
1241
|
+
size_t secret_len) {
|
|
1234
1242
|
if (!pmbtoken_exp1_init_method()) {
|
|
1235
1243
|
return 0;
|
|
1236
1244
|
}
|
|
@@ -1239,36 +1247,37 @@ int pmbtoken_exp1_derive_key_from_secret(CBB *out_private, CBB *out_public,
|
|
|
1239
1247
|
out_public, secret, secret_len);
|
|
1240
1248
|
}
|
|
1241
1249
|
|
|
1242
|
-
int pmbtoken_exp1_client_key_from_bytes(TRUST_TOKEN_CLIENT_KEY *key,
|
|
1243
|
-
|
|
1250
|
+
int bssl::pmbtoken_exp1_client_key_from_bytes(TRUST_TOKEN_CLIENT_KEY *key,
|
|
1251
|
+
const uint8_t *in, size_t len) {
|
|
1244
1252
|
if (!pmbtoken_exp1_init_method()) {
|
|
1245
1253
|
return 0;
|
|
1246
1254
|
}
|
|
1247
1255
|
return pmbtoken_client_key_from_bytes(&pmbtoken_exp1_method, key, in, len);
|
|
1248
1256
|
}
|
|
1249
1257
|
|
|
1250
|
-
int pmbtoken_exp1_issuer_key_from_bytes(TRUST_TOKEN_ISSUER_KEY *key,
|
|
1251
|
-
|
|
1258
|
+
int bssl::pmbtoken_exp1_issuer_key_from_bytes(TRUST_TOKEN_ISSUER_KEY *key,
|
|
1259
|
+
const uint8_t *in, size_t len) {
|
|
1252
1260
|
if (!pmbtoken_exp1_init_method()) {
|
|
1253
1261
|
return 0;
|
|
1254
1262
|
}
|
|
1255
1263
|
return pmbtoken_issuer_key_from_bytes(&pmbtoken_exp1_method, key, in, len);
|
|
1256
1264
|
}
|
|
1257
1265
|
|
|
1258
|
-
STACK_OF(TRUST_TOKEN_PRETOKEN) *pmbtoken_exp1_blind(CBB *cbb,
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1266
|
+
STACK_OF(TRUST_TOKEN_PRETOKEN) *bssl::pmbtoken_exp1_blind(CBB *cbb,
|
|
1267
|
+
size_t count,
|
|
1268
|
+
int include_message,
|
|
1269
|
+
const uint8_t *msg,
|
|
1270
|
+
size_t msg_len) {
|
|
1262
1271
|
if (!pmbtoken_exp1_init_method()) {
|
|
1263
|
-
return
|
|
1272
|
+
return nullptr;
|
|
1264
1273
|
}
|
|
1265
1274
|
return pmbtoken_blind(&pmbtoken_exp1_method, cbb, count, include_message, msg,
|
|
1266
1275
|
msg_len);
|
|
1267
1276
|
}
|
|
1268
1277
|
|
|
1269
|
-
int pmbtoken_exp1_sign(const TRUST_TOKEN_ISSUER_KEY *key, CBB *cbb,
|
|
1270
|
-
|
|
1271
|
-
|
|
1278
|
+
int bssl::pmbtoken_exp1_sign(const TRUST_TOKEN_ISSUER_KEY *key, CBB *cbb,
|
|
1279
|
+
CBS *cbs, size_t num_requested,
|
|
1280
|
+
size_t num_to_issue, uint8_t private_metadata) {
|
|
1272
1281
|
if (!pmbtoken_exp1_init_method()) {
|
|
1273
1282
|
return 0;
|
|
1274
1283
|
}
|
|
@@ -1276,22 +1285,23 @@ int pmbtoken_exp1_sign(const TRUST_TOKEN_ISSUER_KEY *key, CBB *cbb, CBS *cbs,
|
|
|
1276
1285
|
num_to_issue, private_metadata);
|
|
1277
1286
|
}
|
|
1278
1287
|
|
|
1279
|
-
STACK_OF(TRUST_TOKEN) *pmbtoken_exp1_unblind(
|
|
1288
|
+
STACK_OF(TRUST_TOKEN) *bssl::pmbtoken_exp1_unblind(
|
|
1280
1289
|
const TRUST_TOKEN_CLIENT_KEY *key,
|
|
1281
1290
|
const STACK_OF(TRUST_TOKEN_PRETOKEN) *pretokens, CBS *cbs, size_t count,
|
|
1282
1291
|
uint32_t key_id) {
|
|
1283
1292
|
if (!pmbtoken_exp1_init_method()) {
|
|
1284
|
-
return
|
|
1293
|
+
return nullptr;
|
|
1285
1294
|
}
|
|
1286
1295
|
return pmbtoken_unblind(&pmbtoken_exp1_method, key, pretokens, cbs, count,
|
|
1287
1296
|
key_id);
|
|
1288
1297
|
}
|
|
1289
1298
|
|
|
1290
|
-
int pmbtoken_exp1_read(const TRUST_TOKEN_ISSUER_KEY *key,
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1299
|
+
int bssl::pmbtoken_exp1_read(const TRUST_TOKEN_ISSUER_KEY *key,
|
|
1300
|
+
uint8_t out_nonce[TRUST_TOKEN_NONCE_SIZE],
|
|
1301
|
+
uint8_t *out_private_metadata,
|
|
1302
|
+
const uint8_t *token, size_t token_len,
|
|
1303
|
+
int include_message, const uint8_t *msg,
|
|
1304
|
+
size_t msg_len) {
|
|
1295
1305
|
if (!pmbtoken_exp1_init_method()) {
|
|
1296
1306
|
return 0;
|
|
1297
1307
|
}
|
|
@@ -1300,7 +1310,7 @@ int pmbtoken_exp1_read(const TRUST_TOKEN_ISSUER_KEY *key,
|
|
|
1300
1310
|
msg, msg_len);
|
|
1301
1311
|
}
|
|
1302
1312
|
|
|
1303
|
-
int pmbtoken_exp1_get_h_for_testing(uint8_t out[97]) {
|
|
1313
|
+
int bssl::pmbtoken_exp1_get_h_for_testing(uint8_t out[97]) {
|
|
1304
1314
|
if (!pmbtoken_exp1_init_method()) {
|
|
1305
1315
|
return 0;
|
|
1306
1316
|
}
|
|
@@ -1326,7 +1336,7 @@ static int pmbtoken_exp2_hash_s(const EC_GROUP *group, EC_JACOBIAN *out,
|
|
|
1326
1336
|
const uint8_t kHashSLabel[] = "PMBTokens Experiment V2 HashS";
|
|
1327
1337
|
int ret = 0;
|
|
1328
1338
|
CBB cbb;
|
|
1329
|
-
uint8_t *buf =
|
|
1339
|
+
uint8_t *buf = nullptr;
|
|
1330
1340
|
size_t len;
|
|
1331
1341
|
if (!CBB_init(&cbb, 0) || !point_to_cbb(&cbb, group, t) ||
|
|
1332
1342
|
!CBB_add_bytes(&cbb, s, TRUST_TOKEN_NONCE_SIZE) ||
|
|
@@ -1362,8 +1372,8 @@ static int pmbtoken_exp2_ok = 0;
|
|
|
1362
1372
|
static PMBTOKEN_METHOD pmbtoken_exp2_method;
|
|
1363
1373
|
static CRYPTO_once_t pmbtoken_exp2_method_once = CRYPTO_ONCE_INIT;
|
|
1364
1374
|
|
|
1365
|
-
static void pmbtoken_exp2_init_method_impl(
|
|
1366
|
-
// This is the output of
|
|
1375
|
+
static void pmbtoken_exp2_init_method_impl() {
|
|
1376
|
+
// This is the output of `ec_hash_to_scalar_p384_xmd_sha512_draft07` with DST
|
|
1367
1377
|
// "PMBTokens Experiment V2 HashH" and message "generator".
|
|
1368
1378
|
static const uint8_t kH[] = {
|
|
1369
1379
|
0x04, 0xbc, 0x27, 0x24, 0x99, 0xfa, 0xc9, 0xa4, 0x74, 0x6f, 0xf9,
|
|
@@ -1382,7 +1392,7 @@ static void pmbtoken_exp2_init_method_impl(void) {
|
|
|
1382
1392
|
pmbtoken_exp2_hash_to_scalar, 0);
|
|
1383
1393
|
}
|
|
1384
1394
|
|
|
1385
|
-
static int pmbtoken_exp2_init_method(
|
|
1395
|
+
static int pmbtoken_exp2_init_method() {
|
|
1386
1396
|
CRYPTO_once(&pmbtoken_exp2_method_once, pmbtoken_exp2_init_method_impl);
|
|
1387
1397
|
if (!pmbtoken_exp2_ok) {
|
|
1388
1398
|
OPENSSL_PUT_ERROR(TRUST_TOKEN, ERR_R_INTERNAL_ERROR);
|
|
@@ -1391,7 +1401,7 @@ static int pmbtoken_exp2_init_method(void) {
|
|
|
1391
1401
|
return 1;
|
|
1392
1402
|
}
|
|
1393
1403
|
|
|
1394
|
-
int pmbtoken_exp2_generate_key(CBB *out_private, CBB *out_public) {
|
|
1404
|
+
int bssl::pmbtoken_exp2_generate_key(CBB *out_private, CBB *out_public) {
|
|
1395
1405
|
if (!pmbtoken_exp2_init_method()) {
|
|
1396
1406
|
return 0;
|
|
1397
1407
|
}
|
|
@@ -1400,9 +1410,10 @@ int pmbtoken_exp2_generate_key(CBB *out_private, CBB *out_public) {
|
|
|
1400
1410
|
}
|
|
1401
1411
|
|
|
1402
1412
|
|
|
1403
|
-
int pmbtoken_exp2_derive_key_from_secret(CBB *out_private,
|
|
1404
|
-
|
|
1405
|
-
|
|
1413
|
+
int bssl::pmbtoken_exp2_derive_key_from_secret(CBB *out_private,
|
|
1414
|
+
CBB *out_public,
|
|
1415
|
+
const uint8_t *secret,
|
|
1416
|
+
size_t secret_len) {
|
|
1406
1417
|
if (!pmbtoken_exp2_init_method()) {
|
|
1407
1418
|
return 0;
|
|
1408
1419
|
}
|
|
@@ -1411,36 +1422,37 @@ int pmbtoken_exp2_derive_key_from_secret(CBB *out_private, CBB *out_public,
|
|
|
1411
1422
|
out_public, secret, secret_len);
|
|
1412
1423
|
}
|
|
1413
1424
|
|
|
1414
|
-
int pmbtoken_exp2_client_key_from_bytes(TRUST_TOKEN_CLIENT_KEY *key,
|
|
1415
|
-
|
|
1425
|
+
int bssl::pmbtoken_exp2_client_key_from_bytes(TRUST_TOKEN_CLIENT_KEY *key,
|
|
1426
|
+
const uint8_t *in, size_t len) {
|
|
1416
1427
|
if (!pmbtoken_exp2_init_method()) {
|
|
1417
1428
|
return 0;
|
|
1418
1429
|
}
|
|
1419
1430
|
return pmbtoken_client_key_from_bytes(&pmbtoken_exp2_method, key, in, len);
|
|
1420
1431
|
}
|
|
1421
1432
|
|
|
1422
|
-
int pmbtoken_exp2_issuer_key_from_bytes(TRUST_TOKEN_ISSUER_KEY *key,
|
|
1423
|
-
|
|
1433
|
+
int bssl::pmbtoken_exp2_issuer_key_from_bytes(TRUST_TOKEN_ISSUER_KEY *key,
|
|
1434
|
+
const uint8_t *in, size_t len) {
|
|
1424
1435
|
if (!pmbtoken_exp2_init_method()) {
|
|
1425
1436
|
return 0;
|
|
1426
1437
|
}
|
|
1427
1438
|
return pmbtoken_issuer_key_from_bytes(&pmbtoken_exp2_method, key, in, len);
|
|
1428
1439
|
}
|
|
1429
1440
|
|
|
1430
|
-
STACK_OF(TRUST_TOKEN_PRETOKEN) *pmbtoken_exp2_blind(CBB *cbb,
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1441
|
+
STACK_OF(TRUST_TOKEN_PRETOKEN) *bssl::pmbtoken_exp2_blind(CBB *cbb,
|
|
1442
|
+
size_t count,
|
|
1443
|
+
int include_message,
|
|
1444
|
+
const uint8_t *msg,
|
|
1445
|
+
size_t msg_len) {
|
|
1434
1446
|
if (!pmbtoken_exp2_init_method()) {
|
|
1435
|
-
return
|
|
1447
|
+
return nullptr;
|
|
1436
1448
|
}
|
|
1437
1449
|
return pmbtoken_blind(&pmbtoken_exp2_method, cbb, count, include_message, msg,
|
|
1438
1450
|
msg_len);
|
|
1439
1451
|
}
|
|
1440
1452
|
|
|
1441
|
-
int pmbtoken_exp2_sign(const TRUST_TOKEN_ISSUER_KEY *key, CBB *cbb,
|
|
1442
|
-
|
|
1443
|
-
|
|
1453
|
+
int bssl::pmbtoken_exp2_sign(const TRUST_TOKEN_ISSUER_KEY *key, CBB *cbb,
|
|
1454
|
+
CBS *cbs, size_t num_requested,
|
|
1455
|
+
size_t num_to_issue, uint8_t private_metadata) {
|
|
1444
1456
|
if (!pmbtoken_exp2_init_method()) {
|
|
1445
1457
|
return 0;
|
|
1446
1458
|
}
|
|
@@ -1448,22 +1460,23 @@ int pmbtoken_exp2_sign(const TRUST_TOKEN_ISSUER_KEY *key, CBB *cbb, CBS *cbs,
|
|
|
1448
1460
|
num_to_issue, private_metadata);
|
|
1449
1461
|
}
|
|
1450
1462
|
|
|
1451
|
-
STACK_OF(TRUST_TOKEN) *pmbtoken_exp2_unblind(
|
|
1463
|
+
STACK_OF(TRUST_TOKEN) *bssl::pmbtoken_exp2_unblind(
|
|
1452
1464
|
const TRUST_TOKEN_CLIENT_KEY *key,
|
|
1453
1465
|
const STACK_OF(TRUST_TOKEN_PRETOKEN) *pretokens, CBS *cbs, size_t count,
|
|
1454
1466
|
uint32_t key_id) {
|
|
1455
1467
|
if (!pmbtoken_exp2_init_method()) {
|
|
1456
|
-
return
|
|
1468
|
+
return nullptr;
|
|
1457
1469
|
}
|
|
1458
1470
|
return pmbtoken_unblind(&pmbtoken_exp2_method, key, pretokens, cbs, count,
|
|
1459
1471
|
key_id);
|
|
1460
1472
|
}
|
|
1461
1473
|
|
|
1462
|
-
int pmbtoken_exp2_read(const TRUST_TOKEN_ISSUER_KEY *key,
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1474
|
+
int bssl::pmbtoken_exp2_read(const TRUST_TOKEN_ISSUER_KEY *key,
|
|
1475
|
+
uint8_t out_nonce[TRUST_TOKEN_NONCE_SIZE],
|
|
1476
|
+
uint8_t *out_private_metadata,
|
|
1477
|
+
const uint8_t *token, size_t token_len,
|
|
1478
|
+
int include_message, const uint8_t *msg,
|
|
1479
|
+
size_t msg_len) {
|
|
1467
1480
|
if (!pmbtoken_exp2_init_method()) {
|
|
1468
1481
|
return 0;
|
|
1469
1482
|
}
|
|
@@ -1472,7 +1485,7 @@ int pmbtoken_exp2_read(const TRUST_TOKEN_ISSUER_KEY *key,
|
|
|
1472
1485
|
msg, msg_len);
|
|
1473
1486
|
}
|
|
1474
1487
|
|
|
1475
|
-
int pmbtoken_exp2_get_h_for_testing(uint8_t out[97]) {
|
|
1488
|
+
int bssl::pmbtoken_exp2_get_h_for_testing(uint8_t out[97]) {
|
|
1476
1489
|
if (!pmbtoken_exp2_init_method()) {
|
|
1477
1490
|
return 0;
|
|
1478
1491
|
}
|
|
@@ -1498,7 +1511,7 @@ static int pmbtoken_pst1_hash_s(const EC_GROUP *group, EC_JACOBIAN *out,
|
|
|
1498
1511
|
const uint8_t kHashSLabel[] = "PMBTokens PST V1 HashS";
|
|
1499
1512
|
int ret = 0;
|
|
1500
1513
|
CBB cbb;
|
|
1501
|
-
uint8_t *buf =
|
|
1514
|
+
uint8_t *buf = nullptr;
|
|
1502
1515
|
size_t len;
|
|
1503
1516
|
if (!CBB_init(&cbb, 0) || !point_to_cbb(&cbb, group, t) ||
|
|
1504
1517
|
!CBB_add_bytes(&cbb, s, TRUST_TOKEN_NONCE_SIZE) ||
|
|
@@ -1534,8 +1547,8 @@ static int pmbtoken_pst1_ok = 0;
|
|
|
1534
1547
|
static PMBTOKEN_METHOD pmbtoken_pst1_method;
|
|
1535
1548
|
static CRYPTO_once_t pmbtoken_pst1_method_once = CRYPTO_ONCE_INIT;
|
|
1536
1549
|
|
|
1537
|
-
static void pmbtoken_pst1_init_method_impl(
|
|
1538
|
-
// This is the output of
|
|
1550
|
+
static void pmbtoken_pst1_init_method_impl() {
|
|
1551
|
+
// This is the output of `ec_hash_to_scalar_p384_xmd_sha384` with DST
|
|
1539
1552
|
// "PMBTokens PST V1 HashH" and message "generator".
|
|
1540
1553
|
static const uint8_t kH[] = {
|
|
1541
1554
|
0x04, 0x4c, 0xfa, 0xd4, 0x33, 0x6d, 0x8c, 0x4e, 0x18, 0xce, 0x1a,
|
|
@@ -1554,7 +1567,7 @@ static void pmbtoken_pst1_init_method_impl(void) {
|
|
|
1554
1567
|
pmbtoken_pst1_hash_to_scalar, 0);
|
|
1555
1568
|
}
|
|
1556
1569
|
|
|
1557
|
-
static int pmbtoken_pst1_init_method(
|
|
1570
|
+
static int pmbtoken_pst1_init_method() {
|
|
1558
1571
|
CRYPTO_once(&pmbtoken_pst1_method_once, pmbtoken_pst1_init_method_impl);
|
|
1559
1572
|
if (!pmbtoken_pst1_ok) {
|
|
1560
1573
|
OPENSSL_PUT_ERROR(TRUST_TOKEN, ERR_R_INTERNAL_ERROR);
|
|
@@ -1563,7 +1576,7 @@ static int pmbtoken_pst1_init_method(void) {
|
|
|
1563
1576
|
return 1;
|
|
1564
1577
|
}
|
|
1565
1578
|
|
|
1566
|
-
int pmbtoken_pst1_generate_key(CBB *out_private, CBB *out_public) {
|
|
1579
|
+
int bssl::pmbtoken_pst1_generate_key(CBB *out_private, CBB *out_public) {
|
|
1567
1580
|
if (!pmbtoken_pst1_init_method()) {
|
|
1568
1581
|
return 0;
|
|
1569
1582
|
}
|
|
@@ -1572,9 +1585,10 @@ int pmbtoken_pst1_generate_key(CBB *out_private, CBB *out_public) {
|
|
|
1572
1585
|
}
|
|
1573
1586
|
|
|
1574
1587
|
|
|
1575
|
-
int pmbtoken_pst1_derive_key_from_secret(CBB *out_private,
|
|
1576
|
-
|
|
1577
|
-
|
|
1588
|
+
int bssl::pmbtoken_pst1_derive_key_from_secret(CBB *out_private,
|
|
1589
|
+
CBB *out_public,
|
|
1590
|
+
const uint8_t *secret,
|
|
1591
|
+
size_t secret_len) {
|
|
1578
1592
|
if (!pmbtoken_pst1_init_method()) {
|
|
1579
1593
|
return 0;
|
|
1580
1594
|
}
|
|
@@ -1583,36 +1597,37 @@ int pmbtoken_pst1_derive_key_from_secret(CBB *out_private, CBB *out_public,
|
|
|
1583
1597
|
out_public, secret, secret_len);
|
|
1584
1598
|
}
|
|
1585
1599
|
|
|
1586
|
-
int pmbtoken_pst1_client_key_from_bytes(TRUST_TOKEN_CLIENT_KEY *key,
|
|
1587
|
-
|
|
1600
|
+
int bssl::pmbtoken_pst1_client_key_from_bytes(TRUST_TOKEN_CLIENT_KEY *key,
|
|
1601
|
+
const uint8_t *in, size_t len) {
|
|
1588
1602
|
if (!pmbtoken_pst1_init_method()) {
|
|
1589
1603
|
return 0;
|
|
1590
1604
|
}
|
|
1591
1605
|
return pmbtoken_client_key_from_bytes(&pmbtoken_pst1_method, key, in, len);
|
|
1592
1606
|
}
|
|
1593
1607
|
|
|
1594
|
-
int pmbtoken_pst1_issuer_key_from_bytes(TRUST_TOKEN_ISSUER_KEY *key,
|
|
1595
|
-
|
|
1608
|
+
int bssl::pmbtoken_pst1_issuer_key_from_bytes(TRUST_TOKEN_ISSUER_KEY *key,
|
|
1609
|
+
const uint8_t *in, size_t len) {
|
|
1596
1610
|
if (!pmbtoken_pst1_init_method()) {
|
|
1597
1611
|
return 0;
|
|
1598
1612
|
}
|
|
1599
1613
|
return pmbtoken_issuer_key_from_bytes(&pmbtoken_pst1_method, key, in, len);
|
|
1600
1614
|
}
|
|
1601
1615
|
|
|
1602
|
-
STACK_OF(TRUST_TOKEN_PRETOKEN) *pmbtoken_pst1_blind(CBB *cbb,
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1616
|
+
STACK_OF(TRUST_TOKEN_PRETOKEN) *bssl::pmbtoken_pst1_blind(CBB *cbb,
|
|
1617
|
+
size_t count,
|
|
1618
|
+
int include_message,
|
|
1619
|
+
const uint8_t *msg,
|
|
1620
|
+
size_t msg_len) {
|
|
1606
1621
|
if (!pmbtoken_pst1_init_method()) {
|
|
1607
|
-
return
|
|
1622
|
+
return nullptr;
|
|
1608
1623
|
}
|
|
1609
1624
|
return pmbtoken_blind(&pmbtoken_pst1_method, cbb, count, include_message, msg,
|
|
1610
1625
|
msg_len);
|
|
1611
1626
|
}
|
|
1612
1627
|
|
|
1613
|
-
int pmbtoken_pst1_sign(const TRUST_TOKEN_ISSUER_KEY *key, CBB *cbb,
|
|
1614
|
-
|
|
1615
|
-
|
|
1628
|
+
int bssl::pmbtoken_pst1_sign(const TRUST_TOKEN_ISSUER_KEY *key, CBB *cbb,
|
|
1629
|
+
CBS *cbs, size_t num_requested,
|
|
1630
|
+
size_t num_to_issue, uint8_t private_metadata) {
|
|
1616
1631
|
if (!pmbtoken_pst1_init_method()) {
|
|
1617
1632
|
return 0;
|
|
1618
1633
|
}
|
|
@@ -1620,22 +1635,23 @@ int pmbtoken_pst1_sign(const TRUST_TOKEN_ISSUER_KEY *key, CBB *cbb, CBS *cbs,
|
|
|
1620
1635
|
num_to_issue, private_metadata);
|
|
1621
1636
|
}
|
|
1622
1637
|
|
|
1623
|
-
STACK_OF(TRUST_TOKEN) *pmbtoken_pst1_unblind(
|
|
1638
|
+
STACK_OF(TRUST_TOKEN) *bssl::pmbtoken_pst1_unblind(
|
|
1624
1639
|
const TRUST_TOKEN_CLIENT_KEY *key,
|
|
1625
1640
|
const STACK_OF(TRUST_TOKEN_PRETOKEN) *pretokens, CBS *cbs, size_t count,
|
|
1626
1641
|
uint32_t key_id) {
|
|
1627
1642
|
if (!pmbtoken_pst1_init_method()) {
|
|
1628
|
-
return
|
|
1643
|
+
return nullptr;
|
|
1629
1644
|
}
|
|
1630
1645
|
return pmbtoken_unblind(&pmbtoken_pst1_method, key, pretokens, cbs, count,
|
|
1631
1646
|
key_id);
|
|
1632
1647
|
}
|
|
1633
1648
|
|
|
1634
|
-
int pmbtoken_pst1_read(const TRUST_TOKEN_ISSUER_KEY *key,
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1649
|
+
int bssl::pmbtoken_pst1_read(const TRUST_TOKEN_ISSUER_KEY *key,
|
|
1650
|
+
uint8_t out_nonce[TRUST_TOKEN_NONCE_SIZE],
|
|
1651
|
+
uint8_t *out_private_metadata,
|
|
1652
|
+
const uint8_t *token, size_t token_len,
|
|
1653
|
+
int include_message, const uint8_t *msg,
|
|
1654
|
+
size_t msg_len) {
|
|
1639
1655
|
if (!pmbtoken_pst1_init_method()) {
|
|
1640
1656
|
return 0;
|
|
1641
1657
|
}
|
|
@@ -1644,7 +1660,7 @@ int pmbtoken_pst1_read(const TRUST_TOKEN_ISSUER_KEY *key,
|
|
|
1644
1660
|
msg, msg_len);
|
|
1645
1661
|
}
|
|
1646
1662
|
|
|
1647
|
-
int pmbtoken_pst1_get_h_for_testing(uint8_t out[97]) {
|
|
1663
|
+
int bssl::pmbtoken_pst1_get_h_for_testing(uint8_t out[97]) {
|
|
1648
1664
|
if (!pmbtoken_pst1_init_method()) {
|
|
1649
1665
|
return 0;
|
|
1650
1666
|
}
|