def accept(server_socket, mask): conn, addr = server_socket.accept() transport = Transport(conn) transport.add_server_key(host_key) transport.set_subsystem_handler('sftp', SFTPServer, stub_cls) server = StubServer(path) transport.start_server(server=server) while not terminated.is_set(): channel = transport.accept(1) if channel is not None and not terminated.is_set(): while transport.is_active() and not terminated.is_set(): terminated.wait(1) break
def handle(self): transport = Transport(self.request) #transport.set_hexdump(True) transport.add_server_key(self.host_key) transport.set_subsystem_handler( 'sftp', sftp_server.SFTPServer, VirtualSFTPServerInterface, content_provider=self.server.content_provider) transport.start_server(server=AllowAllAuthHandler()) # Keep a reference to channel to avoid it getting GCed immediately channel = transport.accept() # Keep the thread alive until the client is done while transport.is_active(): sleep(.01)
def handle(self): transport = Transport(self.request) #transport.set_hexdump(True) transport.add_server_key(self.host_key) transport.set_subsystem_handler( 'sftp', sftp_server.SFTPServer, VirtualSFTPServerInterface, content_provider=self.server.content_provider ) transport.start_server(server=AllowAllAuthHandler()) # Keep a reference to channel to avoid it getting GCed immediately channel = transport.accept() # Keep the thread alive until the client is done while transport.is_active(): sleep(.01)