@@ -418,7 +418,7 @@ def establish_connect
418
418
vprint_status ( "#{ peer } - Sending Client Hello..." )
419
419
sock . put ( client_hello )
420
420
421
- server_hello = sock . get_once ( -1 , response_timeout )
421
+ server_hello = sock . get ( -1 , response_timeout )
422
422
unless server_hello
423
423
vprint_error ( "#{ peer } - No Server Hello after #{ response_timeout } seconds..." )
424
424
return nil
@@ -777,19 +777,19 @@ def parse_certificate_data(data)
777
777
cert_len_padding = unpacked [ 0 ]
778
778
cert_len = unpacked [ 1 ]
779
779
vprint_debug ( "\t \t Certificates length: #{ cert_len } " )
780
+ vprint_debug ( "\t \t Data length: #{ data . length } " )
780
781
# contains multiple certs
781
782
already_read = 3
782
783
cert_counter = 0
783
784
while already_read < cert_len
784
- start = already_read
785
785
cert_counter += 1
786
786
# get single certificate length
787
- single_cert_unpacked = data [ start , 3 ] . unpack ( 'Cn' )
787
+ single_cert_unpacked = data [ already_read , 3 ] . unpack ( 'Cn' )
788
788
single_cert_len_padding = single_cert_unpacked [ 0 ]
789
789
single_cert_len = single_cert_unpacked [ 1 ]
790
790
vprint_debug ( "\t \t Certificate ##{ cert_counter } :" )
791
791
vprint_debug ( "\t \t \t Certificate ##{ cert_counter } : Length: #{ single_cert_len } " )
792
- certificate_data = data [ ( start + 3 ) , single_cert_len ]
792
+ certificate_data = data [ ( already_read + 3 ) , single_cert_len ]
793
793
cert = OpenSSL ::X509 ::Certificate . new ( certificate_data )
794
794
# First received certificate is the one from the server
795
795
@cert = cert if @cert . nil?
0 commit comments