1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/openssl/ossl_x509store.c (ossl_x509stctx_cleanup): removing C

implementation of `cleanup`.

* ext/openssl/lib/openssl/x509.rb: adding ruby implementation of
  `cleanup`.  OpenSSL::X509::StoreContext#cleanup is deprecated since
  reusing the underlying struct doesn't make sense. [ruby-dev:42546]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tenderlove 2010-12-09 17:18:54 +00:00
parent 2dc98cd0f3
commit 16a166dd35
5 changed files with 27 additions and 13 deletions

View file

@ -1,3 +1,12 @@
Fri Dec 10 02:18:02 2010 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/openssl/ossl_x509store.c (ossl_x509stctx_cleanup): removing C
implementation of `cleanup`.
* ext/openssl/lib/openssl/x509.rb: adding ruby implementation of
`cleanup`. OpenSSL::X509::StoreContext#cleanup is deprecated since
reusing the underlying struct doesn't make sense. [ruby-dev:42546]
Thu Dec 9 20:14:39 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (lvar_defined_gen, shadowing_lvar_gen, dvar_defined): no

View file

@ -20,6 +20,7 @@ require 'openssl/bn'
require 'openssl/cipher'
require 'openssl/config'
require 'openssl/digest'
require 'openssl/x509'
require 'openssl/ssl-internal'
require 'openssl/x509-internal'

View file

@ -1 +1,9 @@
require 'openssl'
module OpenSSL
module X509
class StoreContext
def cleanup
warn "(#{caller.first}) OpenSSL::X509::StoreContext#cleanup is deprecated with no replacement" if $VERBOSE
end
end
end
end

View file

@ -510,17 +510,6 @@ ossl_x509stctx_get_curr_crl(VALUE self)
#endif
}
static VALUE
ossl_x509stctx_cleanup(VALUE self)
{
X509_STORE_CTX *ctx;
GetX509StCtx(self, ctx);
X509_STORE_CTX_cleanup(ctx);
return self;
}
static VALUE
ossl_x509stctx_set_flags(VALUE self, VALUE flags)
{
@ -615,7 +604,6 @@ Init_ossl_x509store()
rb_define_method(x509stctx,"error_depth", ossl_x509stctx_get_err_depth, 0);
rb_define_method(x509stctx,"current_cert",ossl_x509stctx_get_curr_cert, 0);
rb_define_method(x509stctx,"current_crl", ossl_x509stctx_get_curr_crl, 0);
rb_define_method(x509stctx,"cleanup", ossl_x509stctx_cleanup, 0);
rb_define_method(x509stctx,"flags=", ossl_x509stctx_set_flags, 1);
rb_define_method(x509stctx,"purpose=", ossl_x509stctx_set_purpose, 1);
rb_define_method(x509stctx,"trust=", ossl_x509stctx_set_trust, 1);

View file

@ -22,6 +22,14 @@ class OpenSSL::TestX509Store < Test::Unit::TestCase
def teardown
end
def test_nosegv_on_cleanup
cert = OpenSSL::X509::Certificate.new
store = OpenSSL::X509::Store.new
ctx = OpenSSL::X509::StoreContext.new(store, cert, [])
ctx.cleanup
ctx.verify
end
def issue_cert(*args)
OpenSSL::TestUtils.issue_cert(*args)
end