Adding upstream version 2.13.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
d1aefd7f7e
commit
7e7711ed8d
10 changed files with 53 additions and 11 deletions
11
CHANGES
11
CHANGES
|
@ -1,3 +1,14 @@
|
||||||
|
2023-06-15 Jerry Lundström
|
||||||
|
|
||||||
|
Release 2.13.0
|
||||||
|
|
||||||
|
This release adds a new option `-O tls-sni=...` to set the Server Name
|
||||||
|
Indication when using TLS transport, currently for DNS-over-TLS and
|
||||||
|
DNS-over-HTTPS.
|
||||||
|
|
||||||
|
dbe84f6 TLS SNI
|
||||||
|
5fb2282 Add TLS Server Name Indication extension support
|
||||||
|
|
||||||
2023-05-21 Jerry Lundström
|
2023-05-21 Jerry Lundström
|
||||||
|
|
||||||
Release 2.12.0
|
Release 2.12.0
|
||||||
|
|
20
configure
vendored
20
configure
vendored
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.69 for dnsperf 2.12.0.
|
# Generated by GNU Autoconf 2.69 for dnsperf 2.13.0.
|
||||||
#
|
#
|
||||||
# Report bugs to <admin@dns-oarc.net>.
|
# Report bugs to <admin@dns-oarc.net>.
|
||||||
#
|
#
|
||||||
|
@ -590,8 +590,8 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='dnsperf'
|
PACKAGE_NAME='dnsperf'
|
||||||
PACKAGE_TARNAME='dnsperf'
|
PACKAGE_TARNAME='dnsperf'
|
||||||
PACKAGE_VERSION='2.12.0'
|
PACKAGE_VERSION='2.13.0'
|
||||||
PACKAGE_STRING='dnsperf 2.12.0'
|
PACKAGE_STRING='dnsperf 2.13.0'
|
||||||
PACKAGE_BUGREPORT='admin@dns-oarc.net'
|
PACKAGE_BUGREPORT='admin@dns-oarc.net'
|
||||||
PACKAGE_URL='https://github.com/DNS-OARC/dnsperf/issues'
|
PACKAGE_URL='https://github.com/DNS-OARC/dnsperf/issues'
|
||||||
|
|
||||||
|
@ -1362,7 +1362,7 @@ if test "$ac_init_help" = "long"; then
|
||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures dnsperf 2.12.0 to adapt to many kinds of systems.
|
\`configure' configures dnsperf 2.13.0 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
@ -1433,7 +1433,7 @@ fi
|
||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of dnsperf 2.12.0:";;
|
short | recursive ) echo "Configuration of dnsperf 2.13.0:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
@ -1572,7 +1572,7 @@ fi
|
||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
dnsperf configure 2.12.0
|
dnsperf configure 2.13.0
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
|
@ -1941,7 +1941,7 @@ cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by dnsperf $as_me 2.12.0, which was
|
It was created by dnsperf $as_me 2.13.0, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
|
@ -2804,7 +2804,7 @@ fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='dnsperf'
|
PACKAGE='dnsperf'
|
||||||
VERSION='2.12.0'
|
VERSION='2.13.0'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
@ -14436,7 +14436,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by dnsperf $as_me 2.12.0, which was
|
This file was extended by dnsperf $as_me 2.13.0, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
@ -14503,7 +14503,7 @@ _ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
dnsperf config.status 2.12.0
|
dnsperf config.status 2.13.0
|
||||||
configured by $0, generated by GNU Autoconf 2.69,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
AC_PREREQ(2.64)
|
AC_PREREQ(2.64)
|
||||||
AC_INIT([dnsperf], [2.12.0], [admin@dns-oarc.net], [dnsperf], [https://github.com/DNS-OARC/dnsperf/issues])
|
AC_INIT([dnsperf], [2.13.0], [admin@dns-oarc.net], [dnsperf], [https://github.com/DNS-OARC/dnsperf/issues])
|
||||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
|
||||||
AC_CONFIG_SRCDIR([src/dnsperf.c])
|
AC_CONFIG_SRCDIR([src/dnsperf.c])
|
||||||
AC_CONFIG_HEADER([src/config.h])
|
AC_CONFIG_HEADER([src/config.h])
|
||||||
|
|
|
@ -441,6 +441,13 @@ The HTTP method to use when querying with DNS-over-HTTPS, default is GET.
|
||||||
Available methods are: GET, POST.
|
Available methods are: GET, POST.
|
||||||
.RE
|
.RE
|
||||||
|
|
||||||
|
\fBtls-sni=\fISERVER_NAME\fR
|
||||||
|
.br
|
||||||
|
.RS
|
||||||
|
The Server Name Indication (SNI) to use for TLS connections (such as DNS-over-TLS or DNS-over-HTTPS),
|
||||||
|
defaults to leaving out the SNI extension in the client hello.
|
||||||
|
.RE
|
||||||
|
|
||||||
\fBsuppress=\fIMESSAGE[,MESSAGE,...]\fR
|
\fBsuppress=\fIMESSAGE[,MESSAGE,...]\fR
|
||||||
.br
|
.br
|
||||||
.RS
|
.RS
|
||||||
|
|
|
@ -587,6 +587,7 @@ setup(int argc, char** argv, config_t* config)
|
||||||
const char* doh_uri = DEFAULT_DOH_URI;
|
const char* doh_uri = DEFAULT_DOH_URI;
|
||||||
const char* doh_method = DEFAULT_DOH_METHOD;
|
const char* doh_method = DEFAULT_DOH_METHOD;
|
||||||
const char* local_suppress = 0;
|
const char* local_suppress = 0;
|
||||||
|
const char* tls_sni = 0;
|
||||||
|
|
||||||
memset(config, 0, sizeof(*config));
|
memset(config, 0, sizeof(*config));
|
||||||
config->argc = argc;
|
config->argc = argc;
|
||||||
|
@ -681,6 +682,8 @@ setup(int argc, char** argv, config_t* config)
|
||||||
#endif
|
#endif
|
||||||
perf_long_opt_add("qps-threshold-wait", perf_opt_zpint, "microseconds",
|
perf_long_opt_add("qps-threshold-wait", perf_opt_zpint, "microseconds",
|
||||||
"minimum threshold for enabling wait in rate limiting", stringify(config->qps_threshold_wait), &config->qps_threshold_wait);
|
"minimum threshold for enabling wait in rate limiting", stringify(config->qps_threshold_wait), &config->qps_threshold_wait);
|
||||||
|
perf_long_opt_add("tls-sni", perf_opt_string, "tls_sni",
|
||||||
|
"the TLS SNI to use for TLS connections", NULL, &tls_sni);
|
||||||
|
|
||||||
bool log_stdout = false;
|
bool log_stdout = false;
|
||||||
perf_opt_add('W', perf_opt_boolean, NULL, "log warnings and errors to stdout instead of stderr", NULL, &log_stdout);
|
perf_opt_add('W', perf_opt_boolean, NULL, "log warnings and errors to stdout instead of stderr", NULL, &log_stdout);
|
||||||
|
@ -710,6 +713,10 @@ setup(int argc, char** argv, config_t* config)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tls_sni) {
|
||||||
|
perf_net_tls_sni = tls_sni;
|
||||||
|
}
|
||||||
|
|
||||||
if (doh_uri) {
|
if (doh_uri) {
|
||||||
perf_net_doh_parse_uri(doh_uri);
|
perf_net_doh_parse_uri(doh_uri);
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
|
|
||||||
|
const char* perf_net_tls_sni = 0;
|
||||||
|
|
||||||
enum perf_net_mode perf_net_parsemode(const char* mode)
|
enum perf_net_mode perf_net_parsemode(const char* mode)
|
||||||
{
|
{
|
||||||
if (!strcmp(mode, "udp")) {
|
if (!strcmp(mode, "udp")) {
|
||||||
|
|
|
@ -184,4 +184,6 @@ void perf_net_doh_stats_init();
|
||||||
void perf_net_doh_stats_compile(struct perf_net_socket*);
|
void perf_net_doh_stats_compile(struct perf_net_socket*);
|
||||||
void perf_net_doh_stats_print();
|
void perf_net_doh_stats_print();
|
||||||
|
|
||||||
|
extern const char* perf_net_tls_sni;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -184,6 +184,9 @@ static void perf__doh_connect(struct perf_net_socket* sock)
|
||||||
if (!(self->ssl = SSL_new(ssl_ctx))) {
|
if (!(self->ssl = SSL_new(ssl_ctx))) {
|
||||||
perf_log_fatal("SSL_new(): %s", ERR_error_string(ERR_get_error(), 0));
|
perf_log_fatal("SSL_new(): %s", ERR_error_string(ERR_get_error(), 0));
|
||||||
}
|
}
|
||||||
|
if (perf_net_tls_sni && !(ret = SSL_set_tlsext_host_name(self->ssl, perf_net_tls_sni))) {
|
||||||
|
perf_log_fatal("SSL_set_tlsext_host_name(): %s", ERR_error_string(SSL_get_error(self->ssl, ret), 0));
|
||||||
|
}
|
||||||
if (!(ret = SSL_set_fd(self->ssl, sock->fd))) {
|
if (!(ret = SSL_set_fd(self->ssl, sock->fd))) {
|
||||||
perf_log_fatal("SSL_set_fd(): %s", ERR_error_string(SSL_get_error(self->ssl, ret), 0));
|
perf_log_fatal("SSL_set_fd(): %s", ERR_error_string(SSL_get_error(self->ssl, ret), 0));
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,6 +82,9 @@ static void perf__dot_connect(struct perf_net_socket* sock)
|
||||||
if (!(self->ssl = SSL_new(ssl_ctx))) {
|
if (!(self->ssl = SSL_new(ssl_ctx))) {
|
||||||
perf_log_fatal("SSL_new(): %s", ERR_error_string(ERR_get_error(), 0));
|
perf_log_fatal("SSL_new(): %s", ERR_error_string(ERR_get_error(), 0));
|
||||||
}
|
}
|
||||||
|
if (perf_net_tls_sni && !(ret = SSL_set_tlsext_host_name(self->ssl, perf_net_tls_sni))) {
|
||||||
|
perf_log_fatal("SSL_set_tlsext_host_name(): %s", ERR_error_string(SSL_get_error(self->ssl, ret), 0));
|
||||||
|
}
|
||||||
if (!(ret = SSL_set_fd(self->ssl, sock->fd))) {
|
if (!(ret = SSL_set_fd(self->ssl, sock->fd))) {
|
||||||
perf_log_fatal("SSL_set_fd(): %s", ERR_error_string(SSL_get_error(self->ssl, ret), 0));
|
perf_log_fatal("SSL_set_fd(): %s", ERR_error_string(SSL_get_error(self->ssl, ret), 0));
|
||||||
}
|
}
|
||||||
|
|
|
@ -253,6 +253,7 @@ static void setup(int argc, char** argv)
|
||||||
const char* edns_option_str = NULL;
|
const char* edns_option_str = NULL;
|
||||||
const char* doh_uri = DEFAULT_DOH_URI;
|
const char* doh_uri = DEFAULT_DOH_URI;
|
||||||
const char* doh_method = DEFAULT_DOH_METHOD;
|
const char* doh_method = DEFAULT_DOH_METHOD;
|
||||||
|
const char* tls_sni = 0;
|
||||||
const char* local_suppress = 0;
|
const char* local_suppress = 0;
|
||||||
|
|
||||||
size_t num_queries_per_conn = 0;
|
size_t num_queries_per_conn = 0;
|
||||||
|
@ -337,6 +338,8 @@ static void setup(int argc, char** argv)
|
||||||
"the URI to use for DNS-over-HTTPS", DEFAULT_DOH_URI, &doh_uri);
|
"the URI to use for DNS-over-HTTPS", DEFAULT_DOH_URI, &doh_uri);
|
||||||
perf_long_opt_add("doh-method", perf_opt_string, "doh_method",
|
perf_long_opt_add("doh-method", perf_opt_string, "doh_method",
|
||||||
"the HTTP method to use for DNS-over-HTTPS: GET or POST", DEFAULT_DOH_METHOD, &doh_method);
|
"the HTTP method to use for DNS-over-HTTPS: GET or POST", DEFAULT_DOH_METHOD, &doh_method);
|
||||||
|
perf_long_opt_add("tls-sni", perf_opt_string, "tls_sni",
|
||||||
|
"the TLS SNI to use for TLS connections", NULL, &tls_sni);
|
||||||
perf_long_opt_add("suppress", perf_opt_string, "message[,message,...]",
|
perf_long_opt_add("suppress", perf_opt_string, "message[,message,...]",
|
||||||
"suppress messages/warnings, see dnsperf(1) man-page for list of message types", NULL, &local_suppress);
|
"suppress messages/warnings, see dnsperf(1) man-page for list of message types", NULL, &local_suppress);
|
||||||
perf_long_opt_add("num-queries-per-conn", perf_opt_uint, "queries",
|
perf_long_opt_add("num-queries-per-conn", perf_opt_uint, "queries",
|
||||||
|
@ -367,6 +370,10 @@ static void setup(int argc, char** argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tls_sni) {
|
||||||
|
perf_net_tls_sni = tls_sni;
|
||||||
|
}
|
||||||
|
|
||||||
if (doh_uri) {
|
if (doh_uri) {
|
||||||
perf_net_doh_parse_uri(doh_uri);
|
perf_net_doh_parse_uri(doh_uri);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue