diff options
author | Robey Pointer <robey@lag.net> | 2007-10-28 20:05:20 -0700 |
---|---|---|
committer | Robey Pointer <robey@lag.net> | 2007-10-28 20:05:20 -0700 |
commit | 758c18a28b1ff5df1a920d02ef1e9df52853a677 (patch) | |
tree | 27ed521627e1764c9ac78e311ac162b193701336 | |
parent | e3d9b90ea1f25792e652a0809b37b52635243932 (diff) |
[project @ robey@lag.net-20071029030520-ozmne7y4l6037m8h]
bug discovered while porting to jaramiko: old-style gex wasn't creating
the proper hash. fixed.
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | paramiko/kex_gex.py | 7 | ||||
-rw-r--r-- | tests/test_kex.py | 2 |
3 files changed, 7 insertions, 3 deletions
@@ -65,3 +65,4 @@ test: # transport.py # # POST md5sum on website! +# RUN setup.py diff --git a/paramiko/kex_gex.py b/paramiko/kex_gex.py index c29c288d..63a0c994 100644 --- a/paramiko/kex_gex.py +++ b/paramiko/kex_gex.py @@ -64,6 +64,7 @@ class KexGex (object): # only used for unit tests: we shouldn't ever send this m.add_byte(chr(_MSG_KEXDH_GEX_REQUEST_OLD)) m.add_int(self.preferred_bits) + self.old_style = True else: m.add_byte(chr(_MSG_KEXDH_GEX_REQUEST)) m.add_int(self.min_bits) @@ -228,9 +229,11 @@ class KexGex (object): hm.add(self.transport.local_version, self.transport.remote_version, self.transport.local_kex_init, self.transport.remote_kex_init, host_key) - hm.add_int(self.min_bits) + if not self.old_style: + hm.add_int(self.min_bits) hm.add_int(self.preferred_bits) - hm.add_int(self.max_bits) + if not self.old_style: + hm.add_int(self.max_bits) hm.add_mpint(self.p) hm.add_mpint(self.g) hm.add_mpint(self.e) diff --git a/tests/test_kex.py b/tests/test_kex.py index 1989117f..f3042753 100644 --- a/tests/test_kex.py +++ b/tests/test_kex.py @@ -179,7 +179,7 @@ class KexTest (unittest.TestCase): msg.add_string('fake-sig') msg.rewind() kex.parse_next(paramiko.kex_gex._MSG_KEXDH_GEX_REPLY, msg) - H = 'A265563F2FA87F1A89BF007EE90D58BE2E4A4BD0' + H = '807F87B269EF7AC5EC7E75676808776A27D5864C' self.assertEquals(self.K, transport._K) self.assertEquals(H, hexlify(transport._H).upper()) self.assertEquals(('fake-host-key', 'fake-sig'), transport._verify) |