@@ -48,6 +48,8 @@ def test_ssl_with_server_cert
4848 assert_equal 2 , ssl . peer_cert_chain . size
4949 assert_equal @svr_cert . to_der , ssl . peer_cert_chain [ 0 ] . to_der
5050 assert_equal @ca_cert . to_der , ssl . peer_cert_chain [ 1 ] . to_der
51+
52+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
5153 ensure
5254 ssl &.close
5355 sock &.close
@@ -77,6 +79,7 @@ def test_sync_close
7779 sock = TCPSocket . new ( "127.0.0.1" , port )
7880 ssl = OpenSSL ::SSL ::SSLSocket . new ( sock )
7981 ssl . connect
82+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
8083 ssl . close
8184 assert_not_predicate sock , :closed?
8285 ensure
@@ -88,6 +91,7 @@ def test_sync_close
8891 ssl = OpenSSL ::SSL ::SSLSocket . new ( sock )
8992 ssl . sync_close = true # !!
9093 ssl . connect
94+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
9195 ssl . close
9296 assert_predicate sock , :closed?
9397 ensure
@@ -179,7 +183,10 @@ def test_client_ca
179183 client_ca_from_server = sslconn . client_ca
180184 [ @cli_cert , @cli_key ]
181185 end
182- server_connect ( port , ctx ) { |ssl | assert_equal ( [ @ca ] , client_ca_from_server ) }
186+ server_connect ( port , ctx ) { |ssl |
187+ assert_equal ( [ @ca ] , client_ca_from_server )
188+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
189+ }
183190 }
184191 end
185192
@@ -276,21 +283,16 @@ def test_verify_result
276283 }
277284
278285 start_server { |port |
279- sock = TCPSocket . new ( "127.0.0.1" , port )
280286 ctx = OpenSSL ::SSL ::SSLContext . new
281287 ctx . verify_mode = OpenSSL ::SSL ::VERIFY_PEER
282288 ctx . verify_callback = Proc . new do |preverify_ok , store_ctx |
283289 store_ctx . error = OpenSSL ::X509 ::V_OK
284290 true
285291 end
286- ssl = OpenSSL ::SSL ::SSLSocket . new ( sock , ctx )
287- ssl . sync_close = true
288- begin
289- ssl . connect
292+ server_connect ( port , ctx ) { |ssl |
290293 assert_equal ( OpenSSL ::X509 ::V_OK , ssl . verify_result )
291- ensure
292- ssl . close
293- end
294+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
295+ }
294296 }
295297
296298 start_server ( ignore_listener_error : true ) { |port |
@@ -377,6 +379,8 @@ def test_post_connection_check
377379
378380 start_server { |port |
379381 server_connect ( port ) { |ssl |
382+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
383+
380384 assert_raise ( sslerr ) { ssl . post_connection_check ( "localhost.localdomain" ) }
381385 assert_raise ( sslerr ) { ssl . post_connection_check ( "127.0.0.1" ) }
382386 assert ( ssl . post_connection_check ( "localhost" ) )
@@ -398,6 +402,8 @@ def test_post_connection_check
398402 @svr_cert = issue_cert ( @svr , @svr_key , 4 , exts , @ca_cert , @ca_key )
399403 start_server { |port |
400404 server_connect ( port ) { |ssl |
405+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
406+
401407 assert ( ssl . post_connection_check ( "localhost.localdomain" ) )
402408 assert ( ssl . post_connection_check ( "127.0.0.1" ) )
403409 assert_raise ( sslerr ) { ssl . post_connection_check ( "localhost" ) }
@@ -418,6 +424,8 @@ def test_post_connection_check
418424 @svr_cert = issue_cert ( @svr , @svr_key , 5 , exts , @ca_cert , @ca_key )
419425 start_server { |port |
420426 server_connect ( port ) { |ssl |
427+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
428+
421429 assert ( ssl . post_connection_check ( "localhost.localdomain" ) )
422430 assert_raise ( sslerr ) { ssl . post_connection_check ( "127.0.0.1" ) }
423431 assert_raise ( sslerr ) { ssl . post_connection_check ( "localhost" ) }
@@ -644,6 +652,8 @@ def test_tlsext_hostname
644652 ssl . connect
645653 assert_equal @cli_cert . serial , ssl . peer_cert . serial
646654 assert_predicate fooctx , :frozen?
655+
656+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
647657 ensure
648658 ssl &.close
649659 sock . close
@@ -655,6 +665,8 @@ def test_tlsext_hostname
655665 ssl . hostname = "bar.example.com"
656666 ssl . connect
657667 assert_equal @svr_cert . serial , ssl . peer_cert . serial
668+
669+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
658670 ensure
659671 ssl &.close
660672 sock . close
@@ -727,7 +739,8 @@ def test_verify_hostname_on_connect
727739 ssl = OpenSSL ::SSL ::SSLSocket . new ( sock , ctx )
728740 ssl . hostname = name
729741 if expected_ok
730- assert_nothing_raised { ssl . connect }
742+ ssl . connect
743+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
731744 else
732745 assert_handshake_error { ssl . connect }
733746 end
@@ -856,6 +869,7 @@ def test_renegotiation_cb
856869 start_server_version ( :SSLv23 , ctx_proc ) { |port |
857870 server_connect ( port ) { |ssl |
858871 assert_equal ( 1 , num_handshakes )
872+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
859873 }
860874 }
861875 end
@@ -874,6 +888,7 @@ def test_alpn_protocol_selection_ary
874888 ctx . alpn_protocols = advertised
875889 server_connect ( port , ctx ) { |ssl |
876890 assert_equal ( advertised . first , ssl . alpn_protocol )
891+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
877892 }
878893 }
879894 end
@@ -996,14 +1011,11 @@ def test_npn_selected_protocol_too_long
9961011 end
9971012
9981013 def test_close_after_socket_close
999- server_proc = proc { |ctx , ssl |
1000- # Do nothing
1001- }
1002- start_server ( server_proc : server_proc ) { |port |
1014+ start_server { |port |
10031015 sock = TCPSocket . new ( "127.0.0.1" , port )
10041016 ssl = OpenSSL ::SSL ::SSLSocket . new ( sock )
1005- ssl . sync_close = true
10061017 ssl . connect
1018+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
10071019 sock . close
10081020 assert_nothing_raised do
10091021 ssl . close
@@ -1068,6 +1080,7 @@ def test_get_ephemeral_key
10681080 ctx . ciphers = "DEFAULT:!kRSA:!kEDH"
10691081 server_connect ( port , ctx ) { |ssl |
10701082 assert_instance_of OpenSSL ::PKey ::EC , ssl . tmp_key
1083+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
10711084 }
10721085 end
10731086 end
@@ -1158,6 +1171,7 @@ def test_ecdh_curves
11581171 assert_equal "secp384r1" , ssl . tmp_key . group . curve_name
11591172 end
11601173 end
1174+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
11611175 }
11621176
11631177 if openssl? ( 1 , 0 , 2 ) || libressl? ( 2 , 5 , 1 )
@@ -1173,6 +1187,7 @@ def test_ecdh_curves
11731187
11741188 server_connect ( port , ctx ) { |ssl |
11751189 assert_equal "secp521r1" , ssl . tmp_key . group . curve_name
1190+ ssl . puts "abc" ; assert_equal "abc\n " , ssl . gets
11761191 }
11771192 end
11781193 end
0 commit comments