h2load: Add --groups option
This commit is contained in:
parent
19fb74b03f
commit
9031469735
|
@ -77,6 +77,7 @@ bool recorded(const std::chrono::steady_clock::time_point &t) {
|
||||||
|
|
||||||
Config::Config()
|
Config::Config()
|
||||||
: ciphers(tls::DEFAULT_CIPHER_LIST),
|
: ciphers(tls::DEFAULT_CIPHER_LIST),
|
||||||
|
groups("P-256:X25519:P-384:P-521"),
|
||||||
data_length(-1),
|
data_length(-1),
|
||||||
addrs(nullptr),
|
addrs(nullptr),
|
||||||
nreqs(1),
|
nreqs(1),
|
||||||
|
@ -2220,6 +2221,10 @@ Options:
|
||||||
in <URI>.
|
in <URI>.
|
||||||
--rps=<N> Specify request per second for each client. --rps and
|
--rps=<N> Specify request per second for each client. --rps and
|
||||||
--timing-script-file are mutually exclusive.
|
--timing-script-file are mutually exclusive.
|
||||||
|
--groups=<GROUPS>
|
||||||
|
Specify the supported groups.
|
||||||
|
Default: )"
|
||||||
|
<< config.groups << R"(
|
||||||
-v, --verbose
|
-v, --verbose
|
||||||
Output debug information.
|
Output debug information.
|
||||||
--version Display version information and exit.
|
--version Display version information and exit.
|
||||||
|
@ -2280,6 +2285,7 @@ int main(int argc, char **argv) {
|
||||||
{"log-file", required_argument, &flag, 10},
|
{"log-file", required_argument, &flag, 10},
|
||||||
{"connect-to", required_argument, &flag, 11},
|
{"connect-to", required_argument, &flag, 11},
|
||||||
{"rps", required_argument, &flag, 12},
|
{"rps", required_argument, &flag, 12},
|
||||||
|
{"groups", required_argument, &flag, 13},
|
||||||
{nullptr, 0, nullptr, 0}};
|
{nullptr, 0, nullptr, 0}};
|
||||||
int option_index = 0;
|
int option_index = 0;
|
||||||
auto c = getopt_long(argc, argv,
|
auto c = getopt_long(argc, argv,
|
||||||
|
@ -2530,6 +2536,10 @@ int main(int argc, char **argv) {
|
||||||
config.rps = v;
|
config.rps = v;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 13:
|
||||||
|
// --groups
|
||||||
|
config.groups = optarg;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -2758,7 +2768,11 @@ int main(int argc, char **argv) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO Use SSL_CTX_set_ciphersuites to set TLSv1.3 cipher list
|
// TODO Use SSL_CTX_set_ciphersuites to set TLSv1.3 cipher list
|
||||||
// TODO Use SSL_CTX_set1_groups_list to set key share
|
|
||||||
|
if (SSL_CTX_set1_groups_list(ssl_ctx, config.groups.c_str()) != 1) {
|
||||||
|
std::cerr << "SSL_CTX_set1_groups_list failed" << std::endl;
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_NEXTPROTONEG
|
#ifndef OPENSSL_NO_NEXTPROTONEG
|
||||||
SSL_CTX_set_next_proto_select_cb(ssl_ctx, client_select_next_proto_cb,
|
SSL_CTX_set_next_proto_select_cb(ssl_ctx, client_select_next_proto_cb,
|
||||||
|
|
|
@ -75,6 +75,8 @@ struct Config {
|
||||||
std::string connect_to_host;
|
std::string connect_to_host;
|
||||||
std::string ifile;
|
std::string ifile;
|
||||||
std::string ciphers;
|
std::string ciphers;
|
||||||
|
// supported groups (or curves).
|
||||||
|
std::string groups;
|
||||||
// length of upload data
|
// length of upload data
|
||||||
int64_t data_length;
|
int64_t data_length;
|
||||||
addrinfo *addrs;
|
addrinfo *addrs;
|
||||||
|
|
Loading…
Reference in New Issue