Mercurial > p > roundup > code
diff roundup/mailgw.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 | 1c9a7310e4f0 |
| children | 725266c03eab |
line wrap: on
line diff
--- a/roundup/mailgw.py Sun Aug 05 11:45:43 2018 +0000 +++ b/roundup/mailgw.py Sat Aug 04 22:40:16 2018 +0100 @@ -95,8 +95,8 @@ from __future__ import print_function __docformat__ = 'restructuredtext' -import re, os, smtplib, socket, binascii, quopri -import time, random, sys, logging +import base64, re, os, smtplib, socket, binascii, quopri +import time, sys, logging import codecs import traceback import email.utils @@ -108,7 +108,8 @@ from roundup.mailer import Mailer, MessageSendError from roundup.i18n import _ from roundup.hyperdb import iter_roles -from roundup.anypy.strings import StringIO +from roundup.anypy.strings import b2s, StringIO +import roundup.anypy.random_ as random_ try: import pyme, pyme.core, pyme.constants, pyme.constants.sigsum @@ -1163,7 +1164,8 @@ messageid = self.message.getheader('message-id') # generate a messageid if there isn't one if not messageid: - messageid = "<%s.%s.%s%s@%s>"%(time.time(), random.random(), + messageid = "<%s.%s.%s%s@%s>"%(time.time(), + b2s(base64.b32encode(random_.token_bytes(10))), self.classname, self.nodeid, self.config['MAIL_DOMAIN']) if self.content is None:
