summaryrefslogtreecommitdiff
path: root/test/openssl
diff options
context:
space:
mode:
authorVinicius Stock <stock@hey.com>2021-02-25 18:18:44 -0500
committerKazuki Yamaguchi <k@rhe.jp>2021-07-18 17:45:03 +0900
commit4f7c3f631a8afa3a7e990487ddd042a6124a6526 (patch)
tree67e65cfe17d687d0f40ec14f91fe25e0598f957e /test/openssl
parent3d37e5d11cdf02ed433493126e195e194d4000dc (diff)
[ruby/openssl] Include peer socket IP address in errors
https://github.com/ruby/openssl/commit/8a1e3f5085
Diffstat (limited to 'test/openssl')
-rw-r--r--test/openssl/test_ssl.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb
index 3dda754870..5dccac5fac 100644
--- a/test/openssl/test_ssl.rb
+++ b/test/openssl/test_ssl.rb
@@ -911,6 +911,33 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
sock2.close if sock2
end
+ def test_accept_errors_include_peeraddr
+ context = OpenSSL::SSL::SSLContext.new
+ context.cert = @svr_cert
+ context.key = @svr_key
+
+ server = TCPServer.new("127.0.0.1", 0)
+ port = server.connect_address.ip_port
+
+ ssl_server = OpenSSL::SSL::SSLServer.new(server, context)
+
+ t = Thread.new do
+ assert_raise_with_message(OpenSSL::SSL::SSLError, /peeraddr=127\.0\.0\.1/) do
+ ssl_server.accept
+ end
+ end
+
+ begin
+ sock = TCPSocket.new("127.0.0.1", port)
+ sock.puts "abc"
+ ensure
+ sock&.close
+ end
+
+ assert t.join
+ server.close
+ end
+
def test_verify_hostname_on_connect
ctx_proc = proc { |ctx|
san = "DNS:a.example.com,DNS:*.b.example.com"