diff --git a/ChangeLog b/ChangeLog index d8e1f5d758..bbc97e8f6f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Dec 3 10:43:58 2013 Eric Hodel + + * ext/openssl/lib/openssl/buffering.rb: Return ASCII-8BIT strings from + SSLSocket methods. [ruby-trunk - Bug #9028] + * test/openssl/test_ssl.rb: Test for the above. + Tue Dec 3 09:42:27 2013 Eric Hodel * lib/rdoc: Update to RDoc master 900de99. Changes include: diff --git a/ext/openssl/lib/openssl/buffering.rb b/ext/openssl/lib/openssl/buffering.rb index fc75faff44..1223c5de15 100644 --- a/ext/openssl/lib/openssl/buffering.rb +++ b/ext/openssl/lib/openssl/buffering.rb @@ -1,4 +1,4 @@ -# +# coding: binary #-- #= $RCSfile$ -- Buffering mix-in module. # diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb index 64efa8dd33..a13f0e1a9c 100644 --- a/test/openssl/test_ssl.rb +++ b/test/openssl/test_ssl.rb @@ -30,6 +30,20 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase end end + def test_ssl_gets + start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true) { |server, port| + server_connect(port) { |ssl| + ssl.write "abc\n" + IO.select [ssl] + + line = ssl.gets + + assert_equal "abc\n", line + assert_equal Encoding::BINARY, line.encoding + } + } + end + def test_ssl_read_nonblock start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true) { |server, port| server_connect(port) { |ssl|