Lines Matching +full:isa +full:- +full:extensions

2 # Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
16 our @ISA = 'Exporter';
17 our @EXPORT = qw(@handmessages @extensions checkhandshake);
61 our @extensions = ();
91 # In non-TLSv1.3 we always treat reneg CH and SH like the first CH
102 if (scalar @{$proxy->message_list} > $nextmess) {
103 $message = ${$proxy->message_list}[$nextmess];
112 $chnum++ if $message->mt() == TLSProxy::Message::MT_CLIENT_HELLO;
113 $shnum++ if $message->mt() == TLSProxy::Message::MT_SERVER_HELLO;
115 next if ($message->mt() != TLSProxy::Message::MT_CLIENT_HELLO
116 && $message->mt() != TLSProxy::Message::MT_SERVER_HELLO
117 && $message->mt() !=
119 && $message->mt() != TLSProxy::Message::MT_CERTIFICATE
120 && $message->mt() != TLSProxy::Message::MT_CERTIFICATE_REQUEST);
122 next if $message->mt() == TLSProxy::Message::MT_CERTIFICATE
128 $extensions[$extloop][3] != 0;
130 $extchnum = 2 if $extensions[$extloop][0] != TLSProxy::Message::MT_CLIENT_HELLO
132 $extshnum = 2 if $extensions[$extloop][0] != TLSProxy::Message::MT_SERVER_HELLO
134 next if $extensions[$extloop][0] == TLSProxy::Message::MT_CLIENT_HELLO
136 next if $extensions[$extloop][0] == TLSProxy::Message::MT_SERVER_HELLO
138 next if ($message->mt() != $extensions[$extloop][0]);
139 next if ($message->server() != $extensions[$extloop][2]);
153 # In non-TLSv1.3 we always treat reneg CH and SH like the first CH
163 if (scalar @{$proxy->message_list} > $nextmess) {
164 $message = ${$proxy->message_list}[$nextmess];
174 ok($message->mt == $handmessages[$loop][0],
175 "Message type check. Got ".$message->mt
179 $chnum++ if $message->mt() == TLSProxy::Message::MT_CLIENT_HELLO;
180 $shnum++ if $message->mt() == TLSProxy::Message::MT_SERVER_HELLO;
183 next if ($message->mt() != TLSProxy::Message::MT_CLIENT_HELLO
184 && $message->mt() != TLSProxy::Message::MT_SERVER_HELLO
185 && $message->mt() !=
187 && $message->mt() != TLSProxy::Message::MT_CERTIFICATE
188 && $message->mt() != TLSProxy::Message::MT_CERTIFICATE_REQUEST);
190 next if $message->mt() == TLSProxy::Message::MT_CERTIFICATE
193 if ($message->mt() == TLSProxy::Message::MT_CLIENT_HELLO) {
199 #Now check that we saw the extensions we expected
200 my $msgexts = $message->extension_data();
203 for (my $extloop = 0, $extcount = 0; $extensions[$extloop][3] != 0;
206 #HelloRetryRequest, and they may have different extensions. Skip
207 #if these are extensions for a different ClientHello
208 $extchnum = 2 if $extensions[$extloop][0] != TLSProxy::Message::MT_CLIENT_HELLO
210 $extshnum = 2 if $extensions[$extloop][0] != TLSProxy::Message::MT_SERVER_HELLO
212 next if $extensions[$extloop][0] == TLSProxy::Message::MT_CLIENT_HELLO
214 next if $extensions[$extloop][0] == TLSProxy::Message::MT_SERVER_HELLO
216 next if ($message->mt() != $extensions[$extloop][0]);
217 next if ($message->server() != $extensions[$extloop][2]);
218 ok (($extensions[$extloop][3] & $exttype) == 0
219 || defined ($msgexts->{$extensions[$extloop][1]}),
220 "Extension presence check (Message: ".$message->mt()
221 ." Extension: ".($extensions[$extloop][3] & $exttype).", "
223 $extcount++ if (($extensions[$extloop][3] & $exttype) != 0);
225 ok($extcount == keys %$msgexts, "Extensions count mismatch ("