grpc 1.37.1 → 1.38.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +64 -58
- data/include/grpc/event_engine/README.md +38 -0
- data/include/grpc/event_engine/channel_args.h +28 -0
- data/include/grpc/event_engine/event_engine.h +336 -0
- data/include/grpc/event_engine/port.h +39 -0
- data/include/grpc/event_engine/slice_allocator.h +81 -0
- data/include/grpc/grpc.h +2 -2
- data/include/grpc/grpc_security_constants.h +14 -0
- data/include/grpc/impl/codegen/grpc_types.h +11 -0
- data/include/grpc/impl/codegen/port_platform.h +5 -0
- data/include/grpc/module.modulemap +14 -14
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
- data/src/core/ext/filters/client_channel/client_channel.cc +628 -3101
- data/src/core/ext/filters/client_channel/client_channel.h +489 -55
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
- data/src/core/ext/filters/client_channel/config_selector.h +1 -1
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
- data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
- data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +36 -30
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +84 -61
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
- data/src/core/ext/filters/client_channel/resolver.h +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +14 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -9
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -11
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +43 -28
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
- data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
- data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
- data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
- data/src/core/ext/filters/client_channel/server_address.cc +1 -1
- data/src/core/ext/filters/client_channel/service_config.cc +15 -14
- data/src/core/ext/filters/client_channel/service_config.h +7 -6
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
- data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
- data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
- data/src/core/ext/filters/client_channel/subchannel.cc +17 -16
- data/src/core/ext/filters/client_channel/subchannel.h +7 -6
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +16 -15
- data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -18
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
- data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
- data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
- data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
- data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
- data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -3
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -2
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -116
- data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +31 -27
- data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
- data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
- data/src/core/ext/xds/certificate_provider_factory.h +1 -1
- data/src/core/ext/xds/certificate_provider_store.h +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
- data/src/core/ext/xds/xds_api.cc +101 -93
- data/src/core/ext/xds/xds_api.h +6 -6
- data/src/core/ext/xds/xds_bootstrap.cc +97 -159
- data/src/core/ext/xds/xds_bootstrap.h +19 -24
- data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
- data/src/core/ext/xds/xds_certificate_provider.h +4 -4
- data/src/core/ext/xds/xds_channel_args.h +5 -2
- data/src/core/ext/xds/xds_client.cc +310 -178
- data/src/core/ext/xds/xds_client.h +41 -27
- data/src/core/ext/xds/xds_client_stats.h +3 -2
- data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
- data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
- data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +3 -20
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +6 -11
- data/src/core/lib/channel/channel_stack.cc +10 -9
- data/src/core/lib/channel/channel_stack.h +10 -9
- data/src/core/lib/channel/channel_stack_builder.cc +2 -2
- data/src/core/lib/channel/channel_stack_builder.h +1 -1
- data/src/core/lib/channel/channelz.cc +21 -13
- data/src/core/lib/channel/connected_channel.cc +4 -4
- data/src/core/lib/channel/handshaker.cc +7 -6
- data/src/core/lib/channel/handshaker.h +5 -5
- data/src/core/lib/event_engine/slice_allocator.cc +59 -0
- data/src/core/lib/event_engine/sockaddr.cc +38 -0
- data/src/core/lib/gprpp/ref_counted.h +28 -14
- data/src/core/lib/gprpp/status_helper.cc +407 -0
- data/src/core/lib/gprpp/status_helper.h +180 -0
- data/src/core/lib/http/httpcli.cc +11 -11
- data/src/core/lib/http/httpcli_security_connector.cc +11 -7
- data/src/core/lib/http/parser.cc +16 -16
- data/src/core/lib/http/parser.h +4 -4
- data/src/core/lib/iomgr/buffer_list.cc +7 -9
- data/src/core/lib/iomgr/buffer_list.h +4 -5
- data/src/core/lib/iomgr/call_combiner.cc +15 -12
- data/src/core/lib/iomgr/call_combiner.h +12 -14
- data/src/core/lib/iomgr/cfstream_handle.cc +3 -3
- data/src/core/lib/iomgr/cfstream_handle.h +1 -1
- data/src/core/lib/iomgr/closure.h +7 -6
- data/src/core/lib/iomgr/combiner.cc +14 -12
- data/src/core/lib/iomgr/combiner.h +2 -2
- data/src/core/lib/iomgr/endpoint.cc +1 -1
- data/src/core/lib/iomgr/endpoint.h +2 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
- data/src/core/lib/iomgr/error.cc +167 -61
- data/src/core/lib/iomgr/error.h +217 -106
- data/src/core/lib/iomgr/error_cfstream.cc +3 -2
- data/src/core/lib/iomgr/error_cfstream.h +2 -2
- data/src/core/lib/iomgr/error_internal.h +5 -1
- data/src/core/lib/iomgr/ev_apple.cc +5 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
- data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
- data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
- data/src/core/lib/iomgr/ev_posix.cc +9 -8
- data/src/core/lib/iomgr/ev_posix.h +9 -9
- data/src/core/lib/iomgr/exec_ctx.cc +4 -4
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +8 -8
- data/src/core/lib/iomgr/executor.h +2 -2
- data/src/core/lib/iomgr/iomgr.cc +1 -1
- data/src/core/lib/iomgr/iomgr.h +1 -1
- data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
- data/src/core/lib/iomgr/iomgr_internal.h +3 -3
- data/src/core/lib/iomgr/iomgr_posix.cc +1 -1
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
- data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
- data/src/core/lib/iomgr/load_file.cc +4 -4
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +5 -5
- data/src/core/lib/iomgr/lockfree_event.h +1 -1
- data/src/core/lib/iomgr/pollset.cc +5 -5
- data/src/core/lib/iomgr/pollset.h +9 -9
- data/src/core/lib/iomgr/pollset_custom.cc +5 -5
- data/src/core/lib/iomgr/pollset_windows.cc +5 -5
- data/src/core/lib/iomgr/port.h +1 -1
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +3 -3
- data/src/core/lib/iomgr/resolve_address.h +6 -6
- data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
- data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
- data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
- data/src/core/lib/iomgr/resource_quota.cc +11 -10
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -20
- data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
- data/src/core/lib/iomgr/tcp_client_posix.cc +15 -17
- data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
- data/src/core/lib/iomgr/tcp_custom.cc +14 -16
- data/src/core/lib/iomgr/tcp_custom.h +13 -12
- data/src/core/lib/iomgr/tcp_posix.cc +36 -34
- data/src/core/lib/iomgr/tcp_server.cc +6 -6
- data/src/core/lib/iomgr/tcp_server.h +12 -11
- data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
- data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
- data/src/core/lib/iomgr/tcp_uv.cc +25 -23
- data/src/core/lib/iomgr/tcp_windows.cc +13 -13
- data/src/core/lib/iomgr/tcp_windows.h +2 -2
- data/src/core/lib/iomgr/timer_custom.cc +2 -1
- data/src/core/lib/iomgr/timer_custom.h +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +6 -6
- data/src/core/lib/iomgr/udp_server.cc +21 -20
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
- data/src/core/lib/iomgr/work_serializer.h +17 -1
- data/src/core/lib/json/json.h +1 -1
- data/src/core/lib/json/json_reader.cc +4 -4
- data/src/core/lib/matchers/matchers.cc +39 -39
- data/src/core/lib/matchers/matchers.h +28 -28
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.h +2 -2
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
- data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
- data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
- data/src/core/lib/security/security_connector/security_connector.h +9 -4
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
- data/src/core/lib/security/security_connector/ssl_utils.cc +22 -4
- data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
- data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
- data/src/core/lib/security/transport/security_handshaker.cc +33 -32
- data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
- data/src/core/lib/security/transport/tsi_error.cc +2 -1
- data/src/core/lib/security/transport/tsi_error.h +2 -1
- data/src/core/lib/security/util/json_util.cc +2 -2
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/surface/call.cc +46 -45
- data/src/core/lib/surface/call.h +2 -2
- data/src/core/lib/surface/channel.cc +6 -6
- data/src/core/lib/surface/channel.h +3 -2
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +46 -47
- data/src/core/lib/surface/completion_queue.h +2 -1
- data/src/core/lib/surface/lame_client.cc +11 -11
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +28 -22
- data/src/core/lib/surface/server.h +16 -15
- data/src/core/lib/surface/validate_metadata.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +3 -2
- data/src/core/lib/surface/version.cc +4 -2
- data/src/core/lib/transport/byte_stream.cc +5 -5
- data/src/core/lib/transport/byte_stream.h +8 -8
- data/src/core/lib/transport/connectivity_state.cc +1 -1
- data/src/core/lib/transport/error_utils.cc +19 -8
- data/src/core/lib/transport/error_utils.h +11 -5
- data/src/core/lib/transport/metadata_batch.cc +37 -37
- data/src/core/lib/transport/metadata_batch.h +19 -18
- data/src/core/lib/transport/transport.cc +4 -3
- data/src/core/lib/transport/transport.h +4 -4
- data/src/core/lib/transport/transport_op_string.cc +5 -5
- data/src/core/tsi/alts/crypt/gsec.h +4 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
- data/src/core/tsi/ssl_transport_security.cc +32 -14
- data/src/core/tsi/ssl_transport_security.h +3 -4
- data/src/ruby/bin/math_services_pb.rb +1 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
- data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
- data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
- data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
- data/third_party/abseil-cpp/absl/base/config.h +37 -9
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
- data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
- data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
- data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
- data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
- data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
- data/third_party/abseil-cpp/absl/base/macros.h +11 -0
- data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/base/port.h +0 -1
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
- data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
- data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
- data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
- data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
- data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
- data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
- data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
- data/third_party/abseil-cpp/absl/status/status.cc +29 -22
- data/third_party/abseil-cpp/absl/status/status.h +81 -20
- data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
- data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
- data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
- data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
- data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
- data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
- data/third_party/abseil-cpp/absl/strings/match.h +16 -6
- data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
- data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
- data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
- data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
- data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
- data/third_party/abseil-cpp/absl/time/clock.h +2 -2
- data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
- data/third_party/abseil-cpp/absl/time/time.cc +4 -3
- data/third_party/abseil-cpp/absl/time/time.h +26 -24
- data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
- data/third_party/abseil-cpp/absl/types/variant.h +9 -4
- data/third_party/boringssl-with-bazel/err_data.c +477 -461
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +103 -42
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +7 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -38
- data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +185 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -121
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +43 -12
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +74 -15
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +98 -64
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
- metadata +68 -45
- data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
- data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h}
RENAMED
@@ -54,63 +54,46 @@
|
|
54
54
|
* copied and put under another distribution licence
|
55
55
|
* [including the GNU Public Licence.] */
|
56
56
|
|
57
|
-
#
|
58
|
-
#
|
59
|
-
#include <openssl/digest.h>
|
60
|
-
#include <openssl/err.h>
|
61
|
-
#include <openssl/evp.h>
|
62
|
-
#include <openssl/obj.h>
|
63
|
-
#include <openssl/x509.h>
|
57
|
+
#ifndef OPENSSL_HEADER_EVP_ERRORS_H
|
58
|
+
#define OPENSSL_HEADER_EVP_ERRORS_H
|
64
59
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
60
|
+
#define EVP_R_BUFFER_TOO_SMALL 100
|
61
|
+
#define EVP_R_COMMAND_NOT_SUPPORTED 101
|
62
|
+
#define EVP_R_DECODE_ERROR 102
|
63
|
+
#define EVP_R_DIFFERENT_KEY_TYPES 103
|
64
|
+
#define EVP_R_DIFFERENT_PARAMETERS 104
|
65
|
+
#define EVP_R_ENCODE_ERROR 105
|
66
|
+
#define EVP_R_EXPECTING_AN_EC_KEY_KEY 106
|
67
|
+
#define EVP_R_EXPECTING_AN_RSA_KEY 107
|
68
|
+
#define EVP_R_EXPECTING_A_DSA_KEY 108
|
69
|
+
#define EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 109
|
70
|
+
#define EVP_R_INVALID_DIGEST_LENGTH 110
|
71
|
+
#define EVP_R_INVALID_DIGEST_TYPE 111
|
72
|
+
#define EVP_R_INVALID_KEYBITS 112
|
73
|
+
#define EVP_R_INVALID_MGF1_MD 113
|
74
|
+
#define EVP_R_INVALID_OPERATION 114
|
75
|
+
#define EVP_R_INVALID_PADDING_MODE 115
|
76
|
+
#define EVP_R_INVALID_PSS_SALTLEN 116
|
77
|
+
#define EVP_R_KEYS_NOT_SET 117
|
78
|
+
#define EVP_R_MISSING_PARAMETERS 118
|
79
|
+
#define EVP_R_NO_DEFAULT_DIGEST 119
|
80
|
+
#define EVP_R_NO_KEY_SET 120
|
81
|
+
#define EVP_R_NO_MDC2_SUPPORT 121
|
82
|
+
#define EVP_R_NO_NID_FOR_CURVE 122
|
83
|
+
#define EVP_R_NO_OPERATION_SET 123
|
84
|
+
#define EVP_R_NO_PARAMETERS_SET 124
|
85
|
+
#define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 125
|
86
|
+
#define EVP_R_OPERATON_NOT_INITIALIZED 126
|
87
|
+
#define EVP_R_UNKNOWN_PUBLIC_KEY_TYPE 127
|
88
|
+
#define EVP_R_UNSUPPORTED_ALGORITHM 128
|
89
|
+
#define EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE 129
|
90
|
+
#define EVP_R_NOT_A_PRIVATE_KEY 130
|
91
|
+
#define EVP_R_INVALID_SIGNATURE 131
|
92
|
+
#define EVP_R_MEMORY_LIMIT_EXCEEDED 132
|
93
|
+
#define EVP_R_INVALID_PARAMETERS 133
|
94
|
+
#define EVP_R_INVALID_PEER_KEY 134
|
95
|
+
#define EVP_R_NOT_XOF_OR_INVALID_LENGTH 135
|
96
|
+
#define EVP_R_EMPTY_PSK 136
|
97
|
+
#define EVP_R_INVALID_BUFFER_SIZE 137
|
72
98
|
|
73
|
-
|
74
|
-
OPENSSL_PUT_ERROR(X509, ERR_R_MALLOC_FAILURE);
|
75
|
-
return NULL;
|
76
|
-
}
|
77
|
-
|
78
|
-
/* duplicate the request */
|
79
|
-
xi = ret->cert_info;
|
80
|
-
|
81
|
-
if (sk_X509_ATTRIBUTE_num(r->req_info->attributes) != 0) {
|
82
|
-
if ((xi->version = ASN1_INTEGER_new()) == NULL)
|
83
|
-
goto err;
|
84
|
-
if (!ASN1_INTEGER_set(xi->version, 2))
|
85
|
-
goto err;
|
86
|
-
/*
|
87
|
-
* xi->extensions=ri->attributes; <- bad, should not ever be done
|
88
|
-
* ri->attributes=NULL;
|
89
|
-
*/
|
90
|
-
}
|
91
|
-
|
92
|
-
xn = X509_REQ_get_subject_name(r);
|
93
|
-
if (X509_set_subject_name(ret, xn) == 0)
|
94
|
-
goto err;
|
95
|
-
if (X509_set_issuer_name(ret, xn) == 0)
|
96
|
-
goto err;
|
97
|
-
|
98
|
-
if (X509_gmtime_adj(xi->validity->notBefore, 0) == NULL)
|
99
|
-
goto err;
|
100
|
-
if (X509_gmtime_adj(xi->validity->notAfter, (long)60 * 60 * 24 * days) ==
|
101
|
-
NULL)
|
102
|
-
goto err;
|
103
|
-
|
104
|
-
pubkey = X509_REQ_get_pubkey(r);
|
105
|
-
res = X509_set_pubkey(ret, pubkey);
|
106
|
-
EVP_PKEY_free(pubkey);
|
107
|
-
|
108
|
-
if (!res || !X509_sign(ret, pkey, EVP_md5()))
|
109
|
-
goto err;
|
110
|
-
if (0) {
|
111
|
-
err:
|
112
|
-
X509_free(ret);
|
113
|
-
ret = NULL;
|
114
|
-
}
|
115
|
-
return (ret);
|
116
|
-
}
|
99
|
+
#endif // OPENSSL_HEADER_EVP_ERRORS_H
|
@@ -91,10 +91,16 @@ OPENSSL_EXPORT ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *obj);
|
|
91
91
|
// less than, equal to or greater than |b|, respectively.
|
92
92
|
OPENSSL_EXPORT int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b);
|
93
93
|
|
94
|
-
// OBJ_get0_data returns a pointer to the DER representation of |obj|.
|
94
|
+
// OBJ_get0_data returns a pointer to the DER representation of |obj|. This is
|
95
|
+
// the contents of the DER-encoded identifier, not including the tag and length.
|
96
|
+
// If |obj| does not have an associated object identifier (i.e. it is a nid-only
|
97
|
+
// value), this value is the empty string.
|
95
98
|
OPENSSL_EXPORT const uint8_t *OBJ_get0_data(const ASN1_OBJECT *obj);
|
96
99
|
|
97
|
-
// OBJ_length returns the length of the DER representation of |obj|.
|
100
|
+
// OBJ_length returns the length of the DER representation of |obj|. This is the
|
101
|
+
// contents of the DER-encoded identifier, not including the tag and length. If
|
102
|
+
// |obj| does not have an associated object identifier (i.e. it is a nid-only
|
103
|
+
// value), this value is the empty string.
|
98
104
|
OPENSSL_EXPORT size_t OBJ_length(const ASN1_OBJECT *obj);
|
99
105
|
|
100
106
|
|
@@ -124,9 +130,22 @@ OPENSSL_EXPORT int OBJ_txt2nid(const char *s);
|
|
124
130
|
|
125
131
|
// Getting information about nids.
|
126
132
|
|
127
|
-
// OBJ_nid2obj returns the ASN1_OBJECT corresponding to |nid|, or NULL if
|
128
|
-
// is unknown.
|
129
|
-
|
133
|
+
// OBJ_nid2obj returns the |ASN1_OBJECT| corresponding to |nid|, or NULL if
|
134
|
+
// |nid| is unknown.
|
135
|
+
//
|
136
|
+
// This function returns a static, immutable |ASN1_OBJECT|. Although the output
|
137
|
+
// is not const, callers may not mutate it. It is also not necessary to release
|
138
|
+
// the object with |ASN1_OBJECT_free|.
|
139
|
+
//
|
140
|
+
// However, functions like |X509_ALGOR_set0| expect to take ownership of a
|
141
|
+
// possibly dynamically-allocated |ASN1_OBJECT|. |ASN1_OBJECT_free| is a no-op
|
142
|
+
// for static |ASN1_OBJECT|s, so |OBJ_nid2obj| is compatible with such
|
143
|
+
// functions.
|
144
|
+
//
|
145
|
+
// Callers are encouraged to store the result of this function in a const
|
146
|
+
// pointer. However, if using functions like |X509_ALGOR_set0|, callers may use
|
147
|
+
// a non-const pointer and manage ownership.
|
148
|
+
OPENSSL_EXPORT ASN1_OBJECT *OBJ_nid2obj(int nid);
|
130
149
|
|
131
150
|
// OBJ_nid2sn returns the short name for |nid|, or NULL if |nid| is unknown.
|
132
151
|
OPENSSL_EXPORT const char *OBJ_nid2sn(int nid);
|
@@ -101,6 +101,7 @@ typedef struct {
|
|
101
101
|
typedef void PKCS7_ENVELOPE;
|
102
102
|
typedef void PKCS7_DIGEST;
|
103
103
|
typedef void PKCS7_ENCRYPT;
|
104
|
+
typedef void PKCS7_SIGNER_INFO;
|
104
105
|
|
105
106
|
typedef struct {
|
106
107
|
uint8_t *ber_bytes;
|
@@ -183,6 +184,7 @@ OPENSSL_EXPORT int PKCS7_type_is_signedAndEnveloped(const PKCS7 *p7);
|
|
183
184
|
#define PKCS7_NOATTR 0x100
|
184
185
|
#define PKCS7_NOSMIMECAP 0x200
|
185
186
|
#define PKCS7_STREAM 0x1000
|
187
|
+
#define PKCS7_PARTIAL 0x4000
|
186
188
|
|
187
189
|
// PKCS7_sign assembles |certs| into a PKCS#7 signed data ContentInfo with
|
188
190
|
// external data and no signatures. It returns a newly-allocated |PKCS7| on
|
@@ -175,7 +175,9 @@ OPENSSL_EXPORT int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12);
|
|
175
175
|
//
|
176
176
|
// Note if |p12| does not contain a private key, both |*out_pkey| and
|
177
177
|
// |*out_cert| will be set to NULL and all certificates will be returned via
|
178
|
-
// |*out_ca_certs|.
|
178
|
+
// |*out_ca_certs|. Also note this function differs from OpenSSL in that extra
|
179
|
+
// certificates are returned in the order they appear in the file. OpenSSL 1.1.1
|
180
|
+
// returns them in reverse order, but this will be fixed in OpenSSL 3.0.
|
179
181
|
//
|
180
182
|
// It returns one on success and zero on error.
|
181
183
|
//
|
@@ -206,6 +208,12 @@ OPENSSL_EXPORT int PKCS12_verify_mac(const PKCS12 *p12, const char *password,
|
|
206
208
|
// Each of |key_nid|, |cert_nid|, |iterations|, and |mac_iterations| may be zero
|
207
209
|
// to use defaults, which are |NID_pbe_WithSHA1And3_Key_TripleDES_CBC|,
|
208
210
|
// |NID_pbe_WithSHA1And40BitRC2_CBC|, 2048, and one, respectively.
|
211
|
+
//
|
212
|
+
// |key_nid| or |cert_nid| may also be -1 to disable encryption of the key or
|
213
|
+
// certificate, respectively. This option is not recommended and is only
|
214
|
+
// implemented for compatibility with external packages. Note the output still
|
215
|
+
// requires a password for the MAC. Unencrypted keys in PKCS#12 are also not
|
216
|
+
// widely supported and may not open in other implementations.
|
209
217
|
OPENSSL_EXPORT PKCS12 *PKCS12_create(const char *password, const char *name,
|
210
218
|
const EVP_PKEY *pkey, X509 *cert,
|
211
219
|
const STACK_OF(X509) *chain, int key_nid,
|
@@ -103,8 +103,8 @@ OPENSSL_EXPORT RAND_METHOD *RAND_OpenSSL(void);
|
|
103
103
|
// RAND_get_rand_method returns |RAND_SSLeay()|.
|
104
104
|
OPENSSL_EXPORT const RAND_METHOD *RAND_get_rand_method(void);
|
105
105
|
|
106
|
-
// RAND_set_rand_method
|
107
|
-
OPENSSL_EXPORT
|
106
|
+
// RAND_set_rand_method returns one.
|
107
|
+
OPENSSL_EXPORT int RAND_set_rand_method(const RAND_METHOD *);
|
108
108
|
|
109
109
|
|
110
110
|
#if defined(__cplusplus)
|
@@ -567,6 +567,11 @@ OPENSSL_EXPORT int SSL_get_error(const SSL *ssl, int ret_code);
|
|
567
567
|
// See also |ssl_renegotiate_explicit|.
|
568
568
|
#define SSL_ERROR_WANT_RENEGOTIATE 19
|
569
569
|
|
570
|
+
// SSL_ERROR_HANDSHAKE_HINTS_READY indicates the handshake has progressed enough
|
571
|
+
// for |SSL_serialize_handshake_hints| to be called. See also
|
572
|
+
// |SSL_request_handshake_hints|.
|
573
|
+
#define SSL_ERROR_HANDSHAKE_HINTS_READY 20
|
574
|
+
|
570
575
|
// SSL_error_description returns a string representation of |err|, where |err|
|
571
576
|
// is one of the |SSL_ERROR_*| constants returned by |SSL_get_error|, or NULL
|
572
577
|
// if the value is unrecognized.
|
@@ -2723,8 +2728,9 @@ OPENSSL_EXPORT SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx);
|
|
2723
2728
|
|
2724
2729
|
// SSL_CTX_set_alpn_protos sets the client ALPN protocol list on |ctx| to
|
2725
2730
|
// |protos|. |protos| must be in wire-format (i.e. a series of non-empty, 8-bit
|
2726
|
-
// length-prefixed strings)
|
2727
|
-
//
|
2731
|
+
// length-prefixed strings), or the empty string to disable ALPN. It returns
|
2732
|
+
// zero on success and one on failure. Configuring a non-empty string enables
|
2733
|
+
// ALPN on a client.
|
2728
2734
|
//
|
2729
2735
|
// WARNING: this function is dangerous because it breaks the usual return value
|
2730
2736
|
// convention.
|
@@ -2733,8 +2739,9 @@ OPENSSL_EXPORT int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const uint8_t *protos,
|
|
2733
2739
|
|
2734
2740
|
// SSL_set_alpn_protos sets the client ALPN protocol list on |ssl| to |protos|.
|
2735
2741
|
// |protos| must be in wire-format (i.e. a series of non-empty, 8-bit
|
2736
|
-
// length-prefixed strings)
|
2737
|
-
//
|
2742
|
+
// length-prefixed strings), or the empty string to disable ALPN. It returns
|
2743
|
+
// zero on success and one on failure. Configuring a non-empty string enables
|
2744
|
+
// ALPN on a client.
|
2738
2745
|
//
|
2739
2746
|
// WARNING: this function is dangerous because it breaks the usual return value
|
2740
2747
|
// convention.
|
@@ -3575,7 +3582,7 @@ OPENSSL_EXPORT const char *SSL_early_data_reason_string(
|
|
3575
3582
|
enum ssl_early_data_reason_t reason);
|
3576
3583
|
|
3577
3584
|
|
3578
|
-
// Encrypted
|
3585
|
+
// Encrypted ClientHello.
|
3579
3586
|
//
|
3580
3587
|
// ECH is a mechanism for encrypting the entire ClientHello message in TLS 1.3.
|
3581
3588
|
// This can prevent observers from seeing cleartext information about the
|
@@ -3589,6 +3596,72 @@ OPENSSL_EXPORT const char *SSL_early_data_reason_string(
|
|
3589
3596
|
// as part of this connection.
|
3590
3597
|
OPENSSL_EXPORT void SSL_set_enable_ech_grease(SSL *ssl, int enable);
|
3591
3598
|
|
3599
|
+
// SSL_ECH_SERVER_CONFIG_LIST_new returns a newly-allocated
|
3600
|
+
// |SSL_ECH_SERVER_CONFIG_LIST| or NULL on error.
|
3601
|
+
OPENSSL_EXPORT SSL_ECH_SERVER_CONFIG_LIST *SSL_ECH_SERVER_CONFIG_LIST_new(void);
|
3602
|
+
|
3603
|
+
// SSL_ECH_SERVER_CONFIG_LIST_up_ref increments the reference count of |list|.
|
3604
|
+
OPENSSL_EXPORT void SSL_ECH_SERVER_CONFIG_LIST_up_ref(
|
3605
|
+
SSL_ECH_SERVER_CONFIG_LIST *list);
|
3606
|
+
|
3607
|
+
// SSL_ECH_SERVER_CONFIG_LIST_free releases memory associated with |list|.
|
3608
|
+
OPENSSL_EXPORT void SSL_ECH_SERVER_CONFIG_LIST_free(
|
3609
|
+
SSL_ECH_SERVER_CONFIG_LIST *list);
|
3610
|
+
|
3611
|
+
// SSL_ECH_SERVER_CONFIG_LIST_add appends an ECHConfig in |ech_config| and its
|
3612
|
+
// corresponding private key in |private_key| to |list|. When |is_retry_config|
|
3613
|
+
// is non-zero, this config will be returned to the client on configuration
|
3614
|
+
// mismatch. It returns one on success and zero on error. See also
|
3615
|
+
// |SSL_CTX_set1_ech_server_config_list|.
|
3616
|
+
//
|
3617
|
+
// This function should be called successively to register each ECHConfig in
|
3618
|
+
// decreasing order of preference. This configuration must be completed before
|
3619
|
+
// setting |list| on an |SSL_CTX| with |SSL_CTX_set1_ech_server_config_list|.
|
3620
|
+
// After that point, |list| is immutable; no more ECHConfig values may be added.
|
3621
|
+
OPENSSL_EXPORT int SSL_ECH_SERVER_CONFIG_LIST_add(
|
3622
|
+
SSL_ECH_SERVER_CONFIG_LIST *list, int is_retry_config,
|
3623
|
+
const uint8_t *ech_config, size_t ech_config_len,
|
3624
|
+
const uint8_t *private_key, size_t private_key_len);
|
3625
|
+
|
3626
|
+
// SSL_CTX_set1_ech_server_config_list atomically sets the refcounted |list|
|
3627
|
+
// onto |ctx|, releasing the old list. |SSL| objects associated with |ctx|, as
|
3628
|
+
// servers, will use |list| to decrypt incoming encrypted ClientHello messages.
|
3629
|
+
// It returns one on success, and zero on failure.
|
3630
|
+
//
|
3631
|
+
// If |list| does not contain any retry configs, this function will fail. Retry
|
3632
|
+
// configs are marked as such when they are added to |list| with
|
3633
|
+
// |SSL_ECH_SERVER_CONFIG_LIST_add|.
|
3634
|
+
//
|
3635
|
+
// Once |list| has been passed to this function, it is immutable. Unlike most
|
3636
|
+
// |SSL_CTX| configuration functions, this function may be called even if |ctx|
|
3637
|
+
// already has associated connections on multiple threads. This may be used to
|
3638
|
+
// rotate keys in a long-lived server process.
|
3639
|
+
//
|
3640
|
+
// The configured ECHConfig values should also be advertised out-of-band via DNS
|
3641
|
+
// (see draft-ietf-dnsop-svcb-https). Before advertising an ECHConfig in DNS,
|
3642
|
+
// deployments should ensure all instances of the service are configured with
|
3643
|
+
// the ECHConfig and corresponding private key.
|
3644
|
+
//
|
3645
|
+
// Only the most recent fully-deployed ECHConfigs should be advertised in DNS.
|
3646
|
+
// |list| may contain a newer set if those ECHConfigs are mid-deployment. It
|
3647
|
+
// should also contain older sets, until the DNS change has rolled out and the
|
3648
|
+
// old records have expired from caches.
|
3649
|
+
//
|
3650
|
+
// If there is a mismatch, |SSL| objects associated with |ctx| will complete the
|
3651
|
+
// handshake using the cleartext ClientHello and send updated ECHConfig values
|
3652
|
+
// to the client. The client will then retry to recover, but with a latency
|
3653
|
+
// penalty. This recovery flow depends on the public name in the ECHConfig.
|
3654
|
+
// Before advertising an ECHConfig in DNS, deployments must ensure all instances
|
3655
|
+
// of the service can present a valid certificate for the public name.
|
3656
|
+
//
|
3657
|
+
// BoringSSL negotiates ECH before certificate selection callbacks are called,
|
3658
|
+
// including |SSL_CTX_set_select_certificate_cb|. If ECH is negotiated, the
|
3659
|
+
// reported |SSL_CLIENT_HELLO| structure and |SSL_get_servername| function will
|
3660
|
+
// transparently reflect the inner ClientHello. Callers should select parameters
|
3661
|
+
// based on these values to correctly handle ECH as well as the recovery flow.
|
3662
|
+
OPENSSL_EXPORT int SSL_CTX_set1_ech_server_config_list(
|
3663
|
+
SSL_CTX *ctx, SSL_ECH_SERVER_CONFIG_LIST *list);
|
3664
|
+
|
3592
3665
|
|
3593
3666
|
// Alerts.
|
3594
3667
|
//
|
@@ -3725,6 +3798,101 @@ OPENSSL_EXPORT uint64_t SSL_get_read_sequence(const SSL *ssl);
|
|
3725
3798
|
OPENSSL_EXPORT uint64_t SSL_get_write_sequence(const SSL *ssl);
|
3726
3799
|
|
3727
3800
|
|
3801
|
+
// Handshake hints.
|
3802
|
+
//
|
3803
|
+
// *** EXPERIMENTAL — DO NOT USE WITHOUT CHECKING ***
|
3804
|
+
//
|
3805
|
+
// Some server deployments make asynchronous RPC calls in both ClientHello
|
3806
|
+
// dispatch and private key operations. In TLS handshakes where the private key
|
3807
|
+
// operation occurs in the first round-trip, this results in two consecutive RPC
|
3808
|
+
// round-trips. Handshake hints allow the RPC service to predicte a signature.
|
3809
|
+
// If correctly predicted, this can skip the second RPC call.
|
3810
|
+
//
|
3811
|
+
// First, the server installs a certificate selection callback (see
|
3812
|
+
// |SSL_CTX_set_select_certificate_cb|). When that is called, it performs the
|
3813
|
+
// RPC as before, but includes the ClientHello and a capabilities string from
|
3814
|
+
// |SSL_serialize_capabilities|.
|
3815
|
+
//
|
3816
|
+
// Next, the RPC service creates its own |SSL| object, applies the results of
|
3817
|
+
// certificate selection, calls |SSL_request_handshake_hints|, and runs the
|
3818
|
+
// handshake. If this successfully computes handshake hints (see
|
3819
|
+
// |SSL_serialize_handshake_hints|), the RPC server should send the hints
|
3820
|
+
// alongside any certificate selection results.
|
3821
|
+
//
|
3822
|
+
// Finally, the server calls |SSL_set_handshake_hints| and applies any
|
3823
|
+
// configuration from the RPC server. It then completes the handshake as before.
|
3824
|
+
// If the hints apply, BoringSSL will use the predicted signature and skip the
|
3825
|
+
// private key callbacks. Otherwise, BoringSSL will call private key callbacks
|
3826
|
+
// to generate a signature as before.
|
3827
|
+
//
|
3828
|
+
// Callers should synchronize configuration across the two services.
|
3829
|
+
// Configuration mismatches and some cases of version skew are not fatal, but
|
3830
|
+
// may result in the hints not applying. Additionally, some handshake flows use
|
3831
|
+
// the private key in later round-trips, such as TLS 1.3 HelloRetryRequest. In
|
3832
|
+
// those cases, BoringSSL will not predict a signature as there is no benefit.
|
3833
|
+
// Callers must allow for handshakes to complete without a predicted signature.
|
3834
|
+
//
|
3835
|
+
// For now, only TLS 1.3 is hinted. TLS 1.2 will work, but the hints will be
|
3836
|
+
// empty.
|
3837
|
+
|
3838
|
+
// SSL_serialize_capabilities writes an opaque byte string to |out| describing
|
3839
|
+
// some of |ssl|'s capabilities. It returns one on success and zero on error.
|
3840
|
+
//
|
3841
|
+
// This string is used by BoringSSL internally to reduce the impact of version
|
3842
|
+
// skew.
|
3843
|
+
OPENSSL_EXPORT int SSL_serialize_capabilities(const SSL *ssl, CBB *out);
|
3844
|
+
|
3845
|
+
// SSL_request_handshake_hints configures |ssl| to generate a handshake hint for
|
3846
|
+
// |client_hello|. It returns one on success and zero on error. |client_hello|
|
3847
|
+
// should contain a serialized ClientHello structure, from the |client_hello|
|
3848
|
+
// and |client_hello_len| fields of the |SSL_CLIENT_HELLO| structure.
|
3849
|
+
// |capabilities| should contain the output of |SSL_serialize_capabilities|.
|
3850
|
+
//
|
3851
|
+
// When configured, |ssl| will perform no I/O (so there is no need to configure
|
3852
|
+
// |BIO|s). For QUIC, the caller should still configure an |SSL_QUIC_METHOD|,
|
3853
|
+
// but the callbacks themselves will never be called and may be left NULL or
|
3854
|
+
// report failure. |SSL_provide_quic_data| also should not be called.
|
3855
|
+
//
|
3856
|
+
// If hint generation is successful, |SSL_do_handshake| will stop the handshake
|
3857
|
+
// early with |SSL_get_error| returning |SSL_ERROR_HANDSHAKE_HINTS_READY|. At
|
3858
|
+
// this point, the caller should run |SSL_serialize_handshake_hints| to extract
|
3859
|
+
// the resulting hints.
|
3860
|
+
//
|
3861
|
+
// Hint generation may fail if, e.g., |ssl| was unable to process the
|
3862
|
+
// ClientHello. Callers should then complete the certificate selection RPC and
|
3863
|
+
// continue the original handshake with no hint. It will likely fail, but this
|
3864
|
+
// reports the correct alert to the client and is more robust in case of
|
3865
|
+
// mismatch.
|
3866
|
+
OPENSSL_EXPORT int SSL_request_handshake_hints(SSL *ssl,
|
3867
|
+
const uint8_t *client_hello,
|
3868
|
+
size_t client_hello_len,
|
3869
|
+
const uint8_t *capabilities,
|
3870
|
+
size_t capabilities_len);
|
3871
|
+
|
3872
|
+
// SSL_serialize_handshake_hints writes an opaque byte string to |out|
|
3873
|
+
// containing the handshake hints computed by |out|. It returns one on success
|
3874
|
+
// and zero on error. This function should only be called if
|
3875
|
+
// |SSL_request_handshake_hints| was configured and the handshake terminated
|
3876
|
+
// with |SSL_ERROR_HANDSHAKE_HINTS_READY|.
|
3877
|
+
//
|
3878
|
+
// This string may be passed to |SSL_set_handshake_hints| on another |SSL| to
|
3879
|
+
// avoid an extra signature call.
|
3880
|
+
OPENSSL_EXPORT int SSL_serialize_handshake_hints(const SSL *ssl, CBB *out);
|
3881
|
+
|
3882
|
+
// SSL_set_handshake_hints configures |ssl| to use |hints| as handshake hints.
|
3883
|
+
// It returns one on success and zero on error. The handshake will then continue
|
3884
|
+
// as before, but apply predicted values from |hints| where applicable.
|
3885
|
+
//
|
3886
|
+
// Hints may contain connection and session secrets, so they must not leak and
|
3887
|
+
// must come from a source trusted to terminate the connection. However, they
|
3888
|
+
// will not change |ssl|'s configuration. The caller is responsible for
|
3889
|
+
// serializing and applying options from the RPC server as needed. This ensures
|
3890
|
+
// |ssl|'s behavior is self-consistent and consistent with the caller's local
|
3891
|
+
// decisions.
|
3892
|
+
OPENSSL_EXPORT int SSL_set_handshake_hints(SSL *ssl, const uint8_t *hints,
|
3893
|
+
size_t hints_len);
|
3894
|
+
|
3895
|
+
|
3728
3896
|
// Obscure functions.
|
3729
3897
|
|
3730
3898
|
// SSL_CTX_set_msg_callback installs |cb| as the message callback for |ctx|.
|
@@ -4798,18 +4966,6 @@ OPENSSL_EXPORT int SSL_CTX_set_tlsext_status_arg(SSL_CTX *ctx, void *arg);
|
|
4798
4966
|
// name and remove this one.
|
4799
4967
|
OPENSSL_EXPORT uint16_t SSL_CIPHER_get_value(const SSL_CIPHER *cipher);
|
4800
4968
|
|
4801
|
-
// SSL_CTX_set_ignore_tls13_downgrade does nothing.
|
4802
|
-
OPENSSL_EXPORT void SSL_CTX_set_ignore_tls13_downgrade(SSL_CTX *ctx,
|
4803
|
-
int ignore);
|
4804
|
-
|
4805
|
-
// SSL_set_ignore_tls13_downgrade does nothing.
|
4806
|
-
OPENSSL_EXPORT void SSL_set_ignore_tls13_downgrade(SSL *ssl, int ignore);
|
4807
|
-
|
4808
|
-
// SSL_is_tls13_downgrade returns zero. Historically, this function returned
|
4809
|
-
// whether the TLS 1.3 downgrade signal would have been enforced if not
|
4810
|
-
// disabled. The TLS 1.3 downgrade signal is now always enforced.
|
4811
|
-
OPENSSL_EXPORT int SSL_is_tls13_downgrade(const SSL *ssl);
|
4812
|
-
|
4813
4969
|
|
4814
4970
|
// Nodejs compatibility section (hidden).
|
4815
4971
|
//
|
@@ -4972,6 +5128,10 @@ BSSL_NAMESPACE_BEGIN
|
|
4972
5128
|
BORINGSSL_MAKE_DELETER(SSL, SSL_free)
|
4973
5129
|
BORINGSSL_MAKE_DELETER(SSL_CTX, SSL_CTX_free)
|
4974
5130
|
BORINGSSL_MAKE_UP_REF(SSL_CTX, SSL_CTX_up_ref)
|
5131
|
+
BORINGSSL_MAKE_DELETER(SSL_ECH_SERVER_CONFIG_LIST,
|
5132
|
+
SSL_ECH_SERVER_CONFIG_LIST_free)
|
5133
|
+
BORINGSSL_MAKE_UP_REF(SSL_ECH_SERVER_CONFIG_LIST,
|
5134
|
+
SSL_ECH_SERVER_CONFIG_LIST_up_ref)
|
4975
5135
|
BORINGSSL_MAKE_DELETER(SSL_SESSION, SSL_SESSION_free)
|
4976
5136
|
BORINGSSL_MAKE_UP_REF(SSL_SESSION, SSL_SESSION_up_ref)
|
4977
5137
|
|
@@ -5088,6 +5248,7 @@ OPENSSL_EXPORT bool SSL_get_traffic_secrets(
|
|
5088
5248
|
const SSL *ssl, Span<const uint8_t> *out_read_traffic_secret,
|
5089
5249
|
Span<const uint8_t> *out_write_traffic_secret);
|
5090
5250
|
|
5251
|
+
|
5091
5252
|
BSSL_NAMESPACE_END
|
5092
5253
|
|
5093
5254
|
} // extern C++
|
@@ -5305,6 +5466,13 @@ BSSL_NAMESPACE_END
|
|
5305
5466
|
#define SSL_R_NO_APPLICATION_PROTOCOL 307
|
5306
5467
|
#define SSL_R_NEGOTIATED_ALPS_WITHOUT_ALPN 308
|
5307
5468
|
#define SSL_R_ALPS_MISMATCH_ON_EARLY_DATA 309
|
5469
|
+
#define SSL_R_ECH_SERVER_CONFIG_AND_PRIVATE_KEY_MISMATCH 310
|
5470
|
+
#define SSL_R_ECH_SERVER_CONFIG_UNSUPPORTED_EXTENSION 311
|
5471
|
+
#define SSL_R_UNSUPPORTED_ECH_SERVER_CONFIG 312
|
5472
|
+
#define SSL_R_ECH_SERVER_WOULD_HAVE_NO_RETRY_CONFIGS 313
|
5473
|
+
#define SSL_R_INVALID_CLIENT_HELLO_INNER 314
|
5474
|
+
#define SSL_R_INVALID_ALPN_PROTOCOL_LIST 315
|
5475
|
+
#define SSL_R_COULD_NOT_PARSE_HINTS 316
|
5308
5476
|
#define SSL_R_SSLV3_ALERT_CLOSE_NOTIFY 1000
|
5309
5477
|
#define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010
|
5310
5478
|
#define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020
|