'Called when we get a MSG_SERVICE_REQUEST message.  Payload::
string serviceName
The client has requested a service.  If we can start the service,
start it; otherwise, disconnect with
DISCONNECT_SERVICE_NOT_AVAILABLE.
@type packet: L{bytes}
@param packet: The message data.'

def ssh_SERVICE_REQUEST(self, packet):

    (service, rest) = getNS(packet)
    cls = self.factory.getService(self, service)
    if (not cls):
        self.sendDisconnect(DISCONNECT_SERVICE_NOT_AVAILABLE, ("don't    have    service    " + service))
        return
    else:
        self.sendPacket(MSG_SERVICE_ACCEPT, NS(service))
        self.setService(cls())
