summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/openssl/test_pair.rb23
2 files changed, 28 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ca668b4828..764fbba18b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Jul 26 06:22:24 2015 Aaron Patterson <tenderlove@ruby-lang.org>
+
+ * test/openssl/test_pair.rb: add a test ensuring that the default DH
+ callback is used when no DH callback is specified.
+
Sun Jul 26 04:08:27 2015 Aaron Patterson <tenderlove@ruby-lang.org>
* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add missing
diff --git a/test/openssl/test_pair.rb b/test/openssl/test_pair.rb
index 6357cdc818..a8df74d821 100644
--- a/test/openssl/test_pair.rb
+++ b/test/openssl/test_pair.rb
@@ -283,6 +283,29 @@ module OpenSSL::TestPairM
serv.close if serv && !serv.closed?
end
+ def test_connect_without_setting_dh_callback
+ ctx2 = OpenSSL::SSL::SSLContext.new
+ ctx2.ciphers = "DH"
+ sock1, sock2 = tcp_pair
+ s2 = OpenSSL::SSL::SSLSocket.new(sock2, ctx2)
+ accepted = s2.accept_nonblock(exception: false)
+
+ ctx1 = OpenSSL::SSL::SSLContext.new
+ ctx1.ciphers = "DH"
+ s1 = OpenSSL::SSL::SSLSocket.new(sock1, ctx1)
+ t = Thread.new { s1.connect }
+
+ accept = s2.accept
+ assert_equal s1, t.value
+ assert accept
+ ensure
+ s1.close if s1
+ s2.close if s2
+ sock1.close if sock1
+ sock2.close if sock2
+ accepted.close if accepted.respond_to?(:close)
+ end
+
def test_ecdh_callback
called = false
ctx2 = OpenSSL::SSL::SSLContext.new