Merge branch '1.11'
This commit is contained in:
commit
6eea2b5ce7
8
NEWS
8
NEWS
|
@ -18,6 +18,10 @@ v1.11.1 (20th Sep 2013)
|
|||
* #162: Clean up HMAC module import to avoid deadlocks in certain uses of
|
||||
SSHClient. Thanks to Gernot Hillier for the catch & suggested
|
||||
fix.
|
||||
* #168: Update config handling to properly handle multiple 'localforward' and
|
||||
'remoteforward' keys. Thanks to Emre Yılmaz for the patch.
|
||||
* #36: Fix the port-forwarding demo to avoid file descriptor errors. Thanks to
|
||||
Jonathan Halcrow for catch & patch.
|
||||
|
||||
v1.10.3 (20th Sep 2013)
|
||||
-----------------------
|
||||
|
@ -25,6 +29,10 @@ v1.10.3 (20th Sep 2013)
|
|||
* #162: Clean up HMAC module import to avoid deadlocks in certain uses of
|
||||
SSHClient. Thanks to Gernot Hillier for the catch & suggested
|
||||
fix.
|
||||
* #36: Fix the port-forwarding demo to avoid file descriptor errors. Thanks to
|
||||
Jonathan Halcrow for catch & patch.
|
||||
* #168: Update config handling to properly handle multiple 'localforward' and
|
||||
'remoteforward' keys. Thanks to Emre Yılmaz for the patch.
|
||||
|
||||
v1.11.0 (26th Jul 2013)
|
||||
-----------------------
|
||||
|
|
|
@ -78,9 +78,11 @@ class Handler (SocketServer.BaseRequestHandler):
|
|||
if len(data) == 0:
|
||||
break
|
||||
self.request.send(data)
|
||||
|
||||
peername = self.request.getpeername()
|
||||
chan.close()
|
||||
self.request.close()
|
||||
verbose('Tunnel closed from %r' % (self.request.getpeername(),))
|
||||
verbose('Tunnel closed from %r' % (peername,))
|
||||
|
||||
|
||||
def forward_tunnel(local_port, remote_host, remote_port, transport):
|
||||
|
|
|
@ -126,14 +126,15 @@ class SSHConfig (object):
|
|||
self._config.append(host)
|
||||
value = value.split()
|
||||
host = {key: value, 'config': {}}
|
||||
#identityfile is a special case, since it is allowed to be
|
||||
#identityfile, localforward, remoteforward keys are special cases, since they are allowed to be
|
||||
# specified multiple times and they should be tried in order
|
||||
# of specification.
|
||||
elif key == 'identityfile':
|
||||
|
||||
elif key in ['identityfile', 'localforward', 'remoteforward']:
|
||||
if key in host['config']:
|
||||
host['config']['identityfile'].append(value)
|
||||
host['config'][key].append(value)
|
||||
else:
|
||||
host['config']['identityfile'] = [value]
|
||||
host['config'][key] = [value]
|
||||
elif key not in host['config']:
|
||||
host['config'].update({key: value})
|
||||
self._config.append(host)
|
||||
|
|
Loading…
Reference in New Issue