digest 1.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 167eabf30e08121767b43efb87416093469e9b13742ec848645eb1e0108fbd01
4
- data.tar.gz: 2689f6fc2502e420fc0b07ea1318f280089c9983c3081003a275e29b12cf9bfc
3
+ metadata.gz: ca0a4032ec35dc7d0948a072263772ccb40fec3d5244a693bdca359641d88a53
4
+ data.tar.gz: 5ac7e173aabf71b6154168c34b3d630ca531a10233451f5ab9e7d9112cf5d889
5
5
  SHA512:
6
- metadata.gz: 1bb1bb02c2d95a2e11b305ca813a8af85f7edb47b0eb4b2300b383af38be233ebf48ea4ba63467c8991a37ff03f676f3c01c5317221d8019dfd5d5b2a0db5442
7
- data.tar.gz: 4fe7e3d971977df6eec664073973a26b29bb413c3975a254953c74fc8845ddefb003a8eeed1aa5a8ee9fe5b38b21ec774f33dabfba0db2e9542555cfd5373965
6
+ metadata.gz: 64ff7f9e99ae227bc21477c909485128d4a45ab6a183a8984fb227de8f83d3380b9e80f695f3d59614d0a7f0bc7dff4226ba68ac9905d4631f79e34e68c6fe88
7
+ data.tar.gz: ff8b0a0e1193e9507f7c53757e005fbe1de229c2c09cdcb54299afef88e050057a66cd597e3c3e1ad7c17967a07d33a7b1ad14fd9245ef9d51d3db9286589d42
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Digest
2
2
 
3
- [![Build Status](https://travis-ci.org/ruby/digest.svg?branch=master)](https://travis-ci.org/ruby/digest)
3
+ ![CI](https://github.com/ruby/digest/workflows/CI/badge.svg?branch=master&event=push)
4
4
 
5
5
  This module provides a framework for message digest libraries.
6
6
 
data/Rakefile CHANGED
@@ -2,12 +2,12 @@ require "bundler/gem_tasks"
2
2
  require "rake/testtask"
3
3
 
4
4
  Rake::TestTask.new(:test) do |t|
5
- t.libs << "test" << "test/lib"
6
- t.libs << "lib"
5
+ ENV["RUBYOPT"] = "-Itest -Itest/lib -Ilib"
7
6
  t.test_files = FileList["test/**/test_*.rb"]
8
7
  end
9
8
 
10
9
  require 'rake/extensiontask'
10
+ Rake::ExtensionTask.new("digest")
11
11
  %w(bubblebabble md5 rmd160 sha1 sha2).each do |ext|
12
12
  Rake::ExtensionTask.new("digest/#{ext}")
13
13
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "digest"
6
- spec.version = "1.0.0"
6
+ spec.version = "3.0.0"
7
7
  spec.authors = ["Akinori MUSHA"]
8
8
  spec.email = ["knu@idaemons.org"]
9
9
 
@@ -13,17 +13,19 @@ Gem::Specification.new do |spec|
13
13
  spec.licenses = ["Ruby", "BSD-2-Clause"]
14
14
 
15
15
  spec.files = [
16
- ".gitignore", ".travis.yml", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "bin/console", "bin/setup",
17
- "digest.gemspec", "ext/digest/bubblebabble/bubblebabble.c", "ext/digest/bubblebabble/extconf.rb", "ext/digest/defs.h",
16
+ "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "bin/console", "bin/setup", "digest.gemspec",
17
+ "ext/digest/bubblebabble/bubblebabble.c", "ext/digest/bubblebabble/extconf.rb", "ext/digest/defs.h",
18
18
  "ext/digest/digest.c", "ext/digest/digest.h", "ext/digest/digest_conf.rb", "ext/digest/extconf.rb",
19
19
  "ext/digest/md5/extconf.rb", "ext/digest/md5/md5.c", "ext/digest/md5/md5.h", "ext/digest/md5/md5cc.h",
20
20
  "ext/digest/md5/md5init.c", "ext/digest/rmd160/extconf.rb", "ext/digest/rmd160/rmd160.c",
21
- "ext/digest/rmd160/rmd160.h", "ext/digest/rmd160/rmd160init.c",
22
- "ext/digest/sha1/extconf.rb", "ext/digest/sha1/sha1.c", "ext/digest/sha1/sha1.h", "ext/digest/sha1/sha1cc.h",
21
+ "ext/digest/rmd160/rmd160.h", "ext/digest/rmd160/rmd160init.c", "ext/digest/sha1/extconf.rb",
22
+ "ext/digest/sha1/sha1.c", "ext/digest/sha1/sha1.h", "ext/digest/sha1/sha1cc.h",
23
23
  "ext/digest/sha1/sha1init.c", "ext/digest/sha2/extconf.rb", "ext/digest/sha2/lib/sha2.rb",
24
- "ext/digest/sha2/sha2.c", "ext/digest/sha2/sha2.h", "ext/digest/sha2/sha2cc.h", "ext/digest/sha2/sha2init.c",
25
- "ext/digest/test.sh", "ext/openssl/deprecation.rb", "lib/digest.rb"
24
+ "ext/digest/sha2/sha2.c", "ext/digest/sha2/sha2.h", "ext/digest/sha2/sha2cc.h",
25
+ "ext/digest/sha2/sha2init.c", "ext/digest/test.sh", "ext/openssl/deprecation.rb",
26
+ "lib/digest.rb"
26
27
  ]
28
+
27
29
  spec.required_ruby_version = ">= 2.3.0"
28
30
 
29
31
  spec.bindir = "exe"
@@ -765,6 +765,10 @@ InitVM_digest(void)
765
765
  */
766
766
  rb_mDigest = rb_define_module("Digest");
767
767
 
768
+ #ifdef HAVE_RB_EXT_RACTOR_SAFE
769
+ rb_ext_ractor_safe(true);
770
+ #endif
771
+
768
772
  /* module functions */
769
773
  rb_define_module_function(rb_mDigest, "hexencode", rb_digest_s_hexencode, 1);
770
774
 
@@ -62,3 +62,11 @@ rb_id_metadata(void)
62
62
  {
63
63
  return rb_intern_const("metadata");
64
64
  }
65
+
66
+ static inline VALUE
67
+ rb_digest_make_metadata(const rb_digest_metadata_t *meta)
68
+ {
69
+ #undef RUBY_UNTYPED_DATA_WARNING
70
+ #define RUBY_UNTYPED_DATA_WARNING 0
71
+ return rb_obj_freeze(Data_Wrap_Struct(0, 0, 0, (void *)meta));
72
+ }
@@ -57,8 +57,5 @@ Init_md5(void)
57
57
 
58
58
  cDigest_MD5 = rb_define_class_under(mDigest, "MD5", cDigest_Base);
59
59
 
60
- #undef RUBY_UNTYPED_DATA_WARNING
61
- #define RUBY_UNTYPED_DATA_WARNING 0
62
- rb_iv_set(cDigest_MD5, "metadata",
63
- Data_Wrap_Struct(0, 0, 0, (void *)&md5));
60
+ rb_iv_set(cDigest_MD5, "metadata", rb_digest_make_metadata(&md5));
64
61
  }
@@ -53,8 +53,5 @@ Init_rmd160(void)
53
53
 
54
54
  cDigest_RMD160 = rb_define_class_under(mDigest, "RMD160", cDigest_Base);
55
55
 
56
- #undef RUBY_UNTYPED_DATA_WARNING
57
- #define RUBY_UNTYPED_DATA_WARNING 0
58
- rb_iv_set(cDigest_RMD160, "metadata",
59
- Data_Wrap_Struct(0, 0, 0, (void *)&rmd160));
56
+ rb_iv_set(cDigest_RMD160, "metadata", rb_digest_make_metadata(&rmd160));
60
57
  }
@@ -59,8 +59,5 @@ Init_sha1(void)
59
59
 
60
60
  cDigest_SHA1 = rb_define_class_under(mDigest, "SHA1", cDigest_Base);
61
61
 
62
- #undef RUBY_UNTYPED_DATA_WARNING
63
- #define RUBY_UNTYPED_DATA_WARNING 0
64
- rb_iv_set(cDigest_SHA1, "metadata",
65
- Data_Wrap_Struct(0, 0, 0, (void *)&sha1));
62
+ rb_iv_set(cDigest_SHA1, "metadata", rb_digest_make_metadata(&sha1));
66
63
  }
@@ -47,9 +47,7 @@ Init_sha2(void)
47
47
  cDigest_SHA##bitlen = rb_define_class_under(mDigest, "SHA" #bitlen, cDigest_Base); \
48
48
  \
49
49
  rb_ivar_set(cDigest_SHA##bitlen, id_metadata, \
50
- Data_Wrap_Struct(0, 0, 0, (void *)&sha##bitlen));
50
+ rb_digest_make_metadata(&sha##bitlen));
51
51
 
52
- #undef RUBY_UNTYPED_DATA_WARNING
53
- #define RUBY_UNTYPED_DATA_WARNING 0
54
52
  FOREACH_BITLEN(DEFINE_ALGO_CLASS)
55
53
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: digest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akinori MUSHA
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-03 00:00:00.000000000 Z
11
+ date: 2020-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -65,8 +65,6 @@ extensions:
65
65
  - ext/digest/sha2/extconf.rb
66
66
  extra_rdoc_files: []
67
67
  files:
68
- - ".gitignore"
69
- - ".travis.yml"
70
68
  - Gemfile
71
69
  - LICENSE.txt
72
70
  - README.md
@@ -110,7 +108,7 @@ licenses:
110
108
  - BSD-2-Clause
111
109
  metadata:
112
110
  msys2_mingw_dependencies: openssl
113
- post_install_message:
111
+ post_install_message:
114
112
  rdoc_options: []
115
113
  require_paths:
116
114
  - lib
@@ -125,8 +123,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
123
  - !ruby/object:Gem::Version
126
124
  version: '0'
127
125
  requirements: []
128
- rubygems_version: 3.2.0.rc.2
129
- signing_key:
126
+ rubygems_version: 3.2.2
127
+ signing_key:
130
128
  specification_version: 4
131
129
  summary: Provides a framework for message digest libraries.
132
130
  test_files: []
data/.gitignore DELETED
@@ -1,12 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- *.bundle
11
- *.so
12
- *.o
@@ -1,8 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.6
5
- - 2.4.3
6
- - 2.5.0
7
- - ruby-head
8
- before_install: gem install bundler