Mercurial > p > roundup > code
diff roundup/roundupdb.py @ 5488:52cb53eedf77
reworked random number use
prefer secrets module from Python 3.6+, random.SystemRandom and finally plain random
| author | Christof Meerwald <cmeerw@cmeerw.org> |
|---|---|
| date | Sat, 04 Aug 2018 22:40:16 +0100 |
| parents | 3afda04c96a1 |
| children | 725266c03eab |
line wrap: on
line diff
--- a/roundup/roundupdb.py Sun Aug 05 11:45:43 2018 +0000 +++ b/roundup/roundupdb.py Sat Aug 04 22:40:16 2018 +0100 @@ -20,7 +20,7 @@ """ __docformat__ = 'restructuredtext' -import re, os, smtplib, socket, time, random +import re, os, smtplib, socket, time import base64, mimetypes import os.path import logging @@ -39,7 +39,8 @@ from roundup.mailer import Mailer, MessageSendError, encode_quopri, \ nice_sender_header -from roundup.anypy.strings import s2u +from roundup.anypy.strings import b2s, s2u +import roundup.anypy.random_ as random_ try: import pyme, pyme.core @@ -421,9 +422,9 @@ if not messageid: # this is an old message that didn't get a messageid, so # create one - messageid = "<%s.%s.%s%s@%s>"%(time.time(), random.random(), - self.classname, issueid, - self.db.config.MAIL_DOMAIN) + messageid = "<%s.%s.%s%s@%s>"%(time.time(), + b2s(base64.b32encode(random_.token_bytes(10))), + self.classname, issueid, self.db.config['MAIL_DOMAIN']) if msgid is not None: messages.set(msgid, messageid=messageid)
