API diff
namespace Renci.SshNet
{
public class ConnectionInfo
{
+ public Microsoft.Extensions.Logging.ILoggerFactory? LoggerFactory { get; set; }
}
public interface ISftpClient : Renci.SshNet.IBaseClient
{
+ System.Threading.Tasks.Task DownloadFileAsync(string path, System.IO.Stream output, System.Threading.CancellationToken cancellationToken = default);
+ System.Threading.Tasks.Task<Renci.SshNet.Sftp.SftpFileAttributes> GetAttributesAsync(string path, System.Threading.CancellationToken cancellationToken);
+ System.Threading.Tasks.Task UploadFileAsync(System.IO.Stream input, string path, System.Threading.CancellationToken cancellationToken = default);
}
public class SftpClient : Renci.SshNet.BaseClient, Renci.SshNet.ISftpClient, Renci.SshNet.IBaseClient
{
+ public System.Threading.Tasks.Task DownloadFileAsync(string path, System.IO.Stream output, System.Threading.CancellationToken cancellationToken = default);
+ public System.Threading.Tasks.Task<Renci.SshNet.Sftp.SftpFileAttributes> GetAttributesAsync(string path, System.Threading.CancellationToken cancellationToken);
+ public System.Threading.Tasks.Task UploadFileAsync(System.IO.Stream input, string path, System.Threading.CancellationToken cancellationToken = default);
}
public sealed class ShellStream
{
+ public void ChangeWindowSize(uint columns, uint rows, uint width, uint height);
}
}
namespace Renci.SshNet.Common
{
public class SftpPathNotFoundException : Renci.SshNet.Common.SftpException
{
+ public SftpPathNotFoundException(string? message, string? path, System.Exception? innerException);
+ public SftpPathNotFoundException(string? message, string? path);
+ public string? Path { get; }
}
+ public class SftpException : Renci.SshNet.Common.SshException
+ {
+ public SftpException(Renci.SshNet.Sftp.StatusCode statusCode, string? message, System.Exception? innerException);
+ public SftpException(Renci.SshNet.Sftp.StatusCode statusCode, string? message);
+ public SftpException(Renci.SshNet.Sftp.StatusCode statusCode);
+ public Renci.SshNet.Sftp.StatusCode StatusCode { get; }
+ }
}
namespace Renci.SshNet.Security
{
+ public class KeyExchangeDiffieHellman : Renci.SshNet.Security.KeyExchange
+ {
+ public KeyExchangeDiffieHellman(string name, Org.BouncyCastle.Crypto.Parameters.DHParameters parameters, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
+ public override void Start(Renci.SshNet.Session session, Renci.SshNet.Messages.Transport.KeyExchangeInitMessage message, bool sendClientInitMessage);
+ public override string Name { get; }
+ }
+ public class KeyExchangeDiffieHellmanGroupExchange : Renci.SshNet.Security.KeyExchange
+ {
+ public KeyExchangeDiffieHellmanGroupExchange(string name, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, uint minimumGroupSize, uint preferredGroupSize, uint maximumGroupSize);
+ public KeyExchangeDiffieHellmanGroupExchange(string name, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
+ public override void Start(Renci.SshNet.Session session, Renci.SshNet.Messages.Transport.KeyExchangeInitMessage message, bool sendClientInitMessage);
+ public override string Name { get; }
+ }
}
namespace Renci.SshNet.Sftp
{
public sealed class SftpFileAttributes
{
+ public bool IsGroupIDBitSet { get; set; }
+ public bool IsStickyBitSet { get; set; }
+ public bool IsUIDBitSet { get; set; }
}
+ public enum StatusCode
+ {
+ Ok = 0,
+ Eof = 1,
+ NoSuchFile = 2,
+ PermissionDenied = 3,
+ Failure = 4,
+ BadMessage = 5,
+ NoConnection = 6,
+ ConnectionLost = 7,
+ OperationUnsupported = 8,
+ }
}