summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJeff Forcier <jeff@bitprophet.org>2014-08-25 23:29:24 -0700
committerJeff Forcier <jeff@bitprophet.org>2014-08-25 23:29:24 -0700
commit709435e9fb56907cefb00583fec1d52933b9a46c (patch)
tree3451d7711edfa53b18f7f0c440088f66d75be065
parent4e7c1bba50ac92faa92ba22bc5ce255032cd64bb (diff)
parent77a35401cc62a4abc9eced101aa2ab8439548c54 (diff)
Merge branch '1.14'
-rw-r--r--paramiko/channel.py14
-rw-r--r--paramiko/hostkeys.py2
-rw-r--r--paramiko/sftp_client.py4
-rw-r--r--paramiko/transport.py3
-rw-r--r--sites/www/changelog.rst10
5 files changed, 23 insertions, 10 deletions
diff --git a/paramiko/channel.py b/paramiko/channel.py
index 583809d5..49d8dd6e 100644
--- a/paramiko/channel.py
+++ b/paramiko/channel.py
@@ -280,7 +280,7 @@ class Channel (object):
def recv_exit_status(self):
"""
Return the exit status from the process on the server. This is
- mostly useful for retrieving the reults of an `exec_command`.
+ mostly useful for retrieving the results of an `exec_command`.
If the command hasn't finished yet, this method will wait until
it does, or until the channel is closed. If no exit status is
provided by the server, -1 is returned.
@@ -330,7 +330,7 @@ class Channel (object):
If you omit the auth_cookie, a new secure random 128-bit value will be
generated, used, and returned. You will need to use this value to
verify incoming x11 requests and replace them with the actual local
- x11 cookie (which requires some knoweldge of the x11 protocol).
+ x11 cookie (which requires some knowledge of the x11 protocol).
If a handler is passed in, the handler is called from another thread
whenever a new x11 connection arrives. The default handler queues up
@@ -339,7 +339,7 @@ class Channel (object):
handler(channel: Channel, (address: str, port: int))
- :param int screen_number: the x11 screen number (0, 10, etc)
+ :param int screen_number: the x11 screen number (0, 10, etc.)
:param str auth_protocol:
the name of the X11 authentication method used; if none is given,
``"MIT-MAGIC-COOKIE-1"`` is used
@@ -744,10 +744,10 @@ class Channel (object):
:raises socket.timeout:
if sending stalled for longer than the timeout set by `settimeout`.
:raises socket.error:
- if an error occured before the entire string was sent.
+ if an error occurred before the entire string was sent.
.. note::
- If the channel is closed while only part of the data hase been
+ If the channel is closed while only part of the data has been
sent, there is no way to determine how much data (if any) was sent.
This is irritating, but identically follows Python's API.
"""
@@ -771,7 +771,7 @@ class Channel (object):
:raises socket.timeout:
if sending stalled for longer than the timeout set by `settimeout`.
:raises socket.error:
- if an error occured before the entire string was sent.
+ if an error occurred before the entire string was sent.
.. versionadded:: 1.1
"""
@@ -812,7 +812,7 @@ class Channel (object):
def fileno(self):
"""
Returns an OS-level file descriptor which can be used for polling, but
- but not for reading or writing. This is primaily to allow Python's
+ but not for reading or writing. This is primarily to allow Python's
``select`` module to work.
The first time ``fileno`` is called on a channel, a pipe is created to
diff --git a/paramiko/hostkeys.py b/paramiko/hostkeys.py
index c0caeda9..cd65e77c 100644
--- a/paramiko/hostkeys.py
+++ b/paramiko/hostkeys.py
@@ -179,7 +179,7 @@ class HostKeys (MutableMapping):
entries = []
for e in self._entries:
for h in e.hostnames:
- if h.startswith('|1|') and constant_time_bytes_eq(self.hash_host(hostname, h), h) or h == hostname:
+ if h.startswith('|1|') and not hostname.startswith('|1|') and constant_time_bytes_eq(self.hash_host(hostname, h), h) or h == hostname:
entries.append(e)
if len(entries) == 0:
return None
diff --git a/paramiko/sftp_client.py b/paramiko/sftp_client.py
index 2ff2d51d..99a29e36 100644
--- a/paramiko/sftp_client.py
+++ b/paramiko/sftp_client.py
@@ -564,7 +564,9 @@ class SFTPClient(BaseSFTP):
The SFTP operations use pipelining for speed.
:param str localpath: the local file to copy
- :param str remotepath: the destination path on the SFTP server
+ :param str remotepath: the destination path on the SFTP server. Note
+ that the filename should be included. Only specifying a directory
+ may result in an error.
:param callable callback:
optional callback function (form: ``func(int, int)``) that accepts
the bytes transferred so far and the total bytes to be transferred
diff --git a/paramiko/transport.py b/paramiko/transport.py
index 406626a7..1a33e1ae 100644
--- a/paramiko/transport.py
+++ b/paramiko/transport.py
@@ -164,6 +164,8 @@ class Transport (threading.Thread):
:param socket sock:
a socket or socket-like object to create the session over.
"""
+ self.active = False
+
if isinstance(sock, string_types):
# convert "host:port" into (host, port)
hl = sock.split(':', 1)
@@ -219,7 +221,6 @@ class Transport (threading.Thread):
self.H = None
self.K = None
- self.active = False
self.initial_kex_done = False
self.in_kex = False
self.authenticated = False
diff --git a/sites/www/changelog.rst b/sites/www/changelog.rst
index c670d140..e6b44178 100644
--- a/sites/www/changelog.rst
+++ b/sites/www/changelog.rst
@@ -2,6 +2,16 @@
Changelog
=========
+* :support:`324 backported` A bevvy of documentation typo fixes, courtesy of Roy
+ Wellington.
+* :bug:`312` `paramiko.transport.Transport` had a bug in its ``__repr__`` which
+ surfaces during errors encountered within its ``__init__``, causing
+ problematic tracebacks in such situations. Thanks to Simon Percivall for
+ catch & patch.
+* :bug:`272` Fix a bug where ``known_hosts`` parsing hashed the input hostname
+ as well as the hostnames from the ``known_hosts`` file, on every comparison.
+ Thanks to ``@sigmunau`` for final patch and ``@ostacey`` for the original
+ report.
* :bug:`239` Add Windows-style CRLF support to SSH config file parsing. Props
to Christopher Swenson.
* :support:`229` Fix a couple of incorrectly-copied docstrings' ``..