projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support renegotiation in TLSProxy
[openssl.git]
/
util
/
TLSProxy
/
Proxy.pm
diff --git
a/util/TLSProxy/Proxy.pm
b/util/TLSProxy/Proxy.pm
index be9f8f88a088ae4147a2f88965ab3b4d88c34493..37abfb03e99fe7cf9990b855baeee5b628d75450 100644
(file)
--- 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::Message;
use TLSProxy::ClientHello;
use TLSProxy::ServerHello;
+use TLSProxy::EncryptedExtensions;
use TLSProxy::ServerKeyExchange;
use TLSProxy::NewSessionTicket;
use TLSProxy::ServerKeyExchange;
use TLSProxy::NewSessionTicket;
@@
-44,6
+45,7
@@
sub new
clientflags => "",
serverconnects => 1,
serverpid => 0,
clientflags => "",
serverconnects => 1,
serverpid => 0,
+ reneg => 0,
#Public read
execute => $execute,
#Public read
execute => $execute,
@@
-120,6
+122,7
@@
sub clear
$self->{serverflags} = "";
$self->{serverconnects} = 1;
$self->{serverpid} = 0;
$self->{serverflags} = "";
$self->{serverconnects} = 1;
$self->{serverpid} = 0;
+ $self->{reneg} = 0;
}
sub restart
}
sub restart
@@
-153,7
+156,8
@@
sub start
my $execcmd = $self->execute
." s_server -no_comp -rev -engine ossltest -accept "
.($self->server_port)
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;
}
if ($self->ciphers ne "") {
$execcmd .= " -cipher ".$self->ciphers;
}
@@
-203,7
+207,13
@@
sub clientstart
or die "Failed to redirect stdout: $!";
open(STDERR, ">&STDOUT");
}
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 "") {
." 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;
}
if ($record->flight != $self->flight) {
next;
}
- $packet .= $record->reconstruct_record();
+ $packet .= $record->reconstruct_record(
$server
);
}
$self->{flight} = $self->{flight} + 1;
}
$self->{flight} = $self->{flight} + 1;
@@
-506,6
+516,7
@@
sub fill_known_data
}
return $ret;
}
}
return $ret;
}
+
sub is_tls13
{
my $class = shift;
sub is_tls13
{
my $class = shift;
@@
-514,4
+525,14
@@
sub is_tls13
}
return $is_tls13;
}
}
return $is_tls13;
}
+
+sub reneg
+{
+ my $self = shift;
+ if (@_) {
+ $self->{reneg} = shift;
+ }
+ return $self->{reneg};
+}
+
1;
1;