diff options
Diffstat (limited to 'ext/digest')
-rw-r--r-- | ext/digest/.document | 3 | ||||
-rw-r--r-- | ext/digest/bubblebabble/bubblebabble.c | 9 | ||||
-rw-r--r-- | ext/digest/bubblebabble/depend | 30 | ||||
-rw-r--r-- | ext/digest/depend | 30 | ||||
-rw-r--r-- | ext/digest/digest.c | 12 | ||||
-rw-r--r-- | ext/digest/digest.gemspec | 45 | ||||
-rw-r--r-- | ext/digest/digest.h | 5 | ||||
-rw-r--r-- | ext/digest/digest_conf.rb | 2 | ||||
-rw-r--r-- | ext/digest/extconf.rb | 2 | ||||
-rw-r--r-- | ext/digest/lib/digest.rb | 18 | ||||
-rw-r--r-- | ext/digest/lib/digest/loader.rb | 3 | ||||
-rw-r--r-- | ext/digest/lib/digest/version.rb | 5 | ||||
-rw-r--r-- | ext/digest/md5/depend | 13 | ||||
-rw-r--r-- | ext/digest/md5/md5.c | 2 | ||||
-rw-r--r-- | ext/digest/md5/md5init.c | 3 | ||||
-rw-r--r-- | ext/digest/rmd160/depend | 12 | ||||
-rw-r--r-- | ext/digest/rmd160/rmd160init.c | 3 | ||||
-rw-r--r-- | ext/digest/sha1/depend | 13 | ||||
-rw-r--r-- | ext/digest/sha1/sha1init.c | 3 | ||||
-rw-r--r-- | ext/digest/sha2/depend | 13 | ||||
-rw-r--r-- | ext/digest/sha2/lib/sha2.rb | 2 | ||||
-rw-r--r-- | ext/digest/sha2/lib/sha2/loader.rb | 3 | ||||
-rw-r--r-- | ext/digest/sha2/sha2.c | 2 | ||||
-rw-r--r-- | ext/digest/sha2/sha2init.c | 47 |
24 files changed, 165 insertions, 115 deletions
diff --git a/ext/digest/.document b/ext/digest/.document new file mode 100644 index 0000000000..beab275b5a --- /dev/null +++ b/ext/digest/.document @@ -0,0 +1,3 @@ +digest.c +bubblebabble/bubblebabble.c +*/*init.c diff --git a/ext/digest/bubblebabble/bubblebabble.c b/ext/digest/bubblebabble/bubblebabble.c index 6557e43c9d..dac603c0d7 100644 --- a/ext/digest/bubblebabble/bubblebabble.c +++ b/ext/digest/bubblebabble/bubblebabble.c @@ -37,7 +37,7 @@ bubblebabble_str_new(VALUE str_digest) digest_len = RSTRING_LEN(str_digest); if ((LONG_MAX - 2) / 3 < (digest_len | 1)) { - rb_raise(rb_eRuntimeError, "digest string too long"); + rb_raise(rb_eRuntimeError, "digest string too long"); } str = rb_str_new(0, (digest_len | 1) * 3 + 2); @@ -129,15 +129,14 @@ Init_bubblebabble(void) rb_require("digest"); - rb_mDigest = rb_path2class("Digest"); - rb_mDigest_Instance = rb_path2class("Digest::Instance"); - rb_cDigest_Class = rb_path2class("Digest::Class"); - #if 0 rb_mDigest = rb_define_module("Digest"); rb_mDigest_Instance = rb_define_module_under(rb_mDigest, "Instance"); rb_cDigest_Class = rb_define_class_under(rb_mDigest, "Class", rb_cObject); #endif + rb_mDigest = rb_digest_namespace(); + rb_mDigest_Instance = rb_const_get(rb_mDigest, rb_intern_const("Instance")); + rb_cDigest_Class = rb_const_get(rb_mDigest, rb_intern_const("Class")); rb_define_module_function(rb_mDigest, "bubblebabble", rb_digest_s_bubblebabble, 1); rb_define_singleton_method(rb_cDigest_Class, "bubblebabble", rb_digest_class_s_bubblebabble, -1); diff --git a/ext/digest/bubblebabble/depend b/ext/digest/bubblebabble/depend index b995438236..0da9c223ee 100644 --- a/ext/digest/bubblebabble/depend +++ b/ext/digest/bubblebabble/depend @@ -2,6 +2,19 @@ bubblebabble.o: $(RUBY_EXTCONF_H) bubblebabble.o: $(arch_hdrdir)/ruby/config.h bubblebabble.o: $(hdrdir)/ruby.h +bubblebabble.o: $(hdrdir)/ruby/assert.h +bubblebabble.o: $(hdrdir)/ruby/backward.h +bubblebabble.o: $(hdrdir)/ruby/backward/2/assume.h +bubblebabble.o: $(hdrdir)/ruby/backward/2/attributes.h +bubblebabble.o: $(hdrdir)/ruby/backward/2/bool.h +bubblebabble.o: $(hdrdir)/ruby/backward/2/inttypes.h +bubblebabble.o: $(hdrdir)/ruby/backward/2/limits.h +bubblebabble.o: $(hdrdir)/ruby/backward/2/long_long.h +bubblebabble.o: $(hdrdir)/ruby/backward/2/stdalign.h +bubblebabble.o: $(hdrdir)/ruby/backward/2/stdarg.h +bubblebabble.o: $(hdrdir)/ruby/defines.h +bubblebabble.o: $(hdrdir)/ruby/intern.h +bubblebabble.o: $(hdrdir)/ruby/internal/abi.h bubblebabble.o: $(hdrdir)/ruby/internal/anyargs.h bubblebabble.o: $(hdrdir)/ruby/internal/arithmetic.h bubblebabble.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -39,6 +52,7 @@ bubblebabble.o: $(hdrdir)/ruby/internal/attr/noexcept.h bubblebabble.o: $(hdrdir)/ruby/internal/attr/noinline.h bubblebabble.o: $(hdrdir)/ruby/internal/attr/nonnull.h bubblebabble.o: $(hdrdir)/ruby/internal/attr/noreturn.h +bubblebabble.o: $(hdrdir)/ruby/internal/attr/packed_struct.h bubblebabble.o: $(hdrdir)/ruby/internal/attr/pure.h bubblebabble.o: $(hdrdir)/ruby/internal/attr/restrict.h bubblebabble.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -98,7 +112,6 @@ bubblebabble.o: $(hdrdir)/ruby/internal/intern/enumerator.h bubblebabble.o: $(hdrdir)/ruby/internal/intern/error.h bubblebabble.o: $(hdrdir)/ruby/internal/intern/eval.h bubblebabble.o: $(hdrdir)/ruby/internal/intern/file.h -bubblebabble.o: $(hdrdir)/ruby/internal/intern/gc.h bubblebabble.o: $(hdrdir)/ruby/internal/intern/hash.h bubblebabble.o: $(hdrdir)/ruby/internal/intern/io.h bubblebabble.o: $(hdrdir)/ruby/internal/intern/load.h @@ -129,31 +142,18 @@ bubblebabble.o: $(hdrdir)/ruby/internal/memory.h bubblebabble.o: $(hdrdir)/ruby/internal/method.h bubblebabble.o: $(hdrdir)/ruby/internal/module.h bubblebabble.o: $(hdrdir)/ruby/internal/newobj.h -bubblebabble.o: $(hdrdir)/ruby/internal/rgengc.h bubblebabble.o: $(hdrdir)/ruby/internal/scan_args.h bubblebabble.o: $(hdrdir)/ruby/internal/special_consts.h bubblebabble.o: $(hdrdir)/ruby/internal/static_assert.h bubblebabble.o: $(hdrdir)/ruby/internal/stdalign.h bubblebabble.o: $(hdrdir)/ruby/internal/stdbool.h +bubblebabble.o: $(hdrdir)/ruby/internal/stdckdint.h bubblebabble.o: $(hdrdir)/ruby/internal/symbol.h bubblebabble.o: $(hdrdir)/ruby/internal/value.h bubblebabble.o: $(hdrdir)/ruby/internal/value_type.h bubblebabble.o: $(hdrdir)/ruby/internal/variable.h bubblebabble.o: $(hdrdir)/ruby/internal/warning_push.h bubblebabble.o: $(hdrdir)/ruby/internal/xmalloc.h -bubblebabble.o: $(hdrdir)/ruby/assert.h -bubblebabble.o: $(hdrdir)/ruby/backward.h -bubblebabble.o: $(hdrdir)/ruby/backward/2/assume.h -bubblebabble.o: $(hdrdir)/ruby/backward/2/attributes.h -bubblebabble.o: $(hdrdir)/ruby/backward/2/bool.h -bubblebabble.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h -bubblebabble.o: $(hdrdir)/ruby/backward/2/inttypes.h -bubblebabble.o: $(hdrdir)/ruby/backward/2/limits.h -bubblebabble.o: $(hdrdir)/ruby/backward/2/long_long.h -bubblebabble.o: $(hdrdir)/ruby/backward/2/stdalign.h -bubblebabble.o: $(hdrdir)/ruby/backward/2/stdarg.h -bubblebabble.o: $(hdrdir)/ruby/defines.h -bubblebabble.o: $(hdrdir)/ruby/intern.h bubblebabble.o: $(hdrdir)/ruby/missing.h bubblebabble.o: $(hdrdir)/ruby/ruby.h bubblebabble.o: $(hdrdir)/ruby/st.h diff --git a/ext/digest/depend b/ext/digest/depend index 856f9caa68..cb9e8d4813 100644 --- a/ext/digest/depend +++ b/ext/digest/depend @@ -2,6 +2,19 @@ digest.o: $(RUBY_EXTCONF_H) digest.o: $(arch_hdrdir)/ruby/config.h digest.o: $(hdrdir)/ruby.h +digest.o: $(hdrdir)/ruby/assert.h +digest.o: $(hdrdir)/ruby/backward.h +digest.o: $(hdrdir)/ruby/backward/2/assume.h +digest.o: $(hdrdir)/ruby/backward/2/attributes.h +digest.o: $(hdrdir)/ruby/backward/2/bool.h +digest.o: $(hdrdir)/ruby/backward/2/inttypes.h +digest.o: $(hdrdir)/ruby/backward/2/limits.h +digest.o: $(hdrdir)/ruby/backward/2/long_long.h +digest.o: $(hdrdir)/ruby/backward/2/stdalign.h +digest.o: $(hdrdir)/ruby/backward/2/stdarg.h +digest.o: $(hdrdir)/ruby/defines.h +digest.o: $(hdrdir)/ruby/intern.h +digest.o: $(hdrdir)/ruby/internal/abi.h digest.o: $(hdrdir)/ruby/internal/anyargs.h digest.o: $(hdrdir)/ruby/internal/arithmetic.h digest.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -39,6 +52,7 @@ digest.o: $(hdrdir)/ruby/internal/attr/noexcept.h digest.o: $(hdrdir)/ruby/internal/attr/noinline.h digest.o: $(hdrdir)/ruby/internal/attr/nonnull.h digest.o: $(hdrdir)/ruby/internal/attr/noreturn.h +digest.o: $(hdrdir)/ruby/internal/attr/packed_struct.h digest.o: $(hdrdir)/ruby/internal/attr/pure.h digest.o: $(hdrdir)/ruby/internal/attr/restrict.h digest.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -98,7 +112,6 @@ digest.o: $(hdrdir)/ruby/internal/intern/enumerator.h digest.o: $(hdrdir)/ruby/internal/intern/error.h digest.o: $(hdrdir)/ruby/internal/intern/eval.h digest.o: $(hdrdir)/ruby/internal/intern/file.h -digest.o: $(hdrdir)/ruby/internal/intern/gc.h digest.o: $(hdrdir)/ruby/internal/intern/hash.h digest.o: $(hdrdir)/ruby/internal/intern/io.h digest.o: $(hdrdir)/ruby/internal/intern/load.h @@ -129,31 +142,18 @@ digest.o: $(hdrdir)/ruby/internal/memory.h digest.o: $(hdrdir)/ruby/internal/method.h digest.o: $(hdrdir)/ruby/internal/module.h digest.o: $(hdrdir)/ruby/internal/newobj.h -digest.o: $(hdrdir)/ruby/internal/rgengc.h digest.o: $(hdrdir)/ruby/internal/scan_args.h digest.o: $(hdrdir)/ruby/internal/special_consts.h digest.o: $(hdrdir)/ruby/internal/static_assert.h digest.o: $(hdrdir)/ruby/internal/stdalign.h digest.o: $(hdrdir)/ruby/internal/stdbool.h +digest.o: $(hdrdir)/ruby/internal/stdckdint.h digest.o: $(hdrdir)/ruby/internal/symbol.h digest.o: $(hdrdir)/ruby/internal/value.h digest.o: $(hdrdir)/ruby/internal/value_type.h digest.o: $(hdrdir)/ruby/internal/variable.h digest.o: $(hdrdir)/ruby/internal/warning_push.h digest.o: $(hdrdir)/ruby/internal/xmalloc.h -digest.o: $(hdrdir)/ruby/assert.h -digest.o: $(hdrdir)/ruby/backward.h -digest.o: $(hdrdir)/ruby/backward/2/assume.h -digest.o: $(hdrdir)/ruby/backward/2/attributes.h -digest.o: $(hdrdir)/ruby/backward/2/bool.h -digest.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h -digest.o: $(hdrdir)/ruby/backward/2/inttypes.h -digest.o: $(hdrdir)/ruby/backward/2/limits.h -digest.o: $(hdrdir)/ruby/backward/2/long_long.h -digest.o: $(hdrdir)/ruby/backward/2/stdalign.h -digest.o: $(hdrdir)/ruby/backward/2/stdarg.h -digest.o: $(hdrdir)/ruby/defines.h -digest.o: $(hdrdir)/ruby/intern.h digest.o: $(hdrdir)/ruby/missing.h digest.o: $(hdrdir)/ruby/ruby.h digest.o: $(hdrdir)/ruby/st.h diff --git a/ext/digest/digest.c b/ext/digest/digest.c index 83f4ee42fc..68837a674c 100644 --- a/ext/digest/digest.c +++ b/ext/digest/digest.c @@ -154,7 +154,7 @@ static void rb_digest_instance_method_unimpl(VALUE self, const char *method) { rb_raise(rb_eRuntimeError, "%s does not implement %s()", - rb_obj_classname(self), method); + rb_obj_classname(self), method); } /* @@ -383,8 +383,8 @@ rb_digest_instance_equal(VALUE self, VALUE other) StringValue(str2); if (RSTRING_LEN(str1) == RSTRING_LEN(str2) && - rb_str_cmp(str1, str2) == 0) { - return Qtrue; + rb_str_cmp(str1, str2) == 0) { + return Qtrue; } return Qfalse; } @@ -602,7 +602,7 @@ static inline void algo_init(const rb_digest_metadata_t *algo, void *pctx) { if (algo->init_func(pctx) != 1) { - rb_raise(rb_eRuntimeError, "Digest initialization failed."); + rb_raise(rb_eRuntimeError, "Digest initialization failed."); } } @@ -614,7 +614,7 @@ rb_digest_base_alloc(VALUE klass) void *pctx; if (klass == rb_cDigest_Base) { - rb_raise(rb_eNotImpError, "Digest::Base is an abstract class"); + rb_raise(rb_eNotImpError, "Digest::Base is an abstract class"); } algo = get_digest_base_metadata(klass); @@ -639,7 +639,7 @@ rb_digest_base_copy(VALUE copy, VALUE obj) algo = get_digest_obj_metadata(copy); if (algo != get_digest_obj_metadata(obj)) - rb_raise(rb_eTypeError, "different algorithms"); + rb_raise(rb_eTypeError, "different algorithms"); TypedData_Get_Struct(obj, void, &digest_type, pctx1); TypedData_Get_Struct(copy, void, &digest_type, pctx2); diff --git a/ext/digest/digest.gemspec b/ext/digest/digest.gemspec index 8665e42e0f..4a01c5fde1 100644 --- a/ext/digest/digest.gemspec +++ b/ext/digest/digest.gemspec @@ -2,8 +2,13 @@ # frozen_string_literal: true Gem::Specification.new do |spec| + version_module = Module.new do + version_rb = File.join(__dir__, "lib/digest/version.rb") + module_eval(File.read(version_rb), version_rb) + end + spec.name = "digest" - spec.version = "3.0.1.pre" + spec.version = version_module::Digest::VERSION spec.authors = ["Akinori MUSHA"] spec.email = ["knu@idaemons.org"] @@ -12,32 +17,28 @@ Gem::Specification.new do |spec| spec.homepage = "https://github.com/ruby/digest" spec.licenses = ["Ruby", "BSD-2-Clause"] - spec.files = [ - "LICENSE.txt", "README.md", - "ext/digest/bubblebabble/bubblebabble.c", "ext/digest/bubblebabble/extconf.rb", "ext/digest/defs.h", - "ext/digest/digest.c", "ext/digest/digest.h", "ext/digest/digest_conf.rb", "ext/digest/extconf.rb", - "ext/digest/md5/extconf.rb", "ext/digest/md5/md5.c", "ext/digest/md5/md5.h", "ext/digest/md5/md5cc.h", - "ext/digest/md5/md5init.c", "ext/digest/rmd160/extconf.rb", "ext/digest/rmd160/rmd160.c", - "ext/digest/rmd160/rmd160.h", "ext/digest/rmd160/rmd160init.c", "ext/digest/sha1/extconf.rb", - "ext/digest/sha1/sha1.c", "ext/digest/sha1/sha1.h", "ext/digest/sha1/sha1cc.h", - "ext/digest/sha1/sha1init.c", "ext/digest/sha2/extconf.rb", "ext/digest/sha2/lib/sha2.rb", - "ext/digest/sha2/sha2.c", "ext/digest/sha2/sha2.h", "ext/digest/sha2/sha2cc.h", - "ext/digest/sha2/sha2init.c", "ext/digest/test.sh", "ext/openssl/deprecation.rb", - "lib/digest.rb" + spec.files = [ + "LICENSE.txt", + "README.md", + *Dir["lib/digest{.rb,/**/*.rb}"], ] spec.required_ruby_version = ">= 2.5.0" spec.bindir = "exe" spec.executables = [] - spec.require_paths = ["lib"] - spec.extensions = %w[ - ext/digest/extconf.rb - ext/digest/bubblebabble/extconf.rb - ext/digest/md5/extconf.rb - ext/digest/rmd160/extconf.rb - ext/digest/sha1/extconf.rb - ext/digest/sha2/extconf.rb - ] + + if Gem::Platform === spec.platform and spec.platform =~ 'java' or RUBY_ENGINE == 'jruby' + spec.platform = 'java' + + spec.files += Dir["ext/java/**/*.{rb,java}", "lib/digest.jar"] + spec.require_paths = %w[lib ext/java/org/jruby/ext/digest/lib] + else + spec.extensions = Dir["ext/digest/**/extconf.rb"] + + spec.files += Dir["ext/digest/**/{*.{rb,c,h,sh},depend}"] + spec.require_paths = %w[lib] + end + spec.metadata["msys2_mingw_dependencies"] = "openssl" end diff --git a/ext/digest/digest.h b/ext/digest/digest.h index 0d4f0e7cc2..68a3da5dd2 100644 --- a/ext/digest/digest.h +++ b/ext/digest/digest.h @@ -38,9 +38,10 @@ rb_digest_##name##_update(void *ctx, unsigned char *ptr, size_t size) \ const unsigned int stride = 16384; \ \ for (; size > stride; size -= stride, ptr += stride) { \ - name##_Update(ctx, ptr, stride); \ + name##_Update(ctx, ptr, stride); \ } \ - if (size > 0) name##_Update(ctx, ptr, size); \ + /* Since size <= stride, size should fit into an unsigned int */ \ + if (size > 0) name##_Update(ctx, ptr, (unsigned int)size); \ } #define DEFINE_FINISH_FUNC_FROM_FINAL(name) \ diff --git a/ext/digest/digest_conf.rb b/ext/digest/digest_conf.rb index 1b929d8732..36a7d75289 100644 --- a/ext/digest/digest_conf.rb +++ b/ext/digest/digest_conf.rb @@ -3,7 +3,7 @@ def digest_conf(name) unless with_config("bundled-#{name}") cc = with_config("common-digest") - if cc == true or /\b#{name}\b/ =~ cc + if cc != false or /\b#{name}\b/ =~ cc if File.exist?("#$srcdir/#{name}cc.h") and have_header("CommonCrypto/CommonDigest.h") $defs << "-D#{name.upcase}_USE_COMMONDIGEST" diff --git a/ext/digest/extconf.rb b/ext/digest/extconf.rb index a8c68850a2..0e5f08d794 100644 --- a/ext/digest/extconf.rb +++ b/ext/digest/extconf.rb @@ -6,6 +6,6 @@ require "mkmf" $INSTALLFILES = { "digest.h" => "$(HDRDIR)" -} +} if $extmk create_makefile("digest") diff --git a/ext/digest/lib/digest.rb b/ext/digest/lib/digest.rb index ba0637af32..e995adb450 100644 --- a/ext/digest/lib/digest.rb +++ b/ext/digest/lib/digest.rb @@ -1,5 +1,19 @@ # frozen_string_literal: false -require 'digest.so' + +if defined?(Digest) && + /\A(?:2\.|3\.0\.[0-2]\z)/.match?(RUBY_VERSION) && + caller_locations.any? { |l| + %r{/(rubygems/gem_runner|bundler/cli)\.rb}.match?(l.path) + } + # Before Ruby 3.0.3/3.1.0, the gem and bundle commands used to load + # the digest library before loading additionally installed gems, so + # you will get constant redefinition warnings and unexpected + # implementation overwriting if we proceed here. Avoid that. + return +end + +require 'digest/version' +require 'digest/loader' module Digest # A mutex for Digest(). @@ -8,7 +22,7 @@ module Digest def self.const_missing(name) # :nodoc: case name when :SHA256, :SHA384, :SHA512 - lib = 'digest/sha2.so' + lib = 'digest/sha2' else lib = File.join('digest', name.to_s.downcase) end diff --git a/ext/digest/lib/digest/loader.rb b/ext/digest/lib/digest/loader.rb new file mode 100644 index 0000000000..6b989e07be --- /dev/null +++ b/ext/digest/lib/digest/loader.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require 'digest.so' diff --git a/ext/digest/lib/digest/version.rb b/ext/digest/lib/digest/version.rb new file mode 100644 index 0000000000..42fd7acf6e --- /dev/null +++ b/ext/digest/lib/digest/version.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +module Digest + VERSION = "3.1.1" +end diff --git a/ext/digest/md5/depend b/ext/digest/md5/depend index 258ec88e54..e71915e5b4 100644 --- a/ext/digest/md5/depend +++ b/ext/digest/md5/depend @@ -10,7 +10,6 @@ md5.o: $(hdrdir)/ruby/backward.h md5.o: $(hdrdir)/ruby/backward/2/assume.h md5.o: $(hdrdir)/ruby/backward/2/attributes.h md5.o: $(hdrdir)/ruby/backward/2/bool.h -md5.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h md5.o: $(hdrdir)/ruby/backward/2/inttypes.h md5.o: $(hdrdir)/ruby/backward/2/limits.h md5.o: $(hdrdir)/ruby/backward/2/long_long.h @@ -18,6 +17,7 @@ md5.o: $(hdrdir)/ruby/backward/2/stdalign.h md5.o: $(hdrdir)/ruby/backward/2/stdarg.h md5.o: $(hdrdir)/ruby/defines.h md5.o: $(hdrdir)/ruby/intern.h +md5.o: $(hdrdir)/ruby/internal/abi.h md5.o: $(hdrdir)/ruby/internal/anyargs.h md5.o: $(hdrdir)/ruby/internal/arithmetic.h md5.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -55,6 +55,7 @@ md5.o: $(hdrdir)/ruby/internal/attr/noexcept.h md5.o: $(hdrdir)/ruby/internal/attr/noinline.h md5.o: $(hdrdir)/ruby/internal/attr/nonnull.h md5.o: $(hdrdir)/ruby/internal/attr/noreturn.h +md5.o: $(hdrdir)/ruby/internal/attr/packed_struct.h md5.o: $(hdrdir)/ruby/internal/attr/pure.h md5.o: $(hdrdir)/ruby/internal/attr/restrict.h md5.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -114,7 +115,6 @@ md5.o: $(hdrdir)/ruby/internal/intern/enumerator.h md5.o: $(hdrdir)/ruby/internal/intern/error.h md5.o: $(hdrdir)/ruby/internal/intern/eval.h md5.o: $(hdrdir)/ruby/internal/intern/file.h -md5.o: $(hdrdir)/ruby/internal/intern/gc.h md5.o: $(hdrdir)/ruby/internal/intern/hash.h md5.o: $(hdrdir)/ruby/internal/intern/io.h md5.o: $(hdrdir)/ruby/internal/intern/load.h @@ -145,12 +145,12 @@ md5.o: $(hdrdir)/ruby/internal/memory.h md5.o: $(hdrdir)/ruby/internal/method.h md5.o: $(hdrdir)/ruby/internal/module.h md5.o: $(hdrdir)/ruby/internal/newobj.h -md5.o: $(hdrdir)/ruby/internal/rgengc.h md5.o: $(hdrdir)/ruby/internal/scan_args.h md5.o: $(hdrdir)/ruby/internal/special_consts.h md5.o: $(hdrdir)/ruby/internal/static_assert.h md5.o: $(hdrdir)/ruby/internal/stdalign.h md5.o: $(hdrdir)/ruby/internal/stdbool.h +md5.o: $(hdrdir)/ruby/internal/stdckdint.h md5.o: $(hdrdir)/ruby/internal/symbol.h md5.o: $(hdrdir)/ruby/internal/value.h md5.o: $(hdrdir)/ruby/internal/value_type.h @@ -172,7 +172,6 @@ md5init.o: $(hdrdir)/ruby/backward.h md5init.o: $(hdrdir)/ruby/backward/2/assume.h md5init.o: $(hdrdir)/ruby/backward/2/attributes.h md5init.o: $(hdrdir)/ruby/backward/2/bool.h -md5init.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h md5init.o: $(hdrdir)/ruby/backward/2/inttypes.h md5init.o: $(hdrdir)/ruby/backward/2/limits.h md5init.o: $(hdrdir)/ruby/backward/2/long_long.h @@ -180,6 +179,7 @@ md5init.o: $(hdrdir)/ruby/backward/2/stdalign.h md5init.o: $(hdrdir)/ruby/backward/2/stdarg.h md5init.o: $(hdrdir)/ruby/defines.h md5init.o: $(hdrdir)/ruby/intern.h +md5init.o: $(hdrdir)/ruby/internal/abi.h md5init.o: $(hdrdir)/ruby/internal/anyargs.h md5init.o: $(hdrdir)/ruby/internal/arithmetic.h md5init.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -217,6 +217,7 @@ md5init.o: $(hdrdir)/ruby/internal/attr/noexcept.h md5init.o: $(hdrdir)/ruby/internal/attr/noinline.h md5init.o: $(hdrdir)/ruby/internal/attr/nonnull.h md5init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +md5init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h md5init.o: $(hdrdir)/ruby/internal/attr/pure.h md5init.o: $(hdrdir)/ruby/internal/attr/restrict.h md5init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -276,7 +277,6 @@ md5init.o: $(hdrdir)/ruby/internal/intern/enumerator.h md5init.o: $(hdrdir)/ruby/internal/intern/error.h md5init.o: $(hdrdir)/ruby/internal/intern/eval.h md5init.o: $(hdrdir)/ruby/internal/intern/file.h -md5init.o: $(hdrdir)/ruby/internal/intern/gc.h md5init.o: $(hdrdir)/ruby/internal/intern/hash.h md5init.o: $(hdrdir)/ruby/internal/intern/io.h md5init.o: $(hdrdir)/ruby/internal/intern/load.h @@ -307,12 +307,12 @@ md5init.o: $(hdrdir)/ruby/internal/memory.h md5init.o: $(hdrdir)/ruby/internal/method.h md5init.o: $(hdrdir)/ruby/internal/module.h md5init.o: $(hdrdir)/ruby/internal/newobj.h -md5init.o: $(hdrdir)/ruby/internal/rgengc.h md5init.o: $(hdrdir)/ruby/internal/scan_args.h md5init.o: $(hdrdir)/ruby/internal/special_consts.h md5init.o: $(hdrdir)/ruby/internal/static_assert.h md5init.o: $(hdrdir)/ruby/internal/stdalign.h md5init.o: $(hdrdir)/ruby/internal/stdbool.h +md5init.o: $(hdrdir)/ruby/internal/stdckdint.h md5init.o: $(hdrdir)/ruby/internal/symbol.h md5init.o: $(hdrdir)/ruby/internal/value.h md5init.o: $(hdrdir)/ruby/internal/value_type.h @@ -326,5 +326,6 @@ md5init.o: $(hdrdir)/ruby/subst.h md5init.o: $(srcdir)/../defs.h md5init.o: $(srcdir)/../digest.h md5init.o: md5.h +md5init.o: md5cc.h md5init.o: md5init.c # AUTOGENERATED DEPENDENCIES END diff --git a/ext/digest/md5/md5.c b/ext/digest/md5/md5.c index 19fe54a693..3a7fe2cdad 100644 --- a/ext/digest/md5/md5.c +++ b/ext/digest/md5/md5.c @@ -225,7 +225,7 @@ md5_process(MD5_CTX *pms, const uint8_t *data /*[64]*/) uint32_t xbuf[16]; const uint32_t *X; - if (!((data - (const uint8_t *)0) & 3)) { + if (!(((uintptr_t)data) & 3)) { /* data are properly aligned */ X = (const uint32_t *)data; } else { diff --git a/ext/digest/md5/md5init.c b/ext/digest/md5/md5init.c index 52cba78bf1..b81fd94864 100644 --- a/ext/digest/md5/md5init.c +++ b/ext/digest/md5/md5init.c @@ -53,9 +53,8 @@ Init_md5(void) mDigest = rb_define_module("Digest"); /* let rdoc know */ #endif mDigest = rb_digest_namespace(); - cDigest_Base = rb_path2class("Digest::Base"); + cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base")); cDigest_MD5 = rb_define_class_under(mDigest, "MD5", cDigest_Base); - rb_iv_set(cDigest_MD5, "metadata", rb_digest_make_metadata(&md5)); } diff --git a/ext/digest/rmd160/depend b/ext/digest/rmd160/depend index 8a7f555754..09558ad92b 100644 --- a/ext/digest/rmd160/depend +++ b/ext/digest/rmd160/depend @@ -10,7 +10,6 @@ rmd160.o: $(hdrdir)/ruby/backward.h rmd160.o: $(hdrdir)/ruby/backward/2/assume.h rmd160.o: $(hdrdir)/ruby/backward/2/attributes.h rmd160.o: $(hdrdir)/ruby/backward/2/bool.h -rmd160.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h rmd160.o: $(hdrdir)/ruby/backward/2/inttypes.h rmd160.o: $(hdrdir)/ruby/backward/2/limits.h rmd160.o: $(hdrdir)/ruby/backward/2/long_long.h @@ -18,6 +17,7 @@ rmd160.o: $(hdrdir)/ruby/backward/2/stdalign.h rmd160.o: $(hdrdir)/ruby/backward/2/stdarg.h rmd160.o: $(hdrdir)/ruby/defines.h rmd160.o: $(hdrdir)/ruby/intern.h +rmd160.o: $(hdrdir)/ruby/internal/abi.h rmd160.o: $(hdrdir)/ruby/internal/anyargs.h rmd160.o: $(hdrdir)/ruby/internal/arithmetic.h rmd160.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -55,6 +55,7 @@ rmd160.o: $(hdrdir)/ruby/internal/attr/noexcept.h rmd160.o: $(hdrdir)/ruby/internal/attr/noinline.h rmd160.o: $(hdrdir)/ruby/internal/attr/nonnull.h rmd160.o: $(hdrdir)/ruby/internal/attr/noreturn.h +rmd160.o: $(hdrdir)/ruby/internal/attr/packed_struct.h rmd160.o: $(hdrdir)/ruby/internal/attr/pure.h rmd160.o: $(hdrdir)/ruby/internal/attr/restrict.h rmd160.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -114,7 +115,6 @@ rmd160.o: $(hdrdir)/ruby/internal/intern/enumerator.h rmd160.o: $(hdrdir)/ruby/internal/intern/error.h rmd160.o: $(hdrdir)/ruby/internal/intern/eval.h rmd160.o: $(hdrdir)/ruby/internal/intern/file.h -rmd160.o: $(hdrdir)/ruby/internal/intern/gc.h rmd160.o: $(hdrdir)/ruby/internal/intern/hash.h rmd160.o: $(hdrdir)/ruby/internal/intern/io.h rmd160.o: $(hdrdir)/ruby/internal/intern/load.h @@ -145,12 +145,12 @@ rmd160.o: $(hdrdir)/ruby/internal/memory.h rmd160.o: $(hdrdir)/ruby/internal/method.h rmd160.o: $(hdrdir)/ruby/internal/module.h rmd160.o: $(hdrdir)/ruby/internal/newobj.h -rmd160.o: $(hdrdir)/ruby/internal/rgengc.h rmd160.o: $(hdrdir)/ruby/internal/scan_args.h rmd160.o: $(hdrdir)/ruby/internal/special_consts.h rmd160.o: $(hdrdir)/ruby/internal/static_assert.h rmd160.o: $(hdrdir)/ruby/internal/stdalign.h rmd160.o: $(hdrdir)/ruby/internal/stdbool.h +rmd160.o: $(hdrdir)/ruby/internal/stdckdint.h rmd160.o: $(hdrdir)/ruby/internal/symbol.h rmd160.o: $(hdrdir)/ruby/internal/value.h rmd160.o: $(hdrdir)/ruby/internal/value_type.h @@ -172,7 +172,6 @@ rmd160init.o: $(hdrdir)/ruby/backward.h rmd160init.o: $(hdrdir)/ruby/backward/2/assume.h rmd160init.o: $(hdrdir)/ruby/backward/2/attributes.h rmd160init.o: $(hdrdir)/ruby/backward/2/bool.h -rmd160init.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h rmd160init.o: $(hdrdir)/ruby/backward/2/inttypes.h rmd160init.o: $(hdrdir)/ruby/backward/2/limits.h rmd160init.o: $(hdrdir)/ruby/backward/2/long_long.h @@ -180,6 +179,7 @@ rmd160init.o: $(hdrdir)/ruby/backward/2/stdalign.h rmd160init.o: $(hdrdir)/ruby/backward/2/stdarg.h rmd160init.o: $(hdrdir)/ruby/defines.h rmd160init.o: $(hdrdir)/ruby/intern.h +rmd160init.o: $(hdrdir)/ruby/internal/abi.h rmd160init.o: $(hdrdir)/ruby/internal/anyargs.h rmd160init.o: $(hdrdir)/ruby/internal/arithmetic.h rmd160init.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -217,6 +217,7 @@ rmd160init.o: $(hdrdir)/ruby/internal/attr/noexcept.h rmd160init.o: $(hdrdir)/ruby/internal/attr/noinline.h rmd160init.o: $(hdrdir)/ruby/internal/attr/nonnull.h rmd160init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +rmd160init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h rmd160init.o: $(hdrdir)/ruby/internal/attr/pure.h rmd160init.o: $(hdrdir)/ruby/internal/attr/restrict.h rmd160init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -276,7 +277,6 @@ rmd160init.o: $(hdrdir)/ruby/internal/intern/enumerator.h rmd160init.o: $(hdrdir)/ruby/internal/intern/error.h rmd160init.o: $(hdrdir)/ruby/internal/intern/eval.h rmd160init.o: $(hdrdir)/ruby/internal/intern/file.h -rmd160init.o: $(hdrdir)/ruby/internal/intern/gc.h rmd160init.o: $(hdrdir)/ruby/internal/intern/hash.h rmd160init.o: $(hdrdir)/ruby/internal/intern/io.h rmd160init.o: $(hdrdir)/ruby/internal/intern/load.h @@ -307,12 +307,12 @@ rmd160init.o: $(hdrdir)/ruby/internal/memory.h rmd160init.o: $(hdrdir)/ruby/internal/method.h rmd160init.o: $(hdrdir)/ruby/internal/module.h rmd160init.o: $(hdrdir)/ruby/internal/newobj.h -rmd160init.o: $(hdrdir)/ruby/internal/rgengc.h rmd160init.o: $(hdrdir)/ruby/internal/scan_args.h rmd160init.o: $(hdrdir)/ruby/internal/special_consts.h rmd160init.o: $(hdrdir)/ruby/internal/static_assert.h rmd160init.o: $(hdrdir)/ruby/internal/stdalign.h rmd160init.o: $(hdrdir)/ruby/internal/stdbool.h +rmd160init.o: $(hdrdir)/ruby/internal/stdckdint.h rmd160init.o: $(hdrdir)/ruby/internal/symbol.h rmd160init.o: $(hdrdir)/ruby/internal/value.h rmd160init.o: $(hdrdir)/ruby/internal/value_type.h diff --git a/ext/digest/rmd160/rmd160init.c b/ext/digest/rmd160/rmd160init.c index 2ae81ec4d6..e4b707ed9e 100644 --- a/ext/digest/rmd160/rmd160init.c +++ b/ext/digest/rmd160/rmd160init.c @@ -49,9 +49,8 @@ Init_rmd160(void) mDigest = rb_define_module("Digest"); /* let rdoc know */ #endif mDigest = rb_digest_namespace(); - cDigest_Base = rb_path2class("Digest::Base"); + cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base")); cDigest_RMD160 = rb_define_class_under(mDigest, "RMD160", cDigest_Base); - rb_iv_set(cDigest_RMD160, "metadata", rb_digest_make_metadata(&rmd160)); } diff --git a/ext/digest/sha1/depend b/ext/digest/sha1/depend index 055e1fbaa0..827b8a0852 100644 --- a/ext/digest/sha1/depend +++ b/ext/digest/sha1/depend @@ -10,7 +10,6 @@ sha1.o: $(hdrdir)/ruby/backward.h sha1.o: $(hdrdir)/ruby/backward/2/assume.h sha1.o: $(hdrdir)/ruby/backward/2/attributes.h sha1.o: $(hdrdir)/ruby/backward/2/bool.h -sha1.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h sha1.o: $(hdrdir)/ruby/backward/2/inttypes.h sha1.o: $(hdrdir)/ruby/backward/2/limits.h sha1.o: $(hdrdir)/ruby/backward/2/long_long.h @@ -18,6 +17,7 @@ sha1.o: $(hdrdir)/ruby/backward/2/stdalign.h sha1.o: $(hdrdir)/ruby/backward/2/stdarg.h sha1.o: $(hdrdir)/ruby/defines.h sha1.o: $(hdrdir)/ruby/intern.h +sha1.o: $(hdrdir)/ruby/internal/abi.h sha1.o: $(hdrdir)/ruby/internal/anyargs.h sha1.o: $(hdrdir)/ruby/internal/arithmetic.h sha1.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -55,6 +55,7 @@ sha1.o: $(hdrdir)/ruby/internal/attr/noexcept.h sha1.o: $(hdrdir)/ruby/internal/attr/noinline.h sha1.o: $(hdrdir)/ruby/internal/attr/nonnull.h sha1.o: $(hdrdir)/ruby/internal/attr/noreturn.h +sha1.o: $(hdrdir)/ruby/internal/attr/packed_struct.h sha1.o: $(hdrdir)/ruby/internal/attr/pure.h sha1.o: $(hdrdir)/ruby/internal/attr/restrict.h sha1.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -114,7 +115,6 @@ sha1.o: $(hdrdir)/ruby/internal/intern/enumerator.h sha1.o: $(hdrdir)/ruby/internal/intern/error.h sha1.o: $(hdrdir)/ruby/internal/intern/eval.h sha1.o: $(hdrdir)/ruby/internal/intern/file.h -sha1.o: $(hdrdir)/ruby/internal/intern/gc.h sha1.o: $(hdrdir)/ruby/internal/intern/hash.h sha1.o: $(hdrdir)/ruby/internal/intern/io.h sha1.o: $(hdrdir)/ruby/internal/intern/load.h @@ -145,12 +145,12 @@ sha1.o: $(hdrdir)/ruby/internal/memory.h sha1.o: $(hdrdir)/ruby/internal/method.h sha1.o: $(hdrdir)/ruby/internal/module.h sha1.o: $(hdrdir)/ruby/internal/newobj.h -sha1.o: $(hdrdir)/ruby/internal/rgengc.h sha1.o: $(hdrdir)/ruby/internal/scan_args.h sha1.o: $(hdrdir)/ruby/internal/special_consts.h sha1.o: $(hdrdir)/ruby/internal/static_assert.h sha1.o: $(hdrdir)/ruby/internal/stdalign.h sha1.o: $(hdrdir)/ruby/internal/stdbool.h +sha1.o: $(hdrdir)/ruby/internal/stdckdint.h sha1.o: $(hdrdir)/ruby/internal/symbol.h sha1.o: $(hdrdir)/ruby/internal/value.h sha1.o: $(hdrdir)/ruby/internal/value_type.h @@ -172,7 +172,6 @@ sha1init.o: $(hdrdir)/ruby/backward.h sha1init.o: $(hdrdir)/ruby/backward/2/assume.h sha1init.o: $(hdrdir)/ruby/backward/2/attributes.h sha1init.o: $(hdrdir)/ruby/backward/2/bool.h -sha1init.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h sha1init.o: $(hdrdir)/ruby/backward/2/inttypes.h sha1init.o: $(hdrdir)/ruby/backward/2/limits.h sha1init.o: $(hdrdir)/ruby/backward/2/long_long.h @@ -180,6 +179,7 @@ sha1init.o: $(hdrdir)/ruby/backward/2/stdalign.h sha1init.o: $(hdrdir)/ruby/backward/2/stdarg.h sha1init.o: $(hdrdir)/ruby/defines.h sha1init.o: $(hdrdir)/ruby/intern.h +sha1init.o: $(hdrdir)/ruby/internal/abi.h sha1init.o: $(hdrdir)/ruby/internal/anyargs.h sha1init.o: $(hdrdir)/ruby/internal/arithmetic.h sha1init.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -217,6 +217,7 @@ sha1init.o: $(hdrdir)/ruby/internal/attr/noexcept.h sha1init.o: $(hdrdir)/ruby/internal/attr/noinline.h sha1init.o: $(hdrdir)/ruby/internal/attr/nonnull.h sha1init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +sha1init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h sha1init.o: $(hdrdir)/ruby/internal/attr/pure.h sha1init.o: $(hdrdir)/ruby/internal/attr/restrict.h sha1init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -276,7 +277,6 @@ sha1init.o: $(hdrdir)/ruby/internal/intern/enumerator.h sha1init.o: $(hdrdir)/ruby/internal/intern/error.h sha1init.o: $(hdrdir)/ruby/internal/intern/eval.h sha1init.o: $(hdrdir)/ruby/internal/intern/file.h -sha1init.o: $(hdrdir)/ruby/internal/intern/gc.h sha1init.o: $(hdrdir)/ruby/internal/intern/hash.h sha1init.o: $(hdrdir)/ruby/internal/intern/io.h sha1init.o: $(hdrdir)/ruby/internal/intern/load.h @@ -307,12 +307,12 @@ sha1init.o: $(hdrdir)/ruby/internal/memory.h sha1init.o: $(hdrdir)/ruby/internal/method.h sha1init.o: $(hdrdir)/ruby/internal/module.h sha1init.o: $(hdrdir)/ruby/internal/newobj.h -sha1init.o: $(hdrdir)/ruby/internal/rgengc.h sha1init.o: $(hdrdir)/ruby/internal/scan_args.h sha1init.o: $(hdrdir)/ruby/internal/special_consts.h sha1init.o: $(hdrdir)/ruby/internal/static_assert.h sha1init.o: $(hdrdir)/ruby/internal/stdalign.h sha1init.o: $(hdrdir)/ruby/internal/stdbool.h +sha1init.o: $(hdrdir)/ruby/internal/stdckdint.h sha1init.o: $(hdrdir)/ruby/internal/symbol.h sha1init.o: $(hdrdir)/ruby/internal/value.h sha1init.o: $(hdrdir)/ruby/internal/value_type.h @@ -326,5 +326,6 @@ sha1init.o: $(hdrdir)/ruby/subst.h sha1init.o: $(srcdir)/../defs.h sha1init.o: $(srcdir)/../digest.h sha1init.o: sha1.h +sha1init.o: sha1cc.h sha1init.o: sha1init.c # AUTOGENERATED DEPENDENCIES END diff --git a/ext/digest/sha1/sha1init.c b/ext/digest/sha1/sha1init.c index f7047bc6d3..c39959f428 100644 --- a/ext/digest/sha1/sha1init.c +++ b/ext/digest/sha1/sha1init.c @@ -55,9 +55,8 @@ Init_sha1(void) mDigest = rb_define_module("Digest"); /* let rdoc know */ #endif mDigest = rb_digest_namespace(); - cDigest_Base = rb_path2class("Digest::Base"); + cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base")); cDigest_SHA1 = rb_define_class_under(mDigest, "SHA1", cDigest_Base); - rb_iv_set(cDigest_SHA1, "metadata", rb_digest_make_metadata(&sha1)); } diff --git a/ext/digest/sha2/depend b/ext/digest/sha2/depend index c3399e76f5..af1600d346 100644 --- a/ext/digest/sha2/depend +++ b/ext/digest/sha2/depend @@ -10,7 +10,6 @@ sha2.o: $(hdrdir)/ruby/backward.h sha2.o: $(hdrdir)/ruby/backward/2/assume.h sha2.o: $(hdrdir)/ruby/backward/2/attributes.h sha2.o: $(hdrdir)/ruby/backward/2/bool.h -sha2.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h sha2.o: $(hdrdir)/ruby/backward/2/inttypes.h sha2.o: $(hdrdir)/ruby/backward/2/limits.h sha2.o: $(hdrdir)/ruby/backward/2/long_long.h @@ -18,6 +17,7 @@ sha2.o: $(hdrdir)/ruby/backward/2/stdalign.h sha2.o: $(hdrdir)/ruby/backward/2/stdarg.h sha2.o: $(hdrdir)/ruby/defines.h sha2.o: $(hdrdir)/ruby/intern.h +sha2.o: $(hdrdir)/ruby/internal/abi.h sha2.o: $(hdrdir)/ruby/internal/anyargs.h sha2.o: $(hdrdir)/ruby/internal/arithmetic.h sha2.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -55,6 +55,7 @@ sha2.o: $(hdrdir)/ruby/internal/attr/noexcept.h sha2.o: $(hdrdir)/ruby/internal/attr/noinline.h sha2.o: $(hdrdir)/ruby/internal/attr/nonnull.h sha2.o: $(hdrdir)/ruby/internal/attr/noreturn.h +sha2.o: $(hdrdir)/ruby/internal/attr/packed_struct.h sha2.o: $(hdrdir)/ruby/internal/attr/pure.h sha2.o: $(hdrdir)/ruby/internal/attr/restrict.h sha2.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -114,7 +115,6 @@ sha2.o: $(hdrdir)/ruby/internal/intern/enumerator.h sha2.o: $(hdrdir)/ruby/internal/intern/error.h sha2.o: $(hdrdir)/ruby/internal/intern/eval.h sha2.o: $(hdrdir)/ruby/internal/intern/file.h -sha2.o: $(hdrdir)/ruby/internal/intern/gc.h sha2.o: $(hdrdir)/ruby/internal/intern/hash.h sha2.o: $(hdrdir)/ruby/internal/intern/io.h sha2.o: $(hdrdir)/ruby/internal/intern/load.h @@ -145,12 +145,12 @@ sha2.o: $(hdrdir)/ruby/internal/memory.h sha2.o: $(hdrdir)/ruby/internal/method.h sha2.o: $(hdrdir)/ruby/internal/module.h sha2.o: $(hdrdir)/ruby/internal/newobj.h -sha2.o: $(hdrdir)/ruby/internal/rgengc.h sha2.o: $(hdrdir)/ruby/internal/scan_args.h sha2.o: $(hdrdir)/ruby/internal/special_consts.h sha2.o: $(hdrdir)/ruby/internal/static_assert.h sha2.o: $(hdrdir)/ruby/internal/stdalign.h sha2.o: $(hdrdir)/ruby/internal/stdbool.h +sha2.o: $(hdrdir)/ruby/internal/stdckdint.h sha2.o: $(hdrdir)/ruby/internal/symbol.h sha2.o: $(hdrdir)/ruby/internal/value.h sha2.o: $(hdrdir)/ruby/internal/value_type.h @@ -172,7 +172,6 @@ sha2init.o: $(hdrdir)/ruby/backward.h sha2init.o: $(hdrdir)/ruby/backward/2/assume.h sha2init.o: $(hdrdir)/ruby/backward/2/attributes.h sha2init.o: $(hdrdir)/ruby/backward/2/bool.h -sha2init.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h sha2init.o: $(hdrdir)/ruby/backward/2/inttypes.h sha2init.o: $(hdrdir)/ruby/backward/2/limits.h sha2init.o: $(hdrdir)/ruby/backward/2/long_long.h @@ -180,6 +179,7 @@ sha2init.o: $(hdrdir)/ruby/backward/2/stdalign.h sha2init.o: $(hdrdir)/ruby/backward/2/stdarg.h sha2init.o: $(hdrdir)/ruby/defines.h sha2init.o: $(hdrdir)/ruby/intern.h +sha2init.o: $(hdrdir)/ruby/internal/abi.h sha2init.o: $(hdrdir)/ruby/internal/anyargs.h sha2init.o: $(hdrdir)/ruby/internal/arithmetic.h sha2init.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -217,6 +217,7 @@ sha2init.o: $(hdrdir)/ruby/internal/attr/noexcept.h sha2init.o: $(hdrdir)/ruby/internal/attr/noinline.h sha2init.o: $(hdrdir)/ruby/internal/attr/nonnull.h sha2init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +sha2init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h sha2init.o: $(hdrdir)/ruby/internal/attr/pure.h sha2init.o: $(hdrdir)/ruby/internal/attr/restrict.h sha2init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -276,7 +277,6 @@ sha2init.o: $(hdrdir)/ruby/internal/intern/enumerator.h sha2init.o: $(hdrdir)/ruby/internal/intern/error.h sha2init.o: $(hdrdir)/ruby/internal/intern/eval.h sha2init.o: $(hdrdir)/ruby/internal/intern/file.h -sha2init.o: $(hdrdir)/ruby/internal/intern/gc.h sha2init.o: $(hdrdir)/ruby/internal/intern/hash.h sha2init.o: $(hdrdir)/ruby/internal/intern/io.h sha2init.o: $(hdrdir)/ruby/internal/intern/load.h @@ -307,12 +307,12 @@ sha2init.o: $(hdrdir)/ruby/internal/memory.h sha2init.o: $(hdrdir)/ruby/internal/method.h sha2init.o: $(hdrdir)/ruby/internal/module.h sha2init.o: $(hdrdir)/ruby/internal/newobj.h -sha2init.o: $(hdrdir)/ruby/internal/rgengc.h sha2init.o: $(hdrdir)/ruby/internal/scan_args.h sha2init.o: $(hdrdir)/ruby/internal/special_consts.h sha2init.o: $(hdrdir)/ruby/internal/static_assert.h sha2init.o: $(hdrdir)/ruby/internal/stdalign.h sha2init.o: $(hdrdir)/ruby/internal/stdbool.h +sha2init.o: $(hdrdir)/ruby/internal/stdckdint.h sha2init.o: $(hdrdir)/ruby/internal/symbol.h sha2init.o: $(hdrdir)/ruby/internal/value.h sha2init.o: $(hdrdir)/ruby/internal/value_type.h @@ -325,5 +325,6 @@ sha2init.o: $(hdrdir)/ruby/st.h sha2init.o: $(hdrdir)/ruby/subst.h sha2init.o: $(srcdir)/../digest.h sha2init.o: sha2.h +sha2init.o: sha2cc.h sha2init.o: sha2init.c # AUTOGENERATED DEPENDENCIES END diff --git a/ext/digest/sha2/lib/sha2.rb b/ext/digest/sha2/lib/sha2.rb index 61a0734850..f17593a206 100644 --- a/ext/digest/sha2/lib/sha2.rb +++ b/ext/digest/sha2/lib/sha2.rb @@ -11,7 +11,7 @@ # $Id$ require 'digest' -require 'digest/sha2.so' +require 'digest/sha2/loader' module Digest # diff --git a/ext/digest/sha2/lib/sha2/loader.rb b/ext/digest/sha2/lib/sha2/loader.rb new file mode 100644 index 0000000000..7d6d04a59c --- /dev/null +++ b/ext/digest/sha2/lib/sha2/loader.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require 'digest/sha2.so' diff --git a/ext/digest/sha2/sha2.c b/ext/digest/sha2/sha2.c index e7d7b15c5b..21d5acbe96 100644 --- a/ext/digest/sha2/sha2.c +++ b/ext/digest/sha2/sha2.c @@ -128,7 +128,7 @@ typedef u_int64_t sha2_word64; /* Exactly 8 bytes */ #define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16) -#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || defined(__GNUC__) || defined(_HPUX_SOURCE) || defined(__IBMC__) +#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || defined(__GNUC__) || defined(__IBMC__) #define ULL(number) number##ULL #else #define ULL(number) (uint64_t)(number) diff --git a/ext/digest/sha2/sha2init.c b/ext/digest/sha2/sha2init.c index 6ed275eb71..3923e3724c 100644 --- a/ext/digest/sha2/sha2init.c +++ b/ext/digest/sha2/sha2init.c @@ -25,29 +25,50 @@ static const rb_digest_metadata_t sha##bitlen = { \ FOREACH_BITLEN(DEFINE_ALGO_METADATA) /* + * Document-class: Digest::SHA256 < Digest::Base + * * Classes for calculating message digests using the SHA-256/384/512 * Secure Hash Algorithm(s) by NIST (the US' National Institute of * Standards and Technology), described in FIPS PUB 180-2. + * + * See SHA2. + */ +/* + * Document-class: Digest::SHA384 < Digest::Base + * + * Classes for calculating message digests using the SHA-256/384/512 + * Secure Hash Algorithm(s) by NIST (the US' National Institute of + * Standards and Technology), described in FIPS PUB 180-2. + * + * See SHA2. + */ +/* + * Document-class: Digest::SHA512 < Digest::Base + * + * Classes for calculating message digests using the SHA-256/384/512 + * Secure Hash Algorithm(s) by NIST (the US' National Institute of + * Standards and Technology), described in FIPS PUB 180-2. + * + * See SHA2. */ void Init_sha2(void) { - VALUE mDigest, cDigest_Base; + VALUE mDigest, cDigest_Base, cDigest_SHA2; ID id_metadata = rb_id_metadata(); -#define DECLARE_ALGO_CLASS(bitlen) \ - VALUE cDigest_SHA##bitlen; - - FOREACH_BITLEN(DECLARE_ALGO_CLASS) - +#if 0 + mDigest = rb_define_module("Digest"); /* let rdoc know */ +#endif mDigest = rb_digest_namespace(); - cDigest_Base = rb_path2class("Digest::Base"); + cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base")); + + cDigest_SHA2 = rb_define_class_under(mDigest, "SHA256", cDigest_Base); + rb_ivar_set(cDigest_SHA2, id_metadata, rb_digest_make_metadata(&sha256)); -#define DEFINE_ALGO_CLASS(bitlen) \ - cDigest_SHA##bitlen = rb_define_class_under(mDigest, "SHA" #bitlen, cDigest_Base); \ -\ - rb_ivar_set(cDigest_SHA##bitlen, id_metadata, \ - rb_digest_make_metadata(&sha##bitlen)); + cDigest_SHA2 = rb_define_class_under(mDigest, "SHA384", cDigest_Base); + rb_ivar_set(cDigest_SHA2, id_metadata, rb_digest_make_metadata(&sha384)); - FOREACH_BITLEN(DEFINE_ALGO_CLASS) + cDigest_SHA2 = rb_define_class_under(mDigest, "SHA512", cDigest_Base); + rb_ivar_set(cDigest_SHA2, id_metadata, rb_digest_make_metadata(&sha512)); } |