private void HandleMessage(ChannelRequestMessage message)
        {
            switch (message.RequestType)
            {
            case "env":
                var envMsg = Message.LoadFrom <EnvironmentRequestMessage>(message);
                this.HandleMessage(envMsg);
                break;

            case "exec":
                var execMsg = Message.LoadFrom <CommandRequestMessage>(message);
                this.HandleMessage(execMsg);
                break;

            case "pty-req":
                var termMsg = Message.LoadFrom <TerminalRequestMessage>(message);
                this.HandleMessage(termMsg);
                break;

            case "shell":
                var shellMsg = Message.LoadFrom <ShellRequestMessage>(message);
                this.HandleMessage(shellMsg);
                break;

            default:
                if (message.WantReply)
                {
                    this.Session.SendMessage(new ChannelFailureMessage {
                        RecipientChannel = this.FindChannelByServerId <Channel>(message.RecipientChannel).ClientChannelId
                    });
                }
                throw new SshConnectionException($"Unknown request type: {message.RequestType}.");
            }
        }
Пример #2
0
        public void ChannelRequestMessageConstructorTest1()
        {
            uint                  localChannelName = 0;    // TODO: Initialize to an appropriate value
            RequestInfo           info             = null; // TODO: Initialize to an appropriate value
            ChannelRequestMessage target           = new ChannelRequestMessage(localChannelName, info);

            Assert.Inconclusive("TODO: Implement code to verify target");
        }
Пример #3
0
        private void HandleMessage(ChannelRequestMessage message)
        {
            switch (message.RequestType)
            {
            case "exec":
                var msg = Message.LoadFrom <CommandRequestMessage>(message);
                HandleMessage(msg);
                break;

            default:
                if (message.WantReply)
                {
                    _session.SendMessage(new ChannelFailureMessage
                    {
                        RecipientChannel = FindChannelByServerId <Channel>(message.RecipientChannel).ClientChannelId
                    });
                }
                throw new SshConnectionException(string.Format("Unknown request type: {0}.", message.RequestType));
            }
        }
Пример #4
0
        public void ChannelRequestMessageConstructorTest()
        {
            ChannelRequestMessage target = new ChannelRequestMessage();

            Assert.Inconclusive("TODO: Implement code to verify target");
        }
Пример #5
0
        private void HandleMessage(ChannelRequestMessage message)
        {
            var service = this.GetService <ConnectionService>();

            service?.HandleMessageCore(message);
        }
Пример #6
0
        private void HandleMessage(ChannelRequestMessage message)
        {
            switch (message.RequestType)
            {
            case "exec":
                var msg = Message.LoadFrom <CommandRequestMessage>(message);
                HandleMessage(msg);
                break;

            case "shell":
                var shell_msg = Message.LoadFrom <ShellRequestMessage>(message);
                HandleMessage(shell_msg);
                break;

            case "pty-req":
                var pty_msg = Message.LoadFrom <PtyRequestMessage>(message);
                HandleMessage(pty_msg);
                break;

            case "env":
                var env_msg = Message.LoadFrom <EnvMessage>(message);
                HandleMessage(env_msg);
                break;

            case "subsystem":
                var sub_msg = Message.LoadFrom <SubsystemMessage>(message);
                HandleMessage(sub_msg);
                break;

            case "window-change":
                break;

            case "*****@*****.**":
                //https://tartarus.org/~simon/putty-snapshots/htmldoc/AppendixF.html
                if (message.WantReply)
                {
                    var c = FindChannelByServerId <SessionChannel>(message.RecipientChannel);
                    _session.SendMessage(new ChannelSuccessMessage {
                        RecipientChannel = c.ClientChannelId
                    });
                }
                break;

            case "*****@*****.**":
                //https://tartarus.org/~simon/putty-snapshots/htmldoc/AppendixF.html
                var channel = FindChannelByServerId <SessionChannel>(message.RecipientChannel);
                _session.SendMessage(new ChannelFailureMessage {
                    RecipientChannel = channel.ClientChannelId
                });
                break;

            default:
                if (message.WantReply)
                {
                    _session.SendMessage(new ChannelFailureMessage
                    {
                        RecipientChannel = FindChannelByServerId <Channel>(message.RecipientChannel).ClientChannelId
                    });
                }
                throw new SshConnectionException(string.Format("Unknown request type: {0}.", message.RequestType));
            }
        }