Merge commit 'shikhar/master'

This commit is contained in:
Robey Pointer 2009-05-10 21:12:41 -07:00
commit 62d49255d5
1 changed files with 12 additions and 6 deletions

View File

@ -273,17 +273,21 @@ class SSHClient (object):
establishing an SSH session establishing an SSH session
@raise socket.error: if a socket error occurred while connecting @raise socket.error: if a socket error occurred while connecting
""" """
if len(hostname.split(':')) > 1: for (family, socktype, proto, canonname, sockaddr) in \
sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) socket.getaddrinfo(hostname, port):
if socktype==socket.SOCK_STREAM:
af = family
addr = sockaddr
break
else: else:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) raise SSHException('No suitable address family for %s' % hostname)
sock = socket.socket(af, socket.SOCK_STREAM)
if timeout is not None: if timeout is not None:
try: try:
sock.settimeout(timeout) sock.settimeout(timeout)
except: except:
pass pass
sock.connect(addr)
sock.connect((hostname, port))
t = self._transport = Transport(sock) t = self._transport = Transport(sock)
if self._log_channel is not None: if self._log_channel is not None:
@ -316,6 +320,8 @@ class SSHClient (object):
else: else:
key_filenames = key_filename key_filenames = key_filename
self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys) self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
if agent_forwarding:
self._forward_agent()
def close(self): def close(self):
""" """