summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy T. Bouse <jbouse@debian.org>2014-09-22 20:57:21 -0400
committerJeremy T. Bouse <jbouse@debian.org>2014-09-22 20:57:21 -0400
commit642baf291b7ffbb444cc54290d02a5bdd3f3c96c (patch)
treebb46ca233dba457433dd40a1b61e8e2883f93e99
parent4739e54332e5791308fbe531c9ca98e2191e7240 (diff)
parent941814e1efaf9a46992476e50badcecbcbfc9a41 (diff)
downloadpython-paramiko-642baf291b7ffbb444cc54290d02a5bdd3f3c96c.tar
python-paramiko-642baf291b7ffbb444cc54290d02a5bdd3f3c96c.tar.gz
Merge tag 'upstream/1.15.1'
Upstream version 1.15.1
-rw-r--r--paramiko/_version.py2
-rw-r--r--paramiko/client.py2
-rw-r--r--paramiko/ecdsakey.py13
-rw-r--r--paramiko/file.py9
-rw-r--r--paramiko/kex_gex.py2
-rw-r--r--paramiko/server.py15
-rw-r--r--paramiko/transport.py17
-rw-r--r--sites/docs/api/keys.rst17
-rw-r--r--sites/www/changelog.rst5
-rw-r--r--tasks.py2
-rw-r--r--tests/test_kex_gss.py2
11 files changed, 53 insertions, 33 deletions
diff --git a/paramiko/_version.py b/paramiko/_version.py
index a7857b0..d9f7874 100644
--- a/paramiko/_version.py
+++ b/paramiko/_version.py
@@ -1,2 +1,2 @@
-__version_info__ = (1, 15, 0)
+__version_info__ = (1, 15, 1)
__version__ = '.'.join(map(str, __version_info__))
diff --git a/paramiko/client.py b/paramiko/client.py
index 05686d9..393e3e0 100644
--- a/paramiko/client.py
+++ b/paramiko/client.py
@@ -250,7 +250,7 @@ class SSHClient (ClosingContextManager):
pass
retry_on_signal(lambda: sock.connect(addr))
- t = self._transport = Transport(sock, gss_kex, gss_deleg_creds)
+ t = self._transport = Transport(sock, gss_kex=gss_kex, gss_deleg_creds=gss_deleg_creds)
t.use_compression(compress=compress)
if gss_kex and gss_host is None:
t.set_gss_host(hostname)
diff --git a/paramiko/ecdsakey.py b/paramiko/ecdsakey.py
index e869ee6..a7f3c5e 100644
--- a/paramiko/ecdsakey.py
+++ b/paramiko/ecdsakey.py
@@ -17,7 +17,7 @@
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
"""
-L{ECDSAKey}
+ECDSA keys
"""
import binascii
@@ -131,13 +131,10 @@ class ECDSAKey (PKey):
Generate a new private RSA key. This factory function can be used to
generate a new host key or authentication key.
- @param bits: number of bits the generated key should be.
- @type bits: int
- @param progress_func: an optional function to call at key points in
- key generation (used by C{pyCrypto.PublicKey}).
- @type progress_func: function
- @return: new private key
- @rtype: L{RSAKey}
+ :param function progress_func:
+ an optional function to call at key points in key generation (used
+ by ``pyCrypto.PublicKey``).
+ :returns: A new private key (`.RSAKey`) object
"""
signing_key = SigningKey.generate(curve)
key = ECDSAKey(vals=(signing_key, signing_key.get_verifying_key()))
diff --git a/paramiko/file.py b/paramiko/file.py
index 0999882..311e198 100644
--- a/paramiko/file.py
+++ b/paramiko/file.py
@@ -106,14 +106,13 @@ class BufferedFile (ClosingContextManager):
else:
def __next__(self):
"""
- Returns the next line from the input, or raises L{StopIteration} when
+ Returns the next line from the input, or raises `.StopIteration` when
EOF is hit. Unlike python file objects, it's okay to mix calls to
- C{next} and L{readline}.
+ `.next` and `.readline`.
- @raise StopIteration: when the end of the file is reached.
+ :raises StopIteration: when the end of the file is reached.
- @return: a line read from the file.
- @rtype: str
+ :returns: a line (`str`) read from the file.
"""
line = self.readline()
if not line:
diff --git a/paramiko/kex_gex.py b/paramiko/kex_gex.py
index 5ff8a28..cb548f3 100644
--- a/paramiko/kex_gex.py
+++ b/paramiko/kex_gex.py
@@ -19,7 +19,7 @@
"""
Variant on `KexGroup1 <paramiko.kex_group1.KexGroup1>` where the prime "p" and
generator "g" are provided by the server. A bit more work is required on the
-client side, and a B{lot} more on the server side.
+client side, and a **lot** more on the server side.
"""
import os
diff --git a/paramiko/server.py b/paramiko/server.py
index cf396b1..bf5039a 100644
--- a/paramiko/server.py
+++ b/paramiko/server.py
@@ -547,21 +547,18 @@ class ServerInterface (object):
def check_channel_env_request(self, channel, name, value):
"""
Check whether a given environment variable can be specified for the
- given channel. This method should return C{True} if the server
+ given channel. This method should return ``True`` if the server
is willing to set the specified environment variable. Note that
some environment variables (e.g., PATH) can be exceedingly
dangerous, so blindly allowing the client to set the environment
is almost certainly not a good idea.
- The default implementation always returns C{False}.
+ The default implementation always returns ``False``.
- @param channel: the L{Channel} the env request arrived on
- @type channel: L{Channel}
- @param name: foo bar baz
- @type name: str
- @param value: flklj
- @type value: str
- @rtype: bool
+ :param channel: the `.Channel` the env request arrived on
+ :param str name: name
+ :param str value: Channel value
+ :returns: A boolean
"""
return False
diff --git a/paramiko/transport.py b/paramiko/transport.py
index b465aa0..bf30c78 100644
--- a/paramiko/transport.py
+++ b/paramiko/transport.py
@@ -960,10 +960,14 @@ class Transport (threading.Thread, ClosingContextManager):
:param .PKey pkey:
a private key to use for authentication, if you want to use private
key authentication; otherwise ``None``.
- :param str gss_host: The targets name in the kerberos database. default: hostname
- :param bool gss_auth: ``True`` if you want to use GSS-API authentication
- :param bool gss_kex: Perform GSS-API Key Exchange and user authentication
- :param bool gss_deleg_creds: Delegate GSS-API client credentials or not
+ :param str gss_host:
+ The target's name in the kerberos database. Default: hostname
+ :param bool gss_auth:
+ ``True`` if you want to use GSS-API authentication.
+ :param bool gss_kex:
+ Perform GSS-API Key Exchange and user authentication.
+ :param bool gss_deleg_creds:
+ Whether to delegate GSS-API client credentials.
:raises SSHException: if the SSH2 negotiation fails, the host key
supplied by the server is incorrect, or authentication fails.
@@ -1067,10 +1071,9 @@ class Transport (threading.Thread, ClosingContextManager):
def get_banner(self):
"""
Return the banner supplied by the server upon connect. If no banner is
- supplied, this method returns C{None}.
+ supplied, this method returns ``None``.
- @return: server supplied banner, or C{None}.
- @rtype: string
+ :returns: server supplied banner (`str`), or ``None``.
"""
if not self.active or (self.auth_handler is None):
return None
diff --git a/sites/docs/api/keys.rst b/sites/docs/api/keys.rst
index af7b58c..c6412f7 100644
--- a/sites/docs/api/keys.rst
+++ b/sites/docs/api/keys.rst
@@ -1,6 +1,23 @@
+============
Key handling
============
+Parent key class
+================
+
.. automodule:: paramiko.pkey
+
+DSA (DSS)
+=========
+
.. automodule:: paramiko.dsskey
+
+RSA
+===
+
.. automodule:: paramiko.rsakey
+
+ECDSA
+=====
+
+.. automodule:: paramiko.ecdsakey
diff --git a/sites/www/changelog.rst b/sites/www/changelog.rst
index d0bd481..3e654f6 100644
--- a/sites/www/changelog.rst
+++ b/sites/www/changelog.rst
@@ -2,6 +2,11 @@
Changelog
=========
+* :release:`1.15.1 <2014-09-22>`
+* :bug:`399` SSH agent forwarding (potentially other functionality as
+ well) would hang due to incorrect values passed into the new window size
+ arguments for `.Transport` (thanks to a botched merge). This has been
+ corrected. Thanks to Dylan Thacker-Smith for the report & patch.
* :release:`1.15.0 <2014-09-18>`
* :support:`393` Replace internal use of PyCrypto's ``SHA.new`` with the
stdlib's ``hashlib.sha1``. Thanks to Alex Gaynor.
diff --git a/tasks.py b/tasks.py
index b236ee4..3503d01 100644
--- a/tasks.py
+++ b/tasks.py
@@ -46,6 +46,8 @@ def release(ctx):
copytree(docs_build, target)
# Publish
publish(ctx, wheel=True)
+ # Remind
+ print("\n\nDon't forget to update RTD's versions page for new minor releases!")
ns = Collection(test, release, docs=docs, www=www)
diff --git a/tests/test_kex_gss.py b/tests/test_kex_gss.py
index b5e277b..8769d09 100644
--- a/tests/test_kex_gss.py
+++ b/tests/test_kex_gss.py
@@ -84,7 +84,7 @@ class GSSKexTest(unittest.TestCase):
def _run(self):
self.socks, addr = self.sockl.accept()
- self.ts = paramiko.Transport(self.socks, True)
+ self.ts = paramiko.Transport(self.socks, gss_kex=True)
host_key = paramiko.RSAKey.from_private_key_file('tests/test_rsa.key')
self.ts.add_server_key(host_key)
self.ts.set_gss_host(targ_name)