Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								861f067201 
								
							 
						 
						
							
							
								
								Merge 3.4 (os.urandom)  
							
							
							
						 
						
							2015-10-01 10:00:23 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								78cc2e8968 
								
							 
						 
						
							
							
								
								Issue  #25003 : os.urandom() doesn't use getentropy() on Solaris because  
							
							... 
							
							
							
							getentropy() is blocking, whereas os.urandom() should not block. getentropy()
is supported since Solaris 11.3. 
							
						 
						
							2015-10-01 09:59:32 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								bae2d6203f 
								
							 
						 
						
							
							
								
								Issue  #25003 : On Solaris 11.3 or newer, os.urandom() now uses the getrandom()  
							
							... 
							
							
							
							function instead of the getentropy() function. The getentropy() function is
blocking to generate very good quality entropy, os.urandom() doesn't need such
high-quality entropy. 
							
						 
						
							2015-10-01 09:47:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								61d5aab9b9 
								
							 
						 
						
							
							
								
								py_getrandom(): getrandom() *can* return EINTR  
							
							... 
							
							
							
							See the latest version of getrandom() manual page:
http://man7.org/linux/man-pages/man2/getrandom.2.html#NOTES 
    The behavior when a call to getrandom() that is blocked while reading from
    /dev/urandom is interrupted by a signal handler depends on the
    initialization state of the entropy buffer and on the request size, buflen.
    If the entropy is not yet initialized, then the call will fail with the
    EINTR error.  If the entropy pool has been initialized and the request size
    is large (buflen > 256), the call either succeeds, returning a partially
    filled buffer, or fails with the error EINTR.  If the entropy pool has been
    initialized and the request size is small (buflen <= 256), then getrandom()
    will not fail with EINTR.  Instead, it will return all of the bytes that
    have been requested.
Note: py_getrandom() calls getrandom() with flags=0. 
							
						 
						
							2015-07-30 10:13:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								81c6df5c0f 
								
							 
						 
						
							
							
								
								(Merge 3.4) Issue  #22585 : os.urandom() now releases the GIL when the  
							
							... 
							
							
							
							getentropy() is used (OpenBSD 5.6+). 
							
						 
						
							2015-03-30 11:19:07 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								9aa1331c6f 
								
							 
						 
						
							
							
								
								Issue  #22585 : os.urandom() now releases the GIL when the getentropy() is used  
							
							... 
							
							
							
							(OpenBSD 5.6+). 
							
						 
						
							2015-03-30 11:18:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								79b74aeb20 
								
							 
						 
						
							
							
								
								Issue  #22181 : os.urandom() now releases the GIL when the getrandom()  
							
							... 
							
							
							
							implementation is used. 
							
						 
						
							2015-03-30 11:16:40 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								e134a7fe36 
								
							 
						 
						
							
							
								
								Issue  #23752 : _Py_fstat() is now responsible to raise the Python exception  
							
							... 
							
							
							
							Add _Py_fstat_noraise() function when a Python exception is not welcome. 
							
						 
						
							2015-03-30 10:09:31 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								c9382eb7ae 
								
							 
						 
						
							
							
								
								Issue  #23707 : On UNIX, os.urandom() now calls the Python signal handler when  
							
							... 
							
							
							
							read() is interrupted by a signal.
dev_urandom_python() now calls _Py_read() helper instead of calling directly
read(). 
							
						 
						
							2015-03-19 23:36:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								c7cd12da60 
								
							 
						 
						
							
							
								
								Issue  #22181 : Fix dev_urandom_noraise(), try calling py_getrandom() before  
							
							... 
							
							
							
							opening /dev/urandom. 
							
						 
						
							2015-03-19 23:24:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								9eb57c5fa5 
								
							 
						 
						
							
							
								
								Issue  #22181 : The availability of the getrandom() is now checked in configure,  
							
							... 
							
							
							
							and stored in pyconfig.h as the new HAVE_GETRANDOM_SYSCALL define.
Fix os.urandom() tests using file descriptors if os.urandom() uses getrandom(). 
							
						 
						
							2015-03-19 22:21:49 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								59f7fb29ec 
								
							 
						 
						
							
							
								
								Issue  #22181 : On Linux, os.urandom() now uses the new getrandom() syscall if  
							
							... 
							
							
							
							available, syscall introduced in the Linux kernel 3.17. It is more reliable
and more secure, because it avoids the need of a file descriptor and waits
until the kernel has enough entropy. 
							
						 
						
							2015-03-18 14:39:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								a555cfcb73 
								
							 
						 
						
							
							
								
								Issue  #23694 : Enhance _Py_open(), it now raises exceptions  
							
							... 
							
							
							
							* _Py_open() now raises exceptions on error. If open() fails, it raises an
  OSError with the filename.
* _Py_open() now releases the GIL while calling open()
* Add _Py_open_noraise() when _Py_open() cannot be used because the GIL is not
  held 
							
						 
						
							2015-03-18 00:22:14 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Steve Dower 
								
							 
						 
						
							
							
							
							
								
							
							
								f2f373f593 
								
							 
						 
						
							
							
								
								Issue  #23152 : Implement _Py_fstat() to support files larger than 2 GB on Windows.  
							
							... 
							
							
							
							fstat() may fail with EOVERFLOW on files larger than 2 GB because the file size type is an signed 32-bit integer. 
							
						 
						
							2015-02-21 08:44:05 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								fe02e39029 
								
							 
						 
						
							
							
								
								Issue  #22585 : On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),  
							
							... 
							
							
							
							instead of reading /dev/urandom, to get pseudo-random bytes. 
							
						 
						
							2014-12-21 01:16:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								4d6a3d6c01 
								
							 
						 
						
							
							
								
								Issue  #22585 : On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),  
							
							... 
							
							
							
							instead of reading /dev/urandom, to get pseudo-random bytes. 
							
						 
						
							2014-12-21 01:16:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								56a6d855e2 
								
							 
						 
						
							
							
								
								Removed duplicated words in in comments and docs.  
							
							
							
						 
						
							2014-12-01 18:28:43 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								83000a490a 
								
							 
						 
						
							
							
								
								Removed duplicated words in in comments and docs.  
							
							
							
						 
						
							2014-12-01 18:30:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tim Golden 
								
							 
						 
						
							
							
							
							
								
							
							
								b8ac3e1a20 
								
							 
						 
						
							
							
								
								Issue21393 Use CryptReleaseContext to release Crypt handle on Windows  
							
							
							
						 
						
							2014-05-06 13:29:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								d50c3f3f3a 
								
							 
						 
						
							
							
								
								Issue  #21393 : random.c: on Windows, close the hCryptProv handle at exit  
							
							
							
						 
						
							2014-05-02 22:06:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								e472aeafc3 
								
							 
						 
						
							
							
								
								Issue  #21207 : Detect when the os.urandom cached fd has been closed or replaced, and open it anew.  
							
							
							
						 
						
							2014-04-26 14:33:03 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Christian Heimes 
								
							 
						 
						
							
							
							
							
								
							
							
								af01f66817 
								
							 
						 
						
							
							
								
								Issue  #16136 : Remove VMS support and VMS-related code  
							
							
							
						 
						
							2013-12-21 16:19:10 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Christian Heimes 
								
							 
						 
						
							
							
							
							
								
							
							
								985ecdcfc2 
								
							 
						 
						
							
							
								
								ssue  #19183 : Implement PEP 456 'secure and interchangeable hash algorithm'.  
							
							... 
							
							
							
							Python now uses SipHash24 on all major platforms. 
							
						 
						
							2013-11-20 11:46:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								0c083461a5 
								
							 
						 
						
							
							
								
								Fix compiler warning in win32_urandom(): explicit cast to DWORD in  
							
							... 
							
							
							
							CryptGenRandom() 
							
						 
						
							2013-11-15 23:26:25 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Georg Brandl 
								
							 
						 
						
							
							
							
							
								
							
							
								af1edb7f45 
								
							 
						 
						
							
							
								
								merge with 3.3  
							
							
							
						 
						
							2013-10-06 18:48:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Georg Brandl 
								
							 
						 
						
							
							
							
							
								
							
							
								c6a2c9b466 
								
							 
						 
						
							
							
								
								Closes   #15213 : update comment for _PyOS_URandom  
							
							
							
						 
						
							2013-10-06 18:43:19 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								4879a963d4 
								
							 
						 
						
							
							
								
								Issue  #18756 : os.urandom() now uses a lazily-opened persistent file descriptor, so as to avoid using many file descriptors when run in parallel from multiple threads.  
							
							
							
						 
						
							2013-08-31 00:26:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								daf455554b 
								
							 
						 
						
							
							
								
								Issue  #18571 : Implementation of the PEP 446: file descriptors and file handles  
							
							... 
							
							
							
							are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable(). 
							
						 
						
							2013-08-28 00:53:59 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								95b21460ee 
								
							 
						 
						
							
							
								
								Issue  #18756 : Improve error reporting in os.urandom() when the failure is due to something else than /dev/urandom not existing.  
							
							
							
						 
						
							2013-08-16 20:49:32 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								ec34ab5010 
								
							 
						 
						
							
							
								
								Issue  #18756 : Improve error reporting in os.urandom() when the failure is due to something else than /dev/urandom not existing.  
							
							
							
						 
						
							2013-08-16 20:44:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin v. Löwis 
								
							 
						 
						
							
							
							
							
								
							
							
								3f50bf652b 
								
							 
						 
						
							
							
								
								Drop support for Windows 2000; allow any XP API (but not Vista+).  
							
							... 
							
							
							
							Drop SDK version configuration for Tk compilation, to not bind it to W2k
anymore. Binding it to XP would conflict with Tk's own binding of tkMenu to W2k. 
							
						 
						
							2013-01-25 14:06:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								380c55cc58 
								
							 
						 
						
							
							
								
								Issue  #15340 : Fix importing the random module when /dev/urandom cannot be opened.  
							
							... 
							
							
							
							This was a regression caused by the hash randomization patch. 
							
						 
						
							2012-09-07 23:49:07 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								c9f54cf512 
								
							 
						 
						
							
							
								
								enable hash randomization by default  
							
							
							
						 
						
							2012-02-21 16:08:05 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								69e9727657 
								
							 
						 
						
							
							
								
								ensure no one tries to hash things before the random seed is found  
							
							
							
						 
						
							2012-02-21 11:08:50 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Georg Brandl 
								
							 
						 
						
							
							
							
							
								
							
							
								12897d7d39 
								
							 
						 
						
							
							
								
								Fix typo in conditional.  
							
							
							
						 
						
							2012-02-20 23:49:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Georg Brandl 
								
							 
						 
						
							
							
							
							
								
							
							
								2daf6ae249 
								
							 
						 
						
							
							
								
								Issue  #13703 : add a way to randomize the hash values of basic types (str, bytes, datetime)  
							
							... 
							
							
							
							in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.
The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior. 
							
						 
						
							2012-02-20 19:54:16 +01:00