зеркало из https://github.com/github/ruby.git
lib/securerandom.rb: Fix the check of availability of Random.urandom
Random.urandom raises a RuntimeError if it is unavailable. [Bug #13885]
This commit is contained in:
Родитель
e7d76fe2b0
Коммит
b9851c7e1b
|
@ -72,8 +72,11 @@ module SecureRandom
|
||||||
ret
|
ret
|
||||||
end
|
end
|
||||||
|
|
||||||
ret = Random.urandom(1)
|
begin
|
||||||
if ret.nil?
|
# Check if Random.urandom is available
|
||||||
|
Random.urandom(1)
|
||||||
|
alias gen_random gen_random_urandom
|
||||||
|
rescue RuntimeError
|
||||||
begin
|
begin
|
||||||
require 'openssl'
|
require 'openssl'
|
||||||
rescue NoMethodError
|
rescue NoMethodError
|
||||||
|
@ -81,8 +84,6 @@ module SecureRandom
|
||||||
else
|
else
|
||||||
alias gen_random gen_random_openssl
|
alias gen_random gen_random_openssl
|
||||||
end
|
end
|
||||||
else
|
|
||||||
alias gen_random gen_random_urandom
|
|
||||||
end
|
end
|
||||||
|
|
||||||
public :gen_random
|
public :gen_random
|
||||||
|
|
Загрузка…
Ссылка в новой задаче