grpc 1.69.0 → 1.71.0
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 +249 -283
- data/include/grpc/event_engine/endpoint_config.h +5 -5
- data/include/grpc/event_engine/event_engine.h +44 -5
- data/include/grpc/status.h +1 -1
- data/include/grpc/support/atm.h +0 -13
- data/include/grpc/support/json.h +16 -16
- data/src/core/call/request_buffer.cc +224 -0
- data/src/core/call/request_buffer.h +192 -0
- data/src/core/channelz/channelz.cc +2 -2
- data/src/core/channelz/channelz.h +3 -22
- data/src/core/channelz/channelz_registry.cc +0 -7
- data/src/core/client_channel/client_channel.cc +18 -29
- data/src/core/client_channel/client_channel.h +2 -2
- data/src/core/client_channel/client_channel_args.h +21 -0
- data/src/core/client_channel/client_channel_filter.cc +54 -131
- data/src/core/client_channel/client_channel_filter.h +11 -9
- data/src/core/client_channel/client_channel_plugin.cc +2 -1
- data/src/core/client_channel/client_channel_service_config.cc +1 -1
- data/src/core/client_channel/client_channel_service_config.h +5 -5
- data/src/core/client_channel/direct_channel.cc +1 -1
- data/src/core/client_channel/direct_channel.h +1 -1
- data/src/core/client_channel/lb_metadata.cc +7 -8
- data/src/core/client_channel/lb_metadata.h +3 -3
- data/src/core/client_channel/load_balanced_call_destination.cc +4 -4
- data/src/core/client_channel/retry_filter.cc +1 -1
- data/src/core/client_channel/retry_filter.h +1 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +10 -12
- data/src/core/client_channel/retry_filter_legacy_call_data.h +7 -7
- data/src/core/client_channel/retry_interceptor.cc +408 -0
- data/src/core/client_channel/retry_interceptor.h +157 -0
- data/src/core/client_channel/retry_service_config.cc +1 -1
- data/src/core/client_channel/retry_service_config.h +16 -3
- data/src/core/client_channel/retry_throttle.cc +33 -18
- data/src/core/client_channel/retry_throttle.h +3 -3
- data/src/core/client_channel/subchannel.cc +43 -76
- data/src/core/client_channel/subchannel.h +4 -4
- data/src/core/client_channel/subchannel_stream_client.cc +0 -1
- data/src/core/client_channel/subchannel_stream_client.h +3 -3
- data/src/core/config/config_vars.cc +1 -0
- data/src/core/config/config_vars.h +1 -0
- data/src/core/config/load_config.cc +3 -2
- data/src/core/config/load_config.h +1 -1
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +4 -11
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +7 -7
- 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 +8 -15
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +6 -6
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +0 -7
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +6 -6
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +1 -1
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +1 -6
- data/src/core/ext/filters/http/client/http_client_filter.h +4 -4
- data/src/core/ext/filters/http/client_authority_filter.cc +6 -11
- data/src/core/ext/filters/http/client_authority_filter.h +6 -6
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +18 -22
- data/src/core/ext/filters/http/message_compress/compression_filter.h +18 -13
- data/src/core/ext/filters/http/server/http_server_filter.cc +3 -8
- data/src/core/ext/filters/http/server/http_server_filter.h +4 -4
- data/src/core/ext/filters/message_size/message_size_filter.cc +13 -25
- data/src/core/ext/filters/message_size/message_size_filter.h +20 -21
- data/src/core/ext/filters/rbac/rbac_filter.cc +0 -7
- data/src/core/ext/filters/rbac/rbac_filter.h +6 -6
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +3 -3
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +1 -6
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +4 -4
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +1 -1
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +2 -2
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -2
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +4 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +612 -100
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +189 -13
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +4 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +85 -59
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +7 -7
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -3
- data/src/core/ext/transport/chttp2/transport/frame.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame.h +5 -5
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_security.cc +1 -3
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -31
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +6 -7
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +19 -8
- data/src/core/ext/transport/chttp2/transport/parsing.cc +14 -14
- data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +2 -2
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +2 -2
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/varint.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/writing.cc +16 -22
- data/src/core/ext/transport/inproc/inproc_transport.cc +1 -3
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +15 -10
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +3 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +16 -0
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +3 -2
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +66 -36
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +19 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +116 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +31 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +97 -6
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +228 -21
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +65 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +6 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +7 -106
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +7 -28
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +85 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +25 -3
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +2 -1
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +152 -0
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +40 -10
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +253 -4
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +70 -13
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +16 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +3 -2
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +60 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +13 -2
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +102 -24
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +28 -19
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +37 -7
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +7 -5
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +251 -18
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +41 -16
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +2 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +142 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +55 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +33 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +7 -4
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +11 -10
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +6 -4
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +418 -413
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +161 -153
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +270 -261
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +29 -19
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +15 -0
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +58 -65
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +73 -63
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +49 -48
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +117 -100
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +917 -898
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +15 -18
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +33 -33
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +460 -457
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +16 -19
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +95 -95
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +202 -191
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +19 -17
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +148 -135
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +23 -22
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +41 -0
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +33 -0
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +26 -19
- data/src/core/filter/blackboard.cc +2 -2
- data/src/core/filter/filter_args.h +112 -0
- data/src/core/handshaker/handshaker.cc +0 -3
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +4 -6
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +31 -32
- data/src/core/handshaker/http_connect/http_proxy_mapper.h +4 -4
- data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +5 -5
- data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +5 -5
- data/src/core/handshaker/proxy_mapper.h +4 -4
- data/src/core/handshaker/proxy_mapper_registry.cc +5 -6
- data/src/core/handshaker/proxy_mapper_registry.h +4 -4
- data/src/core/handshaker/security/secure_endpoint.cc +2 -2
- data/src/core/handshaker/security/security_handshaker.cc +3 -5
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +6 -4
- data/src/core/lib/channel/channel_args.cc +13 -13
- data/src/core/lib/channel/channel_args.h +8 -8
- data/src/core/lib/channel/connected_channel.cc +1 -1
- data/src/core/lib/channel/promise_based_filter.cc +9 -9
- data/src/core/lib/channel/promise_based_filter.h +84 -159
- data/src/core/lib/compression/compression.cc +3 -2
- data/src/core/lib/compression/compression_internal.cc +9 -9
- data/src/core/lib/compression/compression_internal.h +3 -3
- data/src/core/lib/debug/trace_flags.cc +5 -2
- data/src/core/lib/debug/trace_flags.h +2 -1
- data/src/core/lib/event_engine/ares_resolver.cc +9 -11
- data/src/core/lib/event_engine/ares_resolver.h +6 -10
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +2 -4
- data/src/core/lib/event_engine/cf_engine/cf_engine.h +2 -4
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +6 -7
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +2 -4
- data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +2 -4
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +3 -7
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +2 -4
- data/src/core/lib/event_engine/channel_args_endpoint_config.cc +5 -7
- data/src/core/lib/event_engine/channel_args_endpoint_config.h +6 -7
- data/src/core/lib/event_engine/common_closures.h +2 -4
- data/src/core/lib/event_engine/default_event_engine.cc +62 -33
- data/src/core/lib/event_engine/default_event_engine.h +24 -33
- data/src/core/lib/event_engine/default_event_engine_factory.cc +6 -12
- data/src/core/lib/event_engine/default_event_engine_factory.h +2 -4
- data/src/core/lib/event_engine/event_engine.cc +2 -4
- data/src/core/lib/event_engine/extensions/can_track_errors.h +2 -4
- data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +2 -4
- data/src/core/lib/event_engine/extensions/supports_fd.h +2 -4
- data/src/core/lib/event_engine/extensions/tcp_trace.h +2 -4
- data/src/core/lib/event_engine/forkable.cc +2 -4
- data/src/core/lib/event_engine/forkable.h +2 -4
- data/src/core/lib/event_engine/grpc_polled_fd.h +2 -4
- data/src/core/lib/event_engine/handle_containers.h +2 -4
- data/src/core/lib/event_engine/memory_allocator_factory.h +2 -4
- data/src/core/lib/event_engine/poller.h +2 -4
- data/src/core/lib/event_engine/posix.h +2 -4
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +4 -50
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +2 -4
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +4 -51
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +2 -4
- data/src/core/lib/event_engine/posix_engine/event_poller.h +2 -4
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +2 -4
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +2 -4
- data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +2 -4
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +2 -4
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +2 -4
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +2 -4
- data/src/core/lib/event_engine/posix_engine/lockfree_event.h +2 -4
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +2 -4
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +2 -4
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +20 -10
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +2 -4
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +9 -6
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -6
- data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +2 -4
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +3 -5
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +2 -4
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +2 -4
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +2 -4
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +5 -6
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +2 -4
- data/src/core/lib/event_engine/posix_engine/timer.cc +4 -6
- data/src/core/lib/event_engine/posix_engine/timer.h +4 -6
- data/src/core/lib/event_engine/posix_engine/timer_heap.cc +2 -4
- data/src/core/lib/event_engine/posix_engine/timer_heap.h +2 -4
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +5 -7
- data/src/core/lib/event_engine/posix_engine/timer_manager.h +4 -6
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +4 -8
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +24 -25
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +2 -4
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +2 -4
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +2 -4
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +2 -4
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +2 -4
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +2 -4
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +2 -4
- data/src/core/lib/event_engine/query_extensions.h +2 -4
- data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +2 -4
- data/src/core/lib/event_engine/resolved_address.cc +2 -4
- data/src/core/lib/event_engine/resolved_address_internal.h +2 -4
- data/src/core/lib/event_engine/shim.cc +2 -4
- data/src/core/lib/event_engine/shim.h +2 -4
- data/src/core/lib/event_engine/slice.cc +2 -4
- data/src/core/lib/event_engine/slice_buffer.cc +2 -4
- data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
- data/src/core/lib/event_engine/tcp_socket_utils.h +5 -7
- data/src/core/lib/event_engine/thread_local.cc +2 -4
- data/src/core/lib/event_engine/thread_local.h +2 -4
- data/src/core/lib/event_engine/thread_pool/thread_count.cc +2 -4
- data/src/core/lib/event_engine/thread_pool/thread_count.h +4 -18
- data/src/core/lib/event_engine/thread_pool/thread_pool.h +2 -4
- data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +2 -4
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +3 -5
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +2 -4
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +2 -4
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +2 -4
- data/src/core/lib/event_engine/time_util.cc +2 -4
- data/src/core/lib/event_engine/time_util.h +2 -4
- data/src/core/lib/event_engine/utils.cc +2 -4
- data/src/core/lib/event_engine/utils.h +2 -4
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +2 -4
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +2 -4
- data/src/core/lib/event_engine/windows/iocp.cc +2 -4
- data/src/core/lib/event_engine/windows/iocp.h +2 -4
- data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +2 -4
- data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +2 -4
- data/src/core/lib/event_engine/windows/win_socket.cc +2 -4
- data/src/core/lib/event_engine/windows/win_socket.h +2 -4
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +2 -4
- data/src/core/lib/event_engine/windows/windows_endpoint.h +4 -6
- data/src/core/lib/event_engine/windows/windows_engine.cc +3 -4
- data/src/core/lib/event_engine/windows/windows_engine.h +2 -4
- data/src/core/lib/event_engine/windows/windows_listener.cc +2 -4
- data/src/core/lib/event_engine/windows/windows_listener.h +2 -4
- data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +2 -4
- data/src/core/lib/event_engine/work_queue/basic_work_queue.h +2 -4
- data/src/core/lib/event_engine/work_queue/work_queue.h +2 -4
- data/src/core/lib/experiments/experiments.cc +147 -207
- data/src/core/lib/experiments/experiments.h +79 -96
- data/src/core/lib/iomgr/buffer_list.h +22 -21
- data/src/core/lib/iomgr/cfstream_handle.cc +0 -2
- data/src/core/lib/iomgr/closure.h +1 -4
- data/src/core/lib/iomgr/combiner.cc +0 -1
- data/src/core/lib/iomgr/error.cc +2 -2
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +0 -1
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +1 -3
- data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +0 -1
- data/src/core/lib/iomgr/exec_ctx.cc +1 -7
- data/src/core/lib/iomgr/exec_ctx.h +1 -132
- data/src/core/lib/iomgr/executor.cc +0 -11
- data/src/core/lib/iomgr/resolve_address_posix.cc +0 -2
- data/src/core/lib/iomgr/resolve_address_windows.cc +0 -2
- data/src/core/lib/iomgr/socket_utils_posix.cc +3 -2
- data/src/core/lib/iomgr/tcp_posix.cc +3 -2
- data/src/core/lib/iomgr/tcp_server_posix.cc +1 -3
- data/src/core/lib/iomgr/tcp_server_windows.cc +0 -1
- data/src/core/lib/iomgr/timer_manager.cc +1 -9
- data/src/core/lib/promise/activity.cc +2 -0
- data/src/core/lib/promise/activity.h +33 -12
- data/src/core/lib/promise/detail/join_state.h +16 -68
- data/src/core/lib/promise/detail/promise_factory.h +85 -25
- data/src/core/lib/promise/detail/promise_like.h +16 -19
- data/src/core/lib/promise/detail/seq_state.h +102 -315
- data/src/core/lib/promise/for_each.h +14 -5
- data/src/core/lib/promise/if.h +48 -20
- data/src/core/lib/promise/interceptor_list.h +9 -9
- data/src/core/lib/promise/latch.h +14 -6
- data/src/core/lib/promise/loop.h +58 -18
- data/src/core/lib/promise/map.h +145 -49
- data/src/core/lib/promise/party.cc +84 -15
- data/src/core/lib/promise/party.h +229 -32
- data/src/core/lib/promise/pipe.h +12 -12
- data/src/core/lib/promise/poll.h +8 -5
- data/src/core/lib/promise/prioritized_race.h +16 -22
- data/src/core/lib/promise/promise.h +2 -3
- data/src/core/lib/promise/race.h +4 -12
- data/src/core/lib/promise/seq.h +41 -6
- data/src/core/lib/promise/sleep.cc +3 -3
- data/src/core/lib/promise/sleep.h +15 -1
- data/src/core/lib/promise/status_flag.h +19 -3
- data/src/core/lib/promise/try_join.h +119 -5
- data/src/core/lib/promise/try_seq.h +39 -12
- data/src/core/lib/resource_quota/arena.h +87 -0
- data/src/core/lib/resource_quota/connection_quota.h +4 -0
- data/src/core/lib/resource_quota/memory_quota.cc +53 -49
- data/src/core/lib/resource_quota/memory_quota.h +4 -4
- data/src/core/lib/security/authorization/evaluate_args.cc +3 -3
- data/src/core/lib/security/authorization/evaluate_args.h +3 -3
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +0 -7
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +6 -6
- data/src/core/lib/security/authorization/matchers.h +3 -3
- data/src/core/lib/security/authorization/rbac_policy.cc +1 -1
- data/src/core/lib/security/authorization/rbac_policy.h +3 -3
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +1 -2
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +1 -3
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -1
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +2 -2
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +1 -1
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +1 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -1
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +4 -4
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +3 -3
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +2 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +12 -13
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +14 -14
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +23 -15
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +3 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +1 -2
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +2 -2
- data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +4 -5
- data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +4 -4
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +2 -1
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +3 -3
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +9 -9
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +13 -13
- data/src/core/lib/security/transport/auth_filters.h +95 -7
- data/src/core/lib/security/transport/client_auth_filter.cc +96 -6
- data/src/core/lib/security/transport/server_auth_filter.cc +0 -8
- data/src/core/lib/slice/slice_buffer.cc +2 -2
- data/src/core/lib/slice/slice_buffer.h +2 -2
- data/src/core/lib/surface/call.cc +0 -4
- data/src/core/lib/surface/call.h +4 -3
- data/src/core/lib/surface/call_utils.cc +2 -2
- data/src/core/lib/surface/call_utils.h +10 -4
- data/src/core/lib/surface/channel.cc +6 -14
- data/src/core/lib/surface/channel.h +3 -3
- data/src/core/lib/surface/channel_init.cc +1 -1
- data/src/core/lib/surface/client_call.cc +56 -41
- data/src/core/lib/surface/client_call.h +7 -2
- data/src/core/lib/surface/completion_queue.cc +10 -49
- data/src/core/lib/surface/event_string.cc +7 -1
- data/src/core/lib/surface/filter_stack_call.cc +2 -4
- data/src/core/lib/surface/filter_stack_call.h +1 -1
- data/src/core/lib/surface/init.cc +17 -12
- data/src/core/lib/surface/init_internally.h +13 -2
- data/src/core/lib/surface/legacy_channel.cc +10 -8
- data/src/core/lib/surface/legacy_channel.h +2 -2
- data/src/core/lib/surface/server_call.cc +116 -84
- data/src/core/lib/surface/server_call.h +2 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/call_filters.cc +10 -4
- data/src/core/lib/transport/call_filters.h +108 -59
- data/src/core/lib/transport/call_spine.cc +12 -49
- data/src/core/lib/transport/call_spine.h +174 -7
- data/src/core/lib/transport/call_state.h +140 -47
- data/src/core/lib/transport/connectivity_state.cc +8 -9
- data/src/core/lib/transport/connectivity_state.h +2 -4
- data/src/core/lib/transport/http2_errors.h +5 -3
- data/src/core/lib/transport/interception_chain.cc +8 -0
- data/src/core/lib/transport/interception_chain.h +36 -7
- data/src/core/lib/transport/metadata.h +88 -0
- data/src/core/lib/transport/metadata_batch.cc +2 -2
- data/src/core/lib/transport/metadata_batch.h +79 -18
- data/src/core/lib/transport/timeout_encoding.cc +15 -15
- data/src/core/lib/transport/timeout_encoding.h +3 -2
- data/src/core/lib/transport/transport.cc +0 -1
- data/src/core/lib/transport/transport.h +12 -7
- data/src/core/load_balancing/backend_metric_parser.cc +21 -28
- data/src/core/load_balancing/endpoint_list.cc +11 -1
- data/src/core/load_balancing/endpoint_list.h +20 -13
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -6
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +4 -4
- data/src/core/load_balancing/grpclb/grpclb.cc +21 -38
- data/src/core/load_balancing/health_check_client.cc +16 -48
- data/src/core/load_balancing/health_check_client_internal.h +7 -7
- data/src/core/load_balancing/lb_policy.cc +4 -6
- data/src/core/load_balancing/lb_policy.h +4 -12
- data/src/core/load_balancing/lb_policy_registry.cc +10 -8
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +57 -68
- data/src/core/load_balancing/outlier_detection/outlier_detection.h +4 -3
- data/src/core/load_balancing/pick_first/pick_first.cc +110 -77
- data/src/core/load_balancing/priority/priority.cc +8 -13
- data/src/core/load_balancing/ring_hash/ring_hash.cc +210 -158
- data/src/core/load_balancing/ring_hash/ring_hash.h +4 -11
- data/src/core/load_balancing/rls/rls.cc +105 -194
- data/src/core/load_balancing/rls/rls.h +97 -1
- data/src/core/load_balancing/round_robin/round_robin.cc +14 -19
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +4 -4
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +2 -2
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +20 -29
- data/src/core/load_balancing/weighted_target/weighted_target.cc +7 -15
- data/src/core/load_balancing/xds/cds.cc +11 -15
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +15 -18
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +10 -18
- data/src/core/load_balancing/xds/xds_override_host.cc +45 -92
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +11 -11
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +10 -15
- data/src/core/resolver/dns/native/dns_resolver.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.cc +10 -11
- data/src/core/resolver/fake/fake_resolver.h +2 -2
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +9 -12
- data/src/core/resolver/polling_resolver.cc +2 -5
- data/src/core/resolver/polling_resolver.h +3 -3
- data/src/core/resolver/resolver_registry.cc +4 -3
- data/src/core/resolver/xds/xds_config.cc +6 -6
- data/src/core/resolver/xds/xds_config.h +2 -2
- data/src/core/resolver/xds/xds_dependency_manager.cc +190 -183
- data/src/core/resolver/xds/xds_dependency_manager.h +28 -18
- data/src/core/resolver/xds/xds_resolver.cc +81 -122
- data/src/core/server/server.cc +353 -95
- data/src/core/server/server.h +214 -65
- data/src/core/server/server_call_tracer_filter.cc +3 -7
- data/src/core/server/server_config_selector_filter.cc +8 -15
- data/src/core/server/xds_server_config_fetcher.cc +93 -159
- data/src/core/service_config/service_config_channel_arg_filter.cc +7 -19
- data/src/core/service_config/service_config_impl.cc +3 -3
- data/src/core/telemetry/call_tracer.cc +8 -8
- data/src/core/telemetry/call_tracer.h +6 -5
- data/src/core/telemetry/metrics.cc +3 -3
- data/src/core/telemetry/metrics.h +2 -8
- data/src/core/telemetry/tcp_tracer.h +32 -32
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +3 -3
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +14 -14
- data/src/core/tsi/fake_transport_security.cc +5 -0
- data/src/core/util/backoff.cc +15 -4
- data/src/core/util/dump_args.h +1 -9
- data/src/core/util/env.h +3 -4
- data/src/core/util/examine_stack.cc +2 -2
- data/src/core/util/examine_stack.h +3 -4
- data/src/core/util/gpr_time.cc +0 -2
- data/src/core/util/http_client/httpcli.cc +69 -22
- data/src/core/util/http_client/httpcli.h +18 -8
- data/src/core/util/http_client/httpcli_security_connector.cc +2 -2
- data/src/core/util/json/json_channel_args.h +2 -1
- data/src/core/util/json/json_object_loader.cc +4 -4
- data/src/core/util/json/json_object_loader.h +12 -12
- data/src/core/util/json/json_reader.cc +4 -4
- data/src/core/util/json/json_writer.cc +3 -3
- data/src/core/util/latent_see.cc +3 -3
- data/src/core/util/latent_see.h +2 -2
- data/src/core/util/linux/env.cc +3 -4
- data/src/core/util/lru_cache.h +4 -4
- data/src/core/util/match.h +7 -7
- data/src/core/util/matchers.cc +1 -2
- data/src/core/util/matchers.h +7 -12
- data/src/core/util/posix/env.cc +2 -2
- data/src/core/util/posix/sync.cc +0 -1
- data/src/core/util/posix/time.cc +0 -1
- data/src/core/util/ref_counted.h +1 -0
- data/src/core/util/ref_counted_ptr.h +1 -1
- data/src/core/util/ring_buffer.h +4 -5
- data/src/core/util/status_helper.cc +16 -20
- data/src/core/util/status_helper.h +5 -5
- data/src/core/util/sync_abseil.cc +0 -1
- data/src/core/util/table.h +6 -21
- data/src/core/util/time.cc +1 -1
- data/src/core/util/time.h +3 -3
- data/src/core/util/time_precise.cc +0 -1
- data/src/core/util/type_list.h +56 -0
- data/src/core/util/uri.cc +6 -4
- data/src/core/util/uri.h +7 -0
- data/src/core/util/useful.h +13 -15
- data/src/core/util/validation_errors.cc +5 -5
- data/src/core/util/wait_for_single_owner.h +62 -0
- data/src/core/util/windows/env.cc +3 -3
- data/src/core/util/windows/sync.cc +0 -1
- data/src/core/util/windows/time.cc +0 -1
- data/src/core/util/work_serializer.cc +27 -267
- data/src/core/util/work_serializer.h +3 -27
- data/src/core/xds/grpc/certificate_provider_store.cc +12 -17
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +2 -2
- data/src/core/xds/grpc/xds_audit_logger_registry.cc +1 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +11 -14
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +2 -2
- data/src/core/xds/grpc/xds_certificate_provider.cc +15 -15
- data/src/core/xds/grpc/xds_client_grpc.cc +7 -8
- data/src/core/xds/grpc/xds_cluster.h +4 -4
- data/src/core/xds/grpc/xds_cluster_parser.cc +26 -26
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +4 -4
- data/src/core/xds/grpc/xds_common_types.cc +2 -2
- data/src/core/xds/grpc/xds_common_types.h +4 -4
- data/src/core/xds/grpc/xds_common_types_parser.cc +29 -31
- data/src/core/xds/grpc/xds_common_types_parser.h +8 -7
- data/src/core/xds/grpc/xds_endpoint.cc +3 -4
- data/src/core/xds/grpc/xds_endpoint_parser.cc +68 -37
- data/src/core/xds/grpc/xds_health_status.cc +4 -4
- data/src/core/xds/grpc/xds_health_status.h +4 -3
- data/src/core/xds/grpc/xds_http_fault_filter.cc +18 -20
- data/src/core/xds/grpc/xds_http_fault_filter.h +4 -3
- data/src/core/xds/grpc/xds_http_filter.h +3 -3
- data/src/core/xds/grpc/xds_http_filter_registry.cc +7 -7
- data/src/core/xds/grpc/xds_http_filter_registry.h +3 -3
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +7 -7
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +4 -3
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +30 -23
- data/src/core/xds/grpc/xds_http_rbac_filter.h +4 -3
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +10 -10
- data/src/core/xds/grpc/xds_http_stateful_session_filter.h +4 -3
- data/src/core/xds/grpc/xds_lb_policy_registry.cc +4 -4
- data/src/core/xds/grpc/xds_listener.cc +4 -6
- data/src/core/xds/grpc/xds_listener.h +10 -10
- data/src/core/xds/grpc/xds_listener_parser.cc +58 -51
- data/src/core/xds/grpc/xds_listener_parser.h +2 -1
- data/src/core/xds/grpc/xds_metadata.cc +5 -5
- data/src/core/xds/grpc/xds_metadata.h +8 -0
- data/src/core/xds/grpc/xds_metadata_parser.cc +65 -52
- data/src/core/xds/grpc/xds_route_config.cc +9 -15
- data/src/core/xds/grpc/xds_route_config.h +9 -9
- data/src/core/xds/grpc/xds_route_config_parser.cc +114 -116
- data/src/core/xds/grpc/xds_route_config_parser.h +4 -4
- data/src/core/xds/grpc/xds_routing.cc +6 -6
- data/src/core/xds/grpc/xds_routing.h +5 -5
- data/src/core/xds/grpc/xds_server_grpc.cc +22 -1
- data/src/core/xds/grpc/xds_server_grpc.h +5 -2
- data/src/core/xds/grpc/xds_server_grpc_interface.h +33 -0
- data/src/core/xds/grpc/xds_transport_grpc.cc +5 -6
- data/src/core/xds/xds_client/lrs_client.cc +71 -83
- data/src/core/xds/xds_client/lrs_client.h +8 -8
- data/src/core/xds/xds_client/xds_api.cc +5 -228
- data/src/core/xds/xds_client/xds_api.h +1 -133
- data/src/core/xds/xds_client/xds_bootstrap.cc +11 -1
- data/src/core/xds/xds_client/xds_bootstrap.h +7 -0
- data/src/core/xds/xds_client/xds_client.cc +1030 -704
- data/src/core/xds/xds_client/xds_client.h +135 -29
- data/src/core/xds/xds_client/xds_resource_type.h +2 -3
- data/src/core/xds/xds_client/xds_resource_type_impl.h +13 -8
- data/src/ruby/ext/grpc/extconf.rb +1 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bitstr.c → a_bitstr.cc} +16 -57
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.cc +53 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +47 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +42 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.cc +109 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +43 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_int.c → a_int.cc} +15 -56
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_mbstr.c → a_mbstr.cc} +22 -62
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_object.c → a_object.cc} +14 -56
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.cc +32 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strex.c → a_strex.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strnid.c → a_strnid.cc} +20 -59
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_time.c → a_time.cc} +41 -76
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_type.c → a_type.cc} +17 -59
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.cc +109 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_lib.c → asn1_lib.cc} +17 -59
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.cc +61 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +56 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.cc +63 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.cc +52 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +13 -57
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{posix_time.c → posix_time.cc} +14 -14
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_dec.c → tasn_dec.cc} +17 -58
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_enc.c → tasn_enc.cc} +22 -61
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +164 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_new.c → tasn_new.cc} +20 -61
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +84 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_utl.c → tasn_utl.cc} +26 -65
- data/third_party/boringssl-with-bazel/src/crypto/base64/{base64.c → base64.cc} +22 -67
- data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +19 -13
- data/third_party/boringssl-with-bazel/src/crypto/bio/{bio.c → bio.cc} +45 -113
- data/third_party/boringssl-with-bazel/src/crypto/bio/{bio_mem.c → bio_mem.cc} +21 -62
- data/third_party/boringssl-with-bazel/src/crypto/bio/{connect.c → connect.cc} +40 -73
- data/third_party/boringssl-with-bazel/src/crypto/bio/errno.cc +50 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/{fd.c → fd.cc} +14 -56
- data/third_party/boringssl-with-bazel/src/crypto/bio/{file.c → file.cc} +17 -59
- data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.cc +152 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/bio/{pair.c → pair.cc} +37 -71
- data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +59 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +147 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/{socket_helper.c → socket_helper.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/blake2/{blake2.c → blake2.cc} +14 -14
- data/third_party/boringssl-with-bazel/src/crypto/{bn_extra/bn_asn1.c → bn/bn_asn1.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/{bn_extra/convert.c → bn/convert.cc} +34 -76
- data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +118 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +53 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{ber.c → ber.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbb.c → cbb.cc} +45 -61
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbs.c → cbs.cc} +42 -41
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{unicode.c → unicode.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/chacha/{chacha.c → chacha.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +18 -18
- data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +110 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra/e_aesctrhmac.c → cipher/e_aesctrhmac.cc} +18 -23
- data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra/e_aesgcmsiv.c → cipher/e_aesgcmsiv.cc} +42 -38
- data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra/e_chacha20poly1305.c → cipher/e_chacha20poly1305.cc} +13 -20
- data/third_party/boringssl-with-bazel/src/crypto/cipher/e_des.cc +198 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher/e_null.cc +51 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra/e_rc2.c → cipher/e_rc2.cc} +50 -88
- data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc4.cc +54 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra/e_tls.c → cipher/e_tls.cc} +14 -13
- data/third_party/boringssl-with-bazel/src/crypto/cipher/get_cipher.cc +85 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/internal.h +29 -69
- data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra/tls_cbc.c → cipher/tls_cbc.cc} +13 -51
- data/third_party/boringssl-with-bazel/src/crypto/conf/{conf.c → conf.cc} +31 -72
- data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_apple.c → cpu_aarch64_apple.cc} +14 -14
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_fuchsia.c → cpu_aarch64_fuchsia.cc} +14 -14
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_linux.c → cpu_aarch64_linux.cc} +14 -14
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_openbsd.c → cpu_aarch64_openbsd.cc} +17 -17
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_sysreg.c → cpu_aarch64_sysreg.cc} +15 -14
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_freebsd.c → cpu_arm_freebsd.cc} +15 -15
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_linux.c → cpu_arm_linux.cc} +17 -17
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_intel.c → cpu_intel.cc} +60 -99
- data/third_party/boringssl-with-bazel/src/crypto/{crypto.c → crypto.cc} +18 -23
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{curve25519.c → curve25519.cc} +40 -43
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +18 -0
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{spake25519.c → spake25519.cc} +34 -28
- data/third_party/boringssl-with-bazel/src/crypto/des/{des.c → des.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +27 -69
- data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +124 -0
- data/third_party/boringssl-with-bazel/src/crypto/{dh_extra/params.c → dh/params.cc} +13 -51
- data/third_party/boringssl-with-bazel/src/crypto/{digest_extra/digest_extra.c → digest/digest_extra.cc} +126 -86
- data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa.c → dsa.cc} +166 -212
- data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa_asn1.c → dsa_asn1.cc} +13 -53
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +13 -15
- data/third_party/boringssl-with-bazel/src/crypto/{ec_extra/ec_asn1.c → ec/ec_asn1.cc} +59 -61
- data/third_party/boringssl-with-bazel/src/crypto/{ec_extra/ec_derive.c → ec/ec_derive.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/{ec_extra/hash_to_curve.c → ec/hash_to_curve.cc} +79 -77
- data/third_party/boringssl-with-bazel/src/crypto/{ec_extra → ec}/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/ecdh/ecdh.cc +73 -0
- data/third_party/boringssl-with-bazel/src/crypto/{ecdsa_extra/ecdsa_asn1.c → ecdsa/ecdsa_asn1.cc} +32 -86
- data/third_party/boringssl-with-bazel/src/crypto/engine/{engine.c → engine.cc} +24 -20
- data/third_party/boringssl-with-bazel/src/crypto/err/{err.c → err.cc} +41 -134
- data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/evp/{evp.c → evp.cc} +37 -88
- data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_asn1.c → evp_asn1.cc} +122 -198
- data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_ctx.c → evp_ctx.cc} +20 -63
- data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh.c → p_dh.cc} +38 -22
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh_asn1.c → p_dh_asn1.cc} +51 -29
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dsa_asn1.c → p_dsa_asn1.cc} +75 -134
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec.c → p_ec.cc} +31 -75
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec_asn1.c → p_ec_asn1.cc} +36 -82
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519.c → p_ed25519.cc} +34 -31
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519_asn1.c → p_ed25519_asn1.cc} +26 -25
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_hkdf.c → p_hkdf.cc} +30 -26
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa.c → p_rsa.cc} +54 -91
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa_asn1.c → p_rsa_asn1.cc} +26 -69
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519.c → p_x25519.cc} +34 -31
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519_asn1.c → p_x25519_asn1.cc} +30 -29
- data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +98 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/{print.c → print.cc} +17 -56
- data/third_party/boringssl-with-bazel/src/crypto/evp/{scrypt.c → scrypt.cc} +20 -13
- data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +114 -0
- data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +141 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +191 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes_nohw.c.inc → aes_nohw.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes/cbc.c.inc → aes/cbc.cc.inc} +13 -47
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes/cfb.c.inc → aes/cfb.cc.inc} +13 -47
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ctr.cc.inc +100 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes/gcm.c.inc → aes/gcm.cc.inc} +175 -314
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes/gcm_nohw.c.inc → aes/gcm_nohw.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +419 -70
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{key_wrap.c.inc → key_wrap.cc.inc} +14 -48
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +84 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ofb.cc.inc +53 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes/polyval.c.inc → aes/polyval.cc.inc} +14 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{bcm.c → bcm.cc} +116 -113
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +665 -25
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{add.c.inc → add.cc.inc} +14 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/{x86_64-gcc.c.inc → x86_64-gcc.cc.inc} +19 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bn.c.inc → bn.cc.inc} +25 -79
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c.inc → bytes.cc.inc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c.inc → cmp.cc.inc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{ctx.c.inc → ctx.cc.inc} +20 -63
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div.c.inc → div.cc.inc} +42 -93
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div_extra.c.inc → div_extra.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{exponentiation.c.inc → exponentiation.cc.inc} +38 -131
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd.c.inc → gcd.cc.inc} +16 -113
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd_extra.c.inc → gcd_extra.cc.inc} +45 -37
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c.inc → generic.cc.inc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +25 -134
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +108 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery.c.inc → montgomery.cc.inc} +24 -126
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c.inc → montgomery_inv.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{mul.c.inc → mul.cc.inc} +24 -70
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{prime.c.inc → prime.cc.inc} +44 -141
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{random.c.inc → random.cc.inc} +13 -107
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c.inc → rsaz_exp.cc.inc} +18 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +20 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{shift.c.inc → shift.cc.inc} +16 -59
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{sqrt.c.inc → sqrt.cc.inc} +13 -53
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{aead.c.inc → aead.cc.inc} +30 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{cipher.c.inc → cipher.cc.inc} +20 -65
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aes.c.inc → e_aes.cc.inc} +113 -335
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c.inc → e_aesccm.cc.inc} +21 -58
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +14 -65
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/{cmac.c.inc → cmac.cc.inc} +19 -53
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +26 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c.inc → check.cc.inc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{dh.c.inc → dh.cc.inc} +28 -74
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +13 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digest.c.inc → digest.cc.inc} +30 -68
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +178 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +13 -47
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/{digestsign.c.inc → digestsign.cc.inc} +14 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +91 -91
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec.c.inc → ec.cc.inc} +24 -81
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_key.c.inc → ec_key.cc.inc} +26 -86
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c.inc → ec_montgomery.cc.inc} +14 -66
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{felem.c.inc → felem.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +19 -66
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{oct.c.inc → oct.cc.inc} +19 -72
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p224-64.c.inc → p224-64.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +15 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-nistz.c.inc → p256-nistz.cc.inc} +37 -30
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +22 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256.c.inc → p256.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{scalar.c.inc → scalar.cc.inc} +21 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c.inc → simple.cc.inc} +14 -66
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple_mul.c.inc → simple_mul.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{util.c.inc → util.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{wnaf.c.inc → wnaf.cc.inc} +38 -81
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +88 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/{ecdsa.c.inc → ecdsa.cc.inc} +19 -58
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +28 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/{hkdf.c.inc → hkdf.cc.inc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/{hmac.c.inc → hmac.cc.inc} +16 -57
- data/third_party/boringssl-with-bazel/src/crypto/{keccak → fipsmodule/keccak}/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/{keccak/keccak.c → fipsmodule/keccak/keccak.cc.inc} +14 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +1993 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +1165 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{ctrdrbg.c.inc → ctrdrbg.cc.inc} +22 -28
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +18 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{rand.c.inc → rand.cc.inc} +34 -30
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +147 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +13 -56
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{padding.c.inc → padding.cc.inc} +32 -73
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa.c.inc → rsa.cc.inc} +93 -148
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa_impl.c.inc → rsa_impl.cc.inc} +82 -137
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{fips.c.inc → fips.cc.inc} +26 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{self_check.c.inc → self_check.cc.inc} +68 -64
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +34 -34
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/{service_indicator.c.inc → service_indicator.cc.inc} +23 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +43 -57
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha1.c.inc → sha1.cc.inc} +39 -88
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha256.c.inc → sha256.cc.inc} +50 -110
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha512.c.inc → sha512.cc.inc} +61 -131
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/address.h +119 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.cc.inc +169 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.cc.inc +161 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.h +70 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/params.h +78 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +329 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.cc.inc +173 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.h +85 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.cc.inc +171 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.h +50 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c.inc → kdf.cc.inc} +13 -51
- data/third_party/boringssl-with-bazel/src/crypto/hpke/{hpke.c → hpke.cc} +19 -16
- data/third_party/boringssl-with-bazel/src/crypto/hrss/{hrss.c → hrss.cc} +73 -122
- data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +242 -442
- data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/kyber/{kyber.c → kyber.cc} +52 -28
- data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +31 -75
- data/third_party/boringssl-with-bazel/src/crypto/lhash/{lhash.c → lhash.cc} +21 -62
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md4/md4.c.inc → md4/md4.cc} +21 -67
- data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +37 -0
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md5/md5.c.inc → md5/md5.cc} +17 -58
- data/third_party/boringssl-with-bazel/src/crypto/{mem.c → mem.cc} +47 -77
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +90 -0
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +97 -1042
- data/third_party/boringssl-with-bazel/src/crypto/obj/{obj.c → obj.cc} +40 -85
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +14 -56
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.cc +80 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +44 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.cc +149 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_info.c → pem_info.cc} +20 -60
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_lib.c → pem_lib.cc} +59 -107
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +45 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pk8.c → pem_pk8.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pkey.c → pem_pkey.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.cc +22 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.cc +22 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7.c → pkcs7.cc} +17 -17
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7_x509.c → pkcs7_x509.cc} +40 -37
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +13 -54
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{p5_pbev2.c → p5_pbev2.cc} +13 -54
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8.c → pkcs8.cc} +170 -210
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8_x509.c → pkcs8_x509.cc} +101 -149
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305.c → poly1305.cc} +15 -15
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_arm.c → poly1305_arm.cc} +16 -14
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_vec.c → poly1305_vec.cc} +26 -23
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/pool/{pool.c → pool.cc} +24 -23
- data/third_party/boringssl-with-bazel/src/crypto/{rand_extra/deterministic.c → rand/deterministic.cc} +14 -14
- data/third_party/boringssl-with-bazel/src/crypto/{rand_extra/fork_detect.c → rand/fork_detect.cc} +23 -24
- data/third_party/boringssl-with-bazel/src/crypto/rand/forkunsafe.cc +44 -0
- data/third_party/boringssl-with-bazel/src/crypto/{rand_extra/getentropy.c → rand/getentropy.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/getrandom_fillin.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +42 -0
- data/third_party/boringssl-with-bazel/src/crypto/{rand_extra/passive.c → rand/passive.cc} +34 -30
- data/third_party/boringssl-with-bazel/src/crypto/{rand_extra/rand_extra.c → rand/rand.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/rand/sysrand_internal.h +37 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +46 -0
- data/third_party/boringssl-with-bazel/src/crypto/{rand_extra/urandom.c → rand/urandom.cc} +19 -19
- data/third_party/boringssl-with-bazel/src/crypto/{rand_extra/windows.c → rand/windows.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.cc +56 -0
- data/third_party/boringssl-with-bazel/src/crypto/{refcount.c → refcount.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +36 -0
- data/third_party/boringssl-with-bazel/src/crypto/{rsa_extra/rsa_asn1.c → rsa/rsa_asn1.cc} +13 -54
- data/third_party/boringssl-with-bazel/src/crypto/{rsa_extra/rsa_crypt.c → rsa/rsa_crypt.cc} +94 -133
- data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_extra.cc +19 -0
- data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_print.cc +27 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
- data/third_party/boringssl-with-bazel/src/crypto/siphash/{siphash.c → siphash.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +113 -0
- data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +204 -0
- data/third_party/boringssl-with-bazel/src/crypto/spake2plus/spake2plus.cc +501 -0
- data/third_party/boringssl-with-bazel/src/crypto/stack/{stack.c → stack.cc} +23 -61
- data/third_party/boringssl-with-bazel/src/crypto/thread.cc +68 -0
- data/third_party/boringssl-with-bazel/src/crypto/{thread_none.c → thread_none.cc} +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/{thread_pthread.c → thread_pthread.cc} +21 -20
- data/third_party/boringssl-with-bazel/src/crypto/{thread_win.c → thread_win.cc} +33 -29
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{pmbtoken.c → pmbtoken.cc} +159 -171
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{trust_token.c → trust_token.cc} +32 -34
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{voprf.c → voprf.cc} +178 -182
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +52 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +97 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +74 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{algorithm.c → algorithm.cc} +14 -56
- data/third_party/boringssl-with-bazel/src/crypto/x509/{asn1_gen.c → asn1_gen.cc} +19 -62
- data/third_party/boringssl-with-bazel/src/crypto/x509/{by_dir.c → by_dir.cc} +32 -77
- data/third_party/boringssl-with-bazel/src/crypto/x509/{by_file.c → by_file.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/ext_dat.h +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.cc +37 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +13 -57
- data/third_party/boringssl-with-bazel/src/crypto/x509/{name_print.c → name_print.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/{policy.c → policy.cc} +200 -190
- data/third_party/boringssl-with-bazel/src/crypto/x509/{rsa_pss.c → rsa_pss.cc} +59 -96
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.cc +103 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{t_req.c → t_req.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509.c → t_x509.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.cc +79 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akey.c → v3_akey.cc} +17 -57
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.cc +31 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_alt.c → v3_alt.cc} +17 -58
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +95 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +102 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_conf.c → v3_conf.cc} +18 -60
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_cpols.c → v3_cpols.cc} +60 -98
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_crld.c → v3_crld.cc} +16 -57
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +73 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +114 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_genn.c → v3_genn.cc} +20 -62
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +79 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_info.c → v3_info.cc} +20 -67
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +81 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_lib.c → v3_lib.cc} +23 -63
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ncons.c → v3_ncons.cc} +15 -56
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ocsp.c → v3_ocsp.cc} +17 -9
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +101 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_pmaps.c → v3_pmaps.cc} +15 -56
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_prn.c → v3_prn.cc} +15 -56
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_purp.c → v3_purp.cc} +29 -63
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +131 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_utl.c → v3_utl.cc} +30 -78
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509.cc +47 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_att.c → x509_att.cc} +16 -57
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_cmp.c → x509_cmp.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.cc +66 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.cc +44 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_ext.c → x509_ext.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_lu.c → x509_lu.cc} +20 -65
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_obj.c → x509_obj.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_req.c → x509_req.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_set.c → x509_set.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_trs.c → x509_trs.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_txt.c → x509_txt.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_v3.c → x509_v3.cc} +15 -57
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vfy.c → x509_vfy.cc} +229 -267
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vpm.c → x509_vpm.cc} +68 -68
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509cset.c → x509cset.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509name.c → x509name.cc} +13 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.cc +67 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +91 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +107 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_all.c → x_all.cc} +23 -61
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.cc +55 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_crl.c → x_crl.cc} +19 -61
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.cc +36 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_name.c → x_name.cc} +52 -87
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_pubkey.c → x_pubkey.cc} +17 -57
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.cc +74 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.cc +51 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.cc +34 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.cc +28 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509.c → x_x509.cc} +61 -99
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509a.c → x_x509a.cc} +17 -57
- data/third_party/boringssl-with-bazel/src/gen/crypto/{err_data.c → err_data.cc} +468 -453
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +13 -47
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +13 -51
- data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +14 -14
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +23 -62
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +248 -328
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +24 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -121
- data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +31 -16
- data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +31 -59
- data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +25 -14
- data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/des.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +17 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -56
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +17 -58
- data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +14 -66
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +31 -72
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +14 -65
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +13 -51
- data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +13 -107
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -56
- data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +13 -107
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +20 -26
- data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +13 -37
- data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +27 -69
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +22 -60
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +23 -63
- data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +15 -95
- data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +174 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +24 -32
- data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +358 -290
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +15 -114
- data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/target.h +23 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +15 -57
- data/third_party/boringssl-with-bazel/src/include/openssl/time.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +27 -156
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +15 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +13 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +14 -61
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +13 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +13 -53
- data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +15 -14
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +680 -434
- data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +129 -174
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +176 -131
- data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +21 -127
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +107 -104
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +311 -312
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +54 -47
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +677 -475
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +66 -73
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +61 -153
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +198 -331
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +88 -212
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +949 -531
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +47 -157
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +29 -159
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +18 -112
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +103 -196
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +52 -145
- data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +15 -20
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +117 -157
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +229 -365
- data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +216 -31
- data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +13 -109
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +34 -33
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +194 -350
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +38 -83
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +101 -236
- data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +17 -91
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +109 -157
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +44 -30
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +66 -195
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -176
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +58 -42
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +146 -94
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +251 -180
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +236 -107
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +64 -117
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +52 -134
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
- metadata +357 -348
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -426
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -87
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -32
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -408
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -124
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -38
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -108
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -33
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -67
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -48
- data/src/core/util/atm.cc +0 -34
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +0 -95
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -89
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -84
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +0 -151
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -85
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +0 -74
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +0 -183
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +0 -103
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -98
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +0 -105
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +0 -94
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -212
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -126
- data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +0 -92
- data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c +0 -192
- data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -102
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +0 -189
- data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -158
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -53
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +0 -127
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +0 -152
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +0 -228
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -90
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -94
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +0 -41
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +0 -18
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -165
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
- data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +0 -124
- data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
- data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +0 -156
- data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -236
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c.inc +0 -127
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c.inc +0 -124
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c.inc +0 -146
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c.inc +0 -304
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c.inc +0 -130
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -29
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c.inc +0 -196
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -428
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c.inc +0 -87
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c.inc +0 -241
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +0 -73
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c +0 -1687
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +0 -90
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c +0 -122
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -243
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -64
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -64
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -44
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +0 -42
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +0 -37
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +0 -46
- data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c +0 -98
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +0 -79
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +0 -22
- data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
- data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
- data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
- data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
- data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
- data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
- data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
- data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
- data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
- data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
- data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
- data/third_party/boringssl-with-bazel/src/crypto/thread.c +0 -110
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -94
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -136
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -116
- data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +0 -79
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +0 -145
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +0 -121
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.c +0 -73
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c +0 -135
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c +0 -141
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c +0 -112
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c +0 -154
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c +0 -122
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c +0 -121
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c +0 -142
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c +0 -170
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -89
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +0 -108
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +0 -86
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +0 -109
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -133
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +0 -149
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +0 -97
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +0 -78
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +0 -116
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +0 -93
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +0 -79
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +0 -70
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -129
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
@@ -1,143 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
* the code are not to be removed.
|
17
|
-
* If this package is used in a product, Eric Young should be given attribution
|
18
|
-
* as the author of the parts of the library used.
|
19
|
-
* This can be in the form of a textual message at program startup or
|
20
|
-
* in documentation (online or textual) provided with the package.
|
21
|
-
*
|
22
|
-
* Redistribution and use in source and binary forms, with or without
|
23
|
-
* modification, are permitted provided that the following conditions
|
24
|
-
* are met:
|
25
|
-
* 1. Redistributions of source code must retain the copyright
|
26
|
-
* notice, this list of conditions and the following disclaimer.
|
27
|
-
* 2. Redistributions in binary form must reproduce the above copyright
|
28
|
-
* notice, this list of conditions and the following disclaimer in the
|
29
|
-
* documentation and/or other materials provided with the distribution.
|
30
|
-
* 3. All advertising materials mentioning features or use of this software
|
31
|
-
* must display the following acknowledgement:
|
32
|
-
* "This product includes cryptographic software written by
|
33
|
-
* Eric Young (eay@cryptsoft.com)"
|
34
|
-
* The word 'cryptographic' can be left out if the rouines from the library
|
35
|
-
* being used are not cryptographic related :-).
|
36
|
-
* 4. If you include any Windows specific code (or a derivative thereof) from
|
37
|
-
* the apps directory (application code) you must include an acknowledgement:
|
38
|
-
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
39
|
-
*
|
40
|
-
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
41
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
42
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
43
|
-
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
44
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
45
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
46
|
-
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
47
|
-
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
48
|
-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
49
|
-
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
50
|
-
* SUCH DAMAGE.
|
51
|
-
*
|
52
|
-
* The licence and distribution terms for any publically available version or
|
53
|
-
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
54
|
-
* copied and put under another distribution licence
|
55
|
-
* [including the GNU Public Licence.]
|
56
|
-
*/
|
57
|
-
/* ====================================================================
|
58
|
-
* Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
|
59
|
-
*
|
60
|
-
* Redistribution and use in source and binary forms, with or without
|
61
|
-
* modification, are permitted provided that the following conditions
|
62
|
-
* are met:
|
63
|
-
*
|
64
|
-
* 1. Redistributions of source code must retain the above copyright
|
65
|
-
* notice, this list of conditions and the following disclaimer.
|
66
|
-
*
|
67
|
-
* 2. Redistributions in binary form must reproduce the above copyright
|
68
|
-
* notice, this list of conditions and the following disclaimer in
|
69
|
-
* the documentation and/or other materials provided with the
|
70
|
-
* distribution.
|
71
|
-
*
|
72
|
-
* 3. All advertising materials mentioning features or use of this
|
73
|
-
* software must display the following acknowledgment:
|
74
|
-
* "This product includes software developed by the OpenSSL Project
|
75
|
-
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
76
|
-
*
|
77
|
-
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
78
|
-
* endorse or promote products derived from this software without
|
79
|
-
* prior written permission. For written permission, please contact
|
80
|
-
* openssl-core@openssl.org.
|
81
|
-
*
|
82
|
-
* 5. Products derived from this software may not be called "OpenSSL"
|
83
|
-
* nor may "OpenSSL" appear in their names without prior written
|
84
|
-
* permission of the OpenSSL Project.
|
85
|
-
*
|
86
|
-
* 6. Redistributions of any form whatsoever must retain the following
|
87
|
-
* acknowledgment:
|
88
|
-
* "This product includes software developed by the OpenSSL Project
|
89
|
-
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
90
|
-
*
|
91
|
-
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
92
|
-
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
93
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
94
|
-
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
95
|
-
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
96
|
-
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
97
|
-
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
98
|
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
99
|
-
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
100
|
-
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
101
|
-
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
102
|
-
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
103
|
-
* ====================================================================
|
104
|
-
*
|
105
|
-
* This product includes cryptographic software written by Eric Young
|
106
|
-
* (eay@cryptsoft.com). This product includes software written by Tim
|
107
|
-
* Hudson (tjh@cryptsoft.com).
|
108
|
-
*
|
109
|
-
*/
|
110
|
-
/* ====================================================================
|
111
|
-
* Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
|
112
|
-
* ECC cipher suite support in OpenSSL originally developed by
|
113
|
-
* SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.
|
114
|
-
*/
|
115
|
-
/* ====================================================================
|
116
|
-
* Copyright 2005 Nokia. All rights reserved.
|
117
|
-
*
|
118
|
-
* The portions of the attached software ("Contribution") is developed by
|
119
|
-
* Nokia Corporation and is licensed pursuant to the OpenSSL open source
|
120
|
-
* license.
|
121
|
-
*
|
122
|
-
* The Contribution, originally written by Mika Kousa and Pasi Eronen of
|
123
|
-
* Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites
|
124
|
-
* support (see RFC 4279) to OpenSSL.
|
125
|
-
*
|
126
|
-
* No patent licenses or other rights except those expressly stated in
|
127
|
-
* the OpenSSL open source license shall be deemed granted or received
|
128
|
-
* expressly, by implication, estoppel, or otherwise.
|
129
|
-
*
|
130
|
-
* No assurances are provided by Nokia that the Contribution does not
|
131
|
-
* infringe the patent or other intellectual property rights of any third
|
132
|
-
* party or that the license provides you with all the necessary rights
|
133
|
-
* to make use of the Contribution.
|
134
|
-
*
|
135
|
-
* THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN
|
136
|
-
* ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA
|
137
|
-
* SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY
|
138
|
-
* OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR
|
139
|
-
* OTHERWISE.
|
140
|
-
*/
|
1
|
+
// Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
2
|
+
// Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
|
3
|
+
// Copyright 2005 Nokia. All rights reserved.
|
4
|
+
//
|
5
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
// you may not use this file except in compliance with the License.
|
7
|
+
// You may obtain a copy of the License at
|
8
|
+
//
|
9
|
+
// https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
//
|
11
|
+
// Unless required by applicable law or agreed to in writing, software
|
12
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
// See the License for the specific language governing permissions and
|
15
|
+
// limitations under the License.
|
141
16
|
|
142
17
|
#ifndef OPENSSL_HEADER_SSL_H
|
143
18
|
#define OPENSSL_HEADER_SSL_H
|
@@ -242,12 +117,13 @@ OPENSSL_EXPORT int SSL_is_server(const SSL *ssl);
|
|
242
117
|
// SSL_is_dtls returns one if |ssl| is a DTLS connection and zero otherwise.
|
243
118
|
OPENSSL_EXPORT int SSL_is_dtls(const SSL *ssl);
|
244
119
|
|
120
|
+
// SSL_is_quic returns one if |ssl| is a QUIC connection and zero otherwise.
|
121
|
+
OPENSSL_EXPORT int SSL_is_quic(const SSL *ssl);
|
122
|
+
|
245
123
|
// SSL_set_bio configures |ssl| to read from |rbio| and write to |wbio|. |ssl|
|
246
124
|
// takes ownership of the two |BIO|s. If |rbio| and |wbio| are the same, |ssl|
|
247
|
-
// only takes ownership of one reference.
|
248
|
-
//
|
249
|
-
// In DTLS, |rbio| must be non-blocking to properly handle timeouts and
|
250
|
-
// retransmits.
|
125
|
+
// only takes ownership of one reference. See |SSL_set0_rbio| and
|
126
|
+
// |SSL_set0_wbio| for requirements on |rbio| and |wbio|, respectively.
|
251
127
|
//
|
252
128
|
// If |rbio| is the same as the currently configured |BIO| for reading, that
|
253
129
|
// side is left untouched and is not freed.
|
@@ -263,14 +139,19 @@ OPENSSL_EXPORT int SSL_is_dtls(const SSL *ssl);
|
|
263
139
|
OPENSSL_EXPORT void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);
|
264
140
|
|
265
141
|
// SSL_set0_rbio configures |ssl| to read from |rbio|. It takes ownership of
|
266
|
-
// |rbio|.
|
142
|
+
// |rbio|. |rbio| may be a custom |BIO|, in which case it must implement
|
143
|
+
// |BIO_read| with |BIO_meth_set_read|. In DTLS, |rbio| must be non-blocking to
|
144
|
+
// properly handle timeouts and retransmits.
|
267
145
|
//
|
268
146
|
// Note that, although this function and |SSL_set0_wbio| may be called on the
|
269
147
|
// same |BIO|, each call takes a reference. Use |BIO_up_ref| to balance this.
|
270
148
|
OPENSSL_EXPORT void SSL_set0_rbio(SSL *ssl, BIO *rbio);
|
271
149
|
|
272
150
|
// SSL_set0_wbio configures |ssl| to write to |wbio|. It takes ownership of
|
273
|
-
// |wbio|.
|
151
|
+
// |wbio|. |wbio| may be a custom |BIO|, in which case it must implement
|
152
|
+
// |BIO_write| with |BIO_meth_set_write|. It must additionally implement
|
153
|
+
// |BIO_flush| with |BIO_meth_set_ctrl| and |BIO_CTRL_FLUSH|. If flushing is
|
154
|
+
// unnecessary with |wbio|, |BIO_flush| should return one and do nothing.
|
274
155
|
//
|
275
156
|
// Note that, although this function and |SSL_set0_rbio| may be called on the
|
276
157
|
// same |BIO|, each call takes a reference. Use |BIO_up_ref| to balance this.
|
@@ -329,11 +210,19 @@ OPENSSL_EXPORT int SSL_set_wfd(SSL *ssl, int fd);
|
|
329
210
|
// returns <= 0. The caller should pass the value into |SSL_get_error| to
|
330
211
|
// determine how to proceed.
|
331
212
|
//
|
332
|
-
// In DTLS, the caller must drive retransmissions.
|
333
|
-
//
|
334
|
-
// current timeout. If it expires before the next
|
335
|
-
// |DTLSv1_handle_timeout|. Note that DTLS handshake retransmissions
|
336
|
-
// sequence numbers, so it is not sufficient to replay packets at the
|
213
|
+
// In DTLS, the caller must drive retransmissions and timeouts. After calling
|
214
|
+
// this function, the caller must use |DTLSv1_get_timeout| to determine the
|
215
|
+
// current timeout, if any. If it expires before the application next calls into
|
216
|
+
// |ssl|, call |DTLSv1_handle_timeout|. Note that DTLS handshake retransmissions
|
217
|
+
// use fresh sequence numbers, so it is not sufficient to replay packets at the
|
218
|
+
// transport.
|
219
|
+
//
|
220
|
+
// After the DTLS handshake, some retransmissions may remain. If |ssl| wrote
|
221
|
+
// last in the handshake, it may need to retransmit the final flight in case of
|
222
|
+
// packet loss. Additionally, in DTLS 1.3, it may need to retransmit
|
223
|
+
// post-handshake messages. To handle these, the caller must always be prepared
|
224
|
+
// to receive packets and process them with |SSL_read|, even when the
|
225
|
+
// application protocol would otherwise not read from the connection.
|
337
226
|
//
|
338
227
|
// TODO(davidben): Ensure 0 is only returned on transport EOF.
|
339
228
|
// https://crbug.com/466303.
|
@@ -352,6 +241,12 @@ OPENSSL_EXPORT int SSL_accept(SSL *ssl);
|
|
352
241
|
// returns the number of bytes read. Otherwise, it returns <= 0. The caller
|
353
242
|
// should pass the value into |SSL_get_error| to determine how to proceed.
|
354
243
|
//
|
244
|
+
// In DTLS 1.3, the caller must also drive timeouts from retransmitting the
|
245
|
+
// final flight of the handshake, as well as post-handshake messages. After
|
246
|
+
// calling this function, the caller must use |DTLSv1_get_timeout| to determine
|
247
|
+
// the current timeout, if any. If it expires before the application next calls
|
248
|
+
// into |ssl|, call |DTLSv1_handle_timeout|.
|
249
|
+
//
|
355
250
|
// TODO(davidben): Ensure 0 is only returned on transport EOF.
|
356
251
|
// https://crbug.com/466303.
|
357
252
|
OPENSSL_EXPORT int SSL_read(SSL *ssl, void *buf, int num);
|
@@ -478,16 +373,12 @@ OPENSSL_EXPORT int SSL_get_error(const SSL *ssl, int ret_code);
|
|
478
373
|
#define SSL_ERROR_NONE 0
|
479
374
|
|
480
375
|
// SSL_ERROR_SSL indicates the operation failed within the library. The caller
|
481
|
-
// may inspect the error queue for more information.
|
376
|
+
// may inspect the error queue (see |ERR_get_error|) for more information.
|
482
377
|
#define SSL_ERROR_SSL 1
|
483
378
|
|
484
379
|
// SSL_ERROR_WANT_READ indicates the operation failed attempting to read from
|
485
380
|
// the transport. The caller may retry the operation when the transport is ready
|
486
381
|
// for reading.
|
487
|
-
//
|
488
|
-
// If signaled by a DTLS handshake, the caller must also call
|
489
|
-
// |DTLSv1_get_timeout| and |DTLSv1_handle_timeout| as appropriate. See
|
490
|
-
// |SSL_do_handshake|.
|
491
382
|
#define SSL_ERROR_WANT_READ 2
|
492
383
|
|
493
384
|
// SSL_ERROR_WANT_WRITE indicates the operation failed attempting to write to
|
@@ -600,28 +491,29 @@ OPENSSL_EXPORT int SSL_set_mtu(SSL *ssl, unsigned mtu);
|
|
600
491
|
// DTLSv1_set_initial_timeout_duration sets the initial duration for a DTLS
|
601
492
|
// handshake timeout.
|
602
493
|
//
|
603
|
-
// This duration overrides the default of
|
604
|
-
// recommendation of RFC
|
605
|
-
// situations where a shorter timeout would be beneficial, such as for
|
606
|
-
// time-sensitive applications.
|
494
|
+
// This duration overrides the default of 400 milliseconds, which is
|
495
|
+
// recommendation of RFC 9147 for real-time protocols.
|
607
496
|
OPENSSL_EXPORT void DTLSv1_set_initial_timeout_duration(SSL *ssl,
|
608
|
-
|
497
|
+
uint32_t duration_ms);
|
609
498
|
|
610
|
-
// DTLSv1_get_timeout queries the
|
611
|
-
//
|
612
|
-
// Otherwise, it returns zero.
|
499
|
+
// DTLSv1_get_timeout queries the running DTLS timers. If there are any in
|
500
|
+
// progress, it sets |*out| to the time remaining until the first timer expires
|
501
|
+
// and returns one. Otherwise, it returns zero. Timers may be scheduled both
|
502
|
+
// during and after the handshake.
|
613
503
|
//
|
614
504
|
// When the timeout expires, call |DTLSv1_handle_timeout| to handle the
|
615
505
|
// retransmit behavior.
|
616
506
|
//
|
617
|
-
// NOTE: This function must be queried again whenever the
|
618
|
-
//
|
507
|
+
// NOTE: This function must be queried again whenever the state machine changes,
|
508
|
+
// including when |DTLSv1_handle_timeout| is called.
|
619
509
|
OPENSSL_EXPORT int DTLSv1_get_timeout(const SSL *ssl, struct timeval *out);
|
620
510
|
|
621
|
-
// DTLSv1_handle_timeout is called when a DTLS
|
622
|
-
//
|
623
|
-
//
|
624
|
-
//
|
511
|
+
// DTLSv1_handle_timeout is called when a DTLS timeout expires. If no timeout
|
512
|
+
// had expired, it returns 0. Otherwise, it handles the timeout and returns 1 on
|
513
|
+
// success or -1 on error.
|
514
|
+
//
|
515
|
+
// This function may write to the transport (e.g. to retransmit messages) or
|
516
|
+
// update |ssl|'s internal state and schedule an updated timer.
|
625
517
|
//
|
626
518
|
// The caller's external timer should be compatible with the one |ssl| queries
|
627
519
|
// within some fudge factor. Otherwise, the call will be a no-op, but
|
@@ -629,12 +521,16 @@ OPENSSL_EXPORT int DTLSv1_get_timeout(const SSL *ssl, struct timeval *out);
|
|
629
521
|
//
|
630
522
|
// If the function returns -1, checking if |SSL_get_error| returns
|
631
523
|
// |SSL_ERROR_WANT_WRITE| may be used to determine if the retransmit failed due
|
632
|
-
// to a non-fatal error at the write |BIO|.
|
633
|
-
// retried
|
524
|
+
// to a non-fatal error at the write |BIO|. In this case, when the |BIO| is
|
525
|
+
// writable, the operation may be retried by calling the original function,
|
526
|
+
// |SSL_do_handshake| or |SSL_read|.
|
634
527
|
//
|
635
528
|
// WARNING: This function breaks the usual return value convention.
|
636
529
|
//
|
637
|
-
// TODO(davidben):
|
530
|
+
// TODO(davidben): We can make this function entirely optional by just checking
|
531
|
+
// the timers in |SSL_do_handshake| or |SSL_read|. Then timers behave like any
|
532
|
+
// other retry condition: rerun the operation and the library will make what
|
533
|
+
// progress it can.
|
638
534
|
OPENSSL_EXPORT int DTLSv1_handle_timeout(SSL *ssl);
|
639
535
|
|
640
536
|
|
@@ -651,17 +547,7 @@ OPENSSL_EXPORT int DTLSv1_handle_timeout(SSL *ssl);
|
|
651
547
|
|
652
548
|
#define DTLS1_VERSION 0xfeff
|
653
549
|
#define DTLS1_2_VERSION 0xfefd
|
654
|
-
|
655
|
-
// 1.3.
|
656
|
-
//
|
657
|
-
// WARNING: Do not use this value. BoringSSL's DTLS 1.3 implementation is still
|
658
|
-
// under development. The code enabled by this value is neither stable nor
|
659
|
-
// secure. It does not correspond to any real protocol. It is also incompatible
|
660
|
-
// with other DTLS implementations, and it is not compatible with future or past
|
661
|
-
// versions of BoringSSL.
|
662
|
-
//
|
663
|
-
// When the DTLS 1.3 implementation is complete, this symbol will be replaced.
|
664
|
-
#define DTLS1_3_EXPERIMENTAL_VERSION 0xfc25
|
550
|
+
#define DTLS1_3_VERSION 0xfefc
|
665
551
|
|
666
552
|
// SSL_CTX_set_min_proto_version sets the minimum protocol version for |ctx| to
|
667
553
|
// |version|. If |version| is zero, the default minimum version is used. It
|
@@ -864,8 +750,9 @@ OPENSSL_EXPORT void SSL_CTX_set0_buffer_pool(SSL_CTX *ctx,
|
|
864
750
|
// |SSL_CTX| and |SSL| objects maintain lists of credentials in preference
|
865
751
|
// order. During the handshake, BoringSSL will select the first usable
|
866
752
|
// credential from the list. Non-credential APIs, such as
|
867
|
-
// |SSL_CTX_use_certificate|, configure a "
|
868
|
-
// appended to this list if configured.
|
753
|
+
// |SSL_CTX_use_certificate|, configure a "legacy credential", which is
|
754
|
+
// appended to this list if configured. Using the legacy credential is the same
|
755
|
+
// as configuring an equivalent credential with the |SSL_CREDENTIAL| API.
|
869
756
|
//
|
870
757
|
// When selecting credentials, BoringSSL considers the credential's type, its
|
871
758
|
// cryptographic capabilities, and capabilities advertised by the peer. This
|
@@ -969,7 +856,7 @@ OPENSSL_EXPORT int SSL_CTX_add1_credential(SSL_CTX *ctx, SSL_CREDENTIAL *cred);
|
|
969
856
|
OPENSSL_EXPORT int SSL_add1_credential(SSL *ssl, SSL_CREDENTIAL *cred);
|
970
857
|
|
971
858
|
// SSL_certs_clear removes all credentials configured on |ssl|. It also removes
|
972
|
-
// the certificate chain and private key on the
|
859
|
+
// the certificate chain and private key on the legacy credential.
|
973
860
|
OPENSSL_EXPORT void SSL_certs_clear(SSL *ssl);
|
974
861
|
|
975
862
|
// SSL_get0_selected_credential returns the credential in use in the current
|
@@ -1000,8 +887,9 @@ OPENSSL_EXPORT const SSL_CREDENTIAL *SSL_get0_selected_credential(
|
|
1000
887
|
// than return an error. Additionally, overwriting a previously-configured
|
1001
888
|
// certificate and key pair only works if the certificate is configured first.
|
1002
889
|
//
|
1003
|
-
// Each of these functions configures the
|
1004
|
-
//
|
890
|
+
// Each of these functions configures the single "legacy credential" on the
|
891
|
+
// |SSL_CTX| or |SSL|. To select between multiple certificates, use
|
892
|
+
// |SSL_CREDENTIAL_new_x509| and other APIs to configure a list of credentials.
|
1005
893
|
|
1006
894
|
// SSL_CTX_use_certificate sets |ctx|'s leaf certificate to |x509|. It returns
|
1007
895
|
// one on success and zero on failure. If |ctx| has a private key which is
|
@@ -1138,9 +1026,8 @@ SSL_get0_peer_verify_algorithms(const SSL *ssl, const uint16_t **out_sigalgs);
|
|
1138
1026
|
// The behavior of this function is undefined except during the callbacks set by
|
1139
1027
|
// by |SSL_CTX_set_cert_cb| and |SSL_CTX_set_client_cert_cb| or when the
|
1140
1028
|
// handshake is paused because of them.
|
1141
|
-
OPENSSL_EXPORT size_t
|
1142
|
-
|
1143
|
-
const uint16_t **out_sigalgs);
|
1029
|
+
OPENSSL_EXPORT size_t SSL_get0_peer_delegation_algorithms(
|
1030
|
+
const SSL *ssl, const uint16_t **out_sigalgs);
|
1144
1031
|
|
1145
1032
|
// SSL_CTX_get0_certificate returns |ctx|'s leaf certificate.
|
1146
1033
|
OPENSSL_EXPORT X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx);
|
@@ -1198,8 +1085,7 @@ OPENSSL_EXPORT int SSL_CTX_set_ocsp_response(SSL_CTX *ctx,
|
|
1198
1085
|
// SSL_set_ocsp_response sets the OCSP response that is sent to clients which
|
1199
1086
|
// request it. It returns one on success and zero on error. The caller retains
|
1200
1087
|
// ownership of |response|.
|
1201
|
-
OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl,
|
1202
|
-
const uint8_t *response,
|
1088
|
+
OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl, const uint8_t *response,
|
1203
1089
|
size_t response_len);
|
1204
1090
|
|
1205
1091
|
// SSL_SIGN_* are signature algorithm values as defined in TLS 1.3.
|
@@ -1261,17 +1147,29 @@ OPENSSL_EXPORT const EVP_MD *SSL_get_signature_algorithm_digest(
|
|
1261
1147
|
OPENSSL_EXPORT int SSL_is_signature_algorithm_rsa_pss(uint16_t sigalg);
|
1262
1148
|
|
1263
1149
|
// SSL_CTX_set_signing_algorithm_prefs configures |ctx| to use |prefs| as the
|
1264
|
-
// preference list when signing with |ctx|'s private key.
|
1265
|
-
// success and zero on error. |prefs| should not include the
|
1266
|
-
// |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
|
1150
|
+
// preference list when signing with |ctx|'s private key in TLS 1.2 and up. It
|
1151
|
+
// returns one on success and zero on error. |prefs| should not include the
|
1152
|
+
// internal-only TLS 1.0 value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
|
1153
|
+
//
|
1154
|
+
// This setting is not used in TLS 1.0 and 1.1. Those protocols always sign a
|
1155
|
+
// hardcoded algorithm (an MD5/SHA-1 concatenation for RSA, and SHA-1 for
|
1156
|
+
// ECDSA). BoringSSL will use those algorithms if and only if those versions are
|
1157
|
+
// used. To disable them, set the minimum version to TLS 1.2 (default) or
|
1158
|
+
// higher.
|
1267
1159
|
OPENSSL_EXPORT int SSL_CTX_set_signing_algorithm_prefs(SSL_CTX *ctx,
|
1268
1160
|
const uint16_t *prefs,
|
1269
1161
|
size_t num_prefs);
|
1270
1162
|
|
1271
1163
|
// SSL_set_signing_algorithm_prefs configures |ssl| to use |prefs| as the
|
1272
|
-
// preference list when signing with |ssl|'s private key.
|
1273
|
-
// success and zero on error. |prefs| should not include the
|
1274
|
-
// |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
|
1164
|
+
// preference list when signing with |ssl|'s private key in TLS 1.2 and up. It
|
1165
|
+
// returns one on success and zero on error. |prefs| should not include the
|
1166
|
+
// internal-only TLS 1.0 value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
|
1167
|
+
//
|
1168
|
+
// This setting is not used in TLS 1.0 and 1.1. Those protocols always sign a
|
1169
|
+
// hardcoded algorithm (an MD5/SHA-1 concatenation for RSA, and SHA-1 for
|
1170
|
+
// ECDSA). BoringSSL will use those algorithms if and only if those versions are
|
1171
|
+
// used. To disable them, set the minimum version to TLS 1.2 (default) or
|
1172
|
+
// higher.
|
1275
1173
|
OPENSSL_EXPORT int SSL_set_signing_algorithm_prefs(SSL *ssl,
|
1276
1174
|
const uint16_t *prefs,
|
1277
1175
|
size_t num_prefs);
|
@@ -1359,8 +1257,7 @@ OPENSSL_EXPORT int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const uint8_t *der,
|
|
1359
1257
|
#define SSL_FILETYPE_ASN1 2
|
1360
1258
|
|
1361
1259
|
OPENSSL_EXPORT int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx,
|
1362
|
-
const char *file,
|
1363
|
-
int type);
|
1260
|
+
const char *file, int type);
|
1364
1261
|
OPENSSL_EXPORT int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file,
|
1365
1262
|
int type);
|
1366
1263
|
|
@@ -1503,6 +1400,24 @@ OPENSSL_EXPORT void SSL_CTX_set_private_key_method(
|
|
1503
1400
|
OPENSSL_EXPORT int SSL_CREDENTIAL_set_private_key_method(
|
1504
1401
|
SSL_CREDENTIAL *cred, const SSL_PRIVATE_KEY_METHOD *key_method);
|
1505
1402
|
|
1403
|
+
// SSL_CREDENTIAL_set_must_match_issuer sets the flag that this credential
|
1404
|
+
// should be considered only when it matches a peer request for a particular
|
1405
|
+
// issuer via a negotiation mechanism (such as the certificate_authorities
|
1406
|
+
// extension).
|
1407
|
+
OPENSSL_EXPORT void SSL_CREDENTIAL_set_must_match_issuer(SSL_CREDENTIAL *cred);
|
1408
|
+
|
1409
|
+
// SSL_CREDENTIAL_clear_must_match_issuer clears the flag requiring issuer
|
1410
|
+
// matching, indicating this credential should be considered regardless of peer
|
1411
|
+
// issuer matching requests. (This is the default).
|
1412
|
+
OPENSSL_EXPORT void SSL_CREDENTIAL_clear_must_match_issuer(
|
1413
|
+
SSL_CREDENTIAL *cred);
|
1414
|
+
|
1415
|
+
// SSL_CREDENTIAL_must_match_issuer returns the value of the flag indicating
|
1416
|
+
// that this credential should be considered only when it matches a peer request
|
1417
|
+
// for a particular issuer via a negotiation mechanism (such as the
|
1418
|
+
// certificate_authorities extension).
|
1419
|
+
OPENSSL_EXPORT int SSL_CREDENTIAL_must_match_issuer(const SSL_CREDENTIAL *cred);
|
1420
|
+
|
1506
1421
|
// SSL_can_release_private_key returns one if |ssl| will no longer call into the
|
1507
1422
|
// private key and zero otherwise. If the function returns one, the caller can
|
1508
1423
|
// release state associated with the private key.
|
@@ -1822,8 +1737,8 @@ OPENSSL_EXPORT STACK_OF(X509) *SSL_get_peer_full_cert_chain(const SSL *ssl);
|
|
1822
1737
|
// verification. The caller does not take ownership of the result.
|
1823
1738
|
//
|
1824
1739
|
// This is the |CRYPTO_BUFFER| variant of |SSL_get_peer_full_cert_chain|.
|
1825
|
-
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
|
1826
|
-
|
1740
|
+
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *SSL_get0_peer_certificates(
|
1741
|
+
const SSL *ssl);
|
1827
1742
|
|
1828
1743
|
// SSL_get0_signed_cert_timestamp_list sets |*out| and |*out_len| to point to
|
1829
1744
|
// |*out_len| bytes of SCT information from the server. This is only valid if
|
@@ -1884,10 +1799,11 @@ OPENSSL_EXPORT int SSL_session_reused(const SSL *ssl);
|
|
1884
1799
|
// renegotiation (RFC 5746) or TLS 1.3. Otherwise, it returns zero.
|
1885
1800
|
OPENSSL_EXPORT int SSL_get_secure_renegotiation_support(const SSL *ssl);
|
1886
1801
|
|
1887
|
-
// SSL_export_keying_material exports a
|
1888
|
-
// specified in RFC 5705. It writes |out_len| bytes to |out| given a label
|
1889
|
-
// optional context.
|
1890
|
-
//
|
1802
|
+
// SSL_export_keying_material exports a connection-specific secret from |ssl|,
|
1803
|
+
// as specified in RFC 5705. It writes |out_len| bytes to |out| given a label
|
1804
|
+
// and optional context. If |use_context| is zero, the |context| parameter is
|
1805
|
+
// ignored. Prior to TLS 1.3, using a zero-length context and using no context
|
1806
|
+
// would give different output.
|
1891
1807
|
//
|
1892
1808
|
// It returns one on success and zero otherwise.
|
1893
1809
|
OPENSSL_EXPORT int SSL_export_keying_material(
|
@@ -1937,8 +1853,9 @@ OPENSSL_EXPORT int SSL_SESSION_to_bytes_for_ticket(const SSL_SESSION *in,
|
|
1937
1853
|
|
1938
1854
|
// SSL_SESSION_from_bytes parses |in_len| bytes from |in| as an SSL_SESSION. It
|
1939
1855
|
// returns a newly-allocated |SSL_SESSION| on success or NULL on error.
|
1940
|
-
OPENSSL_EXPORT SSL_SESSION *SSL_SESSION_from_bytes(
|
1941
|
-
|
1856
|
+
OPENSSL_EXPORT SSL_SESSION *SSL_SESSION_from_bytes(const uint8_t *in,
|
1857
|
+
size_t in_len,
|
1858
|
+
const SSL_CTX *ctx);
|
1942
1859
|
|
1943
1860
|
// SSL_SESSION_get_version returns a string describing the TLS or DTLS version
|
1944
1861
|
// |session| was established at. For example, "TLSv1.2" or "DTLSv1".
|
@@ -2000,7 +1917,7 @@ OPENSSL_EXPORT X509 *SSL_SESSION_get0_peer(const SSL_SESSION *session);
|
|
2000
1917
|
// unverified list of certificates as sent by the peer, not the final chain
|
2001
1918
|
// built during verification. The caller does not take ownership of the result.
|
2002
1919
|
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
|
2003
|
-
|
1920
|
+
SSL_SESSION_get0_peer_certificates(const SSL_SESSION *session);
|
2004
1921
|
|
2005
1922
|
// SSL_SESSION_get0_signed_cert_timestamp_list sets |*out| and |*out_len| to
|
2006
1923
|
// point to |*out_len| bytes of SCT information stored in |session|. This is
|
@@ -2188,7 +2105,7 @@ OPENSSL_EXPORT void SSL_SESSION_get0_peer_sha256(const SSL_SESSION *session,
|
|
2188
2105
|
// SSL_SESS_CACHE_NO_INTERNAL, on a server, disables the internal session
|
2189
2106
|
// cache.
|
2190
2107
|
#define SSL_SESS_CACHE_NO_INTERNAL \
|
2191
|
-
|
2108
|
+
(SSL_SESS_CACHE_NO_INTERNAL_LOOKUP | SSL_SESS_CACHE_NO_INTERNAL_STORE)
|
2192
2109
|
|
2193
2110
|
// SSL_CTX_set_session_cache_mode sets the session cache mode bits for |ctx| to
|
2194
2111
|
// |mode|. It returns the previous value.
|
@@ -2433,21 +2350,22 @@ OPENSSL_EXPORT int SSL_CTX_set_tlsext_ticket_keys(SSL_CTX *ctx, const void *in,
|
|
2433
2350
|
// When encrypting a new ticket, |encrypt| will be one. It writes a public
|
2434
2351
|
// 16-byte key name to |key_name| and a fresh IV to |iv|. The output IV length
|
2435
2352
|
// must match |EVP_CIPHER_CTX_iv_length| of the cipher selected. In this mode,
|
2436
|
-
// |callback| returns 1 on success and -1 on
|
2353
|
+
// |callback| returns 1 on success, 0 to decline sending a ticket, and -1 on
|
2354
|
+
// error.
|
2437
2355
|
//
|
2438
2356
|
// When decrypting a ticket, |encrypt| will be zero. |key_name| will point to a
|
2439
2357
|
// 16-byte key name and |iv| points to an IV. The length of the IV consumed must
|
2440
2358
|
// match |EVP_CIPHER_CTX_iv_length| of the cipher selected. In this mode,
|
2441
|
-
// |callback| returns -1 to abort the handshake, 0 if
|
2442
|
-
//
|
2443
|
-
// This may be used to re-key the ticket.
|
2359
|
+
// |callback| returns -1 to abort the handshake, 0 if the ticket key was
|
2360
|
+
// unrecognized, and 1 or 2 on success. If it returns 2, the ticket will be
|
2361
|
+
// renewed. This may be used to re-key the ticket.
|
2444
2362
|
//
|
2445
2363
|
// WARNING: |callback| wildly breaks the usual return value convention and is
|
2446
2364
|
// called in two different modes.
|
2447
2365
|
OPENSSL_EXPORT int SSL_CTX_set_tlsext_ticket_key_cb(
|
2448
|
-
SSL_CTX *ctx,
|
2449
|
-
|
2450
|
-
|
2366
|
+
SSL_CTX *ctx,
|
2367
|
+
int (*callback)(SSL *ssl, uint8_t *key_name, uint8_t *iv,
|
2368
|
+
EVP_CIPHER_CTX *ctx, HMAC_CTX *hmac_ctx, int encrypt));
|
2451
2369
|
|
2452
2370
|
// ssl_ticket_aead_result_t enumerates the possible results from decrypting a
|
2453
2371
|
// ticket with an |SSL_TICKET_AEAD_METHOD|.
|
@@ -2477,7 +2395,8 @@ struct ssl_ticket_aead_method_st {
|
|
2477
2395
|
// seal encrypts and authenticates |in_len| bytes from |in|, writes, at most,
|
2478
2396
|
// |max_out_len| bytes to |out|, and puts the number of bytes written in
|
2479
2397
|
// |*out_len|. The |in| and |out| buffers may be equal but will not otherwise
|
2480
|
-
// alias. It returns one on success or zero on error.
|
2398
|
+
// alias. It returns one on success or zero on error. If the function returns
|
2399
|
+
// but |*out_len| is zero, BoringSSL will skip sending a ticket.
|
2481
2400
|
int (*seal)(SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out_len,
|
2482
2401
|
const uint8_t *in, size_t in_len);
|
2483
2402
|
|
@@ -2810,8 +2729,7 @@ OPENSSL_EXPORT int SSL_CTX_set1_param(SSL_CTX *ctx,
|
|
2810
2729
|
|
2811
2730
|
// SSL_set1_param sets verification parameters from |param|. It returns one on
|
2812
2731
|
// success and zero on failure. The caller retains ownership of |param|.
|
2813
|
-
OPENSSL_EXPORT int SSL_set1_param(SSL *ssl,
|
2814
|
-
const X509_VERIFY_PARAM *param);
|
2732
|
+
OPENSSL_EXPORT int SSL_set1_param(SSL *ssl, const X509_VERIFY_PARAM *param);
|
2815
2733
|
|
2816
2734
|
// SSL_CTX_get0_param returns |ctx|'s |X509_VERIFY_PARAM| for certificate
|
2817
2735
|
// verification. The caller must not release the returned pointer but may call
|
@@ -2941,17 +2859,29 @@ OPENSSL_EXPORT int SSL_set0_verify_cert_store(SSL *ssl, X509_STORE *store);
|
|
2941
2859
|
OPENSSL_EXPORT int SSL_set1_verify_cert_store(SSL *ssl, X509_STORE *store);
|
2942
2860
|
|
2943
2861
|
// SSL_CTX_set_verify_algorithm_prefs configures |ctx| to use |prefs| as the
|
2944
|
-
// preference list when verifying signatures from the peer's long-term key
|
2945
|
-
// returns one on zero on error. |prefs| should not include
|
2946
|
-
// value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
|
2862
|
+
// preference list when verifying signatures from the peer's long-term key in
|
2863
|
+
// TLS 1.2 and up. It returns one on zero on error. |prefs| should not include
|
2864
|
+
// the internal-only TLS 1.0 value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
|
2865
|
+
//
|
2866
|
+
// This setting is not used in TLS 1.0 and 1.1. Those protocols always sign a
|
2867
|
+
// hardcoded algorithm (an MD5/SHA-1 concatenation for RSA, and SHA-1 for
|
2868
|
+
// ECDSA). BoringSSL will accept those algorithms if and only if those versions
|
2869
|
+
// are used. To disable them, set the minimum version to TLS 1.2 (default) or
|
2870
|
+
// higher.
|
2947
2871
|
OPENSSL_EXPORT int SSL_CTX_set_verify_algorithm_prefs(SSL_CTX *ctx,
|
2948
2872
|
const uint16_t *prefs,
|
2949
2873
|
size_t num_prefs);
|
2950
2874
|
|
2951
2875
|
// SSL_set_verify_algorithm_prefs configures |ssl| to use |prefs| as the
|
2952
|
-
// preference list when verifying signatures from the peer's long-term key
|
2953
|
-
// returns one on zero on error. |prefs| should not include
|
2954
|
-
// value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
|
2876
|
+
// preference list when verifying signatures from the peer's long-term key in
|
2877
|
+
// TLS 1.2 and up. It returns one on zero on error. |prefs| should not include
|
2878
|
+
// the internal-only TLS 1.0 value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
|
2879
|
+
//
|
2880
|
+
// This setting is not used in TLS 1.0 and 1.1. Those protocols always sign a
|
2881
|
+
// hardcoded algorithm (an MD5/SHA-1 concatenation for RSA, and SHA-1 for
|
2882
|
+
// ECDSA). BoringSSL will accept those algorithms if and only if those versions
|
2883
|
+
// are used. To disable them, set the minimum version to TLS 1.2 (default) or
|
2884
|
+
// higher.
|
2955
2885
|
OPENSSL_EXPORT int SSL_set_verify_algorithm_prefs(SSL *ssl,
|
2956
2886
|
const uint16_t *prefs,
|
2957
2887
|
size_t num_prefs);
|
@@ -2979,6 +2909,12 @@ OPENSSL_EXPORT void SSL_CTX_set_client_CA_list(SSL_CTX *ctx,
|
|
2979
2909
|
OPENSSL_EXPORT void SSL_set0_client_CAs(SSL *ssl,
|
2980
2910
|
STACK_OF(CRYPTO_BUFFER) *name_list);
|
2981
2911
|
|
2912
|
+
// SSL_set0_CA_names sets |ssl|'s CA name list for the certificate authorities
|
2913
|
+
// extension to |name_list|, which should contain DER-encoded distinguished
|
2914
|
+
// names (RFC 5280). It takes ownership of |name_list|.
|
2915
|
+
OPENSSL_EXPORT void SSL_set0_CA_names(SSL *ssl,
|
2916
|
+
STACK_OF(CRYPTO_BUFFER) *name_list);
|
2917
|
+
|
2982
2918
|
// SSL_CTX_set0_client_CAs sets |ctx|'s client certificate CA list to
|
2983
2919
|
// |name_list|, which should contain DER-encoded distinguished names (RFC 5280).
|
2984
2920
|
// It takes ownership of |name_list|.
|
@@ -3002,12 +2938,12 @@ OPENSSL_EXPORT STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *ssl);
|
|
3002
2938
|
//
|
3003
2939
|
// The returned stack is owned by |ssl|, as are its contents. It should not be
|
3004
2940
|
// used past the point where the handshake is restarted after the callback.
|
3005
|
-
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
|
3006
|
-
|
2941
|
+
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *SSL_get0_server_requested_CAs(
|
2942
|
+
const SSL *ssl);
|
3007
2943
|
|
3008
2944
|
// SSL_CTX_get_client_CA_list returns |ctx|'s client certificate CA list.
|
3009
|
-
OPENSSL_EXPORT STACK_OF(X509_NAME) *
|
3010
|
-
|
2945
|
+
OPENSSL_EXPORT STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(
|
2946
|
+
const SSL_CTX *ctx);
|
3011
2947
|
|
3012
2948
|
// SSL_add_client_CA appends |x509|'s subject to the client certificate CA list.
|
3013
2949
|
// It returns one on success or zero on error. The caller retains ownership of
|
@@ -3162,8 +3098,9 @@ OPENSSL_EXPORT int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos,
|
|
3162
3098
|
// |SSL_get_pending_cipher| to query the cipher suite. This may be used to
|
3163
3099
|
// implement HTTP/2's cipher suite constraints.
|
3164
3100
|
OPENSSL_EXPORT void SSL_CTX_set_alpn_select_cb(
|
3165
|
-
SSL_CTX *ctx,
|
3166
|
-
|
3101
|
+
SSL_CTX *ctx,
|
3102
|
+
int (*cb)(SSL *ssl, const uint8_t **out, uint8_t *out_len,
|
3103
|
+
const uint8_t *in, unsigned in_len, void *arg),
|
3167
3104
|
void *arg);
|
3168
3105
|
|
3169
3106
|
// SSL_get0_alpn_selected gets the selected ALPN protocol (if any) from |ssl|.
|
@@ -3328,8 +3265,9 @@ OPENSSL_EXPORT void SSL_CTX_set_next_protos_advertised_cb(
|
|
3328
3265
|
// the client to offer NPN in the ClientHello. Callers thus should not configure
|
3329
3266
|
// this callback in TLS client contexts that are not intended to use NPN.
|
3330
3267
|
OPENSSL_EXPORT void SSL_CTX_set_next_proto_select_cb(
|
3331
|
-
SSL_CTX *ctx,
|
3332
|
-
|
3268
|
+
SSL_CTX *ctx,
|
3269
|
+
int (*cb)(SSL *ssl, uint8_t **out, uint8_t *out_len, const uint8_t *in,
|
3270
|
+
unsigned in_len, void *arg),
|
3333
3271
|
void *arg);
|
3334
3272
|
|
3335
3273
|
// SSL_get0_next_proto_negotiated sets |*out_data| and |*out_len| to point to
|
@@ -3445,10 +3383,10 @@ DEFINE_CONST_STACK_OF(SRTP_PROTECTION_PROFILE)
|
|
3445
3383
|
#define SRTP_AES128_CM_SHA1_32 0x0002
|
3446
3384
|
#define SRTP_AES128_F8_SHA1_80 0x0003
|
3447
3385
|
#define SRTP_AES128_F8_SHA1_32 0x0004
|
3448
|
-
#define SRTP_NULL_SHA1_80
|
3449
|
-
#define SRTP_NULL_SHA1_32
|
3450
|
-
#define SRTP_AEAD_AES_128_GCM
|
3451
|
-
#define SRTP_AEAD_AES_256_GCM
|
3386
|
+
#define SRTP_NULL_SHA1_80 0x0005
|
3387
|
+
#define SRTP_NULL_SHA1_32 0x0006
|
3388
|
+
#define SRTP_AEAD_AES_128_GCM 0x0007
|
3389
|
+
#define SRTP_AEAD_AES_256_GCM 0x0008
|
3452
3390
|
|
3453
3391
|
// SSL_CTX_set_srtp_profiles enables SRTP for all SSL objects created from
|
3454
3392
|
// |ctx|. |profile| contains a colon-separated list of profile names. It returns
|
@@ -3583,6 +3521,120 @@ OPENSSL_EXPORT int SSL_CREDENTIAL_set1_delegated_credential(
|
|
3583
3521
|
SSL_CREDENTIAL *cred, CRYPTO_BUFFER *dc);
|
3584
3522
|
|
3585
3523
|
|
3524
|
+
// Password Authenticated Key Exchange (PAKE).
|
3525
|
+
//
|
3526
|
+
// Password Authenticated Key Exchange protocols allow client and server to
|
3527
|
+
// mutually authenticate one another using knowledge of a password or other
|
3528
|
+
// low-entropy secret. While the TLS 1.3 pre-shared key (PSK) mechanism can
|
3529
|
+
// authenticate a high-entropy secret, it cannot be used with low-entropy
|
3530
|
+
// secrets as the PSK binder values can be used to mount a dictionary attack on
|
3531
|
+
// a low-entropy PSK. Using TLS 1.3 with a PAKE limits an attacker to confirming
|
3532
|
+
// one password guess per handshake attempt.
|
3533
|
+
//
|
3534
|
+
// WARNING: The PAKE mode in TLS is not a general-purpose authentication scheme.
|
3535
|
+
// As the underlying secret is still low-entropy, callers must limit brute force
|
3536
|
+
// attacks across multiple connections, especially in multi-connection protocols
|
3537
|
+
// such as HTTP. The |error_limit| and |rate_limit| parameters in the functions
|
3538
|
+
// below may be used to implement this, provided the same |SSL_CREDENTIAL|
|
3539
|
+
// object is used across connections. Applications using multiple connections
|
3540
|
+
// should use the PAKE credential only once to authenticate a high-entropy
|
3541
|
+
// secret, e.g. exporting a PSK from |SSL_export_keying_material|, and use the
|
3542
|
+
// high-entropy secret for subsequent connections.
|
3543
|
+
//
|
3544
|
+
// TODO(crbug.com/369963041): Implement RFC 9258 so one can actually do that.
|
3545
|
+
//
|
3546
|
+
// WARNING: PAKE support in TLS is still experimental and may change as the
|
3547
|
+
// standard evolves. See
|
3548
|
+
// https://chris-wood.github.io/draft-bmw-tls-pake13/draft-bmw-tls-pake13.html
|
3549
|
+
//
|
3550
|
+
// Currently, only the SPAKE2PLUS_V1 named PAKE algorithm is implemented; see
|
3551
|
+
// https://chris-wood.github.io/draft-bmw-tls-pake13/draft-bmw-tls-pake13.html#section-8.1.
|
3552
|
+
|
3553
|
+
// SSL_PAKE_SPAKE2PLUSV1 is the codepoint for SPAKE2PLUS_V1. See
|
3554
|
+
// https://chris-wood.github.io/draft-bmw-tls-pake13/draft-bmw-tls-pake13.html#name-named-pake-registry.
|
3555
|
+
#define SSL_PAKE_SPAKE2PLUSV1 0x7d96
|
3556
|
+
|
3557
|
+
// SSL_spake2plusv1_register computes the values that the client (w0,
|
3558
|
+
// w1) and server (w0, registration_record) require to run SPAKE2+. These values
|
3559
|
+
// can be used when calling |SSL_CREDENTIAL_new_spake2plusv1_client| and
|
3560
|
+
// |SSL_CREDENTIAL_new_spake2plusv1_server|. The client and server identities
|
3561
|
+
// must match the values passed to those functions.
|
3562
|
+
//
|
3563
|
+
// Returns one on success and zero on error.
|
3564
|
+
OPENSSL_EXPORT int SSL_spake2plusv1_register(
|
3565
|
+
uint8_t out_w0[32], uint8_t out_w1[32], uint8_t out_registration_record[65],
|
3566
|
+
const uint8_t *password, size_t password_len,
|
3567
|
+
const uint8_t *client_identity, size_t client_identity_len,
|
3568
|
+
const uint8_t *server_identity, size_t server_identity_len);
|
3569
|
+
|
3570
|
+
// SSL_CREDENTIAL_new_spake2plusv1_client creates a new |SSL_CREDENTIAL| that
|
3571
|
+
// authenticates using SPAKE2+. It is to be used with a TLS client.
|
3572
|
+
//
|
3573
|
+
// The |context|, |client_identity|, and |server_identity| fields serve to
|
3574
|
+
// identity the SPAKE2+ settings and both sides of a connection must agree on
|
3575
|
+
// these values. If |context| is |NULL|, a default value will be used.
|
3576
|
+
//
|
3577
|
+
// |error_limit| is the number of failed handshakes allowed on the credential.
|
3578
|
+
// After the limit is reached, using the credential will fail. Ideally this
|
3579
|
+
// value is set to 1. Setting it to a higher value allows an attacker to have
|
3580
|
+
// that many attempts at guessing the password using this |SSL_CREDENTIAL|.
|
3581
|
+
// (Assuming that multiple TLS connections are allowed.)
|
3582
|
+
//
|
3583
|
+
// |w0| and |w1| come from calling |SSL_spake2plusv1_register|.
|
3584
|
+
//
|
3585
|
+
// Unlike most |SSL_CREDENTIAL|s, PAKE client credentials must be the only
|
3586
|
+
// credential configured on the connection. BoringSSL does not currently support
|
3587
|
+
// configuring multiple PAKE credentials as a client, or configuring a mix of
|
3588
|
+
// PAKE and non-PAKE credentials. Once a PAKE credential is configured, the
|
3589
|
+
// connection will require the server to authenticate with the same secret, so a
|
3590
|
+
// successful connection then implies that the server supported the PAKE and
|
3591
|
+
// knew the password.
|
3592
|
+
OPENSSL_EXPORT SSL_CREDENTIAL *SSL_CREDENTIAL_new_spake2plusv1_client(
|
3593
|
+
const uint8_t *context, size_t context_len, const uint8_t *client_identity,
|
3594
|
+
size_t client_identity_len, const uint8_t *server_identity,
|
3595
|
+
size_t server_identity_len, uint32_t error_limit, const uint8_t *w0,
|
3596
|
+
size_t w0_len, const uint8_t *w1, size_t w1_len);
|
3597
|
+
|
3598
|
+
// SSL_CREDENTIAL_new_spake2plusv1_server creates a new |SSL_CREDENTIAL| that
|
3599
|
+
// authenticates using SPAKE2+. It is to be used with a TLS server.
|
3600
|
+
//
|
3601
|
+
// The |context|, |client_identity|, and |server_identity| fields serve to
|
3602
|
+
// identity the SPAKE2+ settings and both sides of a connection must agree on
|
3603
|
+
// these values. If |context| is |NULL|, a default value will be used.
|
3604
|
+
//
|
3605
|
+
// |rate_limit| is the number of failed or unfinished handshakes allowed on the
|
3606
|
+
// credential. After the limit is reached, using the credential will fail.
|
3607
|
+
// Ideally this value is set to 1. Setting it to a higher value allows an
|
3608
|
+
// attacker to have that many attempts at guessing the password using this
|
3609
|
+
// |SSL_CREDENTIAL|. (Assuming that multiple TLS connections are allowed.)
|
3610
|
+
//
|
3611
|
+
// WARNING: |rate_limit| differs from the client's |error_limit| parameter.
|
3612
|
+
// Server PAKE credentials must temporarily deduct incomplete handshakes from
|
3613
|
+
// the limit, until the peer completes the handshake correctly. Thus
|
3614
|
+
// applications use that multiple connections in parallel may need a higher
|
3615
|
+
// limit, and thus higher attacker exposure, to avoid failures. Such
|
3616
|
+
// applications should instead use one PAKE-based connection to established a
|
3617
|
+
// high-entropy secret (e.g. with |SSL_export_keying_material|) instead of
|
3618
|
+
// repeating the PAKE exchange for each connection.
|
3619
|
+
//
|
3620
|
+
// |w0| and |registration_record| come from calling |SSL_spake2plusv1_register|,
|
3621
|
+
// which may be computed externally so that the server does not know the
|
3622
|
+
// password, or a password-equivalent secret.
|
3623
|
+
//
|
3624
|
+
// A server wishing to support a PAKE should install one of these credentials.
|
3625
|
+
// It is also possible to install certificate-based credentials, in which case
|
3626
|
+
// both PAKE and non-PAKE clients can be supported. However, if only a PAKE
|
3627
|
+
// credential is installed then the server knows that any successfully-connected
|
3628
|
+
// clients also knows the password. Otherwise, the server must be careful to
|
3629
|
+
// inspect the credential used for a connection before assuming that.
|
3630
|
+
OPENSSL_EXPORT SSL_CREDENTIAL *SSL_CREDENTIAL_new_spake2plusv1_server(
|
3631
|
+
const uint8_t *context, size_t context_len, const uint8_t *client_identity,
|
3632
|
+
size_t client_identity_len, const uint8_t *server_identity,
|
3633
|
+
size_t server_identity_len, uint32_t rate_limit, const uint8_t *w0,
|
3634
|
+
size_t w0_len, const uint8_t *registration_record,
|
3635
|
+
size_t registration_record_len);
|
3636
|
+
|
3637
|
+
|
3586
3638
|
// QUIC integration.
|
3587
3639
|
//
|
3588
3640
|
// QUIC acts as an underlying transport for the TLS 1.3 handshake. The following
|
@@ -4393,18 +4445,18 @@ OPENSSL_EXPORT int SSL_set_handshake_hints(SSL *ssl, const uint8_t *hints,
|
|
4393
4445
|
|
4394
4446
|
// SSL_CTX_set_msg_callback installs |cb| as the message callback for |ctx|.
|
4395
4447
|
// This callback will be called when sending or receiving low-level record
|
4396
|
-
// headers, complete handshake messages, ChangeCipherSpec, and
|
4397
|
-
// |write_p| is one for outgoing messages and zero for incoming messages.
|
4448
|
+
// headers, complete handshake messages, ChangeCipherSpec, alerts, and DTLS
|
4449
|
+
// ACKs. |write_p| is one for outgoing messages and zero for incoming messages.
|
4398
4450
|
//
|
4399
4451
|
// For each record header, |cb| is called with |version| = 0 and |content_type|
|
4400
4452
|
// = |SSL3_RT_HEADER|. The |len| bytes from |buf| contain the header. Note that
|
4401
4453
|
// this does not include the record body. If the record is sealed, the length
|
4402
4454
|
// in the header is the length of the ciphertext.
|
4403
4455
|
//
|
4404
|
-
// For each handshake message, ChangeCipherSpec, and
|
4405
|
-
// protocol version and |content_type| is the corresponding record type.
|
4406
|
-
// |len| bytes from |buf| contain the handshake message, one-byte
|
4407
|
-
// ChangeCipherSpec body,
|
4456
|
+
// For each handshake message, ChangeCipherSpec, alert, and DTLS ACK, |version|
|
4457
|
+
// is the protocol version and |content_type| is the corresponding record type.
|
4458
|
+
// The |len| bytes from |buf| contain the handshake message, one-byte
|
4459
|
+
// ChangeCipherSpec body, two-byte alert, and ACK respectively.
|
4408
4460
|
//
|
4409
4461
|
// In connections that enable ECH, |cb| is additionally called with
|
4410
4462
|
// |content_type| = |SSL3_RT_CLIENT_HELLO_INNER| for each ClientHelloInner that
|
@@ -4609,6 +4661,8 @@ struct ssl_early_callback_ctx {
|
|
4609
4661
|
size_t random_len;
|
4610
4662
|
const uint8_t *session_id;
|
4611
4663
|
size_t session_id_len;
|
4664
|
+
const uint8_t *dtls_cookie;
|
4665
|
+
size_t dtls_cookie_len;
|
4612
4666
|
const uint8_t *cipher_suites;
|
4613
4667
|
size_t cipher_suites_len;
|
4614
4668
|
const uint8_t *compression_methods;
|
@@ -4761,8 +4815,9 @@ OPENSSL_EXPORT int SSL_was_key_usage_invalid(const SSL *ssl);
|
|
4761
4815
|
// a server (respectively, client) handshake completes, fails, or is paused.
|
4762
4816
|
// The |value| argument is one if the handshake succeeded and <= 0
|
4763
4817
|
// otherwise.
|
4764
|
-
OPENSSL_EXPORT void SSL_CTX_set_info_callback(
|
4765
|
-
|
4818
|
+
OPENSSL_EXPORT void SSL_CTX_set_info_callback(SSL_CTX *ctx,
|
4819
|
+
void (*cb)(const SSL *ssl,
|
4820
|
+
int type, int value));
|
4766
4821
|
|
4767
4822
|
// SSL_CTX_get_info_callback returns the callback set by
|
4768
4823
|
// |SSL_CTX_set_info_callback|.
|
@@ -4772,8 +4827,9 @@ OPENSSL_EXPORT void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL *ssl,
|
|
4772
4827
|
|
4773
4828
|
// SSL_set_info_callback configures a callback to be run at various events
|
4774
4829
|
// during a connection's lifetime. See |SSL_CTX_set_info_callback|.
|
4775
|
-
OPENSSL_EXPORT void SSL_set_info_callback(
|
4776
|
-
|
4830
|
+
OPENSSL_EXPORT void SSL_set_info_callback(SSL *ssl,
|
4831
|
+
void (*cb)(const SSL *ssl, int type,
|
4832
|
+
int value));
|
4777
4833
|
|
4778
4834
|
// SSL_get_info_callback returns the callback set by |SSL_set_info_callback|.
|
4779
4835
|
OPENSSL_EXPORT void (*SSL_get_info_callback(const SSL *ssl))(const SSL *ssl,
|
@@ -4865,23 +4921,18 @@ OPENSSL_EXPORT int SSL_used_hello_retry_request(const SSL *ssl);
|
|
4865
4921
|
// https://bugs.openjdk.java.net/browse/JDK-8213202
|
4866
4922
|
OPENSSL_EXPORT void SSL_set_jdk11_workaround(SSL *ssl, int enable);
|
4867
4923
|
|
4868
|
-
//
|
4869
|
-
//
|
4870
|
-
//
|
4924
|
+
// SSL_parse_client_hello decodes a ClientHello structure from |len| bytes in
|
4925
|
+
// |in|. On success, it returns one and writes the result to |*out|. Otherwise,
|
4926
|
+
// it returns zero. |ssl| will be saved into |*out| and determines how the
|
4927
|
+
// ClientHello is parsed, notably TLS vs DTLS. The fields in |*out| will alias
|
4928
|
+
// |in| and are only valid as long as |in| is valid and unchanged.
|
4871
4929
|
//
|
4872
|
-
//
|
4873
|
-
// the
|
4874
|
-
//
|
4875
|
-
|
4876
|
-
|
4877
|
-
|
4878
|
-
// below, will check its certificate against the client's supported ECDSA
|
4879
|
-
// curves.
|
4880
|
-
//
|
4881
|
-
// By default, this option is enabled. If disabled, certificate selection within
|
4882
|
-
// the library may not function correctly. This flag is provided temporarily in
|
4883
|
-
// case of compatibility issues. It will be removed sometime after June 2024.
|
4884
|
-
OPENSSL_EXPORT void SSL_set_check_ecdsa_curve(SSL *ssl, int enable);
|
4930
|
+
// |in| should contain just the ClientHello structure (RFC 8446 and RFC 9147),
|
4931
|
+
// excluding the handshake header and already reassembled from record layer.
|
4932
|
+
// That is, |in| should begin with the legacy_version field, not the
|
4933
|
+
// client_hello HandshakeType constant or the handshake ContentType constant.
|
4934
|
+
OPENSSL_EXPORT int SSL_parse_client_hello(const SSL *ssl, SSL_CLIENT_HELLO *out,
|
4935
|
+
const uint8_t *in, size_t len);
|
4885
4936
|
|
4886
4937
|
|
4887
4938
|
// Deprecated functions.
|
@@ -5178,16 +5229,16 @@ OPENSSL_EXPORT int SSL_set1_sigalgs_list(SSL *ssl, const char *str);
|
|
5178
5229
|
|
5179
5230
|
#define SSL_get_cipher(ssl) SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
|
5180
5231
|
#define SSL_get_cipher_bits(ssl, out_alg_bits) \
|
5181
|
-
|
5232
|
+
SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl), out_alg_bits)
|
5182
5233
|
#define SSL_get_cipher_version(ssl) \
|
5183
|
-
|
5234
|
+
SSL_CIPHER_get_version(SSL_get_current_cipher(ssl))
|
5184
5235
|
#define SSL_get_cipher_name(ssl) \
|
5185
|
-
|
5236
|
+
SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
|
5186
5237
|
#define SSL_get_time(session) SSL_SESSION_get_time(session)
|
5187
5238
|
#define SSL_set_time(session, time) SSL_SESSION_set_time((session), (time))
|
5188
5239
|
#define SSL_get_timeout(session) SSL_SESSION_get_timeout(session)
|
5189
5240
|
#define SSL_set_timeout(session, timeout) \
|
5190
|
-
|
5241
|
+
SSL_SESSION_set_timeout((session), (timeout))
|
5191
5242
|
|
5192
5243
|
struct ssl_comp_st {
|
5193
5244
|
int id;
|
@@ -5288,19 +5339,19 @@ OPENSSL_EXPORT int SSL_want(const SSL *ssl);
|
|
5288
5339
|
#define SSL_want_read(ssl) (SSL_want(ssl) == SSL_READING)
|
5289
5340
|
#define SSL_want_write(ssl) (SSL_want(ssl) == SSL_WRITING)
|
5290
5341
|
|
5291
|
-
|
5292
|
-
|
5293
|
-
|
5294
|
-
|
5295
|
-
|
5342
|
+
// SSL_get_finished writes up to |count| bytes of the Finished message sent by
|
5343
|
+
// |ssl| to |buf|. It returns the total untruncated length or zero if none has
|
5344
|
+
// been sent yet. At TLS 1.3 and later, it returns zero.
|
5345
|
+
//
|
5346
|
+
// Use |SSL_get_tls_unique| instead.
|
5296
5347
|
OPENSSL_EXPORT size_t SSL_get_finished(const SSL *ssl, void *buf, size_t count);
|
5297
5348
|
|
5298
|
-
|
5299
|
-
|
5300
|
-
|
5301
|
-
|
5302
|
-
|
5303
|
-
|
5349
|
+
// SSL_get_peer_finished writes up to |count| bytes of the Finished message
|
5350
|
+
// received from |ssl|'s peer to |buf|. It returns the total untruncated length
|
5351
|
+
// or zero if none has been received yet. At TLS 1.3 and later, it returns
|
5352
|
+
// zero.
|
5353
|
+
//
|
5354
|
+
// Use |SSL_get_tls_unique| instead.
|
5304
5355
|
OPENSSL_EXPORT size_t SSL_get_peer_finished(const SSL *ssl, void *buf,
|
5305
5356
|
size_t count);
|
5306
5357
|
|
@@ -5632,7 +5683,7 @@ enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
|
|
5632
5683
|
// other than by the supported signature algorithms. But WPA3's "192-bit"
|
5633
5684
|
// mode requires at least P-384 or 3072-bit along the chain. The caller must
|
5634
5685
|
// enforce this themselves on the verified chain using functions such as
|
5635
|
-
//
|
5686
|
+
// |X509_STORE_CTX_get0_chain|.
|
5636
5687
|
//
|
5637
5688
|
// Note that this setting is less secure than the default. The
|
5638
5689
|
// implementation risks of using a more obscure primitive like P-384
|
@@ -5656,11 +5707,20 @@ enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
|
|
5656
5707
|
OPENSSL_EXPORT int SSL_CTX_set_compliance_policy(
|
5657
5708
|
SSL_CTX *ctx, enum ssl_compliance_policy_t policy);
|
5658
5709
|
|
5710
|
+
// SSL_CTX_get_compliance_policy returns the compliance policy configured on
|
5711
|
+
// |ctx|.
|
5712
|
+
OPENSSL_EXPORT enum ssl_compliance_policy_t SSL_CTX_get_compliance_policy(
|
5713
|
+
const SSL_CTX *ctx);
|
5714
|
+
|
5659
5715
|
// SSL_set_compliance_policy acts the same as |SSL_CTX_set_compliance_policy|,
|
5660
5716
|
// but only configures a single |SSL*|.
|
5661
5717
|
OPENSSL_EXPORT int SSL_set_compliance_policy(
|
5662
5718
|
SSL *ssl, enum ssl_compliance_policy_t policy);
|
5663
5719
|
|
5720
|
+
// SSL_get_compliance_policy returns the compliance policy configured on
|
5721
|
+
// |ssl|.
|
5722
|
+
OPENSSL_EXPORT enum ssl_compliance_policy_t SSL_get_compliance_policy(
|
5723
|
+
const SSL *ssl);
|
5664
5724
|
|
5665
5725
|
// Nodejs compatibility section (hidden).
|
5666
5726
|
//
|
@@ -5683,7 +5743,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5683
5743
|
//
|
5684
5744
|
// See PORTING.md in the BoringSSL source tree for a table of corresponding
|
5685
5745
|
// functions.
|
5686
|
-
// https://boringssl.googlesource.com/boringssl/+/
|
5746
|
+
// https://boringssl.googlesource.com/boringssl/+/main/PORTING.md#Replacements-for-values
|
5687
5747
|
|
5688
5748
|
#define DTLS_CTRL_GET_TIMEOUT doesnt_exist
|
5689
5749
|
#define DTLS_CTRL_HANDLE_TIMEOUT doesnt_exist
|
@@ -5776,7 +5836,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5776
5836
|
#define SSL_CTX_set_session_cache_mode SSL_CTX_set_session_cache_mode
|
5777
5837
|
#define SSL_CTX_set_tlsext_servername_arg SSL_CTX_set_tlsext_servername_arg
|
5778
5838
|
#define SSL_CTX_set_tlsext_servername_callback \
|
5779
|
-
|
5839
|
+
SSL_CTX_set_tlsext_servername_callback
|
5780
5840
|
#define SSL_CTX_set_tlsext_ticket_key_cb SSL_CTX_set_tlsext_ticket_key_cb
|
5781
5841
|
#define SSL_CTX_set_tlsext_ticket_keys SSL_CTX_set_tlsext_ticket_keys
|
5782
5842
|
#define SSL_CTX_set_tmp_dh SSL_CTX_set_tmp_dh
|
@@ -5794,7 +5854,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5794
5854
|
#define SSL_get_negotiated_group SSL_get_negotiated_group
|
5795
5855
|
#define SSL_get_options SSL_get_options
|
5796
5856
|
#define SSL_get_secure_renegotiation_support \
|
5797
|
-
|
5857
|
+
SSL_get_secure_renegotiation_support
|
5798
5858
|
#define SSL_need_tmp_RSA SSL_need_tmp_RSA
|
5799
5859
|
#define SSL_num_renegotiations SSL_num_renegotiations
|
5800
5860
|
#define SSL_session_reused SSL_session_reused
|
@@ -5814,7 +5874,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5814
5874
|
#define SSL_set_tmp_rsa SSL_set_tmp_rsa
|
5815
5875
|
#define SSL_total_renegotiations SSL_total_renegotiations
|
5816
5876
|
|
5817
|
-
#endif
|
5877
|
+
#endif // !defined(BORINGSSL_PREFIX)
|
5818
5878
|
|
5819
5879
|
|
5820
5880
|
#if defined(__cplusplus)
|
@@ -5894,9 +5954,12 @@ OPENSSL_EXPORT bool SSL_serialize_handback(const SSL *ssl, CBB *out);
|
|
5894
5954
|
OPENSSL_EXPORT bool SSL_apply_handback(SSL *ssl, Span<const uint8_t> handback);
|
5895
5955
|
|
5896
5956
|
// SSL_get_traffic_secrets sets |*out_read_traffic_secret| and
|
5897
|
-
// |*out_write_traffic_secret| to reference the TLS 1.3 traffic secrets
|
5898
|
-
// |ssl|.
|
5899
|
-
//
|
5957
|
+
// |*out_write_traffic_secret| to reference the current TLS 1.3 traffic secrets
|
5958
|
+
// for |ssl|. It returns true on success and false on error.
|
5959
|
+
//
|
5960
|
+
// This function is only valid on TLS 1.3 connections that have completed the
|
5961
|
+
// handshake. It is not valid for QUIC or DTLS, where multiple traffic secrets
|
5962
|
+
// may be active at a time.
|
5900
5963
|
OPENSSL_EXPORT bool SSL_get_traffic_secrets(
|
5901
5964
|
const SSL *ssl, Span<const uint8_t> *out_read_traffic_secret,
|
5902
5965
|
Span<const uint8_t> *out_write_traffic_secret);
|
@@ -6101,7 +6164,6 @@ BSSL_NAMESPACE_END
|
|
6101
6164
|
#define SSL_R_WRONG_VERSION_ON_EARLY_DATA 278
|
6102
6165
|
#define SSL_R_UNEXPECTED_EXTENSION_ON_EARLY_DATA 279
|
6103
6166
|
#define SSL_R_NO_SUPPORTED_VERSIONS_ENABLED 280
|
6104
|
-
#define SSL_R_APPLICATION_DATA_INSTEAD_OF_HANDSHAKE 281
|
6105
6167
|
#define SSL_R_EMPTY_HELLO_RETRY_REQUEST 282
|
6106
6168
|
#define SSL_R_EARLY_DATA_NOT_IN_USE 283
|
6107
6169
|
#define SSL_R_HANDSHAKE_NOT_COMPLETE 284
|
@@ -6143,6 +6205,11 @@ BSSL_NAMESPACE_END
|
|
6143
6205
|
#define SSL_R_INVALID_OUTER_EXTENSION 320
|
6144
6206
|
#define SSL_R_INCONSISTENT_ECH_NEGOTIATION 321
|
6145
6207
|
#define SSL_R_INVALID_ALPS_CODEPOINT 322
|
6208
|
+
#define SSL_R_NO_MATCHING_ISSUER 323
|
6209
|
+
#define SSL_R_INVALID_SPAKE2PLUSV1_VALUE 324
|
6210
|
+
#define SSL_R_PAKE_EXHAUSTED 325
|
6211
|
+
#define SSL_R_PEER_PAKE_MISMATCH 326
|
6212
|
+
#define SSL_R_UNSUPPORTED_CREDENTIAL_LIST 327
|
6146
6213
|
#define SSL_R_SSLV3_ALERT_CLOSE_NOTIFY 1000
|
6147
6214
|
#define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010
|
6148
6215
|
#define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020
|
@@ -6177,5 +6244,6 @@ BSSL_NAMESPACE_END
|
|
6177
6244
|
#define SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED 1116
|
6178
6245
|
#define SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL 1120
|
6179
6246
|
#define SSL_R_TLSV1_ALERT_ECH_REQUIRED 1121
|
6247
|
+
#define SSL_R_PAKE_AND_KEY_SHARE_NOT_ALLOWED 1122
|
6180
6248
|
|
6181
6249
|
#endif // OPENSSL_HEADER_SSL_H
|