Fixups in libssl test harness
authorRichard Levitte <levitte@openssl.org>
Thu, 13 Aug 2015 17:14:34 +0000 (19:14 +0200)
committerRichard Levitte <levitte@openssl.org>
Thu, 13 Aug 2015 20:05:25 +0000 (22:05 +0200)
- select an actual file handle for devnull
- do not declare $msgdata twice
- SKE records sometimes seem to come without sig
- in SKE parsing, use and use $pub_key_len when parsing $pub_key

Reviewed-by: Matt Caswell <matt@openssl.org>
util/TLSProxy/Message.pm
util/TLSProxy/Proxy.pm
util/TLSProxy/ServerKeyExchange.pm

index 66a4a7bc12462b819dc449bd71ac224922fb5af9..028322b613b62c794b97f46ad8057fbde01a20f5 100644 (file)
@@ -350,7 +350,7 @@ sub repack
 
     $lenlo = length($self->data) & 0xff;
     $lenhi = length($self->data) >> 8;
-    my $msgdata = pack('CnC', $self->mt, $lenhi, $lenlo).$self->data;
+    $msgdata = pack('CnC', $self->mt, $lenhi, $lenlo).$self->data;
 
 
     if ($numrecs == 0) {
index c033c29dd7da661d9329702b486968159fea021f..571ab10e83e89b747dca032b00f64cc292b76b47 100644 (file)
@@ -142,7 +142,8 @@ sub start
     my $oldstdout;
 
     if(!$self->debug) {
-        $oldstdout = select(File::Spec->devnull());
+        open DEVNULL, ">", File::Spec->devnull();
+        $oldstdout = select(DEVNULL);
     }
 
     # Create the Proxy socket
index 3a91d1718ca9388c5a941bf132b77407287587da..b85b8addca833f4e16afec7936601b945eb18eec 100644 (file)
@@ -104,13 +104,16 @@ sub parse
     my $pub_key_len = unpack('n', substr($self->data, $ptr));
     $ptr += 2;
     my $pub_key = substr($self->data, $ptr, $pub_key_len);
-    $ptr += $g_len;
+    $ptr += $pub_key_len;
 
     #We assume its signed
     my $sig_len = unpack('n', substr($self->data, $ptr));
-    $ptr += 2;
-    my $sig = substr($self->data, $ptr, $sig_len);
-    $ptr += $sig_len;
+    my $sig = "";
+    if (defined $sig_len) {
+       $ptr += 2;
+       $sig = substr($self->data, $ptr, $sig_len);
+       $ptr += $sig_len;
+    }
 
     $self->p($p);
     $self->g($g);