This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients larry, vstinner
Date 2016-06-08.10:03:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1465380216.1.0.333037865675.issue27266@psf.upfronthosting.co.za>
In-reply-to
Content
> Is there a way to read from /dev/urandom without blocking? If not, _PyOS_URandom() may use arc4random() on FreeBSD if block is false. I suggest to enhance _PyOS_URandom() after the Python 3.5.2 release.

See the issue #22542 "Use arc4random under OpenBSD for os.urandom() if /dev/urandom is not present".

It looks like arc4random() is now initialized with getentropy(KEYSZ+IVSZ) (32+8 = 40 bytes) on OpenBSD:
http://bxr.su/OpenBSD/lib/libc/crypt/arc4random.c

getentropy() is non-blocking. By the way, os.urandom() is now implemented with getentropy() on OpenBSD.
History
Date User Action Args
2016-06-08 10:03:36vstinnersetrecipients: + vstinner, larry
2016-06-08 10:03:36vstinnersetmessageid: <1465380216.1.0.333037865675.issue27266@psf.upfronthosting.co.za>
2016-06-08 10:03:36vstinnerlinkissue27266 messages
2016-06-08 10:03:36vstinnercreate