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

Merge branch '1.10'

Conflicts:
	NEWS
No related branches found
No related tags found
No related merge requests found
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
implementations of all functionality. Thanks to Jason R. Coombs for the implementations of all functionality. Thanks to Jason R. Coombs for the
patch. patch.
v1.10.1 (DD MM YYYY) v1.10.1 (5th Apr 2013)
-------------------- ----------------------
* #142: (Fabric #811) SFTP put of empty file will still return the attributes * #142: (Fabric #811) SFTP put of empty file will still return the attributes
of the put file. Thanks to Jason R. Coombs for the patch. of the put file. Thanks to Jason R. Coombs for the patch.
...@@ -30,6 +30,10 @@ ...@@ -30,6 +30,10 @@
* #142: (Fabric #811) SFTP put of empty file will still return the attributes * #142: (Fabric #811) SFTP put of empty file will still return the attributes
of the put file. Thanks to Jason R. Coombs for the patch. of the put file. Thanks to Jason R. Coombs for the patch.
* #154: (Fabric #876) Forwarded SSH agent connections left stale local pipes
lying around, which could cause local (and sometimes remote or network)
resource starvation when running many agent-using remote commands. Thanks to
Kevin Tegtmeier for catch & patch.
v1.10.0 (1st Mar 2013) v1.10.0 (1st Mar 2013)
-------------------- --------------------
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
__author__ = "Jeff Forcier <jeff@bitprophet.org>" __author__ = "Jeff Forcier <jeff@bitprophet.org>"
__version__ = "1.10.0" __version__ = "1.10.1"
__license__ = "GNU Lesser General Public License (LGPL)" __license__ = "GNU Lesser General Public License (LGPL)"
......
...@@ -130,9 +130,10 @@ ...@@ -130,9 +130,10 @@
if len(data) != 0: if len(data) != 0:
self.__inr.send(data) self.__inr.send(data)
else: else:
self._close()
break break
elif self.__inr == fd: elif self.__inr == fd:
data = self.__inr.recv(512) data = self.__inr.recv(512)
if len(data) != 0: if len(data) != 0:
self._agent._conn.send(data) self._agent._conn.send(data)
else: else:
...@@ -133,9 +134,10 @@ ...@@ -133,9 +134,10 @@
break break
elif self.__inr == fd: elif self.__inr == fd:
data = self.__inr.recv(512) data = self.__inr.recv(512)
if len(data) != 0: if len(data) != 0:
self._agent._conn.send(data) self._agent._conn.send(data)
else: else:
self._close()
break break
time.sleep(io_sleep) time.sleep(io_sleep)
...@@ -139,6 +141,11 @@ ...@@ -139,6 +141,11 @@
break break
time.sleep(io_sleep) time.sleep(io_sleep)
def _close(self):
self._exit = True
self.__inr.close()
self._agent._conn.close()
class AgentLocalProxy(AgentProxyThread): class AgentLocalProxy(AgentProxyThread):
""" """
Class to be used when wanting to ask a local SSH Agent being Class to be used when wanting to ask a local SSH Agent being
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
setup(name = "paramiko", setup(name = "paramiko",
version = "1.10.0", version = "1.10.1",
description = "SSH2 protocol library", description = "SSH2 protocol library",
author = "Jeff Forcier", author = "Jeff Forcier",
author_email = "jeff@bitprophet.org", author_email = "jeff@bitprophet.org",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment