예제 #1
0
파일: ssh.py 프로젝트: veloutin/tilde
    def serviceStarted(self):
        SSHConnection.serviceStarted(self)
        self._ready = True
        for d, channel in self._pendingChannelsDeferreds:
            self.openChannel(channel)
            d.callback(True)
        else:
            del self._pendingChannelsDeferreds[:]

        self.factory.server.connection = self
        self.factory.serverConnected.callback(self)
예제 #2
0
파일: ssh.py 프로젝트: veloutin/tilde
    def serviceStarted(self):
        SSHConnection.serviceStarted(self)
        self._ready = True
        for d, channel in self._pendingChannelsDeferreds:
            self.openChannel(channel)
            d.callback(True)
        else:
            del self._pendingChannelsDeferreds[:]

        self.factory.server.connection = self
        self.factory.serverConnected.callback(self)
예제 #3
0
    def startConnection(self, user):
        serviceStartedDeferred = defer.Deferred()
        connectionService = SSHConnection()
        def serviceStarted():
            self._connections[user] = connectionService
            serviceStartedDeferred.callback(connectionService)
        connectionService.serviceStarted = serviceStarted

        connectionLostDeferred = defer.Deferred()
        userAuthObject = self._getUserAuthObject(user, connectionService)
        sshClientFactory = SSHClientFactory(connectionLostDeferred,
                                            self._verifyHostKey, userAuthObject)

        def connectionEnded(reason):
            self._connections[user] = None
            serviceStartedDeferred.called or serviceStartedDeferred.errback(reason)
        connectionLostDeferred.addBoth(connectionEnded)
        connectionMadeDeferred = self.endpoint.connect(sshClientFactory)
        connectionMadeDeferred.addErrback(connectionEnded)

        return serviceStartedDeferred
예제 #4
0
    def startConnection(self, user):
        serviceStartedDeferred = defer.Deferred()
        connectionService = SSHConnection()
        def serviceStarted():
            self._connections[user] = connectionService
            serviceStartedDeferred.callback(connectionService)
        connectionService.serviceStarted = serviceStarted

        connectionLostDeferred = defer.Deferred()
        userAuthObject = self._getUserAuthObject(user, connectionService)
        sshClientFactory = SSHClientFactory(connectionLostDeferred,
                                            self._verifyHostKey, userAuthObject)

        def connectionEnded(reason):
            self._connections[user] = None
            serviceStartedDeferred.called or serviceStartedDeferred.errback(reason)
        connectionLostDeferred.addBoth(connectionEnded)
        connectionMadeDeferred = self.endpoint.connect(sshClientFactory)
        connectionMadeDeferred.addErrback(connectionEnded)

        return serviceStartedDeferred