mirror of
https://github.com/ruby/ruby.git
synced 2025-09-19 10:33:58 +02:00
merge revision(s) 51016,53329: [Backport #11885]
* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): do not process kwargs in blocking mode * test/openssl/test_ssl.rb: test sysread * io.c (io_getpartial): remove unused kwarg from template * test/ruby/test_io.rb (test_readpartial_bad_args): new [Bug #11885] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@54045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e23a564ac6
commit
83d705f6a0
5 changed files with 35 additions and 3 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
||||||
|
Wed Mar 9 05:14:20 2016 Eric Wong <e@80x24.org>
|
||||||
|
|
||||||
|
* io.c (io_getpartial): remove unused kwarg from template
|
||||||
|
* test/ruby/test_io.rb (test_readpartial_bad_args): new
|
||||||
|
[Bug #11885]
|
||||||
|
|
||||||
|
Wed Mar 9 05:14:20 2016 Eric Wong <e@80x24.org>
|
||||||
|
|
||||||
|
* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal):
|
||||||
|
do not process kwargs in blocking mode
|
||||||
|
* test/openssl/test_ssl.rb: test sysread
|
||||||
|
|
||||||
Wed Mar 9 04:21:02 2016 NAKAMURA Usaku <usa@ruby-lang.org>
|
Wed Mar 9 04:21:02 2016 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
* process.c (rb_execarg_parent_start1): need to convert the encoding to
|
* process.c (rb_execarg_parent_start1): need to convert the encoding to
|
||||||
|
|
|
@ -1423,7 +1423,11 @@ ossl_ssl_read_internal(int argc, VALUE *argv, VALUE self, int nonblock)
|
||||||
rb_io_t *fptr;
|
rb_io_t *fptr;
|
||||||
VALUE opts = Qnil;
|
VALUE opts = Qnil;
|
||||||
|
|
||||||
|
if (nonblock) {
|
||||||
rb_scan_args(argc, argv, "11:", &len, &str, &opts);
|
rb_scan_args(argc, argv, "11:", &len, &str, &opts);
|
||||||
|
} else {
|
||||||
|
rb_scan_args(argc, argv, "11", &len, &str);
|
||||||
|
}
|
||||||
|
|
||||||
if (!NIL_P(opts) && Qfalse == rb_hash_aref(opts, sym_exception))
|
if (!NIL_P(opts) && Qfalse == rb_hash_aref(opts, sym_exception))
|
||||||
no_exception = 1;
|
no_exception = 1;
|
||||||
|
|
4
io.c
4
io.c
|
@ -2675,8 +2675,10 @@ io_read_nonblock(int argc, VALUE *argv, VALUE io)
|
||||||
|
|
||||||
rb_scan_args(argc, argv, "11:", NULL, NULL, &opts);
|
rb_scan_args(argc, argv, "11:", NULL, NULL, &opts);
|
||||||
|
|
||||||
if (!NIL_P(opts) && Qfalse == get_kwargs_exception(opts))
|
if (!NIL_P(opts) && Qfalse == get_kwargs_exception(opts)) {
|
||||||
no_exception = 1;
|
no_exception = 1;
|
||||||
|
argc--;
|
||||||
|
}
|
||||||
|
|
||||||
ret = io_getpartial(argc, argv, io, 1, no_exception);
|
ret = io_getpartial(argc, argv, io, 1, no_exception);
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,20 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_ssl_sysread_blocking_error
|
||||||
|
start_server(OpenSSL::SSL::VERIFY_NONE, true) { |server, port|
|
||||||
|
server_connect(port) { |ssl|
|
||||||
|
ssl.write("abc\n")
|
||||||
|
assert_raise(TypeError) { ssl.sysread(4, exception: false) }
|
||||||
|
buf = ''
|
||||||
|
assert_raise(ArgumentError) { ssl.sysread(4, buf, exception: false) }
|
||||||
|
assert_equal '', buf
|
||||||
|
assert_equal buf.object_id, ssl.sysread(4, buf).object_id
|
||||||
|
assert_equal "abc\n", buf
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
def test_connect_and_close
|
def test_connect_and_close
|
||||||
start_server(OpenSSL::SSL::VERIFY_NONE, true){|server, port|
|
start_server(OpenSSL::SSL::VERIFY_NONE, true){|server, port|
|
||||||
sock = TCPSocket.new("127.0.0.1", port)
|
sock = TCPSocket.new("127.0.0.1", port)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#define RUBY_VERSION "2.2.5"
|
#define RUBY_VERSION "2.2.5"
|
||||||
#define RUBY_RELEASE_DATE "2016-03-09"
|
#define RUBY_RELEASE_DATE "2016-03-09"
|
||||||
#define RUBY_PATCHLEVEL 249
|
#define RUBY_PATCHLEVEL 250
|
||||||
|
|
||||||
#define RUBY_RELEASE_YEAR 2016
|
#define RUBY_RELEASE_YEAR 2016
|
||||||
#define RUBY_RELEASE_MONTH 3
|
#define RUBY_RELEASE_MONTH 3
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue