X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=util%2FTLSProxy%2FProxy.pm;h=37abfb03e99fe7cf9990b855baeee5b628d75450;hp=be9f8f88a088ae4147a2f88965ab3b4d88c34493;hb=efab1586e041f4d4dde86cd786630e0d6af285a2;hpb=20b65c7bdd9ca34c497624d1d07edd433be88a83 diff --git a/util/TLSProxy/Proxy.pm b/util/TLSProxy/Proxy.pm index be9f8f88a0..37abfb03e9 100644 --- a/util/TLSProxy/Proxy.pm +++ b/util/TLSProxy/Proxy.pm @@ -17,6 +17,7 @@ use TLSProxy::Record; use TLSProxy::Message; use TLSProxy::ClientHello; use TLSProxy::ServerHello; +use TLSProxy::EncryptedExtensions; use TLSProxy::ServerKeyExchange; use TLSProxy::NewSessionTicket; @@ -44,6 +45,7 @@ sub new clientflags => "", serverconnects => 1, serverpid => 0, + reneg => 0, #Public read execute => $execute, @@ -120,6 +122,7 @@ sub clear $self->{serverflags} = ""; $self->{serverconnects} = 1; $self->{serverpid} = 0; + $self->{reneg} = 0; } sub restart @@ -153,7 +156,8 @@ sub start my $execcmd = $self->execute ." s_server -no_comp -rev -engine ossltest -accept " .($self->server_port) - ." -cert ".$self->cert." -naccept ".$self->serverconnects; + ." -cert ".$self->cert." -cert2 ".$self->cert + ." -naccept ".$self->serverconnects; if ($self->ciphers ne "") { $execcmd .= " -cipher ".$self->ciphers; } @@ -203,7 +207,13 @@ sub clientstart or die "Failed to redirect stdout: $!"; open(STDERR, ">&STDOUT"); } - my $execcmd = "echo test | ".$self->execute + my $echostr; + if ($self->reneg()) { + $echostr = "R"; + } else { + $echostr = "test"; + } + my $execcmd = "echo ".$echostr." | ".$self->execute ." s_client -engine ossltest -connect " .($self->proxy_addr).":".($self->proxy_port); if ($self->cipherc ne "") { @@ -343,7 +353,7 @@ sub process_packet if ($record->flight != $self->flight) { next; } - $packet .= $record->reconstruct_record(); + $packet .= $record->reconstruct_record($server); } $self->{flight} = $self->{flight} + 1; @@ -506,6 +516,7 @@ sub fill_known_data } return $ret; } + sub is_tls13 { my $class = shift; @@ -514,4 +525,14 @@ sub is_tls13 } return $is_tls13; } + +sub reneg +{ + my $self = shift; + if (@_) { + $self->{reneg} = shift; + } + return $self->{reneg}; +} + 1;