Colm Buckley added the comment:

See https://lwn.net/Articles/606141/ for an explanation of the blocking 
behavior of getrandom(). This makes sense to me - before the pool has 
initialized, /dev/urandom will be readable but will return highly predictable 
data - ie: it should not be considered safe. In other words, I think that 
getrandom() offers a sensible API.

The only circumstances where we hit the EAGAIN in getrandom() should be when 
it's called extremely early in the boot process (as is the case for the 
systemd-cron generator script I mentioned earlier). I think this is safe 
enough; a more thorough approach would be to flag that the per-process hash 
seed (_Py_HashSecret) is predictable and shouldn't be used.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26839>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to