<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/securerandom.rb, branch v2_2_6</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 54144: [Backport #12139]</title>
<updated>2016-04-22T09:17:57+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-04-22T09:17:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cb66eaab150fe8687c3b7b5bdd082c9016223b87'/>
<id>cb66eaab150fe8687c3b7b5bdd082c9016223b87</id>
<content type='text'>
	* lib/securerandom.rb (gen_random): to avoid blocking on Windows.
	  On Windows OpenSSL RAND_bytes (underlying implementation is
	  RAND_poll in crypto/rand/rand_win.c) may be blocked at
	  NetStatisticsGet.
	  https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues
	  Instead of this, use Random.raw_seed directory (whose implementation
	  CryptGenRandom is one of the source of
	  entropy of RAND_poll on Windows).
	  https://wiki.openssl.org/index.php/Random_Numbers
	  Note: CryptGenRandom function is PRNG and doesn't check its entropy,
	  so it won't block. [Bug #12139]
	  https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx
	  https://tools.ietf.org/html/rfc4086#section-7.1.3
	  https://eprint.iacr.org/2007/419.pdf
	  http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@54693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* lib/securerandom.rb (gen_random): to avoid blocking on Windows.
	  On Windows OpenSSL RAND_bytes (underlying implementation is
	  RAND_poll in crypto/rand/rand_win.c) may be blocked at
	  NetStatisticsGet.
	  https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues
	  Instead of this, use Random.raw_seed directory (whose implementation
	  CryptGenRandom is one of the source of
	  entropy of RAND_poll on Windows).
	  https://wiki.openssl.org/index.php/Random_Numbers
	  Note: CryptGenRandom function is PRNG and doesn't check its entropy,
	  so it won't block. [Bug #12139]
	  https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx
	  https://tools.ietf.org/html/rfc4086#section-7.1.3
	  https://eprint.iacr.org/2007/419.pdf
	  http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@54693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/securerandom.rb: skip Win32 libraries in SecureRandom if</title>
<updated>2015-04-13T04:10:25+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-04-13T04:10:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c620acaced507cd0d61e7e9d7acbeca9cb99f158'/>
<id>c620acaced507cd0d61e7e9d7acbeca9cb99f158</id>
<content type='text'>
  OpenSSL::Random is available.
  https://github.com/ruby/ruby/pull/848 [Bug #10948] [Bug #10995]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@50281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  OpenSSL::Random is available.
  https://github.com/ruby/ruby/pull/848 [Bug #10948] [Bug #10995]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@50281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>securerandom.rb: separate implementations</title>
<updated>2014-11-09T03:16:24+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-11-09T03:16:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=93ccab82c55f36fc2e5aee2b53cbc90f56bb94a0'/>
<id>93ccab82c55f36fc2e5aee2b53cbc90f56bb94a0</id>
<content type='text'>
* lib/securerandom.rb (SecureRandom.gen_random): separate
  implementation details and select at the load time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/securerandom.rb (SecureRandom.gen_random): separate
  implementation details and select at the load time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>securerandom.rb: fix substring of FormatMessage result</title>
<updated>2014-11-09T01:31:05+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-11-09T01:31:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7d7bdcc5c695e96b353ee783c79ae3de76206155'/>
<id>7d7bdcc5c695e96b353ee783c79ae3de76206155</id>
<content type='text'>
* lib/securerandom.rb: set the script encoding to make a string
  literal in SecureRandom::Kernel32.last_error_message single byte
  encoding so msg[] works in bytes, since FormatMessage() returns
  the size in TCHARs, not in characters.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/securerandom.rb: set the script encoding to make a string
  literal in SecureRandom::Kernel32.last_error_message single byte
  encoding so msg[] works in bytes, since FormatMessage() returns
  the size in TCHARs, not in characters.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/securerandom.rb (initialize): call the special method for Win32</title>
<updated>2014-11-08T20:01:24+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-11-08T20:01:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=dc79945a2ba8fb019431633eae6521df706a2ca8'/>
<id>dc79945a2ba8fb019431633eae6521df706a2ca8</id>
<content type='text'>
  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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  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
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/securerandom.rb: more refactoring.</title>
<updated>2014-11-08T19:59:01+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-11-08T19:59:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6999a86600fc1bdbfbe9d79d8bfb6f71eacfe489'/>
<id>6999a86600fc1bdbfbe9d79d8bfb6f71eacfe489</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/securerandom.rb (SecureRandom::AdvApi32): split from `initialize`.</title>
<updated>2014-11-08T19:02:48+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-11-08T19:02:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b2247be9931a16ce55e1e8fccc41ca22aaf680f5'/>
<id>b2247be9931a16ce55e1e8fccc41ca22aaf680f5</id>
<content type='text'>
  thanks @zzak to remember it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  thanks @zzak to remember it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/securerandom.rb (SecureRandom.random_bytes): use fiddle directly</title>
<updated>2014-11-04T12:20:59+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-11-04T12:20:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=07f460829a95ac98092ca08dd42fab1a17541aa7'/>
<id>07f460829a95ac98092ca08dd42fab1a17541aa7</id>
<content type='text'>
  instead of using Win32API.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  instead of using Win32API.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* ext/dl/*: remove DL as it is replaced by Fiddle.</title>
<updated>2014-10-31T21:13:09+00:00</updated>
<author>
<name>tenderlove</name>
<email>tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-10-31T21:13:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=07308c4d30b8c5260e5366c8eed2abf054d86fe7'/>
<id>07308c4d30b8c5260e5366c8eed2abf054d86fe7</id>
<content type='text'>
  [Feature #5458] Thanks to Jonan Scheffler &lt;jonanscheffler@gmail.com&gt;
  for this patch

* test/dl/*: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  [Feature #5458] Thanks to Jonan Scheffler &lt;jonanscheffler@gmail.com&gt;
  for this patch

* test/dl/*: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/securerandom.rb: use OpenSSL::BN for performance improvement.</title>
<updated>2014-08-08T11:00:47+00:00</updated>
<author>
<name>glass</name>
<email>glass@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-08-08T11:00:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0a22f4c168d197734a79a34c36b837d6e117e7e7'/>
<id>0a22f4c168d197734a79a34c36b837d6e117e7e7</id>
<content type='text'>
* benchmark/bm_securerandom.rb: benchmark script.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* benchmark/bm_securerandom.rb: benchmark script.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
