my $fatal_alert = undef; # set by filters at expected fatal alerts
my $sslv2testtype = undef;
my $proxy_start_success = 0;
-my $dtlsproxy = undef;
-my $tlsproxy = undef;
-
-my $dummyproxy = TLSProxy::Proxy->new(
- \&add_empty_recs_filter,
- cmdstr(app([ "openssl" ]), display => 1),
- srctop_file("apps", "server.pem"),
- (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
-);
-
-# Avoid failures with tls1_3 disabled builds
-# TLSProxy defaults to use tls1_3 and tls1_2 is required by the tests so
-# set it here and check that a simple proxy works before running the tests
-if (disabled("tls1_3")) {
- $dummyproxy->serverflags("-tls1_2");
- $dummyproxy->clientflags("-no_tls1_3");
-}
-$dummyproxy->start() or plan skip_all => "Unable to start up Proxy for tests";
+
plan tests => 42;
SKIP: {
skip "TLS 1.2 is disabled", 21 if disabled("tls1_2");
# Run tests with TLS
- $tlsproxy = TLSProxy::Proxy->new(
- \&add_empty_recs_filter,
- cmdstr(app([ "openssl" ]), display => 1),
- srctop_file("apps", "server.pem"),
- (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
- );
run_tests(0);
}
SKIP: {
skip "DTLS 1.2 is disabled", 21 if disabled("dtls1_2");
skip "DTLSProxy does not work on Windows", 21 if $^O =~ /^(MSWin32)$/;
- # Run tests with DTLS
- $dtlsproxy = TLSProxy::Proxy->new_dtls(
- \&add_empty_recs_filter,
- cmdstr(app([ "openssl" ]), display => 1),
- srctop_file("apps", "server.pem"),
- (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
- );
run_tests(1);
}
my $proxy;
if ($run_test_as_dtls == 1) {
- $proxy = $dtlsproxy;
+ $proxy = TLSProxy::Proxy->new_dtls(
+ \&add_empty_recs_filter,
+ cmdstr(app([ "openssl" ]), display => 1),
+ srctop_file("apps", "server.pem"),
+ (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
+ );
} else {
- $proxy = $tlsproxy;
+ $proxy = TLSProxy::Proxy->new(
+ \&add_empty_recs_filter,
+ cmdstr(app([ "openssl" ]), display => 1),
+ srctop_file("apps", "server.pem"),
+ (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
+ );
}
$fatal_alert = 0; # set by filters at expected fatal alerts
$fatal_alert = 0;
$proxy->serverflags("-tls1_2");
$proxy->clientflags("-no_tls1_3");
- $proxy->start();
+ $proxy_start_success = $proxy->start();
ok($fatal_alert, "Out of context empty records test");
}
+ skip "TLSProxy did not start correctly", 21 if $proxy_start_success == 0
+ && $run_test_as_dtls == 0;
+
#Test 2: Injecting in context empty records should succeed
$proxy->clear();
$content_type = TLSProxy::Record::RT_HANDSHAKE;
$proxy->clientflags("-no_tls1_3");
}
$proxy_start_success = $proxy->start();
+
+ skip "TLSProxy did not start correctly", 20 if $proxy_start_success == 0
+ && $run_test_as_dtls == 1;
+
ok($proxy_start_success && TLSProxy::Message->success(),
"In context empty records test".($run_test_as_dtls == 1) ? " for DTLS" : " for TLS");