root/trunk/twisted/conch/ssh/service.py

Revision 24441, 1.4 KB (checked in by thijs, 2 years ago)

Merge maintainer-email-2438: Get rid of references to maintainer email addresses from code.

Author: thijs
Reviewer: exarkun
Fixes: #2438

Line 
1# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
2# See LICENSE for details.
3
4"""
5The parent class for all the SSH services.  Currently implemented services
6are ssh-userauth and ssh-connection.
7
8Maintainer: Paul Swartz
9"""
10
11
12from twisted.python import log
13
14class 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()
Note: See TracBrowser for help on using the browser.