From 0ce00dce21286b03fdc85d343a3694813b087146 Mon Sep 17 00:00:00 2001 From: yugui Date: Thu, 2 Dec 2010 08:05:48 +0000 Subject: [PATCH] merges r29407 from trunk into ruby_1_9_2. -- * ext/openssl/lib/openssl/bn.rb (Integer#to_bn): OpenSSL::BN.new accepts only Strings, so call Integer#to_s(16). 16 is for an optimization. [ruby-dev:42336] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ ext/openssl/lib/openssl/bn.rb | 2 +- test/openssl/test_bn.rb | 5 +++++ version.h | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index a2cbd54141..d348b2e9f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Oct 4 09:30:42 2010 NARUSE, Yui + + * ext/openssl/lib/openssl/bn.rb (Integer#to_bn): OpenSSL::BN.new + accepts only Strings, so call Integer#to_s(16). + 16 is for an optimization. [ruby-dev:42336] + Mon Oct 4 07:57:51 2010 NARUSE, Yui * cont.c (fiber_memsize): Return size. diff --git a/ext/openssl/lib/openssl/bn.rb b/ext/openssl/lib/openssl/bn.rb index e7cbf2cfaf..624c13715c 100644 --- a/ext/openssl/lib/openssl/bn.rb +++ b/ext/openssl/lib/openssl/bn.rb @@ -29,7 +29,7 @@ end # OpenSSL # class Integer def to_bn - OpenSSL::BN::new(self) + OpenSSL::BN::new(self.to_s(16), 16) end end # Integer diff --git a/test/openssl/test_bn.rb b/test/openssl/test_bn.rb index da77a556b0..d913d0c953 100644 --- a/test/openssl/test_bn.rb +++ b/test/openssl/test_bn.rb @@ -8,6 +8,11 @@ require "test/unit" if defined?(OpenSSL) class OpenSSL::TestBN < Test::Unit::TestCase + def test_integer_to_bn + assert_equal(999.to_bn, OpenSSL::BN.new(999.to_s(16), 16)) + assert_equal((2 ** 107 - 1).to_bn, OpenSSL::BN.new((2 ** 107 - 1).to_s(16), 16)) + end + def test_prime_p OpenSSL::BN.new((2 ** 107 - 1).to_s(16), 16).prime? OpenSSL::BN.new((2 ** 127 - 1).to_s(16), 16).prime?(1) diff --git a/version.h b/version.h index a6abdb2aab..7c34855974 100644 --- a/version.h +++ b/version.h @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 58 +#define RUBY_PATCHLEVEL 59 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1