2 * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
10 #ifndef OSSL_TEST_SHIM_TEST_CONFIG_H
11 #define OSSL_TEST_SHIM_TEST_CONFIG_H
16 #include <openssl/configuration.h>
21 bool is_server = false;
24 bool fallback_scsv = false;
26 std::string cert_file;
27 std::string expected_server_name;
28 std::string expected_certificate_types;
29 bool require_any_client_certificate = false;
30 std::string advertise_npn;
31 std::string expected_next_proto;
32 std::string select_next_proto;
34 bool write_different_record_sizes = false;
35 bool partial_write = false;
36 bool no_tls13 = false;
37 bool no_tls12 = false;
38 bool no_tls11 = false;
41 bool shim_writes_first = false;
42 std::string host_name;
43 std::string advertise_alpn;
44 std::string expected_alpn;
45 std::string expected_advertised_alpn;
46 std::string select_alpn;
47 bool decline_alpn = false;
48 bool expect_session_miss = false;
49 bool expect_extended_master_secret = false;
51 std::string psk_identity;
52 std::string srtp_profiles;
56 bool implicit_handshake = false;
58 bool handshake_never_done = false;
59 int export_keying_material = 0;
60 std::string export_label;
61 std::string export_context;
62 bool use_export_context = false;
63 bool expect_ticket_renewal = false;
64 bool expect_no_session = false;
65 bool use_ticket_callback = false;
66 bool renew_ticket = false;
67 bool enable_client_custom_extension = false;
68 bool enable_server_custom_extension = false;
69 bool custom_extension_skip = false;
70 bool custom_extension_fail_add = false;
71 bool check_close_notify = false;
72 bool shim_shuts_down = false;
73 bool verify_fail = false;
74 bool verify_peer = false;
75 bool expect_verify_result = false;
76 int expect_total_renegotiations = 0;
77 bool renegotiate_freely = false;
78 bool p384_only = false;
79 bool enable_all_curves = false;
80 bool use_sparse_dh_prime = false;
81 bool use_old_client_cert_callback = false;
82 bool use_null_client_ca_list = false;
83 bool peek_then_read = false;
84 int max_cert_list = 0;
87 bool ParseConfig(int argc, char **argv, TestConfig *out_config);
90 #endif // OSSL_TEST_SHIM_TEST_CONFIG_H