SSHChannelRequest Event

Fired when the SSHHost sends a channel request to the client.

Syntax

public event OnSSHChannelRequestHandler OnSSHChannelRequest;

public delegate void OnSSHChannelRequestHandler(object sender, SshreversetunnelSSHChannelRequestEventArgs e);

public class SshreversetunnelSSHChannelRequestEventArgs : EventArgs {
  public string ChannelId { get; }
  public string RequestType { get; }
  public string Packet { get; }
public byte[] PacketB { get; } public bool Success { get; set; } }
Public Event OnSSHChannelRequest As OnSSHChannelRequestHandler

Public Delegate Sub OnSSHChannelRequestHandler(sender As Object, e As SshreversetunnelSSHChannelRequestEventArgs)

Public Class SshreversetunnelSSHChannelRequestEventArgs Inherits EventArgs
  Public ReadOnly Property ChannelId As String
  Public ReadOnly Property RequestType As String
  Public ReadOnly Property Packet As String
Public ReadOnly Property PacketB As Byte() Public Property Success As Boolean End Class

Remarks

The SSHHost may send requests that affect the status of a particular SSHChannel. Some requests will be automatically handled by the component. However, others may need the attention of the user to be dealt with properly within the scope of the application.

ChannelId identifies the channel receiving the request.

Type will contain the type of the request. These types are dependent upon the type of the channel. For example, a "session" channel executing a command on the remote shell may receive an "exit-status" request containing the return code of that command.

RequestData contains the remainder of the original SSH packet. If the request type has specific parameters, they can be parsed out of this data.

Success should be used to instruct the component to respond to the request with either a success or failure notification. If the request is successful, SSHChannelRequested will fire with the same information in case the request requires further processing.

Note: Processing long-running requests, including sending channel data, inside this event may cause the underlying transport to stop processing SSH data until the event returns. In order to prevent this from happening, all requests should be processed asynchronously in a separate thread outside of this event.

Copyright (c) 2023 /n software inc. - All rights reserved.
IPWorks SSH 2020 .NET Edition - Version 20.0 [Build 8501]