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