X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=test%2Frecipes%2F70-test_sslsessiontick.t;h=cbd4c65f719d0db4de341aeca9c3c212cabdbb0b;hp=7e5ccad5aa4cd7c65ff02c1149814a71919115fe;hb=1595ca029cbc1f76971843d89ed06b6ffbf17c84;hpb=90d48e5ea006c759888f7302ccc94fede3ca224a diff --git a/test/recipes/70-test_sslsessiontick.t b/test/recipes/70-test_sslsessiontick.t index 7e5ccad5aa..cbd4c65f71 100755 --- a/test/recipes/70-test_sslsessiontick.t +++ b/test/recipes/70-test_sslsessiontick.t @@ -53,7 +53,7 @@ # Hudson (tjh@cryptsoft.com). use strict; -use OpenSSL::Test qw/:DEFAULT cmdstr top_file top_dir/; +use OpenSSL::Test qw/:DEFAULT cmdstr srctop_file bldtop_dir/; use OpenSSL::Test::Utils; use TLSProxy::Proxy; use File::Temp qw(tempfile); @@ -62,18 +62,18 @@ my $test_name = "test_sslsessiontick"; setup($test_name); plan skip_all => "TLSProxy isn't usable on $^O" - if $^O =~ /^VMS$/; + if $^O =~ /^(VMS|MSWin32)$/; -plan skip_all => "$test_name needs the engine feature enabled" - if disabled("engine"); +plan skip_all => "$test_name needs the dynamic engine feature enabled" + if disabled("engine") || disabled("dynamic-engine"); -plan skip_all => "$test_name can only be performed with OpenSSL configured shared" - if disabled("shared"); +plan skip_all => "$test_name needs the sock feature enabled" + if disabled("sock"); -$ENV{OPENSSL_ENGINES} = top_dir("engines"); $ENV{OPENSSL_ia32cap} = '~0x200000200000000'; sub checkmessages($$$$$$); +sub clearclient(); sub clearall(); my $chellotickext = 0; @@ -83,8 +83,9 @@ my $ticketseen = 0; my $proxy = TLSProxy::Proxy->new( undef, - cmdstr(app(["openssl"])), - top_file("apps", "server.pem") + cmdstr(app(["openssl"]), display => 1), + srctop_file("apps", "server.pem"), + (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE}) ); plan tests => 8; @@ -121,7 +122,7 @@ clearall(); $proxy->serverconnects(2); $proxy->clientflags("-sess_out ".$session); $proxy->start(); -$proxy->clear(); +$proxy->clearClient(); $proxy->clientflags("-sess_in ".$session); $proxy->clientstart(); checkmessages(4, "Session resumption session ticket test", 1, 0, 0, 0); @@ -134,7 +135,7 @@ clearall(); $proxy->serverconnects(2); $proxy->clientflags("-sess_out ".$session." -no_ticket"); $proxy->start(); -$proxy->clear(); +$proxy->clearClient(); $proxy->clientflags("-sess_in ".$session); $proxy->clientstart(); checkmessages(5, "Session resumption with ticket capable client without a " @@ -155,14 +156,14 @@ $proxy->serverconnects(3); $proxy->filter(undef); $proxy->clientflags("-sess_out ".$session); $proxy->start(); -$proxy->clear(); +$proxy->clearClient(); $proxy->clientflags("-sess_in ".$session." -sess_out ".$session); $proxy->filter(\&inject_empty_ticket_filter); $proxy->clientstart(); #Expected result: ClientHello extension seen; ServerHello extension seen; # NewSessionTicket message seen; Abbreviated handshake. checkmessages(7, "Empty ticket resumption test", 1, 1, 1, 0); -clearall(); +clearclient(); $proxy->clientflags("-sess_in ".$session); $proxy->filter(undef); $proxy->clientstart(); @@ -197,7 +198,7 @@ sub inject_empty_ticket_filter { foreach my $message (@{$proxy->message_list}) { push @new_message_list, $message; if ($message->mt == TLSProxy::Message::MT_SERVER_HELLO) { - $message->set_extension(TLSProxy::ClientHello::EXT_SESSION_TICKET, ""); + $message->set_extension(TLSProxy::Message::EXT_SESSION_TICKET, ""); $message->repack(); # Tack NewSessionTicket onto the ServerHello record. # This only works if the ServerHello is exactly one record. @@ -225,7 +226,7 @@ sub checkmessages($$$$$$) #Get the extensions data my %extensions = %{$message->extension_data}; if (defined - $extensions{TLSProxy::ClientHello::EXT_SESSION_TICKET}) { + $extensions{TLSProxy::Message::EXT_SESSION_TICKET}) { if ($message->mt == TLSProxy::Message::MT_CLIENT_HELLO) { $chellotickext = 1; } else { @@ -254,11 +255,18 @@ sub checkmessages($$$$$$) } } -sub clearall() + +sub clearclient() { $chellotickext = 0; $shellotickext = 0; $fullhand = 0; $ticketseen = 0; + $proxy->clearClient(); +} + +sub clearall() +{ + clearclient(); $proxy->clear(); }