mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
[ruby/openssl] ssl: disable NPN support on LibreSSL
As noted in commita2ed156cc9
("test/test_ssl: do not run NPN tests for LibreSSL >= 2.6.1", 2017-08-13), NPN is known not to work properly on LibreSSL. Disable NPN support on LibreSSL, whether OPENSSL_NO_NEXTPROTONEG is defined or not. NPN is less relevant today anyway. Let's also silence test suite when it's not available.289f6e0e1f
This commit is contained in:
parent
d6c16dd3e6
commit
dd6f3276e0
2 changed files with 14 additions and 20 deletions
|
@ -1379,9 +1379,7 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
|
|||
end
|
||||
|
||||
def test_npn_protocol_selection_ary
|
||||
pend "NPN is not supported" unless \
|
||||
OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
pend "LibreSSL 2.6 has broken NPN functions" if libressl?(2, 6, 1)
|
||||
return unless OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
|
||||
advertised = ["http/1.1", "spdy/2"]
|
||||
ctx_proc = proc { |ctx| ctx.npn_protocols = advertised }
|
||||
|
@ -1399,9 +1397,7 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
|
|||
end
|
||||
|
||||
def test_npn_protocol_selection_enum
|
||||
pend "NPN is not supported" unless \
|
||||
OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
pend "LibreSSL 2.6 has broken NPN functions" if libressl?(2, 6, 1)
|
||||
return unless OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
|
||||
advertised = Object.new
|
||||
def advertised.each
|
||||
|
@ -1423,9 +1419,7 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
|
|||
end
|
||||
|
||||
def test_npn_protocol_selection_cancel
|
||||
pend "NPN is not supported" unless \
|
||||
OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
pend "LibreSSL 2.6 has broken NPN functions" if libressl?(2, 6, 1)
|
||||
return unless OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
|
||||
ctx_proc = Proc.new { |ctx| ctx.npn_protocols = ["http/1.1"] }
|
||||
start_server_version(:TLSv1_2, ctx_proc) { |port|
|
||||
|
@ -1436,9 +1430,7 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
|
|||
end
|
||||
|
||||
def test_npn_advertised_protocol_too_long
|
||||
pend "NPN is not supported" unless \
|
||||
OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
pend "LibreSSL 2.6 has broken NPN functions" if libressl?(2, 6, 1)
|
||||
return unless OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
|
||||
ctx_proc = Proc.new { |ctx| ctx.npn_protocols = ["a" * 256] }
|
||||
start_server_version(:TLSv1_2, ctx_proc) { |port|
|
||||
|
@ -1449,9 +1441,7 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
|
|||
end
|
||||
|
||||
def test_npn_selected_protocol_too_long
|
||||
pend "NPN is not supported" unless \
|
||||
OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
pend "LibreSSL 2.6 has broken NPN functions" if libressl?(2, 6, 1)
|
||||
return unless OpenSSL::SSL::SSLContext.method_defined?(:npn_select_cb)
|
||||
|
||||
ctx_proc = Proc.new { |ctx| ctx.npn_protocols = ["http/1.1"] }
|
||||
start_server_version(:TLSv1_2, ctx_proc) { |port|
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue