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:

Roundup Issue Tracker: http://roundup-tracker.org/