diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2021-10-14 15:49:50 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-14 15:49:50 +0900 |
commit | b013908e11dec1fafad6e0f15c303af5d6c78281 (patch) | |
tree | ebbca8fcb303d57b52e323b202030f29361d0c72 | |
parent | 6880dbab7dba909320335c25b0e14ce7e22fa8a4 (diff) | |
parent | 157f80794b71e824dad0f9851684f5f298198831 (diff) | |
download | ruby-openssl-b013908e11dec1fafad6e0f15c303af5d6c78281.tar.gz |
Merge pull request #463 from rhenium/ky/require-digest-gem
digest: load digest library using Kernel#require
-rw-r--r-- | ext/openssl/ossl_digest.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/openssl/ossl_digest.c b/ext/openssl/ossl_digest.c index 112ce336..8674a394 100644 --- a/ext/openssl/ossl_digest.c +++ b/ext/openssl/ossl_digest.c @@ -313,8 +313,6 @@ ossl_digest_block_length(VALUE self) void Init_ossl_digest(void) { - rb_require("digest"); - #if 0 mOSSL = rb_define_module("OpenSSL"); eOSSLError = rb_define_class_under(mOSSL, "OpenSSLError", rb_eStandardError); @@ -433,6 +431,12 @@ Init_ossl_digest(void) * digest2 = sha256.digest(data2) * */ + + /* + * Digest::Class is defined by the digest library. rb_require() cannot be + * used here because it bypasses RubyGems. + */ + rb_funcall(Qnil, rb_intern_const("require"), 1, rb_str_new_cstr("digest")); cDigest = rb_define_class_under(mOSSL, "Digest", rb_path2class("Digest::Class")); /* Document-class: OpenSSL::Digest::DigestError * |