diff options
author | David Schmitt <david.schmitt@puppetlabs.com> | 2015-05-12 15:01:55 +0100 |
---|---|---|
committer | David Schmitt <david.schmitt@puppetlabs.com> | 2015-05-26 14:25:43 +0100 |
commit | 0dc0e0dbcf9574ed1515cf6cfe2800f06d8c1d0e (patch) | |
tree | 6ea424514044c11258623f26cb380d38d51c8816 /lib/puppet | |
parent | 6cf64f1028cbb290a6254b5e753072f65c9336fa (diff) | |
download | puppet-stdlib-0dc0e0dbcf9574ed1515cf6cfe2800f06d8c1d0e.tar.gz puppet-stdlib-0dc0e0dbcf9574ed1515cf6cfe2800f06d8c1d0e.tar.bz2 |
fqdn_rotate: reset srand seed correctly on old ruby versions
Without this, the global seed is reseeded on every use
of fqdn_rotate, which is a waste. Older rubies might even use a
time-base seed which adversly impacts the quality of the RNG.
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/parser/functions/fqdn_rotate.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/puppet/parser/functions/fqdn_rotate.rb b/lib/puppet/parser/functions/fqdn_rotate.rb index cf22d36..d9741a0 100644 --- a/lib/puppet/parser/functions/fqdn_rotate.rb +++ b/lib/puppet/parser/functions/fqdn_rotate.rb @@ -39,9 +39,9 @@ Rotates an array a random number of times based on a nodes fqdn. if defined?(Random) == 'constant' && Random.class == Class offset = Random.new(seed).rand(elements) else - srand(seed) + old_seed = srand(seed) offset = rand(elements) - srand() + srand(old_seed) end end offset.times { |