* lib/securerandom.rb (initialize): call the special method for Win32
before cheking `/dev/urandom` because we know windows doesn't have it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
6999a86600
commit
dc79945a2b
@ -1,3 +1,8 @@
|
|||||||
|
Sun Nov 9 05:00:23 2014 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
|
* lib/securerandom.rb (initialize): call the special method for Win32
|
||||||
|
before cheking `/dev/urandom` because we know windows doesn't have it.
|
||||||
|
|
||||||
Sun Nov 9 04:01:46 2014 NAKAMURA Usaku <usa@ruby-lang.org>
|
Sun Nov 9 04:01:46 2014 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
* lib/securerandom.rb (SecureRandom::AdvApi32): split from `initialize`.
|
* lib/securerandom.rb (SecureRandom::AdvApi32): split from `initialize`.
|
||||||
|
@ -119,6 +119,10 @@ module SecureRandom
|
|||||||
return OpenSSL::Random.random_bytes(n)
|
return OpenSSL::Random.random_bytes(n)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if defined?(AdvApi32)
|
||||||
|
return AdvApi32.gen_random(n)
|
||||||
|
end
|
||||||
|
|
||||||
if !defined?(@has_urandom) || @has_urandom
|
if !defined?(@has_urandom) || @has_urandom
|
||||||
flags = File::RDONLY
|
flags = File::RDONLY
|
||||||
flags |= File::NONBLOCK if defined? File::NONBLOCK
|
flags |= File::NONBLOCK if defined? File::NONBLOCK
|
||||||
@ -140,10 +144,6 @@ module SecureRandom
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if defined?(AdvApi32)
|
|
||||||
return AdvApi32.gen_random(n)
|
|
||||||
end
|
|
||||||
|
|
||||||
raise NotImplementedError, "No random device"
|
raise NotImplementedError, "No random device"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user