Skip to content
Snippets Groups Projects
Commit 7efc52686519 authored by Jeff Forcier's avatar Jeff Forcier
Browse files

Merge branch '1.11' into 1.12

Conflicts:
	NEWS
No related branches found
No related tags found
No related merge requests found
......@@ -12,6 +12,27 @@
Releases
========
v1.12.1 (8th Jan 2014)
----------------------
* #176: Fix AttributeError bugs in known_hosts file (re)loading. Thanks to
Nathan Scowcroft for the patch & Martin Blumenstingl for the initial test
case.
v1.11.3 (8th Jan 2014)
----------------------
* #176: Fix AttributeError bugs in known_hosts file (re)loading. Thanks to
Nathan Scowcroft for the patch & Martin Blumenstingl for the initial test
case.
v1.10.5 (8th Jan 2014)
----------------------
* #176: Fix AttributeError bugs in known_hosts file (re)loading. Thanks to
Nathan Scowcroft for the patch & Martin Blumenstingl for the initial test
case.
v1.12.0 (27th Sep 2013)
-----------------------
......
......@@ -189,8 +189,8 @@
# update local host keys from file (in case other SSH clients
# have written to the known_hosts file meanwhile.
if self.known_hosts is not None:
self.load_host_keys(self.known_hosts)
if self._host_keys_filename is not None:
self.load_host_keys(self._host_keys_filename)
f = open(filename, 'w')
for hostname, keys in self._host_keys.iteritems():
......
......@@ -20,8 +20,9 @@
Some unit tests for SSHClient.
"""
from __future__ import with_statement # Python 2.5 support
import socket
import threading
import time
import unittest
import weakref
......@@ -23,8 +24,10 @@
import socket
import threading
import time
import unittest
import weakref
import warnings
import os
from binascii import hexlify
import paramiko
......@@ -184,7 +187,33 @@
self.assertEquals(1, len(self.tc.get_host_keys()))
self.assertEquals(public_host_key, self.tc.get_host_keys()['[%s]:%d' % (self.addr, self.port)]['ssh-rsa'])
def test_5_cleanup(self):
def test_5_save_host_keys(self):
"""
verify that SSHClient correctly saves a known_hosts file.
"""
warnings.filterwarnings('ignore', 'tempnam.*')
host_key = paramiko.RSAKey.from_private_key_file('tests/test_rsa.key')
public_host_key = paramiko.RSAKey(data=str(host_key))
localname = os.tempnam()
client = paramiko.SSHClient()
self.assertEquals(0, len(client.get_host_keys()))
host_id = '[%s]:%d' % (self.addr, self.port)
client.get_host_keys().add(host_id, 'ssh-rsa', public_host_key)
self.assertEquals(1, len(client.get_host_keys()))
self.assertEquals(public_host_key, client.get_host_keys()[host_id]['ssh-rsa'])
client.save_host_keys(localname)
with open(localname) as fd:
assert host_id in fd.read()
os.unlink(localname)
def test_6_cleanup(self):
"""
verify that when an SSHClient is collected, its transport (and the
transport's packetizer) is closed.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment