Пример #1
0
 def test_tunnel_retries(self):
     local_port = 3050
     fw_host, fw_port = '127.0.0.1', 2100
     t = Tunnel(self.proxy_host, deque(), deque(), port=self.port,
                pkey=self.user_key, num_retries=2)
     t._init_tunnel_client()
     try:
         t._open_channel_retries(fw_host, fw_port, local_port)
     except (ChannelFailure, SocketSendError) as ex:
         pass
     else:
         raise AssertionError(ex)
Пример #2
0
 def test_tunnel_channel_eof(self):
     remote_host = '127.0.0.59'
     server = OpenSSHServer(listen_ip=remote_host, port=self.port)
     server.start_server()
     in_q, out_q = deque(), deque()
     try:
         tunnel = Tunnel(self.proxy_host,
                         in_q,
                         out_q,
                         port=self.port,
                         pkey=self.user_key,
                         num_retries=1)
         tunnel._init_tunnel_client()
         channel = tunnel._open_channel_retries(self.proxy_host, self.port,
                                                2150)
         self.assertFalse(channel.eof())
         channel.close()
         listen_socket, listen_port = tunnel._init_tunnel_sock()
         client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         client_socket.connect(('127.0.0.1', listen_port))
         client = spawn(self._connect_client, client_socket)
         tunnel._read_channel(client_socket, channel)
         tunnel._read_forward_sock(client_socket, channel)
         self.assertTrue(channel.eof())
         client.kill()
     finally:
         server.stop()
Пример #3
0
 def test_tunnel_sock_failure(self):
     remote_host = '127.0.0.59'
     server = OpenSSHServer(listen_ip=remote_host, port=self.port)
     server.start_server()
     in_q, out_q = deque(), deque()
     try:
         tunnel = Tunnel(self.proxy_host,
                         in_q,
                         out_q,
                         port=self.port,
                         pkey=self.user_key,
                         num_retries=1)
         tunnel._init_tunnel_client()
         channel = tunnel._open_channel_retries(self.proxy_host, self.port,
                                                2150)
         self.assertFalse(channel.eof())
         listen_socket, listen_port = tunnel._init_tunnel_sock()
         client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         client_socket.connect(('127.0.0.1', listen_port))
         client_socket.send(b'blah\n')
         client_socket.close()
         gl1 = spawn(tunnel._read_channel, client_socket, channel)
         gl2 = spawn(tunnel._read_forward_sock, client_socket, channel)
         sleep(1)
         gl1.kill()
         gl2.kill()
         tunnel._sockets.append(None)
         tunnel.cleanup()
     finally:
         server.stop()
Пример #4
0
 def test_tunnel_sock_failure(self):
     remote_host = '127.0.0.59'
     server = OpenSSHServer(listen_ip=remote_host, port=self.port)
     server.start_server()
     in_q, out_q = deque(), deque()
     try:
         tunnel = Tunnel(self.proxy_host, in_q, out_q, port=self.port,
                         pkey=self.user_key, num_retries=1)
         tunnel._init_tunnel_client()
         channel = tunnel._open_channel_retries(self.proxy_host, self.port, 2150)
         self.assertFalse(channel.eof())
         listen_socket, listen_port = tunnel._init_tunnel_sock()
         client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         client_socket.connect(('127.0.0.1', listen_port))
         client_socket.send(b'blah\n')
         client_socket.close()
         gl1 = spawn(tunnel._read_channel, client_socket, channel)
         gl2 = spawn(tunnel._read_forward_sock, client_socket, channel)
         sleep(1)
         gl1.kill()
         gl2.kill()
         tunnel._sockets.append(None)
         tunnel.cleanup()
     finally:
         server.stop()
Пример #5
0
 def test_tunnel_retries(self):
     local_port = 3050
     fw_host, fw_port = '127.0.0.1', 2100
     t = Tunnel(self.proxy_host,
                deque(),
                deque(),
                port=self.port,
                pkey=self.user_key,
                num_retries=2)
     t._init_tunnel_client()
     try:
         t._open_channel_retries(fw_host, fw_port, local_port)
     except (ChannelFailure, SocketSendError) as ex:
         pass
     else:
         raise AssertionError(ex)
Пример #6
0
 def test_tunnel_channel_eof(self):
     remote_host = '127.0.0.59'
     server = OpenSSHServer(listen_ip=remote_host, port=self.port)
     server.start_server()
     in_q, out_q = deque(), deque()
     try:
         tunnel = Tunnel(self.proxy_host, in_q, out_q, port=self.port,
                         pkey=self.user_key, num_retries=1)
         tunnel._init_tunnel_client()
         channel = tunnel._open_channel_retries(self.proxy_host, self.port, 2150)
         self.assertFalse(channel.eof())
         channel.close()
         listen_socket, listen_port = tunnel._init_tunnel_sock()
         client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         client_socket.connect(('127.0.0.1', listen_port))
         client = spawn(self._connect_client, client_socket)
         tunnel._read_channel(client_socket, channel)
         tunnel._read_forward_sock(client_socket, channel)
         self.assertTrue(channel.eof())
         client.kill()
     finally:
         server.stop()