зеркало из https://github.com/github/ruby.git
[ruby/openssl] x509store: emit warning if arguments are given to X509::Store.new
Anything passed to OpenSSL::X509::Store.new was always ignored. Let's emit an explicit warning to not confuse users. https://github.com/ruby/openssl/commit/d173700eeb
This commit is contained in:
Родитель
88b8b3ac15
Коммит
08c99a4208
|
@ -192,8 +192,9 @@ ossl_x509store_initialize(int argc, VALUE *argv, VALUE self)
|
|||
{
|
||||
X509_STORE *store;
|
||||
|
||||
/* BUG: This method takes any number of arguments but appears to ignore them. */
|
||||
GetX509Store(self, store);
|
||||
if (argc != 0)
|
||||
rb_warn("OpenSSL::X509::Store.new does not take any arguments");
|
||||
#if !defined(HAVE_OPAQUE_OPENSSL)
|
||||
/* [Bug #405] [Bug #1678] [Bug #3000]; already fixed? */
|
||||
store->ex_data.sk = NULL;
|
||||
|
|
|
@ -16,14 +16,11 @@ class OpenSSL::TestX509Store < OpenSSL::TestCase
|
|||
@ee2 = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=EE2")
|
||||
end
|
||||
|
||||
def test_nosegv_on_cleanup
|
||||
cert = OpenSSL::X509::Certificate.new
|
||||
store = OpenSSL::X509::Store.new
|
||||
ctx = OpenSSL::X509::StoreContext.new(store, cert, [])
|
||||
EnvUtil.suppress_warning do
|
||||
ctx.cleanup
|
||||
end
|
||||
ctx.verify
|
||||
def test_store_new
|
||||
# v2.3.0 emits explicit warning
|
||||
assert_warning(/new does not take any arguments/) {
|
||||
OpenSSL::X509::Store.new(123)
|
||||
}
|
||||
end
|
||||
|
||||
def test_add_file_path
|
||||
|
@ -255,6 +252,14 @@ class OpenSSL::TestX509Store < OpenSSL::TestCase
|
|||
ctx = OpenSSL::X509::StoreContext.new(store)
|
||||
assert_raise(NoMethodError) { ctx.dup }
|
||||
end
|
||||
|
||||
def test_ctx_cleanup
|
||||
# Deprecated in Ruby 1.9.3
|
||||
cert = OpenSSL::X509::Certificate.new
|
||||
store = OpenSSL::X509::Store.new
|
||||
ctx = OpenSSL::X509::StoreContext.new(store, cert, [])
|
||||
assert_warning(/cleanup/) { ctx.cleanup }
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Загрузка…
Ссылка в новой задаче