From: nagachika00@... Date: 2016-03-29T20:37:29+00:00 Subject: [ruby-core:74720] [Ruby trunk Bug#12182] openssl: NPN may be disabled by OpenSSL configuration Issue #12182 has been updated by Tomoyuki Chikanaga. Backport changed from 2.1: DONE, 2.2: REQUIRED, 2.3: REQUIRED to 2.1: DONE, 2.2: DONE, 2.3: REQUIRED Backported into `ruby_2_2` branch at r54428. ---------------------------------------- Bug #12182: openssl: NPN may be disabled by OpenSSL configuration https://bugs.ruby-lang.org/issues/12182#change-57854 * Author: Kazuki Yamaguchi * Status: Closed * Priority: Normal * Assignee: * ruby -v: * Backport: 2.1: DONE, 2.2: DONE, 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: