[ruby-core:74685] [Ruby trunk Bug#12182] openssl: NPN may be disabled by OpenSSL configuration

From: usa@...
Date: 2016-03-29 12:17:12 UTC
List: ruby-core #74685
Issue #12182 has been updated by Usaku NAKAMURA.

Backport changed from 2.1: REQUIRED, 2.2: REQUIRED, 2.3: REQUIRED to 2.1: DONE, 2.2: REQUIRED, 2.3: REQUIRED

ruby_2_1 r54397 merged revision(s) 54258.

----------------------------------------
Bug #12182: openssl: NPN may be disabled by OpenSSL configuration
https://bugs.ruby-lang.org/issues/12182#change-57815

* Author: Kazuki Yamaguchi
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 
* Backport: 2.1: DONE, 2.2: REQUIRED, 2.3: REQUIRED
----------------------------------------
OpenSSL's NPN support can be disabled, and Ruby doesn't work well when it is disabled.

~~~
% make test-all TESTS="test/openssl"
...
# Running tests:

[274/358] OpenSSL::TestSSL#test_npn_advertised_protocol_too_long./test/runner.rb: OpenSSL::TestSSL#test_npn_advertised_protocol_too_long: symbol lookup error: /work/ruby-src/.ext/x86_64-linux/openssl.so: undefined symbol: SSL_CTX_set_next_proto_select_cb
uncommon.mk:607: recipe for target 'yes-test-all' failed
make: *** [yes-test-all] Error 127
~~~

We should detect that the OpenSSL has NPN support by checking existence of `SSL_CTX_set_next_proto_select_cb`, not of `OPENSSL_NPN_NEGOTIATED`.
This is because `OPENSSL_NPN_NEGOTIATED` macro always exists even if NPN is disabled.

I attached a patch which fixes this.

---Files--------------------------------
0001-openssl-fix-build-when-NPN-is-disabled-by-OpenSSL.patch (5.43 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next