diff --git a/Renci.SshClient/Renci.SshNet.Tests/Properties/Resources.Designer.cs b/Renci.SshClient/Renci.SshNet.Tests/Properties/Resources.Designer.cs
index 38882ebf..57a6bdf1 100644
--- a/Renci.SshClient/Renci.SshNet.Tests/Properties/Resources.Designer.cs
+++ b/Renci.SshClient/Renci.SshNet.Tests/Properties/Resources.Designer.cs
@@ -97,7 +97,7 @@ namespace Renci.SshNet.Tests.Properties {
}
///
- /// Looks up a localized string similar to oleg-centos.edc.renci.org.
+ /// Looks up a localized string similar to home.cabalsystems.com.
///
internal static string HOST {
get {
@@ -132,7 +132,7 @@ namespace Renci.SshNet.Tests.Properties {
}
///
- /// Looks up a localized string similar to 22.
+ /// Looks up a localized string similar to 64622.
///
internal static string PORT {
get {
diff --git a/Renci.SshClient/Renci.SshNet.Tests/Properties/Resources.resx b/Renci.SshClient/Renci.SshNet.Tests/Properties/Resources.resx
index bbb70965..9c167e04 100644
--- a/Renci.SshClient/Renci.SshNet.Tests/Properties/Resources.resx
+++ b/Renci.SshClient/Renci.SshNet.Tests/Properties/Resources.resx
@@ -149,7 +149,7 @@ D8DHbFwAT2mUv1QxRXYJO1y4pENboEzT6LUqxJgE+ae/F/29g2RD9DhtwqKqWjhM
-----END DSA PRIVATE KEY-----
- oleg-centos.edc.renci.org
+ home.cabalsystems.com
-----BEGIN DSA PRIVATE KEY-----
@@ -169,7 +169,7 @@ tM7dZpB+reWl9L5e2L8=
tester
- 22
+ 64622
-----BEGIN RSA PRIVATE KEY-----
diff --git a/Renci.SshClient/Renci.SshNet/BaseClient.cs b/Renci.SshClient/Renci.SshNet/BaseClient.cs
index 4dbac5dd..e7b2f125 100644
--- a/Renci.SshClient/Renci.SshNet/BaseClient.cs
+++ b/Renci.SshClient/Renci.SshNet/BaseClient.cs
@@ -78,6 +78,7 @@ namespace Renci.SshNet
/// Initializes a new instance of the class.
///
/// The connection info.
+ /// is null.
public BaseClient(ConnectionInfo connectionInfo)
{
if (connectionInfo == null)
diff --git a/Renci.SshClient/Renci.SshNet/ConnectionInfo.cs b/Renci.SshClient/Renci.SshNet/ConnectionInfo.cs
index 20140370..0d10959c 100644
--- a/Renci.SshClient/Renci.SshNet/ConnectionInfo.cs
+++ b/Renci.SshClient/Renci.SshNet/ConnectionInfo.cs
@@ -199,6 +199,9 @@ namespace Renci.SshNet
/// Connection host.
/// Connection port.
/// Connection username.
+ /// is null.
+ /// is invalid, or is null or contains whitespace characters.
+ /// is not within and .
protected ConnectionInfo(string host, int port, string username)
: this()
{
diff --git a/Renci.SshClient/Renci.SshNet/PasswordConnectionInfo.cs b/Renci.SshClient/Renci.SshNet/PasswordConnectionInfo.cs
index 027d0776..9a797303 100644
--- a/Renci.SshClient/Renci.SshNet/PasswordConnectionInfo.cs
+++ b/Renci.SshClient/Renci.SshNet/PasswordConnectionInfo.cs
@@ -57,6 +57,9 @@ namespace Renci.SshNet
/// Connection port.
/// Connection username.
/// Connection password.
+ /// is null.
+ /// is invalid, or is null or contains whitespace characters.
+ /// is not within and .
public PasswordConnectionInfo(string host, int port, string username, string password)
: base(host, port, username)
{
diff --git a/Renci.SshClient/Renci.SshNet/SftpClient.cs b/Renci.SshClient/Renci.SshNet/SftpClient.cs
index aaf6fa5a..a9ad336e 100644
--- a/Renci.SshClient/Renci.SshNet/SftpClient.cs
+++ b/Renci.SshClient/Renci.SshNet/SftpClient.cs
@@ -55,6 +55,7 @@ namespace Renci.SshNet
/// Initializes a new instance of the class.
///
/// The connection info.
+ /// is null.
public SftpClient(ConnectionInfo connectionInfo)
: base(connectionInfo)
{
@@ -69,6 +70,9 @@ namespace Renci.SshNet
/// Connection port.
/// Authentication username.
/// Authentication password.
+ /// is null.
+ /// is invalid, or is null or contains whitespace characters.
+ /// is not within and .
public SftpClient(string host, int port, string username, string password)
: this(new PasswordConnectionInfo(host, port, username, password))
{
@@ -80,6 +84,8 @@ namespace Renci.SshNet
/// Connection host.
/// Authentication username.
/// Authentication password.
+ /// is null.
+ /// is invalid, or is null or contains whitespace characters.
public SftpClient(string host, string username, string password)
: this(host, 22, username, password)
{
@@ -92,6 +98,9 @@ namespace Renci.SshNet
/// Connection port.
/// Authentication username.
/// Authentication private key file(s) .
+ /// is null.
+ /// is invalid, -or- is null or contains whitespace characters.
+ /// is not within and .
public SftpClient(string host, int port, string username, params PrivateKeyFile[] keyFiles)
: this(new PrivateKeyConnectionInfo(host, port, username, keyFiles))
{
@@ -103,6 +112,8 @@ namespace Renci.SshNet
/// Connection host.
/// Authentication username.
/// Authentication private key file(s) .
+ /// is null.
+ /// is invalid, -or- is null or contains whitespace characters.
public SftpClient(string host, string username, params PrivateKeyFile[] keyFiles)
: this(host, 22, username, keyFiles)
{
@@ -114,6 +125,11 @@ namespace Renci.SshNet
/// Changes remote directory to path.
///
/// New directory path.
+ /// is null.
+ /// Client is not connected.
+ /// Permission to change directory denied by remote host -or- a SSH command was denied by the server.
+ /// The path in was not found on the remote host.
+ /// A SSH error where is the message from the remote host.
public void ChangeDirectory(string path)
{
if (path == null)
@@ -130,6 +146,11 @@ namespace Renci.SshNet
///
/// File(s) path, may match multiple files.
/// The mode.
+ /// is null.
+ /// Client is not connected.
+ /// Permission to change permission on the path(s) was denied by the remote host -or- a SSH command was denied by the server.
+ /// The path in was not found on the remote host.
+ /// A SSH error where is the message from the remote host.
public void ChangePermissions(string path, short mode)
{
if (path == null)
@@ -147,8 +168,10 @@ namespace Renci.SshNet
/// Creates remote directory specified by path.
///
/// Directory path to create.
- ///
- ///
+ /// is null or contains whitespace characters.
+ /// Client is not connected.
+ /// Permission to create the directory was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
public void CreateDirectory(string path)
{
if (string.IsNullOrWhiteSpace(path))
@@ -166,6 +189,10 @@ namespace Renci.SshNet
/// Deletes remote directory specified by path.
///
/// Directory to be deleted path.
+ /// is null or contains whitespace characters.
+ /// Client is not connected.
+ /// Permission to delete the directory was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
public void DeleteDirectory(string path)
{
if (string.IsNullOrWhiteSpace(path))
@@ -183,6 +210,10 @@ namespace Renci.SshNet
/// Deletes remote file specified by path.
///
/// File to be deleted path.
+ /// is null or contains whitespace characters.
+ /// Client is not connected.
+ /// Permission to delete the file was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
public void DeleteFile(string path)
{
if (string.IsNullOrWhiteSpace(path))
@@ -201,6 +232,10 @@ namespace Renci.SshNet
///
/// Path to the old file location.
/// Path to the new file location.
+ /// or is null.
+ /// Client is not connected.
+ /// Permission to rename the file was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
public void RenameFile(string oldPath, string newPath)
{
if (oldPath == null)
@@ -224,6 +259,10 @@ namespace Renci.SshNet
///
/// The old path.
/// The new path.
+ /// or is null or contains whitespace characters.
+ /// Client is not connected.
+ /// Permission to create the symbolic link was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
public void SymbolicLink(string path, string linkPath)
{
if (string.IsNullOrWhiteSpace(path))
@@ -247,6 +286,10 @@ namespace Renci.SshNet
///
/// The path.
/// List of directory entries
+ /// is null.
+ /// Client is not connected.
+ /// Permission to list the contents of the directory was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
public IEnumerable ListDirectory(string path)
{
return InternalListDirectory(path, null);
@@ -305,6 +348,7 @@ namespace Renci.SshNet
///
/// The path.
///
+ /// is null.
public SftpFile Get(string path)
{
if (path == null)
@@ -322,6 +366,10 @@ namespace Renci.SshNet
///
/// The path.
/// true if directory or file exists; otherwise false.
+ /// is null or contains whitespace characters.
+ /// Client is not connected.
+ /// Permission to perform the operation was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
public bool Exists(string path)
{
if (string.IsNullOrWhiteSpace(path))
@@ -356,6 +404,12 @@ namespace Renci.SshNet
///
/// File to download.
/// Stream to write the file into.
+ /// is null.
+ /// is null or contains whitespace characters.
+ /// Client is not connected.
+ /// Permission to perform the operation was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
+ /// Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
public void DownloadFile(string path, Stream output)
{
this.InternalDownloadFile(path, output, null);
@@ -369,6 +423,12 @@ namespace Renci.SshNet
/// The method to be called when the asynchronous write operation is completed.
/// A user-provided object that distinguishes this particular asynchronous write request from other requests.
/// An that references the asynchronous operation.
+ /// is null.
+ /// is null or contains whitespace characters.
+ /// Client is not connected.
+ /// Permission to perform the operation was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
+ /// Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
public IAsyncResult BeginDownloadFile(string path, Stream output, AsyncCallback asyncCallback, object state)
{
if (string.IsNullOrWhiteSpace(path))
@@ -403,6 +463,7 @@ namespace Renci.SshNet
/// Ends an asynchronous file downloading into the stream.
///
/// The pending asynchronous SFTP request.
+ /// Either the IAsyncResult object () did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult.
public void EndDownloadFile(IAsyncResult asyncResult)
{
var ar = asyncResult as SftpDownloadAsyncResult;
@@ -419,6 +480,12 @@ namespace Renci.SshNet
///
/// Data input stream.
/// Remote file path.
+ /// is null.
+ /// is null or contains whitespace characters.
+ /// Client is not connected.
+ /// Permission to upload the file was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
+ /// Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
public void UploadFile(Stream input, string path)
{
this.InternalUploadFile(input, path, null);
@@ -432,6 +499,12 @@ namespace Renci.SshNet
/// The method to be called when the asynchronous write operation is completed.
/// A user-provided object that distinguishes this particular asynchronous write request from other requests.
/// An that references the asynchronous operation.
+ /// is null.
+ /// is null or contains whitespace characters.
+ /// Client is not connected.
+ /// Permission to list the contents of the directory was denied by the remote host -or- a SSH command was denied by the server.
+ /// A SSH error where is the message from the remote host.
+ /// Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
public IAsyncResult BeginUploadFile(Stream input, string path, AsyncCallback asyncCallback, object state)
{
if (input == null)
@@ -466,6 +539,7 @@ namespace Renci.SshNet
/// Ends an asynchronous uploading the steam into remote file.
///
/// The pending asynchronous SFTP request.
+ /// Either the IAsyncResult object () did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult.
public void EndUploadFile(IAsyncResult asyncResult)
{
var ar = asyncResult as SftpUploadAsyncResult;
diff --git a/Renci.SshClient/Renci.SshNet/SshClient.cs b/Renci.SshClient/Renci.SshNet/SshClient.cs
index 8c39ae15..d8a4f716 100644
--- a/Renci.SshClient/Renci.SshNet/SshClient.cs
+++ b/Renci.SshClient/Renci.SshNet/SshClient.cs
@@ -33,6 +33,7 @@ namespace Renci.SshNet
/// Initializes a new instance of the class.
///
/// The connection info.
+ /// is null.
public SshClient(ConnectionInfo connectionInfo)
: base(connectionInfo)
{
@@ -45,6 +46,9 @@ namespace Renci.SshNet
/// Connection port.
/// Authentication username.
/// Authentication password.
+ /// is null.
+ /// is invalid, or is null or contains whitespace characters.
+ /// is not within and .
public SshClient(string host, int port, string username, string password)
: this(new PasswordConnectionInfo(host, port, username, password))
{
@@ -56,6 +60,8 @@ namespace Renci.SshNet
/// Connection host.
/// Authentication username.
/// Authentication password.
+ /// is null.
+ /// is invalid, or is null or contains whitespace characters.
public SshClient(string host, string username, string password)
: this(host, 22, username, password)
{
@@ -68,6 +74,9 @@ namespace Renci.SshNet
/// Connection port.
/// Authentication username.
/// Authentication private key file(s) .
+ /// is null.
+ /// is invalid, -or- is null or contains whitespace characters.
+ /// is not within and .
public SshClient(string host, int port, string username, params PrivateKeyFile[] keyFiles)
: this(new PrivateKeyConnectionInfo(host, port, username, keyFiles))
{
@@ -79,6 +88,8 @@ namespace Renci.SshNet
/// Connection host.
/// Authentication username.
/// Authentication private key file(s) .
+ /// is null.
+ /// is invalid, -or- is null or contains whitespace characters.
public SshClient(string host, string username, params PrivateKeyFile[] keyFiles)
: this(host, 22, username, keyFiles)
{
@@ -110,6 +121,10 @@ namespace Renci.SshNet
///
/// Forwarded port
///
+ /// or is null.
+ /// or is invalid.
+ /// or is not within and .
+ /// Client is not connected.
public T AddForwardedPort(string boundHost, uint boundPort, string connectedHost, uint connectedPort) where T : ForwardedPort, new()
{
if (boundHost == null)
@@ -154,6 +169,10 @@ namespace Renci.SshNet
/// The connected host.
/// The connected port.
///
+ /// or is null.
+ /// or is invalid.
+ /// or is not within and .
+ /// Client is not connected.
public T AddForwardedPort(uint boundPort, string connectedHost, uint connectedPort) where T : ForwardedPort, new()
{
return this.AddForwardedPort("localhost", boundPort, connectedHost, connectedPort);