[project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-22]
some doc changes; catch socket.error in the transport thread and log it as such instead of as an 'unknown exception'
This commit is contained in:
parent
401e37fa23
commit
9d27762720
|
@ -356,7 +356,8 @@ class BaseTransport (threading.Thread):
|
||||||
as a server, the host key is used to sign certain packets during the
|
as a server, the host key is used to sign certain packets during the
|
||||||
SSH2 negotiation, so that the client can trust that we are who we say
|
SSH2 negotiation, so that the client can trust that we are who we say
|
||||||
we are. Because this is used for signing, the key must contain private
|
we are. Because this is used for signing, the key must contain private
|
||||||
key info, not just the public half.
|
key info, not just the public half. Only one key of each type (RSA or
|
||||||
|
DSS) is kept.
|
||||||
|
|
||||||
@param key: the host key to add, usually an L{RSAKey <rsakey.RSAKey>} or
|
@param key: the host key to add, usually an L{RSAKey <rsakey.RSAKey>} or
|
||||||
L{DSSKey <dsskey.DSSKey>}.
|
L{DSSKey <dsskey.DSSKey>}.
|
||||||
|
@ -653,6 +654,17 @@ class BaseTransport (threading.Thread):
|
||||||
return self.global_response
|
return self.global_response
|
||||||
|
|
||||||
def accept(self, timeout=None):
|
def accept(self, timeout=None):
|
||||||
|
"""
|
||||||
|
Return the next channel opened by the client over this transport, in
|
||||||
|
server mode. If no channel is opened before the given timeout, C{None}
|
||||||
|
is returned.
|
||||||
|
|
||||||
|
@param timeout: seconds to wait for a channel, or C{None} to wait
|
||||||
|
forever
|
||||||
|
@type timeout: int
|
||||||
|
@return: a new Channel opened by the client
|
||||||
|
@rtype: L{Channel}
|
||||||
|
"""
|
||||||
self.lock.acquire()
|
self.lock.acquire()
|
||||||
try:
|
try:
|
||||||
if len(self.server_accepts) > 0:
|
if len(self.server_accepts) > 0:
|
||||||
|
@ -979,6 +991,13 @@ class BaseTransport (threading.Thread):
|
||||||
self._log(DEBUG, 'EOF in transport thread')
|
self._log(DEBUG, 'EOF in transport thread')
|
||||||
#self._log(DEBUG, util.tb_strings())
|
#self._log(DEBUG, util.tb_strings())
|
||||||
self.saved_exception = e
|
self.saved_exception = e
|
||||||
|
except socket.error, e:
|
||||||
|
if type(e.args) is tuple:
|
||||||
|
emsg = '%s (%d)' % (e.args[1], e.args[0])
|
||||||
|
else:
|
||||||
|
emsg = e.args
|
||||||
|
self._log(ERROR, 'Socket exception: ' + emsg)
|
||||||
|
self.saved_exception = e
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
self._log(ERROR, 'Unknown exception: ' + str(e))
|
self._log(ERROR, 'Unknown exception: ' + str(e))
|
||||||
self._log(ERROR, util.tb_strings())
|
self._log(ERROR, util.tb_strings())
|
||||||
|
|
Loading…
Reference in New Issue