Issue 22585: os.urandom() should use getentropy() of OpenBSD 5.6 (original) (raw)
Issue22585
Created on 2014-10-09 09:26 by vstinner, last changed 2022-04-11 14:58 by admin. This issue is now closed.
Files | |||
---|---|---|---|
File name | Uploaded | Description | Edit |
getentropy.patch | vstinner,2014-11-28 22:59 | review |
Messages (6) | ||
---|---|---|
msg228846 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2014-10-09 09:26 |
The future OpenBSD 5.6 (scheduled in november 2014) will have a new getentropy() syscall and a new getentropy() in their C library which avoid the need of a file descriptor: http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man2/getentropy.2?query=getentropy&sec=2 Note: "The maximum buffer size permitted is 256 bytes. If buflen exceeds this, an error of EIO will be indicated." The file descriptor of os.urandom() causes perfomance issues and surprising bugs: #18756, #21207. For Python 2.7, see also the PEP 466 and the issue #21305. See also issues: - #22181: os.urandom() should use Linux 3.17 getrandom() syscall - #22542: Use arc4random under OpenBSD for os.urandom() if /dev/urandom is not present | ||
msg231837 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2014-11-28 22:59 |
Here is a patch using getentropy() if available. I tested it on OpenBSD 5.6 (the only OS implementing this function...). The patch prepares also random.c to support Linux getrandom(): issue #22181. | ||
msg232986 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2014-12-21 00:18 |
New changeset 75ede5bec8db by Victor Stinner in branch 'default': Issue #22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(), https://hg.python.org/cpython/rev/75ede5bec8db | ||
msg233107 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2014-12-26 17:09 |
New changeset f11f84902713 by Victor Stinner in branch '3.4': Issue #22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(), https://hg.python.org/cpython/rev/f11f84902713 | ||
msg238281 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2015-03-17 11:36 |
New changeset 371deb4a5fd1 by Ned Deily in branch '3.4': Issue #22585: make URandomFDTests test case actually run https://hg.python.org/cpython/rev/371deb4a5fd1 New changeset c89f7c34e356 by Ned Deily in branch 'default': Issue #22585: null merge https://hg.python.org/cpython/rev/c89f7c34e356 New changeset 961efafe9497 by Ned Deily in branch '2.7': Issue #22585, #23115: make URandomFDTests test case actually run https://hg.python.org/cpython/rev/961efafe9497 | ||
msg239586 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2015-03-30 09:20 |
New changeset 9d3013a383eb by Victor Stinner in branch '3.4': Issue #22585: os.urandom() now releases the GIL when the getentropy() is used https://hg.python.org/cpython/rev/9d3013a383eb New changeset 7f1015e4277a by Victor Stinner in branch 'default': (Merge 3.4) Issue #22585: os.urandom() now releases the GIL when the https://hg.python.org/cpython/rev/7f1015e4277a |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:58:08 | admin | set | github: 66775 |
2015-03-30 09:20:16 | python-dev | set | messages: + |
2015-03-17 11:36:37 | python-dev | set | messages: + |
2014-12-26 17:09:12 | python-dev | set | messages: + |
2014-12-21 00🔞41 | vstinner | set | status: open -> closedresolution: fixed |
2014-12-21 00🔞30 | python-dev | set | nosy: + python-devmessages: + |
2014-11-28 22:59:29 | vstinner | set | files: + getentropy.patchkeywords: + patchmessages: + |
2014-10-09 09:44:06 | vstinner | set | nosy: + alex |
2014-10-09 09:28:09 | vstinner | set | nosy: + rpointel, 700eb415 |
2014-10-09 09:26:08 | vstinner | create |