| OLD | NEW |
| (Empty) |
| 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: U{Paul Swartz<mailto:z3p@twistedmatrix.com>} | |
| 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 | |
| OLD | NEW |