~justin-fathomdb/nova/justinsb-openstack-api-volumes

« back to all changes in this revision

Viewing changes to vendor/Twisted-10.0.0/twisted/conch/ssh/service.py

  • Committer: Jesse Andrews
  • Date: 2010-05-28 06:05:26 UTC
  • Revision ID: git-v1:bf6e6e718cdc7488e2da87b21e258ccc065fe499
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
 
2
# See LICENSE for details.
 
3
 
 
4
"""
 
5
The parent class for all the SSH services.  Currently implemented services
 
6
are ssh-userauth and ssh-connection.
 
7
 
 
8
Maintainer: Paul Swartz
 
9
"""
 
10
 
 
11
 
 
12
from twisted.python import log
 
13
 
 
14
class SSHService(log.Logger):
 
15
    name = None # this is the ssh name for the service
 
16
    protocolMessages = {} # these map #'s -> protocol names
 
17
    transport = None # gets set later
 
18
 
 
19
    def serviceStarted(self):
 
20
        """
 
21
        called when the service is active on the transport.
 
22
        """
 
23
 
 
24
    def serviceStopped(self):
 
25
        """
 
26
        called when the service is stopped, either by the connection ending
 
27
        or by another service being started
 
28
        """
 
29
 
 
30
    def logPrefix(self):
 
31
        return "SSHService %s on %s" % (self.name,
 
32
                self.transport.transport.logPrefix())
 
33
 
 
34
    def packetReceived(self, messageNum, packet):
 
35
        """
 
36
        called when we receive a packet on the transport
 
37
        """
 
38
        #print self.protocolMessages
 
39
        if messageNum in self.protocolMessages:
 
40
            messageType = self.protocolMessages[messageNum]
 
41
            f = getattr(self,'ssh_%s' % messageType[4:],
 
42
                        None)
 
43
            if f is not None:
 
44
                return f(packet)
 
45
        log.msg("couldn't handle %r" % messageNum)
 
46
        log.msg(repr(packet))
 
47
        self.transport.sendUnimplemented()
 
48