[#81999] [Ruby trunk Bug#13737] "can't modify frozen String" when installing bundled gems — ko1@...
Issue #13737 has been updated by ko1 (Koichi Sasada).
4 messages
2017/07/11
[#82005] [Ruby trunk Bug#13737] "can't modify frozen String" when installing bundled gems — nobu@...
Issue #13737 has been updated by nobu (Nobuyoshi Nakada).
3 messages
2017/07/12
[#82102] Re: register_fstring_tainted:FL_TEST_RAW(str, RSTRING_FSTR) — Eric Wong <normalperson@...>
Koichi Sasada <ko1@atdot.net> wrote:
4 messages
2017/07/18
[#82151] [Ruby trunk Feature#13637] [PATCH] tool/runruby.rb: test with smallest possible machine stack — Rei.Odaira@...
Issue #13637 has been updated by ReiOdaira (Rei Odaira).
3 messages
2017/07/24
[ruby-core:81924] [Ruby trunk Bug#13718][Third Party's Issue] openssl: Reading PEM/DER from an IO object fails on mswin Ruby
From:
k@...
Date:
2017-07-06 04:06:47 UTC
List:
ruby-core #81924
Issue #13718 has been updated by rhenium (Kazuki Yamaguchi).
Subject changed from net/* tests using OpenSSL::PKey::RSA and OpenSSL::X509::Certificate to openssl: Reading PEM/DER from an IO object fails on mswin Ruby
Status changed from Open to Third Party's Issue
MSP-Greg (Greg L) wrote:
> When running test-all, I had silent SEGV failures on the net tests - test_ftp.rb, test_imap.rb, and test_smtp.rb. All three currently use the following code for some tests:
https://github.com/ruby/openssl/issues/128 is tracking this bug.
>
> ```ruby
> ctx = OpenSSL::SSL::SSLContext.new
> ctx.ca_file = CA_FILE
> ctx.key = File.open(SERVER_KEY) { |f|
> OpenSSL::PKey::RSA.new(f)
> }
> ctx.cert = File.open(SERVER_CERT) { |f|
> OpenSSL::X509::Certificate.new(f)
> }
> ```
>
> From the docs, both [OpenSSL::PKey::RSA.new](https://msp-greg.github.io/ruby_trunk/openssl/OpenSSL/PKey/RSA.html#new-class_method) and [OpenSSL::X509::Certificate.new](https://msp-greg.github.io/ruby_trunk/openssl/OpenSSL/X509/Certificate.html#new-class_method) expect a string, but they're being passed a File instance. Also, why create a block when one isn't needed?
This is a separate doc issue. I'll will fix them.
----------------------------------------
Bug #13718: openssl: Reading PEM/DER from an IO object fails on mswin Ruby
https://bugs.ruby-lang.org/issues/13718#change-65650
* Author: MSP-Greg (Greg L)
* Status: Third Party's Issue
* Priority: Normal
* Assignee:
* Target version:
* ruby -v: ruby 2.5.0dev (2017-07-05) [x64-mswin64_140]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
I recently decided to locally build/test mswin based on VS2015/140. The current Ruby Appveyor testing is done using VS2013/120. I did so since using Appveyor on my Ruby fork was wasteful and time consuming, especially if the problem was testing related and didn't require a new build.
My choice of VS was based on what I had installed, and also on the fact that OpenSSL is now testing on Appveyor using only 140 for both [master](https://ci.appveyor.com/project/openssl/openssl/build/master.11527) and [OpenSSL_1_1_0-stable](https://ci.appveyor.com/project/openssl/openssl/build/OpenSSL_1_1_0-stable.11537). FYI, [OpenSSL_1_0_2-stable](https://ci.appveyor.com/project/openssl/openssl/build/OpenSSL_1_0_2-stable.11534) tests against several VS versions.
My mswin build is using a custom OpenSSL 1.1.0f package I built, using a script based on the [OpenSSL script](https://github.com/openssl/openssl/blob/master/appveyor.yml) and info at [Building OpenSSL with Visual Studio](http://p-nand-q.com/programming/windows/building_openssl_with_visual_studio_2013.html). Both the package and Ruby OpenSSL pass all tests. For my MinGW builds/tests, I also build a package using 1.1.0f, and it also passes all tests in both the package and Ruby.
When running test-all, I had silent SEGV failures on the net tests - test_ftp.rb, test_imap.rb, and test_smtp.rb. All three currently use the following code for some tests:
```ruby
ctx = OpenSSL::SSL::SSLContext.new
ctx.ca_file = CA_FILE
ctx.key = File.open(SERVER_KEY) { |f|
OpenSSL::PKey::RSA.new(f)
}
ctx.cert = File.open(SERVER_CERT) { |f|
OpenSSL::X509::Certificate.new(f)
}
```
From the docs, both [OpenSSL::PKey::RSA.new](https://msp-greg.github.io/ruby_trunk/openssl/OpenSSL/PKey/RSA.html#new-class_method) and [OpenSSL::X509::Certificate.new](https://msp-greg.github.io/ruby_trunk/openssl/OpenSSL/X509/Certificate.html#new-class_method) expect a string, but they're being passed a File instance. Also, why create a block when one isn't needed?
Obviously, tests written this way currently pass on Travis, Appveyor (using 120), and all of the MinGW builds I have done.
But, they do not pass using VS2015/140. I could push a PR for changes to the test files, but I thought I'd file an issue first. I added a utils.rb file to remove the repetition, and used the following:
```ruby
ctx = OpenSSL::SSL::SSLContext.new
ctx.ca_file = CA_FILE
ctx.key = OpenSSL::PKey::RSA.new( File.read(SERVER_KEY) )
ctx.cert = OpenSSL::X509::Certificate.new( File.read(SERVER_CERT) )
```
Any thoughts on this odd behavior?
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>