Latest update.
This commit is contained in:
+3
-1
@@ -4620,4 +4620,6 @@ CRYPTO_siv128_set_tag 4575 3_0_0 EXIST::FUNCTION:SIV
|
||||
CRYPTO_siv128_get_tag 4576 3_0_0 EXIST::FUNCTION:SIV
|
||||
CRYPTO_siv128_cleanup 4577 3_0_0 EXIST::FUNCTION:SIV
|
||||
CRYPTO_siv128_speed 4578 3_0_0 EXIST::FUNCTION:SIV
|
||||
EVP_chacha20_poly1305_draft 4579 3_0_0 EXIST::FUNCTION:CHACHA,POLY1305_DRAFT
|
||||
OPENSSL_INIT_set_config_filename 4579 3_0_0 EXIST::FUNCTION:STDIO
|
||||
OPENSSL_INIT_set_config_file_flags 4580 3_0_0 EXIST::FUNCTION:STDIO
|
||||
EVP_chacha20_poly1305_draft 4581 3_0_0 EXIST::FUNCTION:CHACHA,POLY1305_DRAFT
|
||||
@@ -138,11 +138,6 @@ sub set_message_contents
|
||||
$extensions .= pack("n", $key);
|
||||
$extensions .= pack("n", length($extdata));
|
||||
$extensions .= $extdata;
|
||||
if ($key == TLSProxy::Message::EXT_DUPLICATE_EXTENSION) {
|
||||
$extensions .= pack("n", $key);
|
||||
$extensions .= pack("n", length($extdata));
|
||||
$extensions .= $extdata;
|
||||
}
|
||||
}
|
||||
$data = pack('C', length($self->context()));
|
||||
$data .= $self->context;
|
||||
|
||||
@@ -124,11 +124,6 @@ sub extension_contents
|
||||
$extension .= pack("n", $key);
|
||||
$extension .= pack("n", length($extdata));
|
||||
$extension .= $extdata;
|
||||
if ($key == TLSProxy::Message::EXT_DUPLICATE_EXTENSION) {
|
||||
$extension .= pack("n", $key);
|
||||
$extension .= pack("n", length($extdata));
|
||||
$extension .= $extdata;
|
||||
}
|
||||
return $extension;
|
||||
}
|
||||
|
||||
@@ -151,6 +146,8 @@ sub set_message_contents
|
||||
foreach my $key (keys %{$self->extension_data}) {
|
||||
next if ($key == TLSProxy::Message::EXT_PSK);
|
||||
$extensions .= $self->extension_contents($key);
|
||||
#Add extension twice if we are duplicating that extension
|
||||
$extensions .= $self->extension_contents($key) if ($key == $self->dupext);
|
||||
}
|
||||
#PSK extension always goes last...
|
||||
if (defined ${$self->extension_data}{TLSProxy::Message::EXT_PSK}) {
|
||||
|
||||
@@ -81,11 +81,6 @@ sub set_message_contents
|
||||
$extensions .= pack("n", $key);
|
||||
$extensions .= pack("n", length($extdata));
|
||||
$extensions .= $extdata;
|
||||
if ($key == TLSProxy::Message::EXT_DUPLICATE_EXTENSION) {
|
||||
$extensions .= pack("n", $key);
|
||||
$extensions .= pack("n", length($extdata));
|
||||
$extensions .= $extdata;
|
||||
}
|
||||
}
|
||||
|
||||
$data = pack('n', length($extensions));
|
||||
|
||||
@@ -86,10 +86,7 @@ use constant {
|
||||
EXT_SIG_ALGS_CERT => 50,
|
||||
EXT_RENEGOTIATE => 65281,
|
||||
EXT_NPN => 13172,
|
||||
# This extension is an unofficial extension only ever written by OpenSSL
|
||||
# (i.e. not read), and even then only when enabled. We use it to test
|
||||
# handling of duplicate extensions.
|
||||
EXT_DUPLICATE_EXTENSION => 0xfde8,
|
||||
EXT_CRYPTOPRO_BUG_EXTENSION => 0xfde8,
|
||||
EXT_UNKNOWN => 0xfffe,
|
||||
#Unknown extension that should appear last
|
||||
EXT_FORCE_LAST => 0xffff
|
||||
@@ -420,7 +417,8 @@ sub new
|
||||
records => $records,
|
||||
mt => $mt,
|
||||
startoffset => $startoffset,
|
||||
message_frag_lens => $message_frag_lens
|
||||
message_frag_lens => $message_frag_lens,
|
||||
dupext => -1
|
||||
};
|
||||
|
||||
return bless $self, $class;
|
||||
@@ -575,6 +573,14 @@ sub encoded_length
|
||||
my $self = shift;
|
||||
return TLS_MESSAGE_HEADER_LENGTH + length($self->data);
|
||||
}
|
||||
sub dupext
|
||||
{
|
||||
my $self = shift;
|
||||
if (@_) {
|
||||
$self->{dupext} = shift;
|
||||
}
|
||||
return $self->{dupext};
|
||||
}
|
||||
sub successondata
|
||||
{
|
||||
my $class = shift;
|
||||
|
||||
@@ -154,7 +154,7 @@ sub set_message_contents
|
||||
$extensions .= pack("n", $key);
|
||||
$extensions .= pack("n", length($extdata));
|
||||
$extensions .= $extdata;
|
||||
if ($key == TLSProxy::Message::EXT_DUPLICATE_EXTENSION) {
|
||||
if ($key == $self->dupext) {
|
||||
$extensions .= pack("n", $key);
|
||||
$extensions .= pack("n", length($extdata));
|
||||
$extensions .= $extdata;
|
||||
|
||||
Reference in New Issue
Block a user