public override void OnChannelOpenConfirmation(ISshChannelMessage p) { var msg = (SshChannelOpenConfirmation)p; this.RemoteChannel = msg.SenderChannel; waitHandle.Set(); }
public override void OnChannelOpenConfirmation(ISshChannelMessage p) { var msg = (SshChannelOpenConfirmation)p; this.RemoteChannel = msg.SenderChannel; session.Socket.WritePacket(new SshChannelRequestSftp(this.RemoteChannel)); }
public override void OnChannelData(ISshChannelMessage p) { var msg = (SshChannelData)p; try { if (client.Connected) { var s = client.GetStream(); if (s.CanWrite) { s.Write(msg.Data, 0, msg.Data.Length); } else { throw new IOException(); } } else { throw new IOException(); } } catch (IOException) { if (!this.channelCloseSent) { this.channelCloseSent = true; session.Socket.WritePacket(new SshChannelClose(this.RemoteChannel)); } } }
public override void OnChannelOpenConfirmation(ISshChannelMessage p) { var msg = (SshChannelOpenConfirmation)p; this.RemoteChannel = msg.SenderChannel; session.Socket.WritePacket(new SshChannelRequestPty(this.RemoteChannel, "dumb", 80, 25, 640, 480, string.Empty)); }
public override void OnChannelEndOfFile(ISshChannelMessage p) { if (UseConsole && readConsoleThread != null && readConsoleThread.IsAlive) { readConsoleThread.Abort(); readConsoleThread.Join(); } }
public override void OnChannelClose(ISshChannelMessage p) { this.client.Close(); if (!this.channelCloseSent) { this.channelCloseSent = true; session.Socket.WritePacket(new SshChannelClose(this.RemoteChannel)); } Close(SSH.StatusCode.OK); }
public override void OnChannelEndOfFile(ISshChannelMessage p) { var msg = (SshChannelEOF)p; if (!this.channelEOFSent) { this.channelEOFSent = true; session.Socket.WritePacket(new SshChannelEOF(this.RemoteChannel)); } }
public override void OnChannelOpenFailure(ISshChannelMessage p) { var msg = (SshChannelOpenFailure)p; waitHandle.Set(new SocketException( msg.ReasonCode == SshChannelOpenFailure.ChannelOpenFailureReasonCode.SSH_OPEN_ADMINISTRATIVELY_PROHIBITED ? 10013 : msg.ReasonCode == SshChannelOpenFailure.ChannelOpenFailureReasonCode.SSH_OPEN_CONNECT_FAILED ? 10061 : msg.ReasonCode == SshChannelOpenFailure.ChannelOpenFailureReasonCode.SSH_OPEN_UNKNOWN_CHANNEL_TYPE ? 10043 : msg.ReasonCode == SshChannelOpenFailure.ChannelOpenFailureReasonCode.SSH_OPEN_RESOURCE_SHORTAGE ? 8 : 0)); }
public override void OnChannelClose(ISshChannelMessage p) { OnChannelEndOfFile(p); if (!closeSent) { closeSent = true; session.Socket.WritePacket(new SshChannelClose(this.RemoteChannel)); Close(StatusCode.OK); } waitHandle.Set(); }
public override void OnChannelData(ISshChannelMessage p) { var msg = (SshChannelData)p; if (UseConsole) { WriteConsole(msg.Data); } else { OutputStream.Write(msg.Data, 0, msg.Data.Length); } }
public override void OnChannelSuccess(ISshChannelMessage p) { if (!tty_opened) { tty_opened = true; session.Socket.WritePacket(new SshChannelRequest(this.RemoteChannel, "shell", true)); } else { if (UseConsole) { readConsoleThread = new Thread(new ThreadStart(ReadConsole)); readConsoleThread.Start(); } waitHandle.Set(); } }
public abstract void OnChannelExtendedData(ISshChannelMessage p);
public override void OnChannelSuccess(ISshChannelMessage p) { }
public override void OnChannelExtendedData(ISshChannelMessage p) { var msg = (SshChannelExtendedData)p; StandardError.Write(msg.Data, 0, msg.Data.Length); }
public abstract void OnChannelClose(ISshChannelMessage p);
public override void OnChannelOpenFailure(ISshChannelMessage p) { }
public override void OnChannelData(ISshChannelMessage p) { var msg = (SshChannelData)p; StandardOut.Write(msg.Data, 0, msg.Data.Length); }
public override void OnChannelExtendedData(ISshChannelMessage p) { }
public abstract void OnChannelData(ISshChannelMessage p);
public override void OnChannelWindowAdjust(ISshChannelMessage p) { }
public abstract void OnChannelEndOfFile(ISshChannelMessage p);
public override void OnChannelSuccess(ISshChannelMessage p) { session.Socket.WritePacket(new SftpInit(this.RemoteChannel, 3)); }
public abstract void OnChannelSuccess(ISshChannelMessage p);
public abstract void OnChannelRequest(ISshChannelMessage p);
public override void OnChannelClose(ISshChannelMessage p) { session.Socket.WritePacket(new SshChannelClose(this.RemoteChannel)); waitHandle.Set(); }
public override void OnChannelEndOfFile(ISshChannelMessage p) { }
public override void OnChannelData(ISshChannelMessage p) { ProcessPacket((SftpPacket)p); }
public abstract void OnChannelWindowAdjust(ISshChannelMessage p);
public override void OnChannelRequest(ISshChannelMessage p) { }
public override void OnChannelClose(ISshChannelMessage p) { waitHandle.Set(); }