Hello community,

here is the log from the commit of package rubygem-bcrypt for openSUSE:Factory 
checked in at 2020-08-24 15:09:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-bcrypt (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-bcrypt.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-bcrypt"

Mon Aug 24 15:09:30 2020 rev:10 rq:828675 version:3.1.15

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-bcrypt/rubygem-bcrypt.changes    
2019-07-11 13:16:16.866807319 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-bcrypt.new.3399/rubygem-bcrypt.changes  
2020-08-24 15:09:56.870594195 +0200
@@ -1,0 +2,7 @@
+Sat Aug 22 13:00:51 UTC 2020 - Manuel Schnitzer <mschnit...@suse.com>
+
+- updated to version 3.1.15
+
+  * no changelog found
+
+-------------------------------------------------------------------

Old:
----
  bcrypt-3.1.13.gem

New:
----
  bcrypt-3.1.15.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-bcrypt.spec ++++++
--- /var/tmp/diff_new_pack.MNoD7n/_old  2020-08-24 15:09:57.674594586 +0200
+++ /var/tmp/diff_new_pack.MNoD7n/_new  2020-08-24 15:09:57.678594589 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-bcrypt
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-bcrypt
-Version:        3.1.13
+Version:        3.1.15
 Release:        0
 %define mod_name bcrypt
 %define mod_full_name %{mod_name}-%{version}
@@ -33,7 +33,7 @@
 BuildRequires:  %{rubygem gem2rpm}
 BuildRequires:  %{rubygem rdoc > 3.10}
 BuildRequires:  ruby-macros >= 5
-Url:            https://github.com/codahale/bcrypt-ruby
+URL:            https://github.com/codahale/bcrypt-ruby
 Source:         https://rubygems.org/gems/%{mod_full_name}.gem
 Source1:        rubygem-bcrypt-rpmlintrc
 Source2:        gem2rpm.yml

++++++ bcrypt-3.1.13.gem -> bcrypt-3.1.15.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.travis.yml new/.travis.yml
--- old/.travis.yml     2019-05-31 21:05:10.000000000 +0200
+++ new/.travis.yml     2020-07-21 23:21:56.000000000 +0200
@@ -14,4 +14,10 @@
   - ruby-head
   - jruby-head
   - rbx-3
+matrix:
+  allow_failures:
+    - rvm: ruby-head
+    - rvm: jruby-head
+    - rvm: rbx-3
+  fast_finish: true
 script: bundle exec rake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG new/CHANGELOG
--- old/CHANGELOG       2019-05-31 21:05:10.000000000 +0200
+++ new/CHANGELOG       2020-07-21 23:21:56.000000000 +0200
@@ -1,94 +1,101 @@
-1.0.0  Feb 27 2007
- - Initial release.
+3.1.15 July 21 2020
+  - Remove GVL optimization.  Apparently it breaks things [GH #230]
 
-2.0.0  Mar 07 2007
- - Removed BCrypt::Password#exactly_equals -- use BCrypt::Password#eql? 
instead.
- - Added BCrypt::Password#is_password?.
- - Refactored out BCrypt::Internals into more useful BCrypt::Engine.
- - Added validation of secrets -- nil is not healthy.
+3.1.14 July 21 2020
+  - Start calibration from the minimum cost supported by the algorithm [GH 
#206 by @sergey-alekseev]
 
-2.0.1  Mar 09 2007
- - Fixed load path issues
- - Fixed crashes when hashing weird values (e.g., false, etc.)
+3.1.13 May 31 2019
+  - No longer include compiled binaries for Windows. See GH #173.
+  - Update C and Java implementations to latest versions [GH #182 by @fonica]
+  - Bump default cost to 12 [GH #181 by @bdewater]
+  - Remove explicit support for Rubies 1.8 and 1.9
+  - Define SKIP_GNU token when building extension (Fixes FreeBSD >= 12) [GH 
#189 by @adam12]
 
-2.0.2  Jun 06 2007
- - Fixed example code in the README [Winson]
- - Fixed Solaris compatibility [Jeremy LaTrasse, Twitter crew]
+3.1.12 May 16 2018
+  - Add support for Ruby 2.3, 2.4, and 2.5 in compiled Windows binaries
+  - Fix compatibility with libxcrypt [GH #164 by @besser82]
 
-2.0.3  May 07 2008
- - Made exception classes descend from StandardError, not Exception [Dan42]
- - Changed BCrypt::Engine.hash to BCrypt::Engine.hash_secret to avoid Merb
-   sorting issues. [Lee Pope]
+3.1.11 Mar 06 2016
+  - Add support for Ruby 2.2 in compiled Windows binaries
 
-2.0.4  Mar 09 2009
-  - Added Ruby 1.9 compatibility. [Genki Takiuchi]
-  - Fixed segfaults on some different types of empty strings. [Mike Pomraning]
+3.1.10 Jan 28 2015
+  - Fix issue with dumping a BCrypt::Password instance to YAML in Ruby 2.2 [GH 
#107 by @mattwildig]
 
-2.0.5  Mar 11 2009
-  - Fixed Ruby 1.8.5 compatibility. [Mike Pomraning]
+3.1.9  Oct 23 2014
+  - Rebuild corrupt binaries
 
-2.1.0  Aug 12 2009
-  - Improved code coverage, unit tests, and build chain. [Hongli Lai]
-  - Ruby 1.9 compatibility fixes. [Hongli Lai]
-  - JRuby support, using Damien Miller's jBCrypt. [Hongli Lai]
-  - Ruby 1.9 GIL releasing for high-cost hashes. [Hongli Lai]
+3.1.8  Oct 23 2014
+  - Add support for Ruby 2.1 in compiled Windows binaries [GH #102]
 
-2.1.1  Aug 14 2009
-  - JVM 1.4/1.5 compatibility [Hongli Lai]
+3.1.7  Feb 24 2014
+  - Rebuild corrupt Java binary version of gem [GH #90]
+  - The 2.1 support for Windows binaries alleged in 3.1.3 was a lie -- 
documentation removed
 
-2.1.2  Sep 16 2009
-  - Fixed support for Solaris, OpenSolaris.
+3.1.6  Feb 21 2014
+  - Dummy version of "bcrypt-ruby" needed a couple version bumps to fix some
+    bugs. It felt wrong to have that at a higher version than the real gem, so
+    the real gem is getting bumped to 3.1.6.
 
-3.0.0  Aug 24 2011
-  - Bcrypt C implementation replaced with a public domain implementation.
-  - License changed to MIT
+3.1.3  Feb 21 2014
+  - Add support for Ruby 2.1 in compiled Windows binaries
+  - Rename gem from "bcrypt-ruby" to just "bcrypt". [GH #86 by @sferik]
 
-3.0.1  Sep 12 2011
-  - create raises an exception if the cost is higher than 31. GH #27
+3.1.2  Aug 26 2013
+  - Add support for Ruby 1.8 and 2.0 (in addition to 1.9) in compiled Windows 
binaries
+  - Add support for 64-bit Windows
+
+3.1.1  Jul 10 2013
+  - Remove support for Ruby 1.8 in compiled win32 binaries
 
 3.1.0  May 07 2013
   - Add BCrypt::Password.valid_hash?(str) to check if a string is a valid 
bcrypt password hash
   - BCrypt::Password cost should be set to DEFAULT_COST if nil
   - Add BCrypt::Engine.cost attribute for getting/setting a default cost 
externally
 
-3.1.1  Jul 10 2013
-  - Remove support for Ruby 1.8 in compiled win32 binaries
+3.0.1  Sep 12 2011
+  - create raises an exception if the cost is higher than 31. GH #27
 
-3.1.2  Aug 26 2013
-  - Add support for Ruby 1.8 and 2.0 (in addition to 1.9) in compiled Windows 
binaries
-  - Add support for 64-bit Windows
+3.0.0  Aug 24 2011
+  - Bcrypt C implementation replaced with a public domain implementation.
+  - License changed to MIT
 
-3.1.3  Feb 21 2014
-  - Add support for Ruby 2.1 in compiled Windows binaries
-  - Rename gem from "bcrypt-ruby" to just "bcrypt". [GH #86 by @sferik]
+2.1.2  Sep 16 2009
+  - Fixed support for Solaris, OpenSolaris.
 
-3.1.6  Feb 21 2014
-  - Dummy version of "bcrypt-ruby" needed a couple version bumps to fix some
-    bugs. It felt wrong to have that at a higher version than the real gem, so
-    the real gem is getting bumped to 3.1.6.
+2.1.1  Aug 14 2009
+  - JVM 1.4/1.5 compatibility [Hongli Lai]
 
-3.1.7  Feb 24 2014
-  - Rebuild corrupt Java binary version of gem [GH #90]
-  - The 2.1 support for Windows binaries alleged in 3.1.3 was a lie -- 
documentation removed
+2.1.0  Aug 12 2009
+  - Improved code coverage, unit tests, and build chain. [Hongli Lai]
+  - Ruby 1.9 compatibility fixes. [Hongli Lai]
+  - JRuby support, using Damien Miller's jBCrypt. [Hongli Lai]
+  - Ruby 1.9 GIL releasing for high-cost hashes. [Hongli Lai]
 
-3.1.8  Oct 23 2014
-  - Add support for Ruby 2.1 in compiled Windows binaries [GH #102]
+2.0.5  Mar 11 2009
+  - Fixed Ruby 1.8.5 compatibility. [Mike Pomraning]
 
-3.1.9  Oct 23 2014
-  - Rebuild corrupt binaries
+2.0.4  Mar 09 2009
+  - Added Ruby 1.9 compatibility. [Genki Takiuchi]
+  - Fixed segfaults on some different types of empty strings. [Mike Pomraning]
 
-3.1.10 Jan 28 2015
-  - Fix issue with dumping a BCrypt::Password instance to YAML in Ruby 2.2 [GH 
#107 by @mattwildig]
+2.0.3  May 07 2008
+ - Made exception classes descend from StandardError, not Exception [Dan42]
+ - Changed BCrypt::Engine.hash to BCrypt::Engine.hash_secret to avoid Merb
+   sorting issues. [Lee Pope]
 
-3.1.11 Mar 06 2016
-  - Add support for Ruby 2.2 in compiled Windows binaries
+2.0.2  Jun 06 2007
+ - Fixed example code in the README [Winson]
+ - Fixed Solaris compatibility [Jeremy LaTrasse, Twitter crew]
 
-3.1.12 May 16 2018
-  - Add support for Ruby 2.3, 2.4, and 2.5 in compiled Windows binaries
-  - Fix compatibility with libxcrypt [GH #164 by @besser82]
+2.0.1  Mar 09 2007
+ - Fixed load path issues
+ - Fixed crashes when hashing weird values (e.g., false, etc.)
 
-[DRAFT] 4.0.0 MMM DD YYYY
-  - No longer include compiled binaries for Windows. See GH #173.
-  - Update C and Java implementations to latest versions [GH #182 by @fonica]
-  - Bump default cost to 12 [GH #181 by @bdewater]
-  - Remove explicit support for Rubies 1.8 and 1.9
+2.0.0  Mar 07 2007
+ - Removed BCrypt::Password#exactly_equals -- use BCrypt::Password#eql? 
instead.
+ - Added BCrypt::Password#is_password?.
+ - Refactored out BCrypt::Internals into more useful BCrypt::Engine.
+ - Added validation of secrets -- nil is not healthy.
+
+1.0.0  Feb 27 2007
+ - Initial release.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Gemfile.lock new/Gemfile.lock
--- old/Gemfile.lock    2019-05-31 21:05:10.000000000 +0200
+++ new/Gemfile.lock    2020-07-21 23:21:56.000000000 +0200
@@ -1,28 +1,28 @@
 PATH
   remote: .
   specs:
-    bcrypt (3.1.13)
+    bcrypt (3.1.15)
 
 GEM
   remote: https://rubygems.org/
   specs:
-    diff-lcs (1.3)
-    rake (12.3.2)
+    diff-lcs (1.4.4)
+    rake (13.0.1)
     rake-compiler (0.9.9)
       rake
-    rspec (3.8.0)
-      rspec-core (~> 3.8.0)
-      rspec-expectations (~> 3.8.0)
-      rspec-mocks (~> 3.8.0)
-    rspec-core (3.8.0)
-      rspec-support (~> 3.8.0)
-    rspec-expectations (3.8.3)
+    rspec (3.9.0)
+      rspec-core (~> 3.9.0)
+      rspec-expectations (~> 3.9.0)
+      rspec-mocks (~> 3.9.0)
+    rspec-core (3.9.2)
+      rspec-support (~> 3.9.3)
+    rspec-expectations (3.9.2)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.8.0)
-    rspec-mocks (3.8.0)
+      rspec-support (~> 3.9.0)
+    rspec-mocks (3.9.1)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.8.0)
-    rspec-support (3.8.0)
+      rspec-support (~> 3.9.0)
+    rspec-support (3.9.3)
 
 PLATFORMS
   java
@@ -34,4 +34,4 @@
   rspec (>= 3)
 
 BUNDLED WITH
-   1.16.1
+   2.2.0.dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Rakefile new/Rakefile
--- old/Rakefile        2019-05-31 21:05:10.000000000 +0200
+++ new/Rakefile        2020-07-21 23:21:56.000000000 +0200
@@ -50,6 +50,8 @@
 if RUBY_PLATFORM =~ /java/
   Rake::JavaExtensionTask.new('bcrypt_ext', GEMSPEC) do |ext|
     ext.ext_dir = 'ext/jruby'
+    ext.source_version = "1.7"
+    ext.target_version = "1.7"
   end
 else
   Rake::ExtensionTask.new("bcrypt_ext", GEMSPEC) do |ext|
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bcrypt.gemspec new/bcrypt.gemspec
--- old/bcrypt.gemspec  2019-05-31 21:05:10.000000000 +0200
+++ new/bcrypt.gemspec  2020-07-21 23:21:56.000000000 +0200
@@ -1,6 +1,6 @@
 Gem::Specification.new do |s|
   s.name = 'bcrypt'
-  s.version = '3.1.13'
+  s.version = '3.1.15'
 
   s.summary = "OpenBSD's bcrypt() password hashing algorithm."
   s.description = <<-EOF
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/mri/bcrypt_ext.c new/ext/mri/bcrypt_ext.c
--- old/ext/mri/bcrypt_ext.c    2019-05-31 21:05:10.000000000 +0200
+++ new/ext/mri/bcrypt_ext.c    2020-07-21 23:21:56.000000000 +0200
@@ -19,7 +19,7 @@
     if(!salt) return Qnil;
 
     str_salt = rb_str_new2(salt);
-    xfree(salt);
+    free(salt);
 
     return str_salt;
 }
@@ -43,7 +43,7 @@
            &data,
            &size);
 
-    if(!value) return Qnil;
+    if(!value || !data) return Qnil;
 
     out = rb_str_new2(value);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/mri/crypt_blowfish.c new/ext/mri/crypt_blowfish.c
--- old/ext/mri/crypt_blowfish.c        2019-05-31 21:05:10.000000000 +0200
+++ new/ext/mri/crypt_blowfish.c        2020-07-21 23:21:56.000000000 +0200
@@ -361,7 +361,7 @@
        }
 };
 
-static unsigned char BF_itoa64[64 + 1] =
+static const unsigned char BF_itoa64[64 + 1] =
        "./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
 
 static unsigned char BF_atoi64[0x60] = {
@@ -387,9 +387,8 @@
        unsigned char *dptr = (unsigned char *)dst;
        unsigned char *end = dptr + size;
        const unsigned char *sptr = (const unsigned char *)src;
-       unsigned int tmp, c1, c2, c3, c4;
-
        do {
+               unsigned int tmp, c1, c2, c3, c4;
                BF_safe_atoi64(c1, *sptr++);
                BF_safe_atoi64(c2, *sptr++);
                *dptr++ = (c1 << 2) | ((c2 & 0x30) >> 4);
@@ -402,7 +401,6 @@
                BF_safe_atoi64(c4, *sptr++);
                *dptr++ = ((c3 & 0x03) << 6) | c4;
        } while (dptr < end);
-
        return 0;
 }
 
@@ -411,9 +409,8 @@
        const unsigned char *sptr = (const unsigned char *)src;
        const unsigned char *end = sptr + size;
        unsigned char *dptr = (unsigned char *)dst;
-       unsigned int c1, c2;
-
        do {
+               unsigned int c1, c2;
                c1 = *sptr++;
                *dptr++ = BF_itoa64[c1 >> 2];
                c1 = (c1 & 0x03) << 4;
@@ -442,10 +439,9 @@
 {
        static int endianness_check = 1;
        char *is_little_endian = (char *)&endianness_check;
-       BF_word tmp;
-
        if (*is_little_endian)
        do {
+               BF_word tmp;
                tmp = *x;
                tmp = (tmp << 16) | (tmp >> 16);
                *x++ = ((tmp & 0x00FF00FF) << 8) | ((tmp >> 8) & 0x00FF00FF);
@@ -517,7 +513,7 @@
        R = L; \
        L = tmp4 ^ data.ctx.P[BF_N + 1];
 
-#if BF_ASM
+#if BF_ASM == 1
 #define BF_body() \
        _BF_body_r(&data.ctx);
 #else
@@ -650,7 +646,7 @@
        char *output, int size,
        BF_word min)
 {
-#if BF_ASM
+#if BF_ASM == 1
        extern void _BF_body_r(BF_ctx *ctx);
 #endif
        struct {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/mri/crypt_gensalt.c new/ext/mri/crypt_gensalt.c
--- old/ext/mri/crypt_gensalt.c 2019-05-31 21:05:10.000000000 +0200
+++ new/ext/mri/crypt_gensalt.c 2020-07-21 23:21:56.000000000 +0200
@@ -28,7 +28,7 @@
 /* Just to make sure the prototypes match the actual definitions */
 #include "crypt_gensalt.h"
 
-unsigned char _crypt_itoa64[64 + 1] =
+const unsigned char _crypt_itoa64[64 + 1] =
        "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
 
 char *_crypt_gensalt_traditional_rn(const char *prefix, unsigned long count,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/mri/crypt_gensalt.h new/ext/mri/crypt_gensalt.h
--- old/ext/mri/crypt_gensalt.h 2019-05-31 21:05:10.000000000 +0200
+++ new/ext/mri/crypt_gensalt.h 2020-07-21 23:21:56.000000000 +0200
@@ -17,7 +17,7 @@
 #ifndef _CRYPT_GENSALT_H
 #define _CRYPT_GENSALT_H
 
-extern unsigned char _crypt_itoa64[];
+extern const unsigned char _crypt_itoa64[];
 extern char *_crypt_gensalt_traditional_rn(const char *prefix,
        unsigned long count,
        const char *input, int size, char *output, int output_size);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/mri/wrapper.c new/ext/mri/wrapper.c
--- old/ext/mri/wrapper.c       2019-05-31 21:05:10.000000000 +0200
+++ new/ext/mri/wrapper.c       2020-07-21 23:21:56.000000000 +0200
@@ -17,6 +17,9 @@
 #include <stdlib.h>
 #include <string.h>
 
+/* Redefine strdup to ruby_strdup in case string.h doesn't export it. */
+#include <ruby/util.h>
+
 #include <errno.h>
 #ifndef __set_errno
 #define __set_errno(val) errno = (val)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/mri/x86.S new/ext/mri/x86.S
--- old/ext/mri/x86.S   2019-05-31 21:05:10.000000000 +0200
+++ new/ext/mri/x86.S   2020-07-21 23:21:56.000000000 +0200
@@ -199,5 +199,5 @@
 #endif
 
 #if defined(__ELF__) && defined(__linux__)
-.section .note.GNU-stack,"",@progbits
+.section .note.GNU-stack,"",%progbits
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bcrypt/engine.rb new/lib/bcrypt/engine.rb
--- old/lib/bcrypt/engine.rb    2019-05-31 21:05:10.000000000 +0200
+++ new/lib/bcrypt/engine.rb    2020-07-21 23:21:56.000000000 +0200
@@ -5,6 +5,8 @@
     DEFAULT_COST    = 12
     # The minimum cost supported by the algorithm.
     MIN_COST        = 4
+    # The maximum cost supported by the algorithm.
+    MAX_COST = 31
     # Maximum possible size of bcrypt() salts.
     MAX_SALT_LENGTH = 16
 
@@ -99,7 +101,7 @@
     #   # should take less than 1000ms
     #   BCrypt::Password.create("woo", :cost => 12)
     def self.calibrate(upper_time_limit_in_ms)
-      40.times do |i|
+      (BCrypt::Engine::MIN_COST..BCrypt::Engine::MAX_COST-1).each do |i|
         start_time = Time.now
         Password.create("testing testing", :cost => i+1)
         end_time = Time.now - start_time
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bcrypt/password.rb new/lib/bcrypt/password.rb
--- old/lib/bcrypt/password.rb  2019-05-31 21:05:10.000000000 +0200
+++ new/lib/bcrypt/password.rb  2020-07-21 23:21:56.000000000 +0200
@@ -42,12 +42,12 @@
       #   @password = BCrypt::Password.create("my secret", :cost => 13)
       def create(secret, options = {})
         cost = options[:cost] || BCrypt::Engine.cost
-        raise ArgumentError if cost > 31
+        raise ArgumentError if cost > BCrypt::Engine::MAX_COST
         Password.new(BCrypt::Engine.hash_secret(secret, 
BCrypt::Engine.generate_salt(cost)))
       end
 
       def valid_hash?(h)
-        h =~ /^\$[0-9a-z]{2}\$[0-9]{2}\$[A-Za-z0-9\.\/]{53}$/
+        /^\$[0-9a-z]{2}\$[0-9]{2}\$[A-Za-z0-9\.\/]{53}$/ === h
       end
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2019-05-31 21:05:10.000000000 +0200
+++ new/metadata        2020-07-21 23:21:56.000000000 +0200
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: bcrypt
 version: !ruby/object:Gem::Version
-  version: 3.1.13
+  version: 3.1.15
 platform: ruby
 authors:
 - Coda Hale
 autorequire:
 bindir: bin
 cert_chain: []
-date: 2019-05-31 00:00:00.000000000 Z
+date: 2020-07-21 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   requirement: !ruby/object:Gem::Requirement
@@ -17,8 +17,8 @@
       - !ruby/object:Gem::Version
         version: 0.9.2
   name: rake-compiler
-  prerelease: false
   type: :development
+  prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - "~>"
@@ -31,8 +31,8 @@
       - !ruby/object:Gem::Version
         version: '3'
   name: rspec
-  prerelease: false
   type: :development
+  prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - ">="
@@ -112,8 +112,7 @@
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubyforge_project:
-rubygems_version: 2.7.6
+rubygems_version: 3.0.6
 signing_key:
 specification_version: 4
 summary: OpenBSD's bcrypt() password hashing algorithm.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/bcrypt/engine_spec.rb 
new/spec/bcrypt/engine_spec.rb
--- old/spec/bcrypt/engine_spec.rb      2019-05-31 21:05:10.000000000 +0200
+++ new/spec/bcrypt/engine_spec.rb      2020-07-21 23:21:56.000000000 +0200
@@ -1,5 +1,15 @@
 require File.expand_path(File.join(File.dirname(__FILE__), "..", 
"spec_helper"))
 
+describe 'BCrypt::Engine' do
+  describe '.calibrate(upper_time_limit_in_ms)' do
+    context 'a tiny upper time limit provided' do
+      it 'returns a minimum cost supported by the algorithm' do
+        expect(BCrypt::Engine.calibrate(0.001)).to eq(4)
+      end
+    end
+  end
+end
+
 describe "The BCrypt engine" do
   specify "should calculate the optimal cost factor to fit in a specific time" 
do
     first = BCrypt::Engine.calibrate(100)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/bcrypt/password_spec.rb 
new/spec/bcrypt/password_spec.rb
--- old/spec/bcrypt/password_spec.rb    2019-05-31 21:05:10.000000000 +0200
+++ new/spec/bcrypt/password_spec.rb    2020-07-21 23:21:56.000000000 +0200
@@ -116,9 +116,9 @@
 
 describe "Validating a password hash" do
   specify "should not accept an invalid password" do
-    expect(BCrypt::Password.valid_hash?("i_am_so_not_valid")).to be_falsey
+    expect(BCrypt::Password.valid_hash?("i_am_so_not_valid")).to be(false)
   end
   specify "should accept a valid password" do
-    expect(BCrypt::Password.valid_hash?(BCrypt::Password.create 
"i_am_so_valid")).to be_truthy
+    expect(BCrypt::Password.valid_hash?(BCrypt::Password.create 
"i_am_so_valid")).to be(true)
   end
 end


Reply via email to