digest 1.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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