Mercurial > p > roundup > code
diff roundup/roundupdb.py @ 5356:91954be46a66
A real fix for the problem where:
import random
would result in every call to random() returning the same value
in the web interface.
While cgi/client.py:Client::__init.py__ was calling random.seed(),
on most systems random was SystemRandom and not the default random.
As a result the random as you would get from:
import random
was never being seeded. I added a function to access and seed the
random bound instance of random.Random that is called during init.
This fixes all three places where I saw the broken randomness.
It should also fix:
http://psf.upfronthosting.co.za/roundup/meta/issue644
I also removed the prior code that would bail if systemRandom was not
available.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 08 Jul 2018 11:34:42 -0400 |
| parents | 66a17c80e035 |
| children | 35ea9b1efc14 |
line wrap: on
line diff
--- a/roundup/roundupdb.py Sat Jul 07 22:39:16 2018 -0400 +++ b/roundup/roundupdb.py Sun Jul 08 11:34:42 2018 -0400 @@ -20,17 +20,7 @@ """ __docformat__ = 'restructuredtext' -import re, os, smtplib, socket, time - -try: - # Use the cryptographic source of randomness if available - from random import SystemRandom - random=SystemRandom() -except ImportError: - raise - from random import Random - random=Random() - +import re, os, smtplib, socket, time, random import cStringIO, base64, mimetypes import os.path import logging
