Yann Leboulanger pushed to branch gajim_0.16 at gajim / gajim

Commits:
3dd35f5e by Yann Leboulanger at 2017-11-28T10:47:56+01:00
remove usage of OpenSSL.rand deprecated module. Fixes #8788

- - - - -


2 changed files:

- src/common/crypto.py
- src/gajim.py


Changes:

=====================================
src/common/crypto.py
=====================================
--- a/src/common/crypto.py
+++ b/src/common/crypto.py
@@ -76,50 +76,8 @@ def base28(n):
     else:
         return base28_chr[n]
 
-def add_entropy_sources_OpenSSL():
-    # Other possibly variable data. This are very low quality sources of
-    # entropy, but some of them are installation dependent and can be hard
-    # to guess for the attacker.
-    # Data available on all platforms Unix, Windows
-    sources = [sys.argv, sys.builtin_module_names,
-        sys.copyright, sys.getfilesystemencoding(), sys.hexversion,
-        sys.modules, sys.path, sys.version, sys.api_version,
-        os.environ, os.getcwd(), os.getpid()]
-
-    for s in sources:
-        OpenSSL.rand.add(str(s), 1)
-
-    # The /proc filesystem on POSIX systems contains many random variables:
-    # memory statistics, interrupt counts, network packet counts
-    if os.name == 'posix':
-        dirs = ['/proc', '/proc/net', '/proc/self']
-        for d in dirs:
-            if os.access(d, os.R_OK):
-                for filename in os.listdir(d):
-                    OpenSSL.rand.add(filename, 0)
-                    try:
-                        with open(d + os.sep + filename, "r") as fp:
-                        # Limit the ammount of read bytes, in case a memory
-                        # file was opened
-                            OpenSSL.rand.add(str(fp.read(5000)), 1)
-                    except IOError:
-                        # Ignore all read and access errors
-                        pass
-
-PYOPENSSL_PRNG_PRESENT = False
-try:
-    import OpenSSL.rand
-    PYOPENSSL_PRNG_PRESENT = True
-except ImportError:
-    # PyOpenSSL PRNG not available
-    pass
-
 def random_bytes(bytes_):
-    if PYOPENSSL_PRNG_PRESENT:
-        OpenSSL.rand.add(os.urandom(bytes_), bytes_)
-        return OpenSSL.rand.bytes(bytes_)
-    else:
-        return os.urandom(bytes_)
+    return os.urandom(bytes_)
 
 def generate_nonce():
     return random_bytes(8)


=====================================
src/gajim.py
=====================================
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -296,20 +296,6 @@ gajimpaths = configpaths.gajimpaths
 pid_filename = gajimpaths['PID_FILE']
 config_filename = gajimpaths['CONFIG_FILE']
 
-# Seed the OpenSSL pseudo random number generator from file and initialize
-RNG_SEED = gajimpaths['RNG_SEED']
-PYOPENSSL_PRNG_PRESENT = False
-try:
-    import OpenSSL.rand
-    from common import crypto
-    PYOPENSSL_PRNG_PRESENT = True
-    # Seed from file
-    OpenSSL.rand.load_file(str(RNG_SEED))
-    crypto.add_entropy_sources_OpenSSL()
-    OpenSSL.rand.write_file(str(RNG_SEED))
-except ImportError:
-    log.info("PyOpenSSL PRNG not available")
-
 import traceback
 import errno
 import dialogs
@@ -456,9 +442,6 @@ except IOError, e2:
 del pid_dir
 
 def on_exit():
-    # Save the entropy from OpenSSL PRNG
-    if PYOPENSSL_PRNG_PRESENT:
-        OpenSSL.rand.write_file(str(RNG_SEED))
     # delete pid file on normal exit
     if os.path.exists(pid_filename):
         os.remove(pid_filename)



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/3dd35f5e762dcef2cf05e325705d0e7a2db21917

---
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/3dd35f5e762dcef2cf05e325705d0e7a2db21917
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to