Matthew Ryan added the comment: The new patch looks fine; I used __sun__ rather than sun out of habit (C standard requires system specific macros be in the reserved namespace), but either will work.
I found the original problem through debugging with GDB, so I know getrandom() was being called, and the test case I provided (taken from Lib/Random.py) fails without the patch, and succeeds with it. Oddly, the blog post you linked to describes getrandom as: "Recent Linux kernels have a getrandom(2) system call that reads between 1 and 1024 bytes of randomness" But no such limit current exists in the Linux version that I can see; however, the Solaris version definitely does have that limit: https://docs.oracle.com/cd/E53394_01/html/E54765/getrandom-2.html On Tue, Apr 12, 2016 at 1:15 AM, STINNER Victor <rep...@bugs.python.org> wrote: > > STINNER Victor added the comment: > >> I've attached a possible patch for this issue, against the 3.5.1 source > tree. > > I guess that you are already using Python 3.5.1 which uses getrandom(). You > should try to confirm using strace. > > I updated your patch. I replaced "#if defined(__sun__)" with "#ifdef sun", > since "#ifdef sun" looks more common in the Python code base, and I never saw > "#if defined(__sun__)" in the Python code base. > > I also avoided the new len variable, I reused the n variable. > > I don't have Solaris, so I cannot test. I didn't find getrandom() manual page > neither, I only found this blog post which doesn't mention the 1024 bytes > limitation on Solaris: > https://blogs.oracle.com/darren/entry/solaris_new_system_calls_getentropy > > ---------- > Added file: http://bugs.python.org/file42443/urandom_solaris.patch > > _______________________________________ > Python tracker <rep...@bugs.python.org> > <http://bugs.python.org/issue26735> > _______________________________________ ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26735> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com