#pragma once

namespace NSrvKernel {
    namespace {
        static const THashSet<TString> DefaultSslErrors = {
            "SSL23_GET_CLIENT_HELLO_unknown_protocol",
            "SSL_shutdown_shutdown_while_in_init",
            "early_data_count_ok_too_much_early_data",
            "final_key_share_no_suitable_key_share",
            "final_sig_algs_missing_sigalgs_extension",
            "ossl_statem_server_read_transition_unexpected_message",
            "read_state_machine_excessive_message_size",
            "ssl3_get_record_bad_record_type",
            "ssl3_get_record_block_cipher_pad_is_wrong",
            "ssl3_get_record_data_length_too_long",
            "ssl3_get_record_decryption_failed_or_bad_record_mac",
            "ssl3_get_record_invalid_ccs_message",
            "ssl3_get_record_length_too_short",
            "ssl3_get_record_packet_length_too_long",
            "ssl3_get_record_wrong_version_number",
            "ssl3_read_bytes_application_data_after_close_notify",
            "ssl3_read_bytes_ccs_received_early",
            "ssl3_read_bytes_data_between_ccs_and_finished",
            "ssl3_read_bytes_invalid_alert",
            "ssl3_read_bytes_reason1000",
            "ssl3_read_bytes_reason1004",
            "ssl3_read_bytes_reason1018",
            "ssl3_read_bytes_reason1255",
            "ssl3_read_bytes_sslv3_alert_bad_certificate",
            "ssl3_read_bytes_sslv3_alert_bad_record_mac",
            "ssl3_read_bytes_sslv3_alert_certificate_expired",
            "ssl3_read_bytes_sslv3_alert_certificate_unknown",
            "ssl3_read_bytes_sslv3_alert_handshake_failure",
            "ssl3_read_bytes_sslv3_alert_illegal_parameter",
            "ssl3_read_bytes_sslv3_alert_unexpected_message",
            "ssl3_read_bytes_sslv3_alert_unsupported_certificate",
            "ssl3_read_bytes_tlsv1_alert_access_denied",
            "ssl3_read_bytes_tlsv1_alert_decode_error",
            "ssl3_read_bytes_tlsv1_alert_decrypt_error",
            "ssl3_read_bytes_tlsv1_alert_decryption_failed",
            "ssl3_read_bytes_tlsv1_alert_internal_error",
            "ssl3_read_bytes_tlsv1_alert_protocol_version",
            "ssl3_read_bytes_tlsv1_alert_record_overflow",
            "ssl3_read_bytes_tlsv1_alert_unknown_ca",
            "ssl3_read_bytes_tlsv1_alert_user_cancelled",
            "ssl3_read_bytes_tlsv1_unrecognized_name",
            "ssl3_read_bytes_tlsv1_unsupported_extension",
            "ssl3_read_bytes_unexpected_message",
            "ssl3_read_bytes_unexpected_record",
            "ssl3_read_bytes_unknown_alert_type",
            "ssl_cache_cipherlist_no_ciphers_specified",
            "ssl_get_prev_session_inconsistent_extms",
            "ssl_get_prev_session_session_id_context_uninitialized",
            "tls1_enc_internal_error",
            "tls1_set_server_sigalgs_no_shared_signature_algorithms",
            "tls_choose_sigalg_no_suitable_signature_algorithm",
            "tls_collect_extensions_bad_extension",
            "tls_early_post_process_client_hello_bad_cipher",
            "tls_early_post_process_client_hello_bad_legacy_version",
            "tls_early_post_process_client_hello_inappropriate_fallback",
            "tls_early_post_process_client_hello_length_mismatch",
            "tls_early_post_process_client_hello_no_compression_specified",
            "tls_early_post_process_client_hello_no_shared_cipher",
            "tls_early_post_process_client_hello_required_cipher_missing",
            "tls_early_post_process_client_hello_scsv_received_when_renegotiating",
            "tls_early_post_process_client_hello_unknown_protocol",
            "tls_early_post_process_client_hello_unsupported_protocol",
            "tls_get_message_header_bad_change_cipher_spec",
            "tls_parse_ctos_alpn_bad_extension",
            "tls_parse_ctos_ec_pt_formats_bad_extension",
            "tls_parse_ctos_ems_bad_extension",
            "tls_parse_ctos_key_share_bad_ecpoint",
            "tls_parse_ctos_key_share_bad_key_share",
            "tls_parse_ctos_key_share_length_mismatch",
            "tls_parse_ctos_key_share_missing_supported_groups_extension",
            "tls_parse_ctos_maxfragmentlen_bad_extension",
            "tls_parse_ctos_maxfragmentlen_ssl3_ext_invalid_max_fragment_length",
            "tls_parse_ctos_psk_bad_extension",
            "tls_parse_ctos_psk_kex_modes_bad_extension",
            "tls_parse_ctos_renegotiate_renegotiation_encoding_err",
            "tls_parse_ctos_server_name_bad_extension",
            "tls_parse_ctos_sig_algs_bad_extension",
            "tls_parse_ctos_status_request_bad_extension",
            "tls_parse_ctos_supported_groups_bad_extension",
            "tls_post_process_client_hello_no_shared_cipher",
            "tls_process_cke_ecdhe_EC_lib",
            "tls_process_cke_ecdhe_length_mismatch",
            "tls_process_client_certificate_certificate_verify_failed",
            "tls_process_client_certificate_no_certificates_returned",
            "tls_process_client_hello_length_mismatch",
            "tls_process_client_hello_length_too_short",
            "tls_process_finished_digest_check_failed",
            "tls_psk_do_binder_binder_does_not_verify",
        };
    }
}
