Lines Matching defs:config
123 static bool SetTestConfig(SSL *ssl, const TestConfig *config) {
124 return SSL_set_ex_data(ssl, g_config_index, (void *)config) == 1;
457 const TestConfig *config = GetTestConfig(ssl);
459 if (!config->digest_prefs.empty()) {
461 strdup(config->digest_prefs.c_str()));
480 if (!config->signing_prefs.empty()) {
481 std::vector<uint16_t> u16s(config->signing_prefs.begin(),
482 config->signing_prefs.end());
488 if (!config->key_file.empty()) {
489 *out_pkey = LoadPrivateKey(config->key_file.c_str());
494 if (!config->cert_file.empty() &&
495 !LoadCertificate(out_x509, out_chain, config->cert_file.c_str())) {
498 if (!config->ocsp_response.empty() &&
499 !SSL_set_ocsp_response(ssl, (const uint8_t *)config->ocsp_response.data(),
500 config->ocsp_response.size())) {
516 const TestConfig *config = GetTestConfig(ssl);
517 if (config->async) {
539 const TestConfig *config = GetTestConfig(client_hello->ssl);
542 if (!config->expected_server_name.empty()) {
567 (const uint8_t*)config->expected_server_name.data(),
568 config->expected_server_name.size())) {
573 if (config->fail_early_callback) {
578 if (config->use_early_callback) {
581 if (config->async && !early_callback_ready) {
593 const TestConfig *config = GetTestConfig(ssl);
595 if (!config->expected_certificate_types.empty()) {
599 if (certificate_types_len != config->expected_certificate_types.size() ||
601 config->expected_certificate_types.data(),
608 if (!config->expected_client_ca_list.empty()) {
610 DecodeHexX509Names(config->expected_client_ca_list);
672 const TestConfig *config = GetTestConfig(ssl);
679 if (config->fail_cert_callback) {
684 if (!config->async || config->use_early_callback) {
700 const TestConfig *config = GetTestConfig(ssl);
702 if (!config->expected_ocsp_response.empty()) {
722 const TestConfig *config = GetTestConfig(ssl);
723 if (config->advertise_npn.empty()) {
727 *out = (const uint8_t*)config->advertise_npn.data();
728 *out_len = config->advertise_npn.size();
734 const TestConfig *config = GetTestConfig(ssl);
735 if (config->select_next_proto.empty()) {
739 *out = (uint8_t*)config->select_next_proto.data();
740 *outlen = config->select_next_proto.size();
753 const TestConfig *config = GetTestConfig(ssl);
754 if (config->decline_alpn) {
758 if (!config->expected_advertised_alpn.empty() &&
759 (config->expected_advertised_alpn.size() != inlen ||
760 OPENSSL_memcmp(config->expected_advertised_alpn.data(), in, inlen) !=
766 *out = (const uint8_t*)config->select_alpn.data();
767 *outlen = config->select_alpn.size();
768 if (GetTestState(ssl)->is_resume && config->select_resume_alpn.size() > 0) {
769 *out = (const uint8_t*)config->select_resume_alpn.data();
770 *outlen = config->select_resume_alpn.size();
779 const TestConfig *config = GetTestConfig(ssl);
781 if (config->psk_identity.empty()) {
787 strcmp(hint, config->psk_identity.c_str()) != 0) {
793 if (config->psk_identity.size() >= max_identity_len ||
794 config->psk.size() > max_psk_len) {
799 BUF_strlcpy(out_identity, config->psk_identity.c_str(),
801 OPENSSL_memcpy(out_psk, config->psk.data(), config->psk.size());
802 return config->psk.size();
807 const TestConfig *config = GetTestConfig(ssl);
809 if (strcmp(identity, config->psk_identity.c_str()) != 0) {
814 if (config->psk.size() > max_psk_len) {
819 OPENSSL_memcpy(out_psk, config->psk.data(), config->psk.size());
820 return config->psk.size();
847 const TestConfig *config = GetTestConfig(client_hello->ssl);
851 if (config->fail_ddos_callback ||
852 (config->fail_second_ddos_callback && callback_num == 2)) {
972 const TestConfig *config = GetTestConfig(ssl);
975 std::string(server_name) != config->expected_server_name) {
977 config->expected_server_name.c_str());
1042 static bssl::UniquePtr<SSL_CTX> SetupCtx(const TestConfig *config) {
1044 config->is_dtls ? DTLS_method() : TLS_method()));
1052 if (!config->is_dtls &&
1058 if (!config->cipher.empty()) {
1059 cipher_list = config->cipher;
1071 if (config->use_sparse_dh_prime) {
1094 if (config->async && config->is_server) {
1106 if (config->use_old_client_cert_callback) {
1112 if (!config->select_next_proto.empty()) {
1117 if (!config->select_alpn.empty() || !config->select_resume_alpn.empty() ||
1118 config->decline_alpn) {
1129 if (config->use_ticket_callback) {
1133 if (config->enable_client_custom_extension &&
1141 if (config->enable_server_custom_extension &&
1149 if (config->verify_fail) {
1155 if (!config->signed_cert_timestamps.empty() &&
1157 ssl_ctx.get(), (const uint8_t *)config->signed_cert_timestamps.data(),
1158 config->signed_cert_timestamps.size())) {
1162 if (!config->use_client_ca_list.empty()) {
1163 if (config->use_client_ca_list == "<NULL>") {
1167 DecodeHexX509Names(config->use_client_ca_list);
1172 if (config->enable_grease) {
1176 if (!config->expected_server_name.empty()) {
1180 if (!config->ticket_key.empty() &&
1181 !SSL_CTX_set_tlsext_ticket_keys(ssl_ctx.get(), config->ticket_key.data(),
1182 config->ticket_key.size())) {
1186 if (config->enable_early_data) {
1258 const TestConfig *config = GetTestConfig(ssl);
1262 if (config->async) {
1268 ret = config->peek_then_read ? SSL_peek(ssl, out, max_out)
1270 if (config->async) {
1276 if (config->use_exporter_between_reads) {
1283 } while (config->async && RetryAsync(ssl, ret));
1285 if (config->peek_then_read && ret > 0) {
1311 const TestConfig *config = GetTestConfig(ssl);
1319 } while ((config->async && RetryAsync(ssl, ret)) || (ret > 0 && in_len > 0));
1326 const TestConfig *config = GetTestConfig(ssl);
1330 } while (config->async && RetryAsync(ssl, ret));
1337 const TestConfig *config = GetTestConfig(ssl);
1341 } while (config->async && RetryAsync(ssl, ret));
1357 const TestConfig *config = GetTestConfig(ssl);
1365 (!!SSL_session_reused(ssl) == config->expect_session_miss)) {
1372 (is_resume || !config->false_start) &&
1373 !(config->is_server && SSL_early_data_accepted(ssl));
1380 if (expect_handshake_done && !config->is_server) {
1382 !config->expect_no_session &&
1383 (!SSL_session_reused(ssl) || config->expect_ticket_renewal) &&
1395 if (config->expect_session_id && !GetTestState(ssl)->got_new_session) {
1399 if (config->expect_no_session_id && GetTestState(ssl)->got_new_session) {
1405 if (config->is_server && !GetTestState(ssl)->early_callback_called) {
1410 if (!config->expected_server_name.empty()) {
1414 server_name != config->expected_server_name) {
1416 server_name, config->expected_server_name.c_str());
1421 if (!config->expected_next_proto.empty()) {
1425 if (next_proto_len != config->expected_next_proto.size() ||
1426 OPENSSL_memcmp(next_proto, config->expected_next_proto.data(),
1433 std::string expected_alpn = config->expected_alpn;
1434 if (is_resume && !config->expected_resume_alpn.empty()) {
1435 expected_alpn = config->expected_resume_alpn;
1437 bool expect_no_alpn = (!is_resume && config->expect_no_alpn) ||
1438 (is_resume && config->expect_no_resume_alpn);
1454 if (!config->expected_channel_id.empty()) {
1460 if (config->expected_channel_id.size() != 64 ||
1461 OPENSSL_memcmp(config->expected_channel_id.data(), channel_id, 64) !=
1468 if (config->expect_extended_master_secret && !SSL_get_extms_support(ssl)) {
1473 if (config->expect_secure_renegotiation &&
1479 if (config->expect_no_secure_renegotiation &&
1486 if (!config->expected_ocsp_response.empty()) {
1490 if (config->expected_ocsp_response.size() != len ||
1491 OPENSSL_memcmp(config->expected_ocsp_response.data(), data, len) != 0) {
1497 if (!config->expected_signed_cert_timestamps.empty()) {
1501 if (config->expected_signed_cert_timestamps.size() != len ||
1502 OPENSSL_memcmp(config->expected_signed_cert_timestamps.data(), data,
1509 if (config->expect_verify_result) {
1510 int expected_verify_result = config->verify_fail ?
1520 if (config->expect_peer_signature_algorithm != 0 &&
1521 config->expect_peer_signature_algorithm !=
1525 config->expect_peer_signature_algorithm);
1529 int expect_curve_id = config->expect_curve_id;
1530 if (is_resume && config->expect_resume_curve_id != 0) {
1531 expect_curve_id = config->expect_resume_curve_id;
1544 if (config->expect_cipher_aes != 0 &&
1546 static_cast<uint16_t>(config->expect_cipher_aes) != cipher_id) {
1548 cipher_id, static_cast<uint16_t>(config->expect_cipher_aes));
1552 if (config->expect_cipher_no_aes != 0 &&
1554 static_cast<uint16_t>(config->expect_cipher_no_aes) != cipher_id) {
1556 cipher_id, static_cast<uint16_t>(config->expect_cipher_no_aes));
1561 if ((config->expect_accept_early_data && !SSL_early_data_accepted(ssl)) ||
1562 (config->expect_reject_early_data && SSL_early_data_accepted(ssl))) {
1570 if (!config->psk.empty()) {
1575 } else if (!config->is_server || config->require_any_client_certificate) {
1582 if (!config->expect_peer_cert_file.empty()) {
1586 config->expect_peer_cert_file)) {
1592 if (!config->is_server) {
1622 bool expected_sha256_client_cert = config->expect_sha256_client_cert_initial;
1624 expected_sha256_client_cert = config->expect_sha256_client_cert_resume;
1641 if (is_resume && config->expect_ticket_age_skew != 0 &&
1642 SSL_get_ticket_age_skew(ssl) != config->expect_ticket_age_skew) {
1644 SSL_get_ticket_age_skew(ssl), config->expect_ticket_age_skew);
1656 SSL_CTX *ssl_ctx, const TestConfig *config,
1658 if (is_resume && config->enable_resume_early_data) {
1667 if (!SetTestConfig(ssl.get(), config) ||
1674 if (config->fallback_scsv &&
1679 if (!config->use_early_callback &&
1680 !config->use_old_client_cert_callback &&
1681 !config->async &&
1685 if (!config->use_old_client_cert_callback) {
1688 if (config->require_any_client_certificate) {
1692 if (config->verify_peer) {
1695 if (config->false_start) {
1698 if (config->cbc_record_splitting) {
1701 if (config->partial_write) {
1704 if (config->no_tls13) {
1707 if (config->no_tls12) {
1710 if (config->no_tls11) {
1713 if (config->no_tls1) {
1716 if (config->no_ssl3) {
1719 if (!config->expected_channel_id.empty() ||
1720 config->enable_channel_id) {
1723 if (!config->send_channel_id.empty()) {
1725 if (!config->async) {
1727 bssl::UniquePtr<EVP_PKEY> pkey = LoadPrivateKey(config->send_channel_id);
1733 if (!config->host_name.empty() &&
1734 !SSL_set_tlsext_host_name(ssl.get(), config->host_name.c_str())) {
1737 if (!config->advertise_alpn.empty() &&
1739 (const uint8_t *)config->advertise_alpn.data(),
1740 config->advertise_alpn.size()) != 0) {
1743 if (!config->psk.empty()) {
1747 if (!config->psk_identity.empty() &&
1748 !SSL_use_psk_identity_hint(ssl.get(), config->psk_identity.c_str())) {
1751 if (!config->srtp_profiles.empty() &&
1752 !SSL_set_srtp_profiles(ssl.get(), config->srtp_profiles.c_str())) {
1755 if (config->enable_ocsp_stapling) {
1758 if (config->enable_signed_cert_timestamps) {
1761 if (config->min_version != 0 &&
1762 !SSL_set_min_proto_version(ssl.get(), (uint16_t)config->min_version)) {
1765 if (config->max_version != 0 &&
1766 !SSL_set_max_proto_version(ssl.get(), (uint16_t)config->max_version)) {
1769 if (config->mtu != 0) {
1771 SSL_set_mtu(ssl.get(), config->mtu);
1773 if (config->install_ddos_callback) {
1776 if (config->renegotiate_once) {
1779 if (config->renegotiate_freely) {
1782 if (config->renegotiate_ignore) {
1785 if (!config->check_close_notify) {
1788 if (config->p384_only) {
1794 if (config->enable_all_curves) {
1803 if (config->initial_timeout_duration_ms > 0) {
1805 config->initial_timeout_duration_ms);
1807 if (config->max_cert_list > 0) {
1808 SSL_set_max_cert_list(ssl.get(), config->max_cert_list);
1810 if (!is_resume && config->retain_only_sha256_client_cert_initial) {
1813 if (is_resume && config->retain_only_sha256_client_cert_resume) {
1816 if (config->max_send_fragment > 0) {
1817 SSL_set_max_send_fragment(ssl.get(), config->max_send_fragment);
1820 int sock = Connect(config->port);
1830 if (config->is_dtls) {
1839 if (config->async) {
1841 config->is_dtls ? AsyncBioCreateDatagram() : AsyncBioCreate();
1853 if (!config->is_server) {
1857 } else if (config->async) {
1870 if (config->is_server) {
1877 if (!config->implicit_handshake) {
1880 } while (config->async && RetryAsync(ssl.get(), ret));
1891 if (config->export_keying_material > 0) {
1893 static_cast<size_t>(config->export_keying_material));
1896 config->export_label.data(), config->export_label.size(),
1897 reinterpret_cast<const uint8_t*>(config->export_context.data()),
1898 config->export_context.size(), config->use_export_context)) {
1907 if (config->tls_unique) {
1927 if (config->send_alert) {
1934 if (config->write_different_record_sizes) {
1935 if (config->is_dtls) {
1957 if (config->read_with_unfinished_write) {
1958 if (!config->async) {
1970 if (config->shim_writes_first) {
1976 if (!config->shim_shuts_down) {
1980 size_t read_size = config->is_dtls ? 16384 : 512;
1981 if (config->read_size > 0) {
1982 read_size = config->read_size;
2027 if (!config->is_server && !config->false_start &&
2028 !config->implicit_handshake &&
2036 if (GetProtocolVersion(ssl.get()) >= TLS1_3_VERSION && !config->is_server) {
2038 !config->expect_no_session && !config->shim_shuts_down;
2049 if (config->expect_early_data_info != got_early_data_info) {
2066 if (configconfig->check_close_notify) {
2083 config->expect_total_renegotiations) {
2085 config->expect_total_renegotiations,
2127 TestConfig config;
2128 if (!ParseConfig(argc - 1, argv + 1, &config)) {
2139 bssl::UniquePtr<SSL_CTX> ssl_ctx = SetupCtx(&config);
2146 for (int i = 0; i < config.resume_count + 1; i++) {
2148 if (is_resume && !config.is_server && !session) {
2154 if (!DoExchange(&session, ssl_ctx.get(), &config, is_resume,
2161 if (config.resumption_delay != 0) {
2162 g_clock.tv_sec += config.resumption_delay;