From 5d9eeaedccd6321d182881b26961bbc8198e0aa9 Mon Sep 17 00:00:00 2001 From: Robey Pointer Date: Sat, 21 May 2011 19:29:38 -0700 Subject: [PATCH] patch from sugarc0de to call Random.atfork() when starting up, so paramiko can be used in multiprocess code --- paramiko/transport.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/paramiko/transport.py b/paramiko/transport.py index e04db26..58a1b3e 100644 --- a/paramiko/transport.py +++ b/paramiko/transport.py @@ -45,11 +45,7 @@ from paramiko.server import ServerInterface from paramiko.sftp_client import SFTPClient from paramiko.ssh_exception import SSHException, BadAuthenticationType, ChannelException -# these come from PyCrypt -# http://www.amk.ca/python/writing/pycrypt/ -# i believe this on the standards track. -# PyCrypt compiled for Win32 can be downloaded from the HashTar homepage: -# http://nitace.bsd.uchicago.edu:8080/hashtar +from Crypto import Random from Crypto.Cipher import Blowfish, AES, DES3, ARC4 from Crypto.Hash import SHA, MD5 try: @@ -456,6 +452,7 @@ class Transport (threading.Thread): # synchronous, wait for a result self.completion_event = event = threading.Event() self.start() + Random.atfork() while True: event.wait(0.1) if not self.active: