summaryrefslogtreecommitdiffhomepage
path: root/kex_gex.py
diff options
context:
space:
mode:
authorRobey Pointer <robey@lag.net>2003-11-09 20:59:51 +0000
committerRobey Pointer <robey@lag.net>2003-11-09 20:59:51 +0000
commit79fecc456499cc12e56e373871991cf804468a9d (patch)
treed7d90acf36f17170b74836e824b003371d150b3d /kex_gex.py
parent7d4d90a8c52a722accd7bfedb84d5a6c62d3fc97 (diff)
[project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-4]
change kex-gex server code to generate primes by hand added a util function "generate_prime" to compare to the incredibly slow C version, but it's no faster of course. i think kex-gex from the server is just not going to be feasible without having a separate thread generate some primes in the background to have handy when a request comes in. so in short, this still doesn't work. also i put bit_length into util and a tb_strings function which gets stack traceback info and splits it into a list of strings.
Diffstat (limited to 'kex_gex.py')
-rw-r--r--kex_gex.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/kex_gex.py b/kex_gex.py
index cf4b6d3c..2b6e11cd 100644
--- a/kex_gex.py
+++ b/kex_gex.py
@@ -4,7 +4,8 @@
# are provided by the server. a bit more work is required on our side (and a
# LOT more on the server side).
-from message import Message, inflate_long, deflate_long
+from message import Message
+from util import inflate_long, deflate_long, generate_prime
from secsh import SSHException
from transport import MSG_NEWKEYS
from Crypto.Hash import SHA
@@ -95,10 +96,11 @@ class KexGex(object):
# generate prime
while 1:
# does not work FIXME
+ # the problem is that it's too fscking SLOW
self.transport.log(DEBUG, 'stir...')
self.transport.randpool.stir()
self.transport.log(DEBUG, 'get-prime %d...' % preferred)
- self.p = number.getPrime(preferred, self.transport.randpool.get_bytes)
+ self.p = generate_prime(preferred, self.transport.randpool)
self.transport.log(DEBUG, 'got ' + repr(self.p))
if number.isPrime((self.p - 1) // 2):
break