diff --git a/src/References/X.690-0207.txt b/src/References/X.690-0207.txt
index d4bcf732..597e199e 100644
--- a/src/References/X.690-0207.txt
+++ b/src/References/X.690-0207.txt
@@ -1,3 +1,3 @@
-Source = http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf
-Code = .\Renci.SshNet\Common\DerData.cs
+Source = http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf
+Code = .\Renci.SshNet\Common\DerData.cs
Wiki = http://en.wikipedia.org/wiki/Distinguished_Encoding_Rules
\ No newline at end of file
diff --git a/src/Renci.SshNet.NET35/Common/Extensions.NET35.cs b/src/Renci.SshNet.NET35/Common/Extensions.NET35.cs
index 7eda0945..98900f67 100644
--- a/src/Renci.SshNet.NET35/Common/Extensions.NET35.cs
+++ b/src/Renci.SshNet.NET35/Common/Extensions.NET35.cs
@@ -1,66 +1,66 @@
-using System;
-using System.Diagnostics;
-using System.Net.Sockets;
-using System.Security.Cryptography;
-using System.Text;
-using System.Threading;
-
-namespace Renci.SshNet
-{
- ///
- /// Collection of different extension method specific for .NET 3.5
- ///
- internal static partial class Extensions
- {
- ///
- /// Disposes the specified socket.
- ///
- /// The socket.
- [DebuggerNonUserCode]
- internal static void Dispose(this Socket socket)
- {
- if (socket == null)
- throw new NullReferenceException();
-
- socket.Close();
- }
-
- ///
- /// Disposes the specified handle.
- ///
- /// The handle.
- [DebuggerNonUserCode]
- internal static void Dispose(this WaitHandle handle)
- {
- if (handle == null)
- throw new NullReferenceException();
-
- handle.Close();
- }
-
- ///
- /// Disposes the specified algorithm.
- ///
- /// The algorithm.
- [DebuggerNonUserCode]
- internal static void Dispose(this HashAlgorithm algorithm)
- {
- if (algorithm == null)
- throw new NullReferenceException();
-
- algorithm.Clear();
- }
-
- ///
- /// Clears the contents of the string builder.
- ///
- ///
- /// The to clear.
- ///
- public static void Clear(this StringBuilder value)
- {
- value.Length = 0;
- value.Capacity = 16;
- }
- }
-}
+using System;
+using System.Diagnostics;
+using System.Net.Sockets;
+using System.Security.Cryptography;
+using System.Text;
+using System.Threading;
+
+namespace Renci.SshNet
+{
+ ///
+ /// Collection of different extension method specific for .NET 3.5
+ ///
+ internal static partial class Extensions
+ {
+ ///
+ /// Disposes the specified socket.
+ ///
+ /// The socket.
+ [DebuggerNonUserCode]
+ internal static void Dispose(this Socket socket)
+ {
+ if (socket == null)
+ throw new NullReferenceException();
+
+ socket.Close();
+ }
+
+ ///
+ /// Disposes the specified handle.
+ ///
+ /// The handle.
+ [DebuggerNonUserCode]
+ internal static void Dispose(this WaitHandle handle)
+ {
+ if (handle == null)
+ throw new NullReferenceException();
+
+ handle.Close();
+ }
+
+ ///
+ /// Disposes the specified algorithm.
+ ///
+ /// The algorithm.
+ [DebuggerNonUserCode]
+ internal static void Dispose(this HashAlgorithm algorithm)
+ {
+ if (algorithm == null)
+ throw new NullReferenceException();
+
+ algorithm.Clear();
+ }
+
+ ///
+ /// Clears the contents of the string builder.
+ ///
+ ///
+ /// The to clear.
+ ///
+ public static void Clear(this StringBuilder value)
+ {
+ value.Length = 0;
+ value.Capacity = 16;
+ }
+ }
+}
diff --git a/src/Renci.SshNet.NET35/Properties/AssemblyInfo.cs b/src/Renci.SshNet.NET35/Properties/AssemblyInfo.cs
index ee4133c8..9b3fcd24 100644
--- a/src/Renci.SshNet.NET35/Properties/AssemblyInfo.cs
+++ b/src/Renci.SshNet.NET35/Properties/AssemblyInfo.cs
@@ -1,8 +1,8 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-[assembly: AssemblyTitle("SSH.NET .NET 3.5")]
-[assembly: Guid("a9698831-4993-469b-81f1-aed4e5379252")]
-[assembly: InternalsVisibleTo("Renci.SshNet.Tests.NET35, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f9194e1eb66b7e2575aaee115ee1d27bc100920e7150e43992d6f668f9737de8b9c7ae892b62b8a36dd1d57929ff1541665d101dc476d6e02390846efae7e5186eec409710fdb596e3f83740afef0d4443055937649bc5a773175b61c57615dac0f0fd10f52b52fedf76c17474cc567b3f7a79de95dde842509fb39aaf69c6c2")]
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("SSH.NET .NET 3.5")]
+[assembly: Guid("a9698831-4993-469b-81f1-aed4e5379252")]
+[assembly: InternalsVisibleTo("Renci.SshNet.Tests.NET35, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f9194e1eb66b7e2575aaee115ee1d27bc100920e7150e43992d6f668f9737de8b9c7ae892b62b8a36dd1d57929ff1541665d101dc476d6e02390846efae7e5186eec409710fdb596e3f83740afef0d4443055937649bc5a773175b61c57615dac0f0fd10f52b52fedf76c17474cc567b3f7a79de95dde842509fb39aaf69c6c2")]
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
\ No newline at end of file
diff --git a/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj b/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj
index cdd01c56..13c104cd 100644
--- a/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj
+++ b/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj
@@ -1,953 +1,953 @@
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}
- Library
- Properties
- Renci.SshNet
- Renci.SshNet
- v3.5
- 512
-
-
- true
- full
- false
- bin\Debug\
- TRACE;DEBUG;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_ENCODING_ASCII
- prompt
- 4
- true
- bin\Debug\Renci.SshNet.xml
-
-
- none
- true
- bin\Release\
- TRACE;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_ENCODING_ASCII
- prompt
- 4
- bin\Release\Renci.SshNet.xml
-
-
- true
-
-
- true
-
-
- ..\Renci.SshNet.snk
-
-
-
-
-
-
-
-
-
-
-
- Abstractions\CryptoAbstraction.cs
-
-
- Abstractions\DiagnosticAbstraction.cs
-
-
- Abstractions\DnsAbstraction.cs
-
-
- Abstractions\ReflectionAbstraction.cs
-
-
- Abstractions\SocketAbstraction.cs
-
-
- Abstractions\ThreadAbstraction.cs
-
-
- AuthenticationMethod.cs
-
-
- AuthenticationResult.cs
-
-
- BaseClient.cs
-
-
- Channels\Channel.cs
-
-
- Channels\ChannelDirectTcpip.cs
-
-
- Channels\ChannelForwardedTcpip.cs
-
-
- Channels\ChannelSession.cs
-
-
- Channels\ChannelTypes.cs
-
-
- Channels\ClientChannel.cs
-
-
- Channels\IChannel.cs
-
-
- Channels\IChannelDirectTcpip.cs
-
-
- Channels\IChannelForwardedTcpip.cs
-
-
- Channels\IChannelSession.cs
-
-
- Channels\ServerChannel.cs
-
-
- CipherInfo.cs
-
-
- ClientAuthentication.cs
-
-
- CommandAsyncResult.cs
-
-
- Common\Array.cs
-
-
- Common\ASCIIEncoding.cs
-
-
- Common\AsyncResult.cs
-
-
- Common\AuthenticationBannerEventArgs.cs
-
-
- Common\AuthenticationEventArgs.cs
-
-
- Common\AuthenticationPasswordChangeEventArgs.cs
-
-
- Common\AuthenticationPrompt.cs
-
-
- Common\AuthenticationPromptEventArgs.cs
-
-
- Common\BigInteger.cs
-
-
- Common\ChannelDataEventArgs.cs
-
-
- Common\ChannelEventArgs.cs
-
-
- Common\ChannelExtendedDataEventArgs.cs
-
-
- Common\ChannelOpenConfirmedEventArgs.cs
-
-
- Common\ChannelOpenFailedEventArgs.cs
-
-
- Common\ChannelRequestEventArgs.cs
-
-
- Common\DerData.cs
-
-
- Common\ExceptionEventArgs.cs
-
-
- Common\Extensions.cs
-
-
- Common\HostKeyEventArgs.cs
-
-
- Common\NetConfServerException.cs
-
-
- Common\NetConfServerException.NET40.cs
-
-
- Common\ObjectIdentifier.cs
-
-
- Common\PipeStream.cs
-
-
- Common\PortForwardEventArgs.cs
-
-
- Common\ProxyException.cs
-
-
- Common\ScpDownloadEventArgs.cs
-
-
- Common\ScpException.cs
-
-
- Common\ScpException.NET40.cs
-
-
- Common\ScpUploadEventArgs.cs
-
-
- Common\SemaphoreLight.cs
-
-
- Common\SftpPathNotFoundException.cs
-
-
- Common\SftpPathNotFoundException.NET40.cs
-
-
- Common\SftpPermissionDeniedException.cs
-
-
- Common\SftpPermissionDeniedException.NET40.cs
-
-
- Common\ShellDataEventArgs.cs
-
-
- Common\SshAuthenticationException.cs
-
-
- Common\SshAuthenticationException.NET40.cs
-
-
- Common\SshConnectionException.cs
-
-
- Common\SshConnectionException.NET40.cs
-
-
- Common\SshData.cs
-
-
- Common\SshDataStream.cs
-
-
- Common\SshException.cs
-
-
- Common\SshException.NET40.cs
-
-
- Common\SshOperationTimeoutException.cs
-
-
- Common\SshOperationTimeoutException.NET40.cs
-
-
- Common\SshPassPhraseNullOrEmptyException.cs
-
-
- Common\SshPassPhraseNullOrEmptyException.NET40.cs
-
-
- Common\TerminalModes.cs
-
-
- Compression\CompressionMode.cs
-
-
- Compression\Compressor.cs
-
-
- Compression\Zlib.cs
-
-
- Compression\ZlibOpenSsh.cs
-
-
- Compression\ZlibStream.cs
-
-
- ConnectionInfo.cs
-
-
- ExpectAction.cs
-
-
- ExpectAsyncResult.cs
-
-
- ForwardedPort.cs
-
-
- ForwardedPortDynamic.cs
-
-
- ForwardedPortDynamic.NET.cs
-
-
- ForwardedPortLocal.cs
-
-
- ForwardedPortLocal.NET.cs
-
-
- ForwardedPortRemote.cs
-
-
- HashInfo.cs
-
-
- IAuthenticationMethod.cs
-
-
- IClientAuthentication.cs
-
-
- IConnectionInfo.cs
-
-
- IForwardedPort.cs
-
-
- IServiceFactory.cs
-
-
- IServiceFactory.NET.cs
-
-
- ISession.cs
-
-
- ISubsystemSession.cs
-
-
- KeyboardInteractiveAuthenticationMethod.cs
-
-
- KeyboardInteractiveConnectionInfo.cs
-
-
- MessageEventArgs.cs
-
-
- Messages\Authentication\BannerMessage.cs
-
-
- Messages\Authentication\FailureMessage.cs
-
-
- Messages\Authentication\InformationRequestMessage.cs
-
-
- Messages\Authentication\InformationResponseMessage.cs
-
-
- Messages\Authentication\PasswordChangeRequiredMessage.cs
-
-
- Messages\Authentication\PublicKeyMessage.cs
-
-
- Messages\Authentication\RequestMessage.cs
-
-
- Messages\Authentication\RequestMessageHost.cs
-
-
- Messages\Authentication\RequestMessageKeyboardInteractive.cs
-
-
- Messages\Authentication\RequestMessageNone.cs
-
-
- Messages\Authentication\RequestMessagePassword.cs
-
-
- Messages\Authentication\RequestMessagePublicKey.cs
-
-
- Messages\Authentication\SuccessMessage.cs
-
-
- Messages\Connection\ChannelCloseMessage.cs
-
-
- Messages\Connection\ChannelDataMessage.cs
-
-
- Messages\Connection\ChannelEofMessage.cs
-
-
- Messages\Connection\ChannelExtendedDataMessage.cs
-
-
- Messages\Connection\ChannelFailureMessage.cs
-
-
- Messages\Connection\ChannelMessage.cs
-
-
- Messages\Connection\ChannelOpenConfirmationMessage.cs
-
-
- Messages\Connection\ChannelOpenFailureMessage.cs
-
-
- Messages\Connection\ChannelOpenFailureReasons.cs
-
-
- Messages\Connection\ChannelOpen\ChannelOpenInfo.cs
-
-
- Messages\Connection\ChannelOpen\ChannelOpenMessage.cs
-
-
- Messages\Connection\ChannelOpen\DirectTcpipChannelInfo.cs
-
-
- Messages\Connection\ChannelOpen\ForwardedTcpipChannelInfo.cs
-
-
- Messages\Connection\ChannelOpen\SessionChannelOpenInfo.cs
-
-
- Messages\Connection\ChannelOpen\X11ChannelOpenInfo.cs
-
-
- Messages\Connection\ChannelRequest\BreakRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ChannelRequestMessage.cs
-
-
- Messages\Connection\ChannelRequest\EndOfWriteRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\EnvironmentVariableRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ExecRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ExitSignalRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ExitStatusRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\KeepAliveRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\PseudoTerminalInfo.cs
-
-
- Messages\Connection\ChannelRequest\RequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ShellRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\SignalRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\SubsystemRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\WindowChangeRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\X11ForwardingRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\XonXoffRequestInfo.cs
-
-
- Messages\Connection\ChannelSuccessMessage.cs
-
-
- Messages\Connection\ChannelWindowAdjustMessage.cs
-
-
- Messages\Connection\GlobalRequestMessage.cs
-
-
- Messages\Connection\GlobalRequestName.cs
-
-
- Messages\Connection\RequestFailureMessage.cs
-
-
- Messages\Connection\RequestSuccessMessage.cs
-
-
- Messages\Message.cs
-
-
- Messages\MessageAttribute.cs
-
-
- Messages\ServiceName.cs
-
-
- Messages\Transport\DebugMessage.cs
-
-
- Messages\Transport\DisconnectMessage.cs
-
-
- Messages\Transport\DisconnectReason.cs
-
-
- Messages\Transport\IgnoreMessage.cs
-
-
- Messages\Transport\IKeyExchangedAllowed.cs
-
-
- Messages\Transport\KeyExchangeDhGroupExchangeGroup.cs
-
-
- Messages\Transport\KeyExchangeDhGroupExchangeInit.cs
-
-
- Messages\Transport\KeyExchangeDhGroupExchangeReply.cs
-
-
- Messages\Transport\KeyExchangeDhGroupExchangeRequest.cs
-
-
- Messages\Transport\KeyExchangeDhInitMessage.cs
-
-
- Messages\Transport\KeyExchangeDhReplyMessage.cs
-
-
- Messages\Transport\KeyExchangeEcdhInitMessage.cs
-
-
- Messages\Transport\KeyExchangeEcdhReplyMessage.cs
-
-
- Messages\Transport\KeyExchangeInitMessage.cs
-
-
- Messages\Transport\NewKeysMessage.cs
-
-
- Messages\Transport\ServiceAcceptMessage.cs
-
-
- Messages\Transport\ServiceRequestMessage.cs
-
-
- Messages\Transport\UnimplementedMessage.cs
-
-
- NetConfClient.cs
-
-
- Netconf\INetConfSession.cs
-
-
- Netconf\NetConfSession.cs
-
-
- NoneAuthenticationMethod.cs
-
-
- PasswordAuthenticationMethod.cs
-
-
- PasswordConnectionInfo.cs
-
-
- PrivateKeyAuthenticationMethod.cs
-
-
- PrivateKeyConnectionInfo.cs
-
-
- PrivateKeyFile.cs
-
-
- ProxyTypes.cs
-
-
- ScpClient.cs
-
-
- ScpClient.NET.cs
-
-
- Security\Algorithm.cs
-
-
- Security\CertificateHostAlgorithm.cs
-
-
- Security\Cryptography\AsymmetricCipher.cs
-
-
- Security\Cryptography\BlockCipher.cs
-
-
- Security\Cryptography\Cipher.cs
-
-
- Security\Cryptography\CipherDigitalSignature.cs
-
-
- Security\Cryptography\Ciphers\AesCipher.cs
-
-
- Security\Cryptography\Ciphers\Arc4Cipher.cs
-
-
- Security\Cryptography\Ciphers\BlowfishCipher.cs
-
-
- Security\Cryptography\Ciphers\CastCipher.cs
-
-
- Security\Cryptography\Ciphers\CipherMode.cs
-
-
- Security\Cryptography\Ciphers\CipherPadding.cs
-
-
- Security\Cryptography\Ciphers\DesCipher.cs
-
-
- Security\Cryptography\Ciphers\Modes\CbcCipherMode.cs
-
-
- Security\Cryptography\Ciphers\Modes\CfbCipherMode.cs
-
-
- Security\Cryptography\Ciphers\Modes\CtrCipherMode.cs
-
-
- Security\Cryptography\Ciphers\Modes\OfbCipherMode.cs
-
-
- Security\Cryptography\Ciphers\Paddings\PKCS5Padding.cs
-
-
- Security\Cryptography\Ciphers\Paddings\PKCS7Padding.cs
-
-
- Security\Cryptography\Ciphers\RsaCipher.cs
-
-
- Security\Cryptography\Ciphers\SerpentCipher.cs
-
-
- Security\Cryptography\Ciphers\TripleDesCipher.cs
-
-
- Security\Cryptography\Ciphers\TwofishCipher.cs
-
-
- Security\Cryptography\DigitalSignature.cs
-
-
- Security\Cryptography\DsaDigitalSignature.cs
-
-
- Security\Cryptography\DsaKey.cs
-
-
- Security\Cryptography\HMACMD5.cs
-
-
- Security\Cryptography\HMACSHA1.cs
-
-
- Security\Cryptography\HMACSHA256.cs
-
-
- Security\Cryptography\HMACSHA384.cs
-
-
- Security\Cryptography\HMACSHA512.cs
-
-
- Security\Cryptography\Key.cs
-
-
- Security\Cryptography\RsaDigitalSignature.cs
-
-
- Security\Cryptography\RsaKey.cs
-
-
- Security\Cryptography\StreamCipher.cs
-
-
- Security\Cryptography\SymmetricCipher.cs
-
-
- Security\GroupExchangeHashData.cs
-
-
- Security\HostAlgorithm.cs
-
-
- Security\IKeyExchange.cs
-
-
- Security\KeyExchange.cs
-
-
- Security\KeyExchangeDiffieHellman.cs
-
-
- Security\KeyExchangeDiffieHellmanGroup14Sha1.cs
-
-
- Security\KeyExchangeDiffieHellmanGroup1Sha1.cs
-
-
- Security\KeyExchangeDiffieHellmanGroupExchangeSha1.cs
-
-
- Security\KeyExchangeDiffieHellmanGroupExchangeSha256.cs
-
-
- Security\KeyExchangeDiffieHellmanGroupExchangeShaBase.cs
-
-
- Security\KeyExchangeDiffieHellmanGroupSha1.cs
-
-
- Security\KeyHostAlgorithm.cs
-
-
- ServiceFactory.cs
-
-
- ServiceFactory.NET.cs
-
-
- Session.cs
-
-
- Session.NET.cs
-
-
- SftpClient.cs
-
-
- Sftp\Flags.cs
-
-
- Sftp\ISftpSession.cs
-
-
- Sftp\Requests\ExtendedRequests\FStatVfsRequest.cs
-
-
- Sftp\Requests\ExtendedRequests\HardLinkRequest.cs
-
-
- Sftp\Requests\ExtendedRequests\PosixRenameRequest.cs
-
-
- Sftp\Requests\ExtendedRequests\StatVfsRequest.cs
-
-
- Sftp\Requests\SftpBlockRequest.cs
-
-
- Sftp\Requests\SftpCloseRequest.cs
-
-
- Sftp\Requests\SftpExtendedRequest.cs
-
-
- Sftp\Requests\SftpFSetStatRequest.cs
-
-
- Sftp\Requests\SftpFStatRequest.cs
-
-
- Sftp\Requests\SftpInitRequest.cs
-
-
- Sftp\Requests\SftpLinkRequest.cs
-
-
- Sftp\Requests\SftpLStatRequest.cs
-
-
- Sftp\Requests\SftpMkDirRequest.cs
-
-
- Sftp\Requests\SftpOpenDirRequest.cs
-
-
- Sftp\Requests\SftpOpenRequest.cs
-
-
- Sftp\Requests\SftpReadDirRequest.cs
-
-
- Sftp\Requests\SftpReadLinkRequest.cs
-
-
- Sftp\Requests\SftpReadRequest.cs
-
-
- Sftp\Requests\SftpRealPathRequest.cs
-
-
- Sftp\Requests\SftpRemoveRequest.cs
-
-
- Sftp\Requests\SftpRenameRequest.cs
-
-
- Sftp\Requests\SftpRequest.cs
-
-
- Sftp\Requests\SftpRmDirRequest.cs
-
-
- Sftp\Requests\SftpSetStatRequest.cs
-
-
- Sftp\Requests\SftpStatRequest.cs
-
-
- Sftp\Requests\SftpSymLinkRequest.cs
-
-
- Sftp\Requests\SftpUnblockRequest.cs
-
-
- Sftp\Requests\SftpWriteRequest.cs
-
-
- Sftp\Responses\ExtendedReplies\ExtendedReplyInfo.cs
-
-
- Sftp\Responses\ExtendedReplies\StatVfsReplyInfo.cs
-
-
- Sftp\Responses\SftpAttrsResponse.cs
-
-
- Sftp\Responses\SftpDataResponse.cs
-
-
- Sftp\Responses\SftpExtendedReplyResponse.cs
-
-
- Sftp\Responses\SftpHandleResponse.cs
-
-
- Sftp\Responses\SftpNameResponse.cs
-
-
- Sftp\Responses\SftpResponse.cs
-
-
- Sftp\Responses\SftpStatusResponse.cs
-
-
- Sftp\Responses\SftpVersionResponse.cs
-
-
- Sftp\SftpDownloadAsyncResult.cs
-
-
- Sftp\SftpFile.cs
-
-
- Sftp\SftpFileAttributes.cs
-
-
- Sftp\SftpFileStream.cs
-
-
- Sftp\SftpFileSystemInformation.cs
-
-
- Sftp\SftpListDirectoryAsyncResult.cs
-
-
- Sftp\SftpMessage.cs
-
-
- Sftp\SftpMessageTypes.cs
-
-
- Sftp\SftpSession.cs
-
-
- Sftp\SftpSynchronizeDirectoriesAsyncResult.cs
-
-
- Sftp\SftpUploadAsyncResult.cs
-
-
- Sftp\StatusCodes.cs
-
-
- Shell.cs
-
-
- ShellStream.cs
-
-
- SshClient.cs
-
-
- SshCommand.cs
-
-
- SshMessageFactory.cs
-
-
- SubsystemSession.cs
-
-
-
-
- Properties\CommonAssemblyInfo.cs
-
-
-
-
-
-
- Renci.SshNet.snk
-
-
-
-
-
-
-
-
-
+
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}
+ Library
+ Properties
+ Renci.SshNet
+ Renci.SshNet
+ v3.5
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ TRACE;DEBUG;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_ENCODING_ASCII
+ prompt
+ 4
+ true
+ bin\Debug\Renci.SshNet.xml
+
+
+ none
+ true
+ bin\Release\
+ TRACE;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_ENCODING_ASCII
+ prompt
+ 4
+ bin\Release\Renci.SshNet.xml
+
+
+ true
+
+
+ true
+
+
+ ..\Renci.SshNet.snk
+
+
+
+
+
+
+
+
+
+
+
+ Abstractions\CryptoAbstraction.cs
+
+
+ Abstractions\DiagnosticAbstraction.cs
+
+
+ Abstractions\DnsAbstraction.cs
+
+
+ Abstractions\ReflectionAbstraction.cs
+
+
+ Abstractions\SocketAbstraction.cs
+
+
+ Abstractions\ThreadAbstraction.cs
+
+
+ AuthenticationMethod.cs
+
+
+ AuthenticationResult.cs
+
+
+ BaseClient.cs
+
+
+ Channels\Channel.cs
+
+
+ Channels\ChannelDirectTcpip.cs
+
+
+ Channels\ChannelForwardedTcpip.cs
+
+
+ Channels\ChannelSession.cs
+
+
+ Channels\ChannelTypes.cs
+
+
+ Channels\ClientChannel.cs
+
+
+ Channels\IChannel.cs
+
+
+ Channels\IChannelDirectTcpip.cs
+
+
+ Channels\IChannelForwardedTcpip.cs
+
+
+ Channels\IChannelSession.cs
+
+
+ Channels\ServerChannel.cs
+
+
+ CipherInfo.cs
+
+
+ ClientAuthentication.cs
+
+
+ CommandAsyncResult.cs
+
+
+ Common\Array.cs
+
+
+ Common\ASCIIEncoding.cs
+
+
+ Common\AsyncResult.cs
+
+
+ Common\AuthenticationBannerEventArgs.cs
+
+
+ Common\AuthenticationEventArgs.cs
+
+
+ Common\AuthenticationPasswordChangeEventArgs.cs
+
+
+ Common\AuthenticationPrompt.cs
+
+
+ Common\AuthenticationPromptEventArgs.cs
+
+
+ Common\BigInteger.cs
+
+
+ Common\ChannelDataEventArgs.cs
+
+
+ Common\ChannelEventArgs.cs
+
+
+ Common\ChannelExtendedDataEventArgs.cs
+
+
+ Common\ChannelOpenConfirmedEventArgs.cs
+
+
+ Common\ChannelOpenFailedEventArgs.cs
+
+
+ Common\ChannelRequestEventArgs.cs
+
+
+ Common\DerData.cs
+
+
+ Common\ExceptionEventArgs.cs
+
+
+ Common\Extensions.cs
+
+
+ Common\HostKeyEventArgs.cs
+
+
+ Common\NetConfServerException.cs
+
+
+ Common\NetConfServerException.NET40.cs
+
+
+ Common\ObjectIdentifier.cs
+
+
+ Common\PipeStream.cs
+
+
+ Common\PortForwardEventArgs.cs
+
+
+ Common\ProxyException.cs
+
+
+ Common\ScpDownloadEventArgs.cs
+
+
+ Common\ScpException.cs
+
+
+ Common\ScpException.NET40.cs
+
+
+ Common\ScpUploadEventArgs.cs
+
+
+ Common\SemaphoreLight.cs
+
+
+ Common\SftpPathNotFoundException.cs
+
+
+ Common\SftpPathNotFoundException.NET40.cs
+
+
+ Common\SftpPermissionDeniedException.cs
+
+
+ Common\SftpPermissionDeniedException.NET40.cs
+
+
+ Common\ShellDataEventArgs.cs
+
+
+ Common\SshAuthenticationException.cs
+
+
+ Common\SshAuthenticationException.NET40.cs
+
+
+ Common\SshConnectionException.cs
+
+
+ Common\SshConnectionException.NET40.cs
+
+
+ Common\SshData.cs
+
+
+ Common\SshDataStream.cs
+
+
+ Common\SshException.cs
+
+
+ Common\SshException.NET40.cs
+
+
+ Common\SshOperationTimeoutException.cs
+
+
+ Common\SshOperationTimeoutException.NET40.cs
+
+
+ Common\SshPassPhraseNullOrEmptyException.cs
+
+
+ Common\SshPassPhraseNullOrEmptyException.NET40.cs
+
+
+ Common\TerminalModes.cs
+
+
+ Compression\CompressionMode.cs
+
+
+ Compression\Compressor.cs
+
+
+ Compression\Zlib.cs
+
+
+ Compression\ZlibOpenSsh.cs
+
+
+ Compression\ZlibStream.cs
+
+
+ ConnectionInfo.cs
+
+
+ ExpectAction.cs
+
+
+ ExpectAsyncResult.cs
+
+
+ ForwardedPort.cs
+
+
+ ForwardedPortDynamic.cs
+
+
+ ForwardedPortDynamic.NET.cs
+
+
+ ForwardedPortLocal.cs
+
+
+ ForwardedPortLocal.NET.cs
+
+
+ ForwardedPortRemote.cs
+
+
+ HashInfo.cs
+
+
+ IAuthenticationMethod.cs
+
+
+ IClientAuthentication.cs
+
+
+ IConnectionInfo.cs
+
+
+ IForwardedPort.cs
+
+
+ IServiceFactory.cs
+
+
+ IServiceFactory.NET.cs
+
+
+ ISession.cs
+
+
+ ISubsystemSession.cs
+
+
+ KeyboardInteractiveAuthenticationMethod.cs
+
+
+ KeyboardInteractiveConnectionInfo.cs
+
+
+ MessageEventArgs.cs
+
+
+ Messages\Authentication\BannerMessage.cs
+
+
+ Messages\Authentication\FailureMessage.cs
+
+
+ Messages\Authentication\InformationRequestMessage.cs
+
+
+ Messages\Authentication\InformationResponseMessage.cs
+
+
+ Messages\Authentication\PasswordChangeRequiredMessage.cs
+
+
+ Messages\Authentication\PublicKeyMessage.cs
+
+
+ Messages\Authentication\RequestMessage.cs
+
+
+ Messages\Authentication\RequestMessageHost.cs
+
+
+ Messages\Authentication\RequestMessageKeyboardInteractive.cs
+
+
+ Messages\Authentication\RequestMessageNone.cs
+
+
+ Messages\Authentication\RequestMessagePassword.cs
+
+
+ Messages\Authentication\RequestMessagePublicKey.cs
+
+
+ Messages\Authentication\SuccessMessage.cs
+
+
+ Messages\Connection\ChannelCloseMessage.cs
+
+
+ Messages\Connection\ChannelDataMessage.cs
+
+
+ Messages\Connection\ChannelEofMessage.cs
+
+
+ Messages\Connection\ChannelExtendedDataMessage.cs
+
+
+ Messages\Connection\ChannelFailureMessage.cs
+
+
+ Messages\Connection\ChannelMessage.cs
+
+
+ Messages\Connection\ChannelOpenConfirmationMessage.cs
+
+
+ Messages\Connection\ChannelOpenFailureMessage.cs
+
+
+ Messages\Connection\ChannelOpenFailureReasons.cs
+
+
+ Messages\Connection\ChannelOpen\ChannelOpenInfo.cs
+
+
+ Messages\Connection\ChannelOpen\ChannelOpenMessage.cs
+
+
+ Messages\Connection\ChannelOpen\DirectTcpipChannelInfo.cs
+
+
+ Messages\Connection\ChannelOpen\ForwardedTcpipChannelInfo.cs
+
+
+ Messages\Connection\ChannelOpen\SessionChannelOpenInfo.cs
+
+
+ Messages\Connection\ChannelOpen\X11ChannelOpenInfo.cs
+
+
+ Messages\Connection\ChannelRequest\BreakRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ChannelRequestMessage.cs
+
+
+ Messages\Connection\ChannelRequest\EndOfWriteRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\EnvironmentVariableRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ExecRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ExitSignalRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ExitStatusRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\KeepAliveRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\PseudoTerminalInfo.cs
+
+
+ Messages\Connection\ChannelRequest\RequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ShellRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\SignalRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\SubsystemRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\WindowChangeRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\X11ForwardingRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\XonXoffRequestInfo.cs
+
+
+ Messages\Connection\ChannelSuccessMessage.cs
+
+
+ Messages\Connection\ChannelWindowAdjustMessage.cs
+
+
+ Messages\Connection\GlobalRequestMessage.cs
+
+
+ Messages\Connection\GlobalRequestName.cs
+
+
+ Messages\Connection\RequestFailureMessage.cs
+
+
+ Messages\Connection\RequestSuccessMessage.cs
+
+
+ Messages\Message.cs
+
+
+ Messages\MessageAttribute.cs
+
+
+ Messages\ServiceName.cs
+
+
+ Messages\Transport\DebugMessage.cs
+
+
+ Messages\Transport\DisconnectMessage.cs
+
+
+ Messages\Transport\DisconnectReason.cs
+
+
+ Messages\Transport\IgnoreMessage.cs
+
+
+ Messages\Transport\IKeyExchangedAllowed.cs
+
+
+ Messages\Transport\KeyExchangeDhGroupExchangeGroup.cs
+
+
+ Messages\Transport\KeyExchangeDhGroupExchangeInit.cs
+
+
+ Messages\Transport\KeyExchangeDhGroupExchangeReply.cs
+
+
+ Messages\Transport\KeyExchangeDhGroupExchangeRequest.cs
+
+
+ Messages\Transport\KeyExchangeDhInitMessage.cs
+
+
+ Messages\Transport\KeyExchangeDhReplyMessage.cs
+
+
+ Messages\Transport\KeyExchangeEcdhInitMessage.cs
+
+
+ Messages\Transport\KeyExchangeEcdhReplyMessage.cs
+
+
+ Messages\Transport\KeyExchangeInitMessage.cs
+
+
+ Messages\Transport\NewKeysMessage.cs
+
+
+ Messages\Transport\ServiceAcceptMessage.cs
+
+
+ Messages\Transport\ServiceRequestMessage.cs
+
+
+ Messages\Transport\UnimplementedMessage.cs
+
+
+ NetConfClient.cs
+
+
+ Netconf\INetConfSession.cs
+
+
+ Netconf\NetConfSession.cs
+
+
+ NoneAuthenticationMethod.cs
+
+
+ PasswordAuthenticationMethod.cs
+
+
+ PasswordConnectionInfo.cs
+
+
+ PrivateKeyAuthenticationMethod.cs
+
+
+ PrivateKeyConnectionInfo.cs
+
+
+ PrivateKeyFile.cs
+
+
+ ProxyTypes.cs
+
+
+ ScpClient.cs
+
+
+ ScpClient.NET.cs
+
+
+ Security\Algorithm.cs
+
+
+ Security\CertificateHostAlgorithm.cs
+
+
+ Security\Cryptography\AsymmetricCipher.cs
+
+
+ Security\Cryptography\BlockCipher.cs
+
+
+ Security\Cryptography\Cipher.cs
+
+
+ Security\Cryptography\CipherDigitalSignature.cs
+
+
+ Security\Cryptography\Ciphers\AesCipher.cs
+
+
+ Security\Cryptography\Ciphers\Arc4Cipher.cs
+
+
+ Security\Cryptography\Ciphers\BlowfishCipher.cs
+
+
+ Security\Cryptography\Ciphers\CastCipher.cs
+
+
+ Security\Cryptography\Ciphers\CipherMode.cs
+
+
+ Security\Cryptography\Ciphers\CipherPadding.cs
+
+
+ Security\Cryptography\Ciphers\DesCipher.cs
+
+
+ Security\Cryptography\Ciphers\Modes\CbcCipherMode.cs
+
+
+ Security\Cryptography\Ciphers\Modes\CfbCipherMode.cs
+
+
+ Security\Cryptography\Ciphers\Modes\CtrCipherMode.cs
+
+
+ Security\Cryptography\Ciphers\Modes\OfbCipherMode.cs
+
+
+ Security\Cryptography\Ciphers\Paddings\PKCS5Padding.cs
+
+
+ Security\Cryptography\Ciphers\Paddings\PKCS7Padding.cs
+
+
+ Security\Cryptography\Ciphers\RsaCipher.cs
+
+
+ Security\Cryptography\Ciphers\SerpentCipher.cs
+
+
+ Security\Cryptography\Ciphers\TripleDesCipher.cs
+
+
+ Security\Cryptography\Ciphers\TwofishCipher.cs
+
+
+ Security\Cryptography\DigitalSignature.cs
+
+
+ Security\Cryptography\DsaDigitalSignature.cs
+
+
+ Security\Cryptography\DsaKey.cs
+
+
+ Security\Cryptography\HMACMD5.cs
+
+
+ Security\Cryptography\HMACSHA1.cs
+
+
+ Security\Cryptography\HMACSHA256.cs
+
+
+ Security\Cryptography\HMACSHA384.cs
+
+
+ Security\Cryptography\HMACSHA512.cs
+
+
+ Security\Cryptography\Key.cs
+
+
+ Security\Cryptography\RsaDigitalSignature.cs
+
+
+ Security\Cryptography\RsaKey.cs
+
+
+ Security\Cryptography\StreamCipher.cs
+
+
+ Security\Cryptography\SymmetricCipher.cs
+
+
+ Security\GroupExchangeHashData.cs
+
+
+ Security\HostAlgorithm.cs
+
+
+ Security\IKeyExchange.cs
+
+
+ Security\KeyExchange.cs
+
+
+ Security\KeyExchangeDiffieHellman.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroup14Sha1.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroup1Sha1.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroupExchangeSha1.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroupExchangeSha256.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroupExchangeShaBase.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroupSha1.cs
+
+
+ Security\KeyHostAlgorithm.cs
+
+
+ ServiceFactory.cs
+
+
+ ServiceFactory.NET.cs
+
+
+ Session.cs
+
+
+ Session.NET.cs
+
+
+ SftpClient.cs
+
+
+ Sftp\Flags.cs
+
+
+ Sftp\ISftpSession.cs
+
+
+ Sftp\Requests\ExtendedRequests\FStatVfsRequest.cs
+
+
+ Sftp\Requests\ExtendedRequests\HardLinkRequest.cs
+
+
+ Sftp\Requests\ExtendedRequests\PosixRenameRequest.cs
+
+
+ Sftp\Requests\ExtendedRequests\StatVfsRequest.cs
+
+
+ Sftp\Requests\SftpBlockRequest.cs
+
+
+ Sftp\Requests\SftpCloseRequest.cs
+
+
+ Sftp\Requests\SftpExtendedRequest.cs
+
+
+ Sftp\Requests\SftpFSetStatRequest.cs
+
+
+ Sftp\Requests\SftpFStatRequest.cs
+
+
+ Sftp\Requests\SftpInitRequest.cs
+
+
+ Sftp\Requests\SftpLinkRequest.cs
+
+
+ Sftp\Requests\SftpLStatRequest.cs
+
+
+ Sftp\Requests\SftpMkDirRequest.cs
+
+
+ Sftp\Requests\SftpOpenDirRequest.cs
+
+
+ Sftp\Requests\SftpOpenRequest.cs
+
+
+ Sftp\Requests\SftpReadDirRequest.cs
+
+
+ Sftp\Requests\SftpReadLinkRequest.cs
+
+
+ Sftp\Requests\SftpReadRequest.cs
+
+
+ Sftp\Requests\SftpRealPathRequest.cs
+
+
+ Sftp\Requests\SftpRemoveRequest.cs
+
+
+ Sftp\Requests\SftpRenameRequest.cs
+
+
+ Sftp\Requests\SftpRequest.cs
+
+
+ Sftp\Requests\SftpRmDirRequest.cs
+
+
+ Sftp\Requests\SftpSetStatRequest.cs
+
+
+ Sftp\Requests\SftpStatRequest.cs
+
+
+ Sftp\Requests\SftpSymLinkRequest.cs
+
+
+ Sftp\Requests\SftpUnblockRequest.cs
+
+
+ Sftp\Requests\SftpWriteRequest.cs
+
+
+ Sftp\Responses\ExtendedReplies\ExtendedReplyInfo.cs
+
+
+ Sftp\Responses\ExtendedReplies\StatVfsReplyInfo.cs
+
+
+ Sftp\Responses\SftpAttrsResponse.cs
+
+
+ Sftp\Responses\SftpDataResponse.cs
+
+
+ Sftp\Responses\SftpExtendedReplyResponse.cs
+
+
+ Sftp\Responses\SftpHandleResponse.cs
+
+
+ Sftp\Responses\SftpNameResponse.cs
+
+
+ Sftp\Responses\SftpResponse.cs
+
+
+ Sftp\Responses\SftpStatusResponse.cs
+
+
+ Sftp\Responses\SftpVersionResponse.cs
+
+
+ Sftp\SftpDownloadAsyncResult.cs
+
+
+ Sftp\SftpFile.cs
+
+
+ Sftp\SftpFileAttributes.cs
+
+
+ Sftp\SftpFileStream.cs
+
+
+ Sftp\SftpFileSystemInformation.cs
+
+
+ Sftp\SftpListDirectoryAsyncResult.cs
+
+
+ Sftp\SftpMessage.cs
+
+
+ Sftp\SftpMessageTypes.cs
+
+
+ Sftp\SftpSession.cs
+
+
+ Sftp\SftpSynchronizeDirectoriesAsyncResult.cs
+
+
+ Sftp\SftpUploadAsyncResult.cs
+
+
+ Sftp\StatusCodes.cs
+
+
+ Shell.cs
+
+
+ ShellStream.cs
+
+
+ SshClient.cs
+
+
+ SshCommand.cs
+
+
+ SshMessageFactory.cs
+
+
+ SubsystemSession.cs
+
+
+
+
+ Properties\CommonAssemblyInfo.cs
+
+
+
+
+
+
+ Renci.SshNet.snk
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Renci.SshNet.NET35/Session.NET35.cs b/src/Renci.SshNet.NET35/Session.NET35.cs
index 959beba8..04679746 100644
--- a/src/Renci.SshNet.NET35/Session.NET35.cs
+++ b/src/Renci.SshNet.NET35/Session.NET35.cs
@@ -1,62 +1,62 @@
-using System.Linq;
-using System;
-using Renci.SshNet.Messages;
-using System.Reflection;
-using System.Collections.Generic;
-using System.Diagnostics;
-
-namespace Renci.SshNet
-{
- ///
- /// Provides functionality to connect and interact with SSH server.
- ///
- public partial class Session
- {
- private static readonly Dictionary _handlers;
-
- static Session()
- {
- _handlers = new Dictionary();
-
- foreach (var method in typeof(Session).GetMethods(BindingFlags.Instance | BindingFlags.NonPublic).Where(x => x.Name == "HandleMessage"))
- {
- if (method.IsGenericMethod) continue;
-
- var args = method.GetParameters();
- if (args.Length != 1) continue;
-
- var argType = args[0].ParameterType;
- if (!argType.IsSubclassOf(typeof(Message))) continue;
-
- _handlers.Add(argType, method);
- }
- }
-
- ///
- /// Handles SSH messages.
- ///
- /// The message.
- partial void HandleMessageCore(Message message)
- {
- Debug.Assert(message != null);
-
- MethodInfo method;
-
- if (_handlers.TryGetValue(message.GetType(), out method))
- {
- try
- {
- method.Invoke(this, new object[] { message });
- }
- catch (TargetInvocationException ex)
- {
- throw ex.InnerException ?? ex;
- }
- }
- else
- {
- HandleMessage(message);
- }
- }
- }
-}
+using System.Linq;
+using System;
+using Renci.SshNet.Messages;
+using System.Reflection;
+using System.Collections.Generic;
+using System.Diagnostics;
+
+namespace Renci.SshNet
+{
+ ///
+ /// Provides functionality to connect and interact with SSH server.
+ ///
+ public partial class Session
+ {
+ private static readonly Dictionary _handlers;
+
+ static Session()
+ {
+ _handlers = new Dictionary();
+
+ foreach (var method in typeof(Session).GetMethods(BindingFlags.Instance | BindingFlags.NonPublic).Where(x => x.Name == "HandleMessage"))
+ {
+ if (method.IsGenericMethod) continue;
+
+ var args = method.GetParameters();
+ if (args.Length != 1) continue;
+
+ var argType = args[0].ParameterType;
+ if (!argType.IsSubclassOf(typeof(Message))) continue;
+
+ _handlers.Add(argType, method);
+ }
+ }
+
+ ///
+ /// Handles SSH messages.
+ ///
+ /// The message.
+ partial void HandleMessageCore(Message message)
+ {
+ Debug.Assert(message != null);
+
+ MethodInfo method;
+
+ if (_handlers.TryGetValue(message.GetType(), out method))
+ {
+ try
+ {
+ method.Invoke(this, new object[] { message });
+ }
+ catch (TargetInvocationException ex)
+ {
+ throw ex.InnerException ?? ex;
+ }
+ }
+ else
+ {
+ HandleMessage(message);
+ }
+ }
+ }
+}
diff --git a/src/Renci.SshNet.Silverlight/Common/Extensions.SilverlightShared.cs b/src/Renci.SshNet.Silverlight/Common/Extensions.SilverlightShared.cs
index 26baf7ff..c69e7c4f 100644
--- a/src/Renci.SshNet.Silverlight/Common/Extensions.SilverlightShared.cs
+++ b/src/Renci.SshNet.Silverlight/Common/Extensions.SilverlightShared.cs
@@ -1,53 +1,53 @@
-using System;
-using System.Net.Sockets;
-using System.Threading;
-using System.Security.Cryptography;
-using System.Diagnostics;
-
-namespace Renci.SshNet.Common
-{
- ///
- /// Collection of different extension method specific for Silverlight
- ///
- internal static partial class Extensions
- {
- ///
- /// Disposes the specified socket.
- ///
- /// The socket.
- [DebuggerNonUserCode]
- internal static void Dispose(this Socket socket)
- {
- if (socket == null)
- throw new NullReferenceException();
-
- socket.Close();
- }
-
- ///
- /// Disposes the specified handle.
- ///
- /// The handle.
- [DebuggerNonUserCode]
- internal static void Dispose(this WaitHandle handle)
- {
- if (handle == null)
- throw new NullReferenceException();
-
- handle.Close();
- }
-
- ///
- /// Disposes the specified algorithm.
- ///
- /// The algorithm.
- [DebuggerNonUserCode]
- internal static void Dispose(this HashAlgorithm algorithm)
- {
- if (algorithm == null)
- throw new NullReferenceException();
-
- algorithm.Clear();
- }
- }
-}
+using System;
+using System.Net.Sockets;
+using System.Threading;
+using System.Security.Cryptography;
+using System.Diagnostics;
+
+namespace Renci.SshNet.Common
+{
+ ///
+ /// Collection of different extension method specific for Silverlight
+ ///
+ internal static partial class Extensions
+ {
+ ///
+ /// Disposes the specified socket.
+ ///
+ /// The socket.
+ [DebuggerNonUserCode]
+ internal static void Dispose(this Socket socket)
+ {
+ if (socket == null)
+ throw new NullReferenceException();
+
+ socket.Close();
+ }
+
+ ///
+ /// Disposes the specified handle.
+ ///
+ /// The handle.
+ [DebuggerNonUserCode]
+ internal static void Dispose(this WaitHandle handle)
+ {
+ if (handle == null)
+ throw new NullReferenceException();
+
+ handle.Close();
+ }
+
+ ///
+ /// Disposes the specified algorithm.
+ ///
+ /// The algorithm.
+ [DebuggerNonUserCode]
+ internal static void Dispose(this HashAlgorithm algorithm)
+ {
+ if (algorithm == null)
+ throw new NullReferenceException();
+
+ algorithm.Clear();
+ }
+ }
+}
diff --git a/src/Renci.SshNet.Silverlight/Properties/AssemblyInfo.cs b/src/Renci.SshNet.Silverlight/Properties/AssemblyInfo.cs
index 730482b5..f9c8d324 100644
--- a/src/Renci.SshNet.Silverlight/Properties/AssemblyInfo.cs
+++ b/src/Renci.SshNet.Silverlight/Properties/AssemblyInfo.cs
@@ -1,5 +1,5 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-[assembly: AssemblyTitle("SSH.NET Silverlight 4")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("SSH.NET Silverlight 4")]
[assembly: Guid("2b3f6251-8079-48aa-a76b-df70e40092e2")]
\ No newline at end of file
diff --git a/src/Renci.SshNet.Silverlight/Session.SilverlightBrowser.cs b/src/Renci.SshNet.Silverlight/Session.SilverlightBrowser.cs
index c6898128..467b875d 100644
--- a/src/Renci.SshNet.Silverlight/Session.SilverlightBrowser.cs
+++ b/src/Renci.SshNet.Silverlight/Session.SilverlightBrowser.cs
@@ -1,12 +1,12 @@
-using Renci.SshNet.Messages;
-
-namespace Renci.SshNet
-{
- public partial class Session
- {
- partial void HandleMessageCore(Message message)
- {
- this.HandleMessage((dynamic) message);
- }
- }
-}
+using Renci.SshNet.Messages;
+
+namespace Renci.SshNet
+{
+ public partial class Session
+ {
+ partial void HandleMessageCore(Message message)
+ {
+ this.HandleMessage((dynamic) message);
+ }
+ }
+}
diff --git a/src/Renci.SshNet.Silverlight/Session.SilverlightShared.cs b/src/Renci.SshNet.Silverlight/Session.SilverlightShared.cs
index 8e82f1a6..aef28da4 100644
--- a/src/Renci.SshNet.Silverlight/Session.SilverlightShared.cs
+++ b/src/Renci.SshNet.Silverlight/Session.SilverlightShared.cs
@@ -1,16 +1,16 @@
-using System.Linq;
-
-namespace Renci.SshNet
-{
- public partial class Session
- {
- ///
- /// Gets a value indicating whether the socket is connected.
- ///
- /// true if the socket is connected; otherwise, false
- partial void IsSocketConnected(ref bool isConnected)
- {
- isConnected = (_socket != null && _socket.Connected);
- }
- }
-}
+using System.Linq;
+
+namespace Renci.SshNet
+{
+ public partial class Session
+ {
+ ///
+ /// Gets a value indicating whether the socket is connected.
+ ///
+ /// true if the socket is connected; otherwise, false
+ partial void IsSocketConnected(ref bool isConnected)
+ {
+ isConnected = (_socket != null && _socket.Connected);
+ }
+ }
+}
diff --git a/src/Renci.SshNet.Silverlight5/Properties/AssemblyInfo.cs b/src/Renci.SshNet.Silverlight5/Properties/AssemblyInfo.cs
index b533cf7c..7266e154 100644
--- a/src/Renci.SshNet.Silverlight5/Properties/AssemblyInfo.cs
+++ b/src/Renci.SshNet.Silverlight5/Properties/AssemblyInfo.cs
@@ -1,5 +1,5 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-[assembly: AssemblyTitle("SSH.NET Silverlight 5")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("SSH.NET Silverlight 5")]
[assembly: Guid("2b3f6251-8079-48aa-a76b-df70e40092e2")]
\ No newline at end of file
diff --git a/src/Renci.SshNet.Silverlight5/Renci.SshNet.Silverlight5.csproj b/src/Renci.SshNet.Silverlight5/Renci.SshNet.Silverlight5.csproj
index f40232a8..e4ff0219 100644
--- a/src/Renci.SshNet.Silverlight5/Renci.SshNet.Silverlight5.csproj
+++ b/src/Renci.SshNet.Silverlight5/Renci.SshNet.Silverlight5.csproj
@@ -1,928 +1,928 @@
-
-
-
- Debug
- AnyCPU
- 8.0.50727
- 2.0
- {E367F791-C1EC-4181-912A-2943CAC6B3BC}
- {A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
- Library
- Properties
- Renci.SshNet
- Renci.SshNet
- Silverlight
- v5.0
- $(TargetFrameworkVersion)
- false
- true
- true
-
-
-
- v3.5
-
-
- true
- full
- false
- Bin\Debug
- TRACE;DEBUG;SILVERLIGHT;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256
- true
- true
- prompt
- 4
- false
- Bin\Debug\Renci.SshNet.xml
- true
-
-
- none
- true
- Bin\Release
- TRACE;SILVERLIGHT;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256
- true
- true
- prompt
- 4
- false
- Bin\Release\Renci.SshNet.xml
-
-
- true
-
-
- true
-
-
- ..\Renci.SshNet.snk
-
-
-
-
-
- False
- ..\..\packages\SshNet.Security.Cryptography.1.0.0\lib\sl5\SshNet.Security.Cryptography.dll
- True
-
-
-
-
-
-
-
-
- Session.SilverlightBrowser.cs
-
-
- Session.SilverlightShared.cs
-
-
- Abstractions\CryptoAbstraction.cs
-
-
- Abstractions\DiagnosticAbstraction.cs
-
-
- Abstractions\DnsAbstraction.cs
-
-
- Abstractions\ReflectionAbstraction.cs
-
-
- Abstractions\SocketAbstraction.cs
-
-
- Abstractions\ThreadAbstraction.cs
-
-
- AuthenticationMethod.cs
-
-
- AuthenticationResult.cs
-
-
- BaseClient.cs
-
-
- Channels\Channel.cs
-
-
- Channels\ChannelDirectTcpip.cs
-
-
- Channels\ChannelForwardedTcpip.cs
-
-
- Channels\ChannelSession.cs
-
-
- Channels\ChannelTypes.cs
-
-
- Channels\ClientChannel.cs
-
-
- Channels\IChannel.cs
-
-
- Channels\IChannelDirectTcpip.cs
-
-
- Channels\IChannelForwardedTcpip.cs
-
-
- Channels\IChannelSession.cs
-
-
- Channels\ServerChannel.cs
-
-
- CipherInfo.cs
-
-
- ClientAuthentication.cs
-
-
- CommandAsyncResult.cs
-
-
- Common\Array.cs
-
-
- Common\ASCIIEncoding.cs
-
-
- Common\AsyncResult.cs
-
-
- Common\AuthenticationBannerEventArgs.cs
-
-
- Common\AuthenticationEventArgs.cs
-
-
- Common\AuthenticationPasswordChangeEventArgs.cs
-
-
- Common\AuthenticationPrompt.cs
-
-
- Common\AuthenticationPromptEventArgs.cs
-
-
- Common\BigInteger.cs
-
-
- Common\ChannelDataEventArgs.cs
-
-
- Common\ChannelEventArgs.cs
-
-
- Common\ChannelExtendedDataEventArgs.cs
-
-
- Common\ChannelOpenConfirmedEventArgs.cs
-
-
- Common\ChannelOpenFailedEventArgs.cs
-
-
- Common\ChannelRequestEventArgs.cs
-
-
- Common\DerData.cs
-
-
- Common\ExceptionEventArgs.cs
-
-
- Common\Extensions.cs
-
-
- Common\Extensions.SilverlightShared.cs
-
-
- Common\HostKeyEventArgs.cs
-
-
- Common\ObjectIdentifier.cs
-
-
- Common\PipeStream.cs
-
-
- Common\PortForwardEventArgs.cs
-
-
- Common\ProxyException.cs
-
-
- Common\ScpDownloadEventArgs.cs
-
-
- Common\ScpException.cs
-
-
- Common\ScpUploadEventArgs.cs
-
-
- Common\SemaphoreLight.cs
-
-
- Common\SftpPathNotFoundException.cs
-
-
- Common\SftpPermissionDeniedException.cs
-
-
- Common\ShellDataEventArgs.cs
-
-
- Common\SshAuthenticationException.cs
-
-
- Common\SshConnectionException.cs
-
-
- Common\SshData.cs
-
-
- Common\SshDataStream.cs
-
-
- Common\SshException.cs
-
-
- Common\SshOperationTimeoutException.cs
-
-
- Common\SshPassPhraseNullOrEmptyException.cs
-
-
- Common\TerminalModes.cs
-
-
- Compression\CompressionMode.cs
-
-
- Compression\Compressor.cs
-
-
- Compression\Zlib.cs
-
-
- Compression\ZlibOpenSsh.cs
-
-
- Compression\ZlibStream.cs
-
-
- ConnectionInfo.cs
-
-
- ExpectAction.cs
-
-
- ExpectAsyncResult.cs
-
-
- ForwardedPort.cs
-
-
- ForwardedPortDynamic.cs
-
-
- ForwardedPortLocal.cs
-
-
- ForwardedPortRemote.cs
-
-
- HashInfo.cs
-
-
- IAuthenticationMethod.cs
-
-
- IClientAuthentication.cs
-
-
- IConnectionInfo.cs
-
-
- IForwardedPort.cs
-
-
- IServiceFactory.cs
-
-
- ISession.cs
-
-
- ISubsystemSession.cs
-
-
- KeyboardInteractiveAuthenticationMethod.cs
-
-
- KeyboardInteractiveConnectionInfo.cs
-
-
- MessageEventArgs.cs
-
-
- Messages\Authentication\BannerMessage.cs
-
-
- Messages\Authentication\FailureMessage.cs
-
-
- Messages\Authentication\InformationRequestMessage.cs
-
-
- Messages\Authentication\InformationResponseMessage.cs
-
-
- Messages\Authentication\PasswordChangeRequiredMessage.cs
-
-
- Messages\Authentication\PublicKeyMessage.cs
-
-
- Messages\Authentication\RequestMessage.cs
-
-
- Messages\Authentication\RequestMessageHost.cs
-
-
- Messages\Authentication\RequestMessageKeyboardInteractive.cs
-
-
- Messages\Authentication\RequestMessageNone.cs
-
-
- Messages\Authentication\RequestMessagePassword.cs
-
-
- Messages\Authentication\RequestMessagePublicKey.cs
-
-
- Messages\Authentication\SuccessMessage.cs
-
-
- Messages\Connection\ChannelCloseMessage.cs
-
-
- Messages\Connection\ChannelDataMessage.cs
-
-
- Messages\Connection\ChannelEofMessage.cs
-
-
- Messages\Connection\ChannelExtendedDataMessage.cs
-
-
- Messages\Connection\ChannelFailureMessage.cs
-
-
- Messages\Connection\ChannelMessage.cs
-
-
- Messages\Connection\ChannelOpenConfirmationMessage.cs
-
-
- Messages\Connection\ChannelOpenFailureMessage.cs
-
-
- Messages\Connection\ChannelOpenFailureReasons.cs
-
-
- Messages\Connection\ChannelOpen\ChannelOpenInfo.cs
-
-
- Messages\Connection\ChannelOpen\ChannelOpenMessage.cs
-
-
- Messages\Connection\ChannelOpen\DirectTcpipChannelInfo.cs
-
-
- Messages\Connection\ChannelOpen\ForwardedTcpipChannelInfo.cs
-
-
- Messages\Connection\ChannelOpen\SessionChannelOpenInfo.cs
-
-
- Messages\Connection\ChannelOpen\X11ChannelOpenInfo.cs
-
-
- Messages\Connection\ChannelRequest\BreakRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ChannelRequestMessage.cs
-
-
- Messages\Connection\ChannelRequest\EndOfWriteRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\EnvironmentVariableRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ExecRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ExitSignalRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ExitStatusRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\KeepAliveRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\PseudoTerminalInfo.cs
-
-
- Messages\Connection\ChannelRequest\RequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\ShellRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\SignalRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\SubsystemRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\WindowChangeRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\X11ForwardingRequestInfo.cs
-
-
- Messages\Connection\ChannelRequest\XonXoffRequestInfo.cs
-
-
- Messages\Connection\ChannelSuccessMessage.cs
-
-
- Messages\Connection\ChannelWindowAdjustMessage.cs
-
-
- Messages\Connection\GlobalRequestMessage.cs
-
-
- Messages\Connection\GlobalRequestName.cs
-
-
- Messages\Connection\RequestFailureMessage.cs
-
-
- Messages\Connection\RequestSuccessMessage.cs
-
-
- Messages\Message.cs
-
-
- Messages\MessageAttribute.cs
-
-
- Messages\ServiceName.cs
-
-
- Messages\Transport\DebugMessage.cs
-
-
- Messages\Transport\DisconnectMessage.cs
-
-
- Messages\Transport\DisconnectReason.cs
-
-
- Messages\Transport\IgnoreMessage.cs
-
-
- Messages\Transport\IKeyExchangedAllowed.cs
-
-
- Messages\Transport\KeyExchangeDhGroupExchangeGroup.cs
-
-
- Messages\Transport\KeyExchangeDhGroupExchangeInit.cs
-
-
- Messages\Transport\KeyExchangeDhGroupExchangeReply.cs
-
-
- Messages\Transport\KeyExchangeDhGroupExchangeRequest.cs
-
-
- Messages\Transport\KeyExchangeDhInitMessage.cs
-
-
- Messages\Transport\KeyExchangeDhReplyMessage.cs
-
-
- Messages\Transport\KeyExchangeEcdhInitMessage.cs
-
-
- Messages\Transport\KeyExchangeEcdhReplyMessage.cs
-
-
- Messages\Transport\KeyExchangeInitMessage.cs
-
-
- Messages\Transport\NewKeysMessage.cs
-
-
- Messages\Transport\ServiceAcceptMessage.cs
-
-
- Messages\Transport\ServiceRequestMessage.cs
-
-
- Messages\Transport\UnimplementedMessage.cs
-
-
- NoneAuthenticationMethod.cs
-
-
- PasswordAuthenticationMethod.cs
-
-
- PasswordConnectionInfo.cs
-
-
- PrivateKeyAuthenticationMethod.cs
-
-
- PrivateKeyConnectionInfo.cs
-
-
- PrivateKeyFile.cs
-
-
- ProxyTypes.cs
-
-
- ScpClient.cs
-
-
- Security\Algorithm.cs
-
-
- Security\CertificateHostAlgorithm.cs
-
-
- Security\Cryptography\AsymmetricCipher.cs
-
-
- Security\Cryptography\BlockCipher.cs
-
-
- Security\Cryptography\Cipher.cs
-
-
- Security\Cryptography\CipherDigitalSignature.cs
-
-
- Security\Cryptography\Ciphers\AesCipher.cs
-
-
- Security\Cryptography\Ciphers\Arc4Cipher.cs
-
-
- Security\Cryptography\Ciphers\BlowfishCipher.cs
-
-
- Security\Cryptography\Ciphers\CastCipher.cs
-
-
- Security\Cryptography\Ciphers\CipherMode.cs
-
-
- Security\Cryptography\Ciphers\CipherPadding.cs
-
-
- Security\Cryptography\Ciphers\DesCipher.cs
-
-
- Security\Cryptography\Ciphers\Modes\CbcCipherMode.cs
-
-
- Security\Cryptography\Ciphers\Modes\CfbCipherMode.cs
-
-
- Security\Cryptography\Ciphers\Modes\CtrCipherMode.cs
-
-
- Security\Cryptography\Ciphers\Modes\OfbCipherMode.cs
-
-
- Security\Cryptography\Ciphers\Paddings\PKCS7Padding.cs
-
-
- Security\Cryptography\Ciphers\Paddings\PKCS5Padding.cs
-
-
- Security\Cryptography\Ciphers\RsaCipher.cs
-
-
- Security\Cryptography\Ciphers\SerpentCipher.cs
-
-
- Security\Cryptography\Ciphers\TripleDesCipher.cs
-
-
- Security\Cryptography\Ciphers\TwofishCipher.cs
-
-
- Security\Cryptography\DigitalSignature.cs
-
-
- Security\Cryptography\DsaDigitalSignature.cs
-
-
- Security\Cryptography\DsaKey.cs
-
-
- Security\Cryptography\HMACMD5.cs
-
-
- Security\Cryptography\HMACSHA1.cs
-
-
- Security\Cryptography\HMACSHA256.cs
-
-
- Security\Cryptography\HMACSHA384.cs
-
-
- Security\Cryptography\HMACSHA512.cs
-
-
- Security\Cryptography\Key.cs
-
-
- Security\Cryptography\RsaDigitalSignature.cs
-
-
- Security\Cryptography\RsaKey.cs
-
-
- Security\Cryptography\StreamCipher.cs
-
-
- Security\Cryptography\SymmetricCipher.cs
-
-
- Security\GroupExchangeHashData.cs
-
-
- Security\HostAlgorithm.cs
-
-
- Security\IKeyExchange.cs
-
-
- Security\KeyExchange.cs
-
-
- Security\KeyExchangeDiffieHellman.cs
-
-
- Security\KeyExchangeDiffieHellmanGroup14Sha1.cs
-
-
- Security\KeyExchangeDiffieHellmanGroup1Sha1.cs
-
-
- Security\KeyExchangeDiffieHellmanGroupExchangeSha1.cs
-
-
- Security\KeyExchangeDiffieHellmanGroupExchangeSha256.cs
-
-
- Security\KeyExchangeDiffieHellmanGroupExchangeShaBase.cs
-
-
- Security\KeyExchangeDiffieHellmanGroupSha1.cs
-
-
- Security\KeyHostAlgorithm.cs
-
-
- ServiceFactory.cs
-
-
- Session.cs
-
-
- SftpClient.cs
-
-
- Sftp\Flags.cs
-
-
- Sftp\ISftpSession.cs
-
-
- Sftp\Requests\ExtendedRequests\FStatVfsRequest.cs
-
-
- Sftp\Requests\ExtendedRequests\HardLinkRequest.cs
-
-
- Sftp\Requests\ExtendedRequests\PosixRenameRequest.cs
-
-
- Sftp\Requests\ExtendedRequests\StatVfsRequest.cs
-
-
- Sftp\Requests\SftpBlockRequest.cs
-
-
- Sftp\Requests\SftpCloseRequest.cs
-
-
- Sftp\Requests\SftpExtendedRequest.cs
-
-
- Sftp\Requests\SftpFSetStatRequest.cs
-
-
- Sftp\Requests\SftpFStatRequest.cs
-
-
- Sftp\Requests\SftpInitRequest.cs
-
-
- Sftp\Requests\SftpLinkRequest.cs
-
-
- Sftp\Requests\SftpLStatRequest.cs
-
-
- Sftp\Requests\SftpMkDirRequest.cs
-
-
- Sftp\Requests\SftpOpenDirRequest.cs
-
-
- Sftp\Requests\SftpOpenRequest.cs
-
-
- Sftp\Requests\SftpReadDirRequest.cs
-
-
- Sftp\Requests\SftpReadLinkRequest.cs
-
-
- Sftp\Requests\SftpReadRequest.cs
-
-
- Sftp\Requests\SftpRealPathRequest.cs
-
-
- Sftp\Requests\SftpRemoveRequest.cs
-
-
- Sftp\Requests\SftpRenameRequest.cs
-
-
- Sftp\Requests\SftpRequest.cs
-
-
- Sftp\Requests\SftpRmDirRequest.cs
-
-
- Sftp\Requests\SftpSetStatRequest.cs
-
-
- Sftp\Requests\SftpStatRequest.cs
-
-
- Sftp\Requests\SftpSymLinkRequest.cs
-
-
- Sftp\Requests\SftpUnblockRequest.cs
-
-
- Sftp\Requests\SftpWriteRequest.cs
-
-
- Sftp\Responses\ExtendedReplies\ExtendedReplyInfo.cs
-
-
- Sftp\Responses\ExtendedReplies\StatVfsReplyInfo.cs
-
-
- Sftp\Responses\SftpAttrsResponse.cs
-
-
- Sftp\Responses\SftpDataResponse.cs
-
-
- Sftp\Responses\SftpExtendedReplyResponse.cs
-
-
- Sftp\Responses\SftpHandleResponse.cs
-
-
- Sftp\Responses\SftpNameResponse.cs
-
-
- Sftp\Responses\SftpResponse.cs
-
-
- Sftp\Responses\SftpStatusResponse.cs
-
-
- Sftp\Responses\SftpVersionResponse.cs
-
-
- Sftp\SftpDownloadAsyncResult.cs
-
-
- Sftp\SftpFile.cs
-
-
- Sftp\SftpFileAttributes.cs
-
-
- Sftp\SftpFileStream.cs
-
-
- Sftp\SftpFileSystemInformation.cs
-
-
- Sftp\SftpListDirectoryAsyncResult.cs
-
-
- Sftp\SftpMessage.cs
-
-
- Sftp\SftpMessageTypes.cs
-
-
- Sftp\SftpSession.cs
-
-
- Sftp\SftpSynchronizeDirectoriesAsyncResult.cs
-
-
- Sftp\SftpUploadAsyncResult.cs
-
-
- Sftp\StatusCodes.cs
-
-
- Shell.cs
-
-
- ShellStream.cs
-
-
- SshClient.cs
-
-
- SshCommand.cs
-
-
- SshMessageFactory.cs
-
-
- SubsystemSession.cs
-
-
-
- Properties\CommonAssemblyInfo.cs
-
-
-
-
- Renci.SshNet.snk
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {E367F791-C1EC-4181-912A-2943CAC6B3BC}
+ {A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
+ Library
+ Properties
+ Renci.SshNet
+ Renci.SshNet
+ Silverlight
+ v5.0
+ $(TargetFrameworkVersion)
+ false
+ true
+ true
+
+
+
+ v3.5
+
+
+ true
+ full
+ false
+ Bin\Debug
+ TRACE;DEBUG;SILVERLIGHT;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256
+ true
+ true
+ prompt
+ 4
+ false
+ Bin\Debug\Renci.SshNet.xml
+ true
+
+
+ none
+ true
+ Bin\Release
+ TRACE;SILVERLIGHT;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256
+ true
+ true
+ prompt
+ 4
+ false
+ Bin\Release\Renci.SshNet.xml
+
+
+ true
+
+
+ true
+
+
+ ..\Renci.SshNet.snk
+
+
+
+
+
+ False
+ ..\..\packages\SshNet.Security.Cryptography.1.0.0\lib\sl5\SshNet.Security.Cryptography.dll
+ True
+
+
+
+
+
+
+
+
+ Session.SilverlightBrowser.cs
+
+
+ Session.SilverlightShared.cs
+
+
+ Abstractions\CryptoAbstraction.cs
+
+
+ Abstractions\DiagnosticAbstraction.cs
+
+
+ Abstractions\DnsAbstraction.cs
+
+
+ Abstractions\ReflectionAbstraction.cs
+
+
+ Abstractions\SocketAbstraction.cs
+
+
+ Abstractions\ThreadAbstraction.cs
+
+
+ AuthenticationMethod.cs
+
+
+ AuthenticationResult.cs
+
+
+ BaseClient.cs
+
+
+ Channels\Channel.cs
+
+
+ Channels\ChannelDirectTcpip.cs
+
+
+ Channels\ChannelForwardedTcpip.cs
+
+
+ Channels\ChannelSession.cs
+
+
+ Channels\ChannelTypes.cs
+
+
+ Channels\ClientChannel.cs
+
+
+ Channels\IChannel.cs
+
+
+ Channels\IChannelDirectTcpip.cs
+
+
+ Channels\IChannelForwardedTcpip.cs
+
+
+ Channels\IChannelSession.cs
+
+
+ Channels\ServerChannel.cs
+
+
+ CipherInfo.cs
+
+
+ ClientAuthentication.cs
+
+
+ CommandAsyncResult.cs
+
+
+ Common\Array.cs
+
+
+ Common\ASCIIEncoding.cs
+
+
+ Common\AsyncResult.cs
+
+
+ Common\AuthenticationBannerEventArgs.cs
+
+
+ Common\AuthenticationEventArgs.cs
+
+
+ Common\AuthenticationPasswordChangeEventArgs.cs
+
+
+ Common\AuthenticationPrompt.cs
+
+
+ Common\AuthenticationPromptEventArgs.cs
+
+
+ Common\BigInteger.cs
+
+
+ Common\ChannelDataEventArgs.cs
+
+
+ Common\ChannelEventArgs.cs
+
+
+ Common\ChannelExtendedDataEventArgs.cs
+
+
+ Common\ChannelOpenConfirmedEventArgs.cs
+
+
+ Common\ChannelOpenFailedEventArgs.cs
+
+
+ Common\ChannelRequestEventArgs.cs
+
+
+ Common\DerData.cs
+
+
+ Common\ExceptionEventArgs.cs
+
+
+ Common\Extensions.cs
+
+
+ Common\Extensions.SilverlightShared.cs
+
+
+ Common\HostKeyEventArgs.cs
+
+
+ Common\ObjectIdentifier.cs
+
+
+ Common\PipeStream.cs
+
+
+ Common\PortForwardEventArgs.cs
+
+
+ Common\ProxyException.cs
+
+
+ Common\ScpDownloadEventArgs.cs
+
+
+ Common\ScpException.cs
+
+
+ Common\ScpUploadEventArgs.cs
+
+
+ Common\SemaphoreLight.cs
+
+
+ Common\SftpPathNotFoundException.cs
+
+
+ Common\SftpPermissionDeniedException.cs
+
+
+ Common\ShellDataEventArgs.cs
+
+
+ Common\SshAuthenticationException.cs
+
+
+ Common\SshConnectionException.cs
+
+
+ Common\SshData.cs
+
+
+ Common\SshDataStream.cs
+
+
+ Common\SshException.cs
+
+
+ Common\SshOperationTimeoutException.cs
+
+
+ Common\SshPassPhraseNullOrEmptyException.cs
+
+
+ Common\TerminalModes.cs
+
+
+ Compression\CompressionMode.cs
+
+
+ Compression\Compressor.cs
+
+
+ Compression\Zlib.cs
+
+
+ Compression\ZlibOpenSsh.cs
+
+
+ Compression\ZlibStream.cs
+
+
+ ConnectionInfo.cs
+
+
+ ExpectAction.cs
+
+
+ ExpectAsyncResult.cs
+
+
+ ForwardedPort.cs
+
+
+ ForwardedPortDynamic.cs
+
+
+ ForwardedPortLocal.cs
+
+
+ ForwardedPortRemote.cs
+
+
+ HashInfo.cs
+
+
+ IAuthenticationMethod.cs
+
+
+ IClientAuthentication.cs
+
+
+ IConnectionInfo.cs
+
+
+ IForwardedPort.cs
+
+
+ IServiceFactory.cs
+
+
+ ISession.cs
+
+
+ ISubsystemSession.cs
+
+
+ KeyboardInteractiveAuthenticationMethod.cs
+
+
+ KeyboardInteractiveConnectionInfo.cs
+
+
+ MessageEventArgs.cs
+
+
+ Messages\Authentication\BannerMessage.cs
+
+
+ Messages\Authentication\FailureMessage.cs
+
+
+ Messages\Authentication\InformationRequestMessage.cs
+
+
+ Messages\Authentication\InformationResponseMessage.cs
+
+
+ Messages\Authentication\PasswordChangeRequiredMessage.cs
+
+
+ Messages\Authentication\PublicKeyMessage.cs
+
+
+ Messages\Authentication\RequestMessage.cs
+
+
+ Messages\Authentication\RequestMessageHost.cs
+
+
+ Messages\Authentication\RequestMessageKeyboardInteractive.cs
+
+
+ Messages\Authentication\RequestMessageNone.cs
+
+
+ Messages\Authentication\RequestMessagePassword.cs
+
+
+ Messages\Authentication\RequestMessagePublicKey.cs
+
+
+ Messages\Authentication\SuccessMessage.cs
+
+
+ Messages\Connection\ChannelCloseMessage.cs
+
+
+ Messages\Connection\ChannelDataMessage.cs
+
+
+ Messages\Connection\ChannelEofMessage.cs
+
+
+ Messages\Connection\ChannelExtendedDataMessage.cs
+
+
+ Messages\Connection\ChannelFailureMessage.cs
+
+
+ Messages\Connection\ChannelMessage.cs
+
+
+ Messages\Connection\ChannelOpenConfirmationMessage.cs
+
+
+ Messages\Connection\ChannelOpenFailureMessage.cs
+
+
+ Messages\Connection\ChannelOpenFailureReasons.cs
+
+
+ Messages\Connection\ChannelOpen\ChannelOpenInfo.cs
+
+
+ Messages\Connection\ChannelOpen\ChannelOpenMessage.cs
+
+
+ Messages\Connection\ChannelOpen\DirectTcpipChannelInfo.cs
+
+
+ Messages\Connection\ChannelOpen\ForwardedTcpipChannelInfo.cs
+
+
+ Messages\Connection\ChannelOpen\SessionChannelOpenInfo.cs
+
+
+ Messages\Connection\ChannelOpen\X11ChannelOpenInfo.cs
+
+
+ Messages\Connection\ChannelRequest\BreakRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ChannelRequestMessage.cs
+
+
+ Messages\Connection\ChannelRequest\EndOfWriteRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\EnvironmentVariableRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ExecRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ExitSignalRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ExitStatusRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\KeepAliveRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\PseudoTerminalInfo.cs
+
+
+ Messages\Connection\ChannelRequest\RequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\ShellRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\SignalRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\SubsystemRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\WindowChangeRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\X11ForwardingRequestInfo.cs
+
+
+ Messages\Connection\ChannelRequest\XonXoffRequestInfo.cs
+
+
+ Messages\Connection\ChannelSuccessMessage.cs
+
+
+ Messages\Connection\ChannelWindowAdjustMessage.cs
+
+
+ Messages\Connection\GlobalRequestMessage.cs
+
+
+ Messages\Connection\GlobalRequestName.cs
+
+
+ Messages\Connection\RequestFailureMessage.cs
+
+
+ Messages\Connection\RequestSuccessMessage.cs
+
+
+ Messages\Message.cs
+
+
+ Messages\MessageAttribute.cs
+
+
+ Messages\ServiceName.cs
+
+
+ Messages\Transport\DebugMessage.cs
+
+
+ Messages\Transport\DisconnectMessage.cs
+
+
+ Messages\Transport\DisconnectReason.cs
+
+
+ Messages\Transport\IgnoreMessage.cs
+
+
+ Messages\Transport\IKeyExchangedAllowed.cs
+
+
+ Messages\Transport\KeyExchangeDhGroupExchangeGroup.cs
+
+
+ Messages\Transport\KeyExchangeDhGroupExchangeInit.cs
+
+
+ Messages\Transport\KeyExchangeDhGroupExchangeReply.cs
+
+
+ Messages\Transport\KeyExchangeDhGroupExchangeRequest.cs
+
+
+ Messages\Transport\KeyExchangeDhInitMessage.cs
+
+
+ Messages\Transport\KeyExchangeDhReplyMessage.cs
+
+
+ Messages\Transport\KeyExchangeEcdhInitMessage.cs
+
+
+ Messages\Transport\KeyExchangeEcdhReplyMessage.cs
+
+
+ Messages\Transport\KeyExchangeInitMessage.cs
+
+
+ Messages\Transport\NewKeysMessage.cs
+
+
+ Messages\Transport\ServiceAcceptMessage.cs
+
+
+ Messages\Transport\ServiceRequestMessage.cs
+
+
+ Messages\Transport\UnimplementedMessage.cs
+
+
+ NoneAuthenticationMethod.cs
+
+
+ PasswordAuthenticationMethod.cs
+
+
+ PasswordConnectionInfo.cs
+
+
+ PrivateKeyAuthenticationMethod.cs
+
+
+ PrivateKeyConnectionInfo.cs
+
+
+ PrivateKeyFile.cs
+
+
+ ProxyTypes.cs
+
+
+ ScpClient.cs
+
+
+ Security\Algorithm.cs
+
+
+ Security\CertificateHostAlgorithm.cs
+
+
+ Security\Cryptography\AsymmetricCipher.cs
+
+
+ Security\Cryptography\BlockCipher.cs
+
+
+ Security\Cryptography\Cipher.cs
+
+
+ Security\Cryptography\CipherDigitalSignature.cs
+
+
+ Security\Cryptography\Ciphers\AesCipher.cs
+
+
+ Security\Cryptography\Ciphers\Arc4Cipher.cs
+
+
+ Security\Cryptography\Ciphers\BlowfishCipher.cs
+
+
+ Security\Cryptography\Ciphers\CastCipher.cs
+
+
+ Security\Cryptography\Ciphers\CipherMode.cs
+
+
+ Security\Cryptography\Ciphers\CipherPadding.cs
+
+
+ Security\Cryptography\Ciphers\DesCipher.cs
+
+
+ Security\Cryptography\Ciphers\Modes\CbcCipherMode.cs
+
+
+ Security\Cryptography\Ciphers\Modes\CfbCipherMode.cs
+
+
+ Security\Cryptography\Ciphers\Modes\CtrCipherMode.cs
+
+
+ Security\Cryptography\Ciphers\Modes\OfbCipherMode.cs
+
+
+ Security\Cryptography\Ciphers\Paddings\PKCS7Padding.cs
+
+
+ Security\Cryptography\Ciphers\Paddings\PKCS5Padding.cs
+
+
+ Security\Cryptography\Ciphers\RsaCipher.cs
+
+
+ Security\Cryptography\Ciphers\SerpentCipher.cs
+
+
+ Security\Cryptography\Ciphers\TripleDesCipher.cs
+
+
+ Security\Cryptography\Ciphers\TwofishCipher.cs
+
+
+ Security\Cryptography\DigitalSignature.cs
+
+
+ Security\Cryptography\DsaDigitalSignature.cs
+
+
+ Security\Cryptography\DsaKey.cs
+
+
+ Security\Cryptography\HMACMD5.cs
+
+
+ Security\Cryptography\HMACSHA1.cs
+
+
+ Security\Cryptography\HMACSHA256.cs
+
+
+ Security\Cryptography\HMACSHA384.cs
+
+
+ Security\Cryptography\HMACSHA512.cs
+
+
+ Security\Cryptography\Key.cs
+
+
+ Security\Cryptography\RsaDigitalSignature.cs
+
+
+ Security\Cryptography\RsaKey.cs
+
+
+ Security\Cryptography\StreamCipher.cs
+
+
+ Security\Cryptography\SymmetricCipher.cs
+
+
+ Security\GroupExchangeHashData.cs
+
+
+ Security\HostAlgorithm.cs
+
+
+ Security\IKeyExchange.cs
+
+
+ Security\KeyExchange.cs
+
+
+ Security\KeyExchangeDiffieHellman.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroup14Sha1.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroup1Sha1.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroupExchangeSha1.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroupExchangeSha256.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroupExchangeShaBase.cs
+
+
+ Security\KeyExchangeDiffieHellmanGroupSha1.cs
+
+
+ Security\KeyHostAlgorithm.cs
+
+
+ ServiceFactory.cs
+
+
+ Session.cs
+
+
+ SftpClient.cs
+
+
+ Sftp\Flags.cs
+
+
+ Sftp\ISftpSession.cs
+
+
+ Sftp\Requests\ExtendedRequests\FStatVfsRequest.cs
+
+
+ Sftp\Requests\ExtendedRequests\HardLinkRequest.cs
+
+
+ Sftp\Requests\ExtendedRequests\PosixRenameRequest.cs
+
+
+ Sftp\Requests\ExtendedRequests\StatVfsRequest.cs
+
+
+ Sftp\Requests\SftpBlockRequest.cs
+
+
+ Sftp\Requests\SftpCloseRequest.cs
+
+
+ Sftp\Requests\SftpExtendedRequest.cs
+
+
+ Sftp\Requests\SftpFSetStatRequest.cs
+
+
+ Sftp\Requests\SftpFStatRequest.cs
+
+
+ Sftp\Requests\SftpInitRequest.cs
+
+
+ Sftp\Requests\SftpLinkRequest.cs
+
+
+ Sftp\Requests\SftpLStatRequest.cs
+
+
+ Sftp\Requests\SftpMkDirRequest.cs
+
+
+ Sftp\Requests\SftpOpenDirRequest.cs
+
+
+ Sftp\Requests\SftpOpenRequest.cs
+
+
+ Sftp\Requests\SftpReadDirRequest.cs
+
+
+ Sftp\Requests\SftpReadLinkRequest.cs
+
+
+ Sftp\Requests\SftpReadRequest.cs
+
+
+ Sftp\Requests\SftpRealPathRequest.cs
+
+
+ Sftp\Requests\SftpRemoveRequest.cs
+
+
+ Sftp\Requests\SftpRenameRequest.cs
+
+
+ Sftp\Requests\SftpRequest.cs
+
+
+ Sftp\Requests\SftpRmDirRequest.cs
+
+
+ Sftp\Requests\SftpSetStatRequest.cs
+
+
+ Sftp\Requests\SftpStatRequest.cs
+
+
+ Sftp\Requests\SftpSymLinkRequest.cs
+
+
+ Sftp\Requests\SftpUnblockRequest.cs
+
+
+ Sftp\Requests\SftpWriteRequest.cs
+
+
+ Sftp\Responses\ExtendedReplies\ExtendedReplyInfo.cs
+
+
+ Sftp\Responses\ExtendedReplies\StatVfsReplyInfo.cs
+
+
+ Sftp\Responses\SftpAttrsResponse.cs
+
+
+ Sftp\Responses\SftpDataResponse.cs
+
+
+ Sftp\Responses\SftpExtendedReplyResponse.cs
+
+
+ Sftp\Responses\SftpHandleResponse.cs
+
+
+ Sftp\Responses\SftpNameResponse.cs
+
+
+ Sftp\Responses\SftpResponse.cs
+
+
+ Sftp\Responses\SftpStatusResponse.cs
+
+
+ Sftp\Responses\SftpVersionResponse.cs
+
+
+ Sftp\SftpDownloadAsyncResult.cs
+
+
+ Sftp\SftpFile.cs
+
+
+ Sftp\SftpFileAttributes.cs
+
+
+ Sftp\SftpFileStream.cs
+
+
+ Sftp\SftpFileSystemInformation.cs
+
+
+ Sftp\SftpListDirectoryAsyncResult.cs
+
+
+ Sftp\SftpMessage.cs
+
+
+ Sftp\SftpMessageTypes.cs
+
+
+ Sftp\SftpSession.cs
+
+
+ Sftp\SftpSynchronizeDirectoriesAsyncResult.cs
+
+
+ Sftp\SftpUploadAsyncResult.cs
+
+
+ Sftp\StatusCodes.cs
+
+
+ Shell.cs
+
+
+ ShellStream.cs
+
+
+ SshClient.cs
+
+
+ SshCommand.cs
+
+
+ SshMessageFactory.cs
+
+
+ SubsystemSession.cs
+
+
+
+ Properties\CommonAssemblyInfo.cs
+
+
+
+
+ Renci.SshNet.snk
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortLocal.NET35.cs b/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortLocal.NET35.cs
index 034989b6..2eec0336 100644
--- a/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortLocal.NET35.cs
+++ b/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortLocal.NET35.cs
@@ -1,13 +1,13 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Renci.SshNet.Tests.Common;
-
-namespace Renci.SshNet.Tests.SshClientTests
-{
- public partial class ForwardedPortLocalTest : TestBase
- {
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Renci.SshNet.Tests.Common;
+
+namespace Renci.SshNet.Tests.SshClientTests
+{
+ public partial class ForwardedPortLocalTest : TestBase
+ {
+ }
+}
diff --git a/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortRemote.NET35.cs b/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortRemote.NET35.cs
index 524b6a07..5b057ba1 100644
--- a/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortRemote.NET35.cs
+++ b/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortRemote.NET35.cs
@@ -1,13 +1,13 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Renci.SshNet.Tests.Common;
-
-namespace Renci.SshNet.Tests.SshClientTests
-{
- public partial class ForwardedPortRemoteTest : TestBase
- {
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Renci.SshNet.Tests.Common;
+
+namespace Renci.SshNet.Tests.SshClientTests
+{
+ public partial class ForwardedPortRemoteTest : TestBase
+ {
+ }
+}
diff --git a/src/Renci.SshNet.Tests.NET35/Classes/SshCommandTest.NET35.cs b/src/Renci.SshNet.Tests.NET35/Classes/SshCommandTest.NET35.cs
index 1f342174..8f95bf3f 100644
--- a/src/Renci.SshNet.Tests.NET35/Classes/SshCommandTest.NET35.cs
+++ b/src/Renci.SshNet.Tests.NET35/Classes/SshCommandTest.NET35.cs
@@ -1,13 +1,13 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Renci.SshNet.Tests.Common;
-
-namespace Renci.SshNet.Tests.SshClientTests
-{
- public partial class SshCommandTest : TestBase
- {
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Renci.SshNet.Tests.Common;
+
+namespace Renci.SshNet.Tests.SshClientTests
+{
+ public partial class SshCommandTest : TestBase
+ {
+ }
+}
diff --git a/src/Renci.SshNet.Tests.NET35/Properties/AssemblyInfo.cs b/src/Renci.SshNet.Tests.NET35/Properties/AssemblyInfo.cs
index 8d6f9fc1..01506232 100644
--- a/src/Renci.SshNet.Tests.NET35/Properties/AssemblyInfo.cs
+++ b/src/Renci.SshNet.Tests.NET35/Properties/AssemblyInfo.cs
@@ -1,5 +1,5 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-[assembly: AssemblyTitle("SSH.NET Tests .NET 3.5")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("SSH.NET Tests .NET 3.5")]
[assembly: Guid("7c827904-40c1-4fe3-8ed1-8a729b8417a9")]
\ No newline at end of file
diff --git a/src/Renci.SshNet.Tests.NET35/Properties/Resources.Designer.cs b/src/Renci.SshNet.Tests.NET35/Properties/Resources.Designer.cs
index 109a20e4..54bef950 100644
--- a/src/Renci.SshNet.Tests.NET35/Properties/Resources.Designer.cs
+++ b/src/Renci.SshNet.Tests.NET35/Properties/Resources.Designer.cs
@@ -1,206 +1,206 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.18010
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Renci.SshNet.Tests.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Renci.SshNet.Tests.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// Looks up a localized string similar to -----BEGIN DSA PRIVATE KEY-----
- ///Proc-Type: 4,ENCRYPTED
- ///DEK-Info: DES-EDE3-CBC,053105DCFC6132E7
- ///
- ///nVjIhJr3Eeqk0aBfyYK38B6cF0g35U2acgq5t3zG8fCM5JLSnFcmkkYvohbmCLva
- ///swNHMfmwumoX8Ga94cxGu6vW1qf+IMvgEU4U53DtJqRoeICMwIre1yUq2cCrV+gI
- ///qQ6MAVMDgfMs7HrPs5999m+KoDh7oYsA1l5q+axU/rqM4g3lySr/1oT6oAQx5Qp2
- ///2DYkZEwnX5+NTw6aoMXl2qgIHBVxa7wZRMp9L0yAlEFk8T7fMuPrLSAEUBghcIaP
- ///iBY1OY+M9MgDTTU56ZjLl+DfT3XfKzsZ3fmn1+bLqTRreiuS4/WF6xIa/DQu1sQd
- ///nnjYgnKYcTWSvWWK9AcIVSpoiW2y6FcPkMAIw54ABrzBp4Rz0//Ykwv2Ga7AZxxm
- ///P+lkxKf2RWnh406F [rest of string was truncated]";.
- ///
- internal static string DSA_KEY_WITH_PASS {
- get {
- return ResourceManager.GetString("DSA_KEY_WITH_PASS", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to -----BEGIN DSA PRIVATE KEY-----
- ///MIIBvAIBAAKBgQDdQrrwGvknwD+pb9Gpv/vDxj8yqFUg0cUuC/tkjm3u+lQj86Rw
- ///fA8RJOV+OP4Gtvs9zOSsxiuginoB/uEiT+6jbHvyvJeJp2fsDWLx/tVRXxpi8Nwe
- ///bfb455R0wVVZdqnFKsAZLrQAT589EUtLgyVAFQbUP5Fz6px8H8AG0qlybQIVALn7
- ///UOxnbFR7fDfZkq2Pc7ZCVegpAoGBANRKf9vezuz1aGUnUGWILHO09SibHK255fkr
- ///u4//zvCbdawWSZOoU+vMnplLUhNaVMoSyYE/TYOZvvbG9UtPvr8wZGdNPipvIXIB
- ///xlpr+FH0mnSx0qlaRy3PEoDRAmw6msRCzVYV3vZ8ZTEUdt+phuru+pn0W9EugzCM
- ///HikVVhJMAoGASHB5nNlWhpqvungn+otYyGKoVoATkRdRfSiUo3fb0mJLTmxrEhEH
- ///4UOFA/UFdQ0TYXXW0 [rest of string was truncated]";.
- ///
- internal static string DSA_KEY_WITHOUT_PASS {
- get {
- return ResourceManager.GetString("DSA_KEY_WITHOUT_PASS", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to oleg-centos.edc.renci.org.
- ///
- internal static string HOST {
- get {
- return ResourceManager.GetString("HOST", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to -----BEGIN DSA PRIVATE KEY-----
- ///MIIBugIBAAKBgQCG3ij/JvdNp+1VUsK2zmLM5QWNN4MRRm/FCOHDknDJrWdSKheO
- ///h6BbCgyFOw+k5qYtwXQnt3DpQfxPi7PIjr3tQJ9gB8LzqH2DwT2hMXm9VV2ImX2P
- ///12aj8hZVM99WOp/ma6+ivLSFHnwET19eaqS9SRb0ftIqZXpWGE3ddW07qQIVAOfT
- ///1OPSsvAnOsSrYc5HG5K3xIWlAoGAAzhTmi29+v0YTIsW2W1FihsexeAnpPPjYgRO
- ///eT6HreyTvh20UASxDP+IJ2Ba+41G6MU0isuAijp8Z4CCC4RpoS46Ksc3JtPsZiRy
- ///wAjwlb7JKGRBoY8V3aT47Xyx+iTSclZfzTmv0Z0bb56NZ6KEU8WRnks2d7tsb0fq
- ///JTAgLkkCgYBvt5EoxhlCwEUgm8j3nD4TLSRYt1lt6LVulBYA9qlV4F68b2cJUuOi
- ///YTV9H2SWRF6UF+GiR [rest of string was truncated]";.
- ///
- internal static string INVALID_KEY {
- get {
- return ResourceManager.GetString("INVALID_KEY", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to tester.
- ///
- internal static string PASSWORD {
- get {
- return ResourceManager.GetString("PASSWORD", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to 22.
- ///
- internal static string PORT {
- get {
- return ResourceManager.GetString("PORT", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to proxy.oleg-centos.edc.renci.org.
- ///
- internal static string PROXY_HOST {
- get {
- return ResourceManager.GetString("PROXY_HOST", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to 8123.
- ///
- internal static string PROXY_PORT {
- get {
- return ResourceManager.GetString("PROXY_PORT", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to -----BEGIN RSA PRIVATE KEY-----
- ///Proc-Type: 4,ENCRYPTED
- ///DEK-Info: DES-EDE3-CBC,B3475536EDD1B442
- ///
- ///Xa6Y7FYTfz19CMzPcVbCpBHEh8x3tnA9PutKEDNMwKbR+NVUvBx5fN1QjrLpltCr
- ///uX7yD3vLCeyihg4oaK3nTBZBcsB/1TZx+MlLgpvMfV1JKmbKCmebBZ3lUpsypHlG
- ///FpCY41miFwdHmBe6tuwL9XA3vz26eJwSgJGMkVN9EBvNbiOHinEPhSW0whzBfbv+
- ///OfseG73gvHc4jZS6Sw8h5VDBAmlldJEfkP/s/1/iTbCXFQ22xRb4Z6NilEyKiWpB
- ///nQviXmaucTWCEuNF5QDA7oV7Ugwm5cAXuBqFIs9ZGaKV4/XpfX1tClOLfB3Lguh+
- ///bbkwjPb0ztlhKa4gkwXiMs0S/lhoueXBae4QStM0qJBXHtFhhRYIn4JeIZ8CJ0k6
- ///SMP7QVfPf5aJIaa8 [rest of string was truncated]";.
- ///
- internal static string RSA_KEY_WITH_PASS {
- get {
- return ResourceManager.GetString("RSA_KEY_WITH_PASS", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to -----BEGIN RSA PRIVATE KEY-----
- ///MIIEogIBAAKCAQEA8ZsD8jgH7ySXnd4dprEFFkJ+zs1ne81E8febjR8hekiKrc+D
- ///9GjeEykchy0PsrsBrf2F8J3GtLNISVerkl+EnVh1E0pi9Vllc1vcpQHvBeNPG/jl
- ///9Dnum/DcaaMKLot+ARXjBuMX/xJVfnlgkvfpBvoq4QzQ6E27rOMbcPlvrN7KeYba
- ///orsTpDMUraHX5u99P1evvw7sOuNl3lc9YpIgmjHT6dWUGTqBx9T2SEKXBRVk2NNb
- ///d2UctQkr5BJn1gGehA+1KYS30FMiCSN8F8ZOlpYj1+K6xzs0srq1z30LailIyy7Q
- ///mYp739BJlOF3cVywdcFXGre35H2cJylcNV2e+QIBIwKCAQAbnK/+bM207j02nQqz
- ///9vlEX17zECkVdouJXiBn5kz4CEpdAcXwC/wfcmmpDHbSmQeBmVEi0DP3ZPJRhlzA
- ///RW493jlECIBWjd+1a [rest of string was truncated]";.
- ///
- internal static string RSA_KEY_WITHOUT_PASS {
- get {
- return ResourceManager.GetString("RSA_KEY_WITHOUT_PASS", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to tester.
- ///
- internal static string USERNAME {
- get {
- return ResourceManager.GetString("USERNAME", resourceCulture);
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.18010
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Renci.SshNet.Tests.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Renci.SshNet.Tests.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to -----BEGIN DSA PRIVATE KEY-----
+ ///Proc-Type: 4,ENCRYPTED
+ ///DEK-Info: DES-EDE3-CBC,053105DCFC6132E7
+ ///
+ ///nVjIhJr3Eeqk0aBfyYK38B6cF0g35U2acgq5t3zG8fCM5JLSnFcmkkYvohbmCLva
+ ///swNHMfmwumoX8Ga94cxGu6vW1qf+IMvgEU4U53DtJqRoeICMwIre1yUq2cCrV+gI
+ ///qQ6MAVMDgfMs7HrPs5999m+KoDh7oYsA1l5q+axU/rqM4g3lySr/1oT6oAQx5Qp2
+ ///2DYkZEwnX5+NTw6aoMXl2qgIHBVxa7wZRMp9L0yAlEFk8T7fMuPrLSAEUBghcIaP
+ ///iBY1OY+M9MgDTTU56ZjLl+DfT3XfKzsZ3fmn1+bLqTRreiuS4/WF6xIa/DQu1sQd
+ ///nnjYgnKYcTWSvWWK9AcIVSpoiW2y6FcPkMAIw54ABrzBp4Rz0//Ykwv2Ga7AZxxm
+ ///P+lkxKf2RWnh406F [rest of string was truncated]";.
+ ///
+ internal static string DSA_KEY_WITH_PASS {
+ get {
+ return ResourceManager.GetString("DSA_KEY_WITH_PASS", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to -----BEGIN DSA PRIVATE KEY-----
+ ///MIIBvAIBAAKBgQDdQrrwGvknwD+pb9Gpv/vDxj8yqFUg0cUuC/tkjm3u+lQj86Rw
+ ///fA8RJOV+OP4Gtvs9zOSsxiuginoB/uEiT+6jbHvyvJeJp2fsDWLx/tVRXxpi8Nwe
+ ///bfb455R0wVVZdqnFKsAZLrQAT589EUtLgyVAFQbUP5Fz6px8H8AG0qlybQIVALn7
+ ///UOxnbFR7fDfZkq2Pc7ZCVegpAoGBANRKf9vezuz1aGUnUGWILHO09SibHK255fkr
+ ///u4//zvCbdawWSZOoU+vMnplLUhNaVMoSyYE/TYOZvvbG9UtPvr8wZGdNPipvIXIB
+ ///xlpr+FH0mnSx0qlaRy3PEoDRAmw6msRCzVYV3vZ8ZTEUdt+phuru+pn0W9EugzCM
+ ///HikVVhJMAoGASHB5nNlWhpqvungn+otYyGKoVoATkRdRfSiUo3fb0mJLTmxrEhEH
+ ///4UOFA/UFdQ0TYXXW0 [rest of string was truncated]";.
+ ///
+ internal static string DSA_KEY_WITHOUT_PASS {
+ get {
+ return ResourceManager.GetString("DSA_KEY_WITHOUT_PASS", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to oleg-centos.edc.renci.org.
+ ///
+ internal static string HOST {
+ get {
+ return ResourceManager.GetString("HOST", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to -----BEGIN DSA PRIVATE KEY-----
+ ///MIIBugIBAAKBgQCG3ij/JvdNp+1VUsK2zmLM5QWNN4MRRm/FCOHDknDJrWdSKheO
+ ///h6BbCgyFOw+k5qYtwXQnt3DpQfxPi7PIjr3tQJ9gB8LzqH2DwT2hMXm9VV2ImX2P
+ ///12aj8hZVM99WOp/ma6+ivLSFHnwET19eaqS9SRb0ftIqZXpWGE3ddW07qQIVAOfT
+ ///1OPSsvAnOsSrYc5HG5K3xIWlAoGAAzhTmi29+v0YTIsW2W1FihsexeAnpPPjYgRO
+ ///eT6HreyTvh20UASxDP+IJ2Ba+41G6MU0isuAijp8Z4CCC4RpoS46Ksc3JtPsZiRy
+ ///wAjwlb7JKGRBoY8V3aT47Xyx+iTSclZfzTmv0Z0bb56NZ6KEU8WRnks2d7tsb0fq
+ ///JTAgLkkCgYBvt5EoxhlCwEUgm8j3nD4TLSRYt1lt6LVulBYA9qlV4F68b2cJUuOi
+ ///YTV9H2SWRF6UF+GiR [rest of string was truncated]";.
+ ///
+ internal static string INVALID_KEY {
+ get {
+ return ResourceManager.GetString("INVALID_KEY", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to tester.
+ ///
+ internal static string PASSWORD {
+ get {
+ return ResourceManager.GetString("PASSWORD", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 22.
+ ///
+ internal static string PORT {
+ get {
+ return ResourceManager.GetString("PORT", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to proxy.oleg-centos.edc.renci.org.
+ ///
+ internal static string PROXY_HOST {
+ get {
+ return ResourceManager.GetString("PROXY_HOST", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 8123.
+ ///
+ internal static string PROXY_PORT {
+ get {
+ return ResourceManager.GetString("PROXY_PORT", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to -----BEGIN RSA PRIVATE KEY-----
+ ///Proc-Type: 4,ENCRYPTED
+ ///DEK-Info: DES-EDE3-CBC,B3475536EDD1B442
+ ///
+ ///Xa6Y7FYTfz19CMzPcVbCpBHEh8x3tnA9PutKEDNMwKbR+NVUvBx5fN1QjrLpltCr
+ ///uX7yD3vLCeyihg4oaK3nTBZBcsB/1TZx+MlLgpvMfV1JKmbKCmebBZ3lUpsypHlG
+ ///FpCY41miFwdHmBe6tuwL9XA3vz26eJwSgJGMkVN9EBvNbiOHinEPhSW0whzBfbv+
+ ///OfseG73gvHc4jZS6Sw8h5VDBAmlldJEfkP/s/1/iTbCXFQ22xRb4Z6NilEyKiWpB
+ ///nQviXmaucTWCEuNF5QDA7oV7Ugwm5cAXuBqFIs9ZGaKV4/XpfX1tClOLfB3Lguh+
+ ///bbkwjPb0ztlhKa4gkwXiMs0S/lhoueXBae4QStM0qJBXHtFhhRYIn4JeIZ8CJ0k6
+ ///SMP7QVfPf5aJIaa8 [rest of string was truncated]";.
+ ///
+ internal static string RSA_KEY_WITH_PASS {
+ get {
+ return ResourceManager.GetString("RSA_KEY_WITH_PASS", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to -----BEGIN RSA PRIVATE KEY-----
+ ///MIIEogIBAAKCAQEA8ZsD8jgH7ySXnd4dprEFFkJ+zs1ne81E8febjR8hekiKrc+D
+ ///9GjeEykchy0PsrsBrf2F8J3GtLNISVerkl+EnVh1E0pi9Vllc1vcpQHvBeNPG/jl
+ ///9Dnum/DcaaMKLot+ARXjBuMX/xJVfnlgkvfpBvoq4QzQ6E27rOMbcPlvrN7KeYba
+ ///orsTpDMUraHX5u99P1evvw7sOuNl3lc9YpIgmjHT6dWUGTqBx9T2SEKXBRVk2NNb
+ ///d2UctQkr5BJn1gGehA+1KYS30FMiCSN8F8ZOlpYj1+K6xzs0srq1z30LailIyy7Q
+ ///mYp739BJlOF3cVywdcFXGre35H2cJylcNV2e+QIBIwKCAQAbnK/+bM207j02nQqz
+ ///9vlEX17zECkVdouJXiBn5kz4CEpdAcXwC/wfcmmpDHbSmQeBmVEi0DP3ZPJRhlzA
+ ///RW493jlECIBWjd+1a [rest of string was truncated]";.
+ ///
+ internal static string RSA_KEY_WITHOUT_PASS {
+ get {
+ return ResourceManager.GetString("RSA_KEY_WITHOUT_PASS", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to tester.
+ ///
+ internal static string USERNAME {
+ get {
+ return ResourceManager.GetString("USERNAME", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/src/Renci.SshNet.Tests.NET35/Properties/Resources.resx b/src/Renci.SshNet.Tests.NET35/Properties/Resources.resx
index 1b97000e..b1605aba 100644
--- a/src/Renci.SshNet.Tests.NET35/Properties/Resources.resx
+++ b/src/Renci.SshNet.Tests.NET35/Properties/Resources.resx
@@ -1,244 +1,244 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- -----BEGIN DSA PRIVATE KEY-----
-MIIBvAIBAAKBgQDdQrrwGvknwD+pb9Gpv/vDxj8yqFUg0cUuC/tkjm3u+lQj86Rw
-fA8RJOV+OP4Gtvs9zOSsxiuginoB/uEiT+6jbHvyvJeJp2fsDWLx/tVRXxpi8Nwe
-bfb455R0wVVZdqnFKsAZLrQAT589EUtLgyVAFQbUP5Fz6px8H8AG0qlybQIVALn7
-UOxnbFR7fDfZkq2Pc7ZCVegpAoGBANRKf9vezuz1aGUnUGWILHO09SibHK255fkr
-u4//zvCbdawWSZOoU+vMnplLUhNaVMoSyYE/TYOZvvbG9UtPvr8wZGdNPipvIXIB
-xlpr+FH0mnSx0qlaRy3PEoDRAmw6msRCzVYV3vZ8ZTEUdt+phuru+pn0W9EugzCM
-HikVVhJMAoGASHB5nNlWhpqvungn+otYyGKoVoATkRdRfSiUo3fb0mJLTmxrEhEH
-4UOFA/UFdQ0TYXXW0wRX/amynT4iTEXAx0FjxUNK5ryxloeoXiXEH4FK7D8RtJO1
-1UsaRrN+nqWiSTVAehl6tzoMCPargGcWeFlAZZnPGN76OD9J1GiKZj8CFQCl8SkF
-GWfS+mH8xhLsxh1nI7rfJw==
------END DSA PRIVATE KEY-----
-
-
- -----BEGIN DSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,053105DCFC6132E7
-
-nVjIhJr3Eeqk0aBfyYK38B6cF0g35U2acgq5t3zG8fCM5JLSnFcmkkYvohbmCLva
-swNHMfmwumoX8Ga94cxGu6vW1qf+IMvgEU4U53DtJqRoeICMwIre1yUq2cCrV+gI
-qQ6MAVMDgfMs7HrPs5999m+KoDh7oYsA1l5q+axU/rqM4g3lySr/1oT6oAQx5Qp2
-2DYkZEwnX5+NTw6aoMXl2qgIHBVxa7wZRMp9L0yAlEFk8T7fMuPrLSAEUBghcIaP
-iBY1OY+M9MgDTTU56ZjLl+DfT3XfKzsZ3fmn1+bLqTRreiuS4/WF6xIa/DQu1sQd
-nnjYgnKYcTWSvWWK9AcIVSpoiW2y6FcPkMAIw54ABrzBp4Rz0//Ykwv2Ga7AZxxm
-P+lkxKf2RWnh406FxBvBZzwB3rQeeM7QTg2IcFqGnlf005FIikp6SlyhZ/3M/Nl3
-FW235vuO37jLCL8qosGt4NOWAstXaxDujfIb/Q+IYxUpWZrdiH5tM/mUXARK0Sjf
-D8DHbFwAT2mUv1QxRXYJO1y4pENboEzT6LUqxJgE+ae/F/29g2RD9DhtwqKqWjhM
-7jB0kNVZrz3qUKnoJHIozA==
------END DSA PRIVATE KEY-----
-
-
- oleg-centos.edc.renci.org
-
-
- -----BEGIN DSA PRIVATE KEY-----
-MIIBugIBAAKBgQCG3ij/JvdNp+1VUsK2zmLM5QWNN4MRRm/FCOHDknDJrWdSKheO
-h6BbCgyFOw+k5qYtwXQnt3DpQfxPi7PIjr3tQJ9gB8LzqH2DwT2hMXm9VV2ImX2P
-12aj8hZVM99WOp/ma6+ivLSFHnwET19eaqS9SRb0ftIqZXpWGE3ddW07qQIVAOfT
-1OPSsvAnOsSrYc5HG5K3xIWlAoGAAzhTmi29+v0YTIsW2W1FihsexeAnpPPjYgRO
-eT6HreyTvh20UASxDP+IJ2Ba+41G6MU0isuAijp8Z4CCC4RpoS46Ksc3JtPsZiRy
-wAjwlb7JKGRBoY8V3aT47Xyx+iTSclZfzTmv0Z0bb56NZ6KEU8WRnks2d7tsb0fq
-JTAgLkkCgYBvt5EoxhlCwEUgm8j3nD4TLSRYt1lt6LVulBYA9qlV4F68b2cJUuOi
-YTV9H2SWRF6UF+GiR5SajChveS106T9O+tepip+7V5YgFfW+ALOxwar+6V8VoUF4
-xNvNTWtaw+wK8xsgxhhYDaWVhVLVhR40QmeQhx/BQm+EYkSSa9kkCQIURGd0R+Zj
-tM7dZpB+reWl9L5e2L8=
------END DSA PRIVATE KEY-----
-
-
- tester
-
-
- 22
-
-
- proxy.oleg-centos.edc.renci.org
-
-
- 8123
-
-
- -----BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEA8ZsD8jgH7ySXnd4dprEFFkJ+zs1ne81E8febjR8hekiKrc+D
-9GjeEykchy0PsrsBrf2F8J3GtLNISVerkl+EnVh1E0pi9Vllc1vcpQHvBeNPG/jl
-9Dnum/DcaaMKLot+ARXjBuMX/xJVfnlgkvfpBvoq4QzQ6E27rOMbcPlvrN7KeYba
-orsTpDMUraHX5u99P1evvw7sOuNl3lc9YpIgmjHT6dWUGTqBx9T2SEKXBRVk2NNb
-d2UctQkr5BJn1gGehA+1KYS30FMiCSN8F8ZOlpYj1+K6xzs0srq1z30LailIyy7Q
-mYp739BJlOF3cVywdcFXGre35H2cJylcNV2e+QIBIwKCAQAbnK/+bM207j02nQqz
-9vlEX17zECkVdouJXiBn5kz4CEpdAcXwC/wfcmmpDHbSmQeBmVEi0DP3ZPJRhlzA
-RW493jlECIBWjd+1aZWPM2vGKJtTp2q802u6DOX9cbgFUcVB899ugFqDjREVxLqU
-dBqhtjDJQ0sTPBVy2CBkrsrvLy7AZd4LlaqxpdTdpkD/auUxg4zdThHT/XeQ0V0G
-3BS5vGehfqgkDOQpQSm7HexM+9GDJnnzMdNXjmWBPxZU49QAlxujZeZ1M2IgKwMq
-eNkWAOnZJidfsfwYluSCi8OHPN2i1s/b7pgn6ffb50S/k2mmhTHxNChDdGTlW91G
-6CFLAoGBAPlGA4qzZCG4SLBQicGhhXZlwaKKfTvWNi4xNPZeoJezC0G+yZZT7IIV
-zCj83t3dteaRRw15e+7NuIXZx3zl2hANfEpBZwnS4sOekvbS9/S7cEVzOEk53jRU
-TOtHRsvNxS2xK3RywqoaqzcPaK2Df917yzbqvEajMRudRPrsTvYdAoGBAPggB/kJ
-+VxZf13JqV2KgrFoVvykJpRlw2F5+lkH69ON9gdl976J3TNJDqAmHeWFxBUL+6Lt
-9TSpMq3fYueJXg9xaTkSYg177sPRGCmRLO5aneA4nJkIB6KHRXsR71C9D4fJK8Fi
-YB5n5dnBUTBhkvaI6KsxcxDzEg2zAJEcn4WNAoGBAOsHf66pI+VHWnpakINdxvqa
-dL3TCFz9K8UnFK3G7y/x9Kuz4qOuNsPLaLjua7s+wXL+ASn2MwW6pqoWekKPkxZz
-HWqVb8dvEFIKipDyzIepadsU3UxbIfbTI/PG3FnCAw3S7nUbvtrl8eN07arpsxKn
-63zr81iLPO4mkX7ezhs/AoGADi23UA8y0hO+Ip3PKeqoYei0g3cYJbysFDLbGwfE
-VTtP4ypl7aF6WrO3sWFDiXVbqW5mJpFBNjWN3gzD0rdkdek5NnYUO0jpEoD6EQD7
-QNH6ZJWFSpK+m5Kzg2AcTcGpHbO5W4H23SqCKbNGd8sPtlD3Wj1XCEhnbn9B3GgJ
-HZMCgYEAjn9BH4fcobMaM15AV0s6sCEyr/vzn3QBfoIBqqqlipMqOtPDv8oyvGO4
-5tSpMrTKf4e3YAMPA4TXRAiVLjeRYlhdj3He0LkAuZZabrHeRmWqjDruMWd1TcKZ
-3o8DLgYbSH7eGXUJ+euM4spKr5OLkBEkmH7Of6Qxss2njvjVNTE=
------END RSA PRIVATE KEY-----
-
-
- -----BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,B3475536EDD1B442
-
-Xa6Y7FYTfz19CMzPcVbCpBHEh8x3tnA9PutKEDNMwKbR+NVUvBx5fN1QjrLpltCr
-uX7yD3vLCeyihg4oaK3nTBZBcsB/1TZx+MlLgpvMfV1JKmbKCmebBZ3lUpsypHlG
-FpCY41miFwdHmBe6tuwL9XA3vz26eJwSgJGMkVN9EBvNbiOHinEPhSW0whzBfbv+
-OfseG73gvHc4jZS6Sw8h5VDBAmlldJEfkP/s/1/iTbCXFQ22xRb4Z6NilEyKiWpB
-nQviXmaucTWCEuNF5QDA7oV7Ugwm5cAXuBqFIs9ZGaKV4/XpfX1tClOLfB3Lguh+
-bbkwjPb0ztlhKa4gkwXiMs0S/lhoueXBae4QStM0qJBXHtFhhRYIn4JeIZ8CJ0k6
-SMP7QVfPf5aJIaa8t+SlpvtIFTIkEhTViOCl+udT04670DGwmJUgrJAV0r+/Ytf7
-Mi+m3DagN7gGmCvYo+7r7EBl1G6e3hCSYm0rFxGOBesmCWriRoeRpxirWnkrns57
-D57pEC1hg90IdycCGpiwqubGDKFljuMLiVd2w0onVhudShPszP+nJAaq18wUB+rE
-mtBv+GlpqCITREB4lG2noP4r9P9lgrOTqmKvWjvUTQjfS3u0XO/1aQllKlwe97C7
-mfOxcZQWy5F7+9CiWpDpomW7Eso89ja6uyupw4Q4gsm7EUacqOOaVxHrm3MVhYjE
-Bfk9I5agKFqeHdjBUUP0DQ6X7JUEtb/Ri8ZrFnyT8sBG7JYnMTXfjPQqdR493cp2
-hWI5reZLi4CCUqt4Pcmhm2vtwJz5HXChARPYq2C3DhdJHcdhxUr97rfTGE1w8mPY
-JcwSFnNN47UBcDg6nvSfY3SJKV0gmmqz9fEw1pBoCrudJKw9U0vQrNoCEJOpEETG
-4XojbAMsTr0Ps5fI2X1VbVYWtU1uyZxqF8KaTCTN1Paapmqaq4N+qIFrrXA+PTH+
-dyaMLmYJ263Gy5eNkCZMeWLDFZ9WHX/Zx2ERMXfI6fyGImXkb6E0Dia+bB087BZP
-9C5gHAvZIjv+FosZrViFqDfrV5hDXL6bO3+V3zieemRxRCTvMtk+RXUJDd50qIOW
-gKNcSbevLPOyQH7eQbR+fU4KtJDUigbTFunSn2MZkDl2GDDlKI35wUAVr5yGsJbE
-yiIQe5DgLGZcMiEpqbhuqSfuOw0cUlFVyKeNZ/Hr701HWngLt677IY8ExyuNbBfT
-PRaes+hcjJ1QmJoRHZx9rQ3w0IpezCpRkRLRKJzzuQZOuwd95whKFXroFsdeaHxO
-hS4PqlLbuSMLiSIaPSZM6Huc4kb5lqCaxg/SBlXTCX17Z/8TFoqV/wCJz17XnkH6
-9WtKAC2TwKxiLZ2Qzwr2XV48lASugIOZkSW2qxM9ui+b1T9ICFKRGLn/UB//pOiG
-270hNJDLB/BKRExjS+RXeOpdAIJB5XsAEp8h56ub9emhhf9tCEXOn7PN7HbMCnQh
-7k8EpAG0h5StLUhY1HHvynVz2/qyMvZa/bIaaudL2565Z6nDU+iBxed7O1qrbRAH
-Vakr7Sa3K5niCyH5kxdyO1t29l1ksBqpDUrj+vViFuLkd3XIiui8IA==
------END RSA PRIVATE KEY-----
-
-
- tester
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ -----BEGIN DSA PRIVATE KEY-----
+MIIBvAIBAAKBgQDdQrrwGvknwD+pb9Gpv/vDxj8yqFUg0cUuC/tkjm3u+lQj86Rw
+fA8RJOV+OP4Gtvs9zOSsxiuginoB/uEiT+6jbHvyvJeJp2fsDWLx/tVRXxpi8Nwe
+bfb455R0wVVZdqnFKsAZLrQAT589EUtLgyVAFQbUP5Fz6px8H8AG0qlybQIVALn7
+UOxnbFR7fDfZkq2Pc7ZCVegpAoGBANRKf9vezuz1aGUnUGWILHO09SibHK255fkr
+u4//zvCbdawWSZOoU+vMnplLUhNaVMoSyYE/TYOZvvbG9UtPvr8wZGdNPipvIXIB
+xlpr+FH0mnSx0qlaRy3PEoDRAmw6msRCzVYV3vZ8ZTEUdt+phuru+pn0W9EugzCM
+HikVVhJMAoGASHB5nNlWhpqvungn+otYyGKoVoATkRdRfSiUo3fb0mJLTmxrEhEH
+4UOFA/UFdQ0TYXXW0wRX/amynT4iTEXAx0FjxUNK5ryxloeoXiXEH4FK7D8RtJO1
+1UsaRrN+nqWiSTVAehl6tzoMCPargGcWeFlAZZnPGN76OD9J1GiKZj8CFQCl8SkF
+GWfS+mH8xhLsxh1nI7rfJw==
+-----END DSA PRIVATE KEY-----
+
+
+ -----BEGIN DSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,053105DCFC6132E7
+
+nVjIhJr3Eeqk0aBfyYK38B6cF0g35U2acgq5t3zG8fCM5JLSnFcmkkYvohbmCLva
+swNHMfmwumoX8Ga94cxGu6vW1qf+IMvgEU4U53DtJqRoeICMwIre1yUq2cCrV+gI
+qQ6MAVMDgfMs7HrPs5999m+KoDh7oYsA1l5q+axU/rqM4g3lySr/1oT6oAQx5Qp2
+2DYkZEwnX5+NTw6aoMXl2qgIHBVxa7wZRMp9L0yAlEFk8T7fMuPrLSAEUBghcIaP
+iBY1OY+M9MgDTTU56ZjLl+DfT3XfKzsZ3fmn1+bLqTRreiuS4/WF6xIa/DQu1sQd
+nnjYgnKYcTWSvWWK9AcIVSpoiW2y6FcPkMAIw54ABrzBp4Rz0//Ykwv2Ga7AZxxm
+P+lkxKf2RWnh406FxBvBZzwB3rQeeM7QTg2IcFqGnlf005FIikp6SlyhZ/3M/Nl3
+FW235vuO37jLCL8qosGt4NOWAstXaxDujfIb/Q+IYxUpWZrdiH5tM/mUXARK0Sjf
+D8DHbFwAT2mUv1QxRXYJO1y4pENboEzT6LUqxJgE+ae/F/29g2RD9DhtwqKqWjhM
+7jB0kNVZrz3qUKnoJHIozA==
+-----END DSA PRIVATE KEY-----
+
+
+ oleg-centos.edc.renci.org
+
+
+ -----BEGIN DSA PRIVATE KEY-----
+MIIBugIBAAKBgQCG3ij/JvdNp+1VUsK2zmLM5QWNN4MRRm/FCOHDknDJrWdSKheO
+h6BbCgyFOw+k5qYtwXQnt3DpQfxPi7PIjr3tQJ9gB8LzqH2DwT2hMXm9VV2ImX2P
+12aj8hZVM99WOp/ma6+ivLSFHnwET19eaqS9SRb0ftIqZXpWGE3ddW07qQIVAOfT
+1OPSsvAnOsSrYc5HG5K3xIWlAoGAAzhTmi29+v0YTIsW2W1FihsexeAnpPPjYgRO
+eT6HreyTvh20UASxDP+IJ2Ba+41G6MU0isuAijp8Z4CCC4RpoS46Ksc3JtPsZiRy
+wAjwlb7JKGRBoY8V3aT47Xyx+iTSclZfzTmv0Z0bb56NZ6KEU8WRnks2d7tsb0fq
+JTAgLkkCgYBvt5EoxhlCwEUgm8j3nD4TLSRYt1lt6LVulBYA9qlV4F68b2cJUuOi
+YTV9H2SWRF6UF+GiR5SajChveS106T9O+tepip+7V5YgFfW+ALOxwar+6V8VoUF4
+xNvNTWtaw+wK8xsgxhhYDaWVhVLVhR40QmeQhx/BQm+EYkSSa9kkCQIURGd0R+Zj
+tM7dZpB+reWl9L5e2L8=
+-----END DSA PRIVATE KEY-----
+
+
+ tester
+
+
+ 22
+
+
+ proxy.oleg-centos.edc.renci.org
+
+
+ 8123
+
+
+ -----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEA8ZsD8jgH7ySXnd4dprEFFkJ+zs1ne81E8febjR8hekiKrc+D
+9GjeEykchy0PsrsBrf2F8J3GtLNISVerkl+EnVh1E0pi9Vllc1vcpQHvBeNPG/jl
+9Dnum/DcaaMKLot+ARXjBuMX/xJVfnlgkvfpBvoq4QzQ6E27rOMbcPlvrN7KeYba
+orsTpDMUraHX5u99P1evvw7sOuNl3lc9YpIgmjHT6dWUGTqBx9T2SEKXBRVk2NNb
+d2UctQkr5BJn1gGehA+1KYS30FMiCSN8F8ZOlpYj1+K6xzs0srq1z30LailIyy7Q
+mYp739BJlOF3cVywdcFXGre35H2cJylcNV2e+QIBIwKCAQAbnK/+bM207j02nQqz
+9vlEX17zECkVdouJXiBn5kz4CEpdAcXwC/wfcmmpDHbSmQeBmVEi0DP3ZPJRhlzA
+RW493jlECIBWjd+1aZWPM2vGKJtTp2q802u6DOX9cbgFUcVB899ugFqDjREVxLqU
+dBqhtjDJQ0sTPBVy2CBkrsrvLy7AZd4LlaqxpdTdpkD/auUxg4zdThHT/XeQ0V0G
+3BS5vGehfqgkDOQpQSm7HexM+9GDJnnzMdNXjmWBPxZU49QAlxujZeZ1M2IgKwMq
+eNkWAOnZJidfsfwYluSCi8OHPN2i1s/b7pgn6ffb50S/k2mmhTHxNChDdGTlW91G
+6CFLAoGBAPlGA4qzZCG4SLBQicGhhXZlwaKKfTvWNi4xNPZeoJezC0G+yZZT7IIV
+zCj83t3dteaRRw15e+7NuIXZx3zl2hANfEpBZwnS4sOekvbS9/S7cEVzOEk53jRU
+TOtHRsvNxS2xK3RywqoaqzcPaK2Df917yzbqvEajMRudRPrsTvYdAoGBAPggB/kJ
++VxZf13JqV2KgrFoVvykJpRlw2F5+lkH69ON9gdl976J3TNJDqAmHeWFxBUL+6Lt
+9TSpMq3fYueJXg9xaTkSYg177sPRGCmRLO5aneA4nJkIB6KHRXsR71C9D4fJK8Fi
+YB5n5dnBUTBhkvaI6KsxcxDzEg2zAJEcn4WNAoGBAOsHf66pI+VHWnpakINdxvqa
+dL3TCFz9K8UnFK3G7y/x9Kuz4qOuNsPLaLjua7s+wXL+ASn2MwW6pqoWekKPkxZz
+HWqVb8dvEFIKipDyzIepadsU3UxbIfbTI/PG3FnCAw3S7nUbvtrl8eN07arpsxKn
+63zr81iLPO4mkX7ezhs/AoGADi23UA8y0hO+Ip3PKeqoYei0g3cYJbysFDLbGwfE
+VTtP4ypl7aF6WrO3sWFDiXVbqW5mJpFBNjWN3gzD0rdkdek5NnYUO0jpEoD6EQD7
+QNH6ZJWFSpK+m5Kzg2AcTcGpHbO5W4H23SqCKbNGd8sPtlD3Wj1XCEhnbn9B3GgJ
+HZMCgYEAjn9BH4fcobMaM15AV0s6sCEyr/vzn3QBfoIBqqqlipMqOtPDv8oyvGO4
+5tSpMrTKf4e3YAMPA4TXRAiVLjeRYlhdj3He0LkAuZZabrHeRmWqjDruMWd1TcKZ
+3o8DLgYbSH7eGXUJ+euM4spKr5OLkBEkmH7Of6Qxss2njvjVNTE=
+-----END RSA PRIVATE KEY-----
+
+
+ -----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,B3475536EDD1B442
+
+Xa6Y7FYTfz19CMzPcVbCpBHEh8x3tnA9PutKEDNMwKbR+NVUvBx5fN1QjrLpltCr
+uX7yD3vLCeyihg4oaK3nTBZBcsB/1TZx+MlLgpvMfV1JKmbKCmebBZ3lUpsypHlG
+FpCY41miFwdHmBe6tuwL9XA3vz26eJwSgJGMkVN9EBvNbiOHinEPhSW0whzBfbv+
+OfseG73gvHc4jZS6Sw8h5VDBAmlldJEfkP/s/1/iTbCXFQ22xRb4Z6NilEyKiWpB
+nQviXmaucTWCEuNF5QDA7oV7Ugwm5cAXuBqFIs9ZGaKV4/XpfX1tClOLfB3Lguh+
+bbkwjPb0ztlhKa4gkwXiMs0S/lhoueXBae4QStM0qJBXHtFhhRYIn4JeIZ8CJ0k6
+SMP7QVfPf5aJIaa8t+SlpvtIFTIkEhTViOCl+udT04670DGwmJUgrJAV0r+/Ytf7
+Mi+m3DagN7gGmCvYo+7r7EBl1G6e3hCSYm0rFxGOBesmCWriRoeRpxirWnkrns57
+D57pEC1hg90IdycCGpiwqubGDKFljuMLiVd2w0onVhudShPszP+nJAaq18wUB+rE
+mtBv+GlpqCITREB4lG2noP4r9P9lgrOTqmKvWjvUTQjfS3u0XO/1aQllKlwe97C7
+mfOxcZQWy5F7+9CiWpDpomW7Eso89ja6uyupw4Q4gsm7EUacqOOaVxHrm3MVhYjE
+Bfk9I5agKFqeHdjBUUP0DQ6X7JUEtb/Ri8ZrFnyT8sBG7JYnMTXfjPQqdR493cp2
+hWI5reZLi4CCUqt4Pcmhm2vtwJz5HXChARPYq2C3DhdJHcdhxUr97rfTGE1w8mPY
+JcwSFnNN47UBcDg6nvSfY3SJKV0gmmqz9fEw1pBoCrudJKw9U0vQrNoCEJOpEETG
+4XojbAMsTr0Ps5fI2X1VbVYWtU1uyZxqF8KaTCTN1Paapmqaq4N+qIFrrXA+PTH+
+dyaMLmYJ263Gy5eNkCZMeWLDFZ9WHX/Zx2ERMXfI6fyGImXkb6E0Dia+bB087BZP
+9C5gHAvZIjv+FosZrViFqDfrV5hDXL6bO3+V3zieemRxRCTvMtk+RXUJDd50qIOW
+gKNcSbevLPOyQH7eQbR+fU4KtJDUigbTFunSn2MZkDl2GDDlKI35wUAVr5yGsJbE
+yiIQe5DgLGZcMiEpqbhuqSfuOw0cUlFVyKeNZ/Hr701HWngLt677IY8ExyuNbBfT
+PRaes+hcjJ1QmJoRHZx9rQ3w0IpezCpRkRLRKJzzuQZOuwd95whKFXroFsdeaHxO
+hS4PqlLbuSMLiSIaPSZM6Huc4kb5lqCaxg/SBlXTCX17Z/8TFoqV/wCJz17XnkH6
+9WtKAC2TwKxiLZ2Qzwr2XV48lASugIOZkSW2qxM9ui+b1T9ICFKRGLn/UB//pOiG
+270hNJDLB/BKRExjS+RXeOpdAIJB5XsAEp8h56ub9emhhf9tCEXOn7PN7HbMCnQh
+7k8EpAG0h5StLUhY1HHvynVz2/qyMvZa/bIaaudL2565Z6nDU+iBxed7O1qrbRAH
+Vakr7Sa3K5niCyH5kxdyO1t29l1ksBqpDUrj+vViFuLkd3XIiui8IA==
+-----END RSA PRIVATE KEY-----
+
+
+ tester
+
\ No newline at end of file
diff --git a/src/Renci.SshNet.Tests.NET35/Renci.SshNet.Tests.NET35.csproj b/src/Renci.SshNet.Tests.NET35/Renci.SshNet.Tests.NET35.csproj
index d6dc7af9..735b74f7 100644
--- a/src/Renci.SshNet.Tests.NET35/Renci.SshNet.Tests.NET35.csproj
+++ b/src/Renci.SshNet.Tests.NET35/Renci.SshNet.Tests.NET35.csproj
@@ -1,1284 +1,1284 @@
-
-
-
- Debug
- AnyCPU
-
-
- 2.0
- {007CE8B3-7827-4AD0-AACD-860505638ABE}
- Library
- Properties
- Renci.SshNet.Tests
- Renci.SshNet.Tests.NET35
- v3.5
- 512
- {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
-
-
- true
- full
- false
- bin\Debug\
- TRACE;DEBUG
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 0
-
-
- true
-
-
- ..\Renci.SshNet.snk
-
-
-
-
- ..\..\packages\Moq.4.2.1409.1722\lib\net35\Moq.dll
-
-
-
- 3.5
-
-
-
-
-
-
- False
-
-
-
-
- Classes\Abstraction\CryptoAbstraction_GenerateRandom.cs
-
-
- Classes\Abstraction\DnsAbstraction_GetHostAddresses.cs
-
-
- Classes\Abstraction\ThreadAbstraction_ExecuteThread.cs
-
-
- Classes\Channels\ChannelDirectTcpipTest.cs
-
-
- Classes\Channels\ChannelDirectTcpipTest_Close_SessionIsConnectedAndChannelIsOpen.cs
-
-
- Classes\Channels\ChannelForwardedTcpipTest_Close_SessionIsConnectedAndChannelIsOpen.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_Closed.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageSuccess.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelEofReceived_SendChannelCloseMessageFailure.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelEofReceived_SendChannelCloseMessageSuccess.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived_SendChannelEofMessageFailure.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsNotConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsNotConnectedAndChannelIsOpen_ChannelCloseReceived.cs
-
-
- Classes\Channels\ChannelSessionTest_Close_SessionIsNotConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived.cs
-
-
- Classes\Channels\ChannelSessionTest_Disposed_Closed.cs
-
-
- Classes\Channels\ChannelSessionTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen.cs
-
-
- Classes\Channels\ChannelSessionTest_Open_ExceptionWaitingOnOpenConfirmation.cs
-
-
- Classes\Channels\ChannelSessionTest_Open_OnOpenFailureReceived_NoRetriesAvailable.cs
-
-
- Classes\Channels\ChannelSessionTest_Open_OnOpenFailureReceived_RetriesAvalable.cs
-
-
- Classes\Channels\ChannelStub.cs
-
-
- Classes\Channels\ChannelTest_Close_SessionIsConnectedAndChannelIsNotOpen.cs
-
-
- Classes\Channels\ChannelTest_Close_SessionIsConnectedAndChannelIsOpen_EofNotReceived.cs
-
-
- Classes\Channels\ChannelTest_Close_SessionIsConnectedAndChannelIsOpen_EofReceived.cs
-
-
- Classes\Channels\ChannelTest_Close_SessionIsNotConnectedAndChannelIsNotOpen.cs
-
-
- Classes\Channels\ChannelTest_Close_SessionIsNotConnectedAndChannelIsOpen.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelCloseReceived_OnClose_Exception.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen_EofNotReceived.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen_EofReceived.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelDataReceived_OnData_Exception.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelEofReceived_OnEof_Exception.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelExtendedDataReceived_OnExtendedData_Exception.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelFailureReceived_OnFailure_Exception.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelRequestReceived_OnRequest_Exception.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelSuccessReceived_OnSuccess_Exception.cs
-
-
- Classes\Channels\ChannelTest_OnSessionChannelWindowAdjustReceived_OnWindowAdjust_Exception.cs
-
-
- Classes\Channels\ChannelTest_OnSessionDisconnected_OnDisconnected_Exception.cs
-
-
- Classes\Channels\ChannelTest_OnSessionDisconnected_SessionIsConnectedAndChannelIsOpen.cs
-
-
- Classes\Channels\ChannelTest_OnSessionErrorOccurred_OnErrorOccurred_Exception.cs
-
-
- Classes\Channels\ClientChannelStub.cs
-
-
- Classes\Channels\ClientChannelTest_OnSessionChannelOpenConfirmationReceived_OnOpenConfirmation_Exception.cs
-
-
- Classes\Channels\ClientChannelTest_OnSessionChannelOpenFailureReceived_OnOpenFailure_Exception.cs
-
-
- Classes\CipherInfoTest.cs
-
-
- Classes\ClientAuthenticationTestBase.cs
-
-
- Classes\ClientAuthenticationTest_Failure_SingleList_AuthenticationMethodFailed.cs
-
-
- Classes\ClientAuthenticationTest_Failure_SingleList_AuthenticationMethodNotConfigured.cs
-
-
- Classes\ClientAuthenticationTest_Success_MultiList_DifferentAllowedAuthenticationsAfterPartialSuccess.cs
-
-
- Classes\ClientAuthenticationTest_Success_MultiList_SameAllowedAuthenticationsAfterPartialSuccess.cs
-
-
- Classes\ClientAuthenticationTest_Success_MultiList_SkipFailedAuthenticationMethod.cs
-
-
- Classes\ClientAuthenticationTest_Success_SingleList_SameAllowedAuthenticationAfterPartialSuccess.cs
-
-
- Classes\CommandAsyncResultTest.cs
-
-
- Classes\Common\ASCIIEncodingTest.cs
-
-
- Classes\Common\AsyncResultTest.cs
-
-
- Classes\Common\AuthenticationBannerEventArgsTest.cs
-
-
- Classes\Common\AuthenticationPasswordChangeEventArgsTest.cs
-
-
- Classes\Common\AuthenticationPromptEventArgsTest.cs
-
-
- Classes\Common\AuthenticationPromptTest.cs
-
-
- Classes\Common\BigIntegerTest.cs
-
-
- Classes\Common\ChannelDataEventArgsTest.cs
-
-
- Classes\Common\ChannelEventArgsTest.cs
-
-
- Classes\Common\ChannelOpenFailedEventArgsTest.cs
-
-
- Classes\Common\ChannelRequestEventArgsTest.cs
-
-
- Classes\Common\DerDataTest.cs
-
-
- Classes\Common\ExceptionEventArgsTest.cs
-
-
- Classes\Common\HostKeyEventArgsTest.cs
-
-
- Classes\Common\NetConfServerExceptionTest.cs
-
-
- Classes\Common\ObjectIdentifierTest.cs
-
-
- Classes\Common\PipeStreamTest.cs
-
-
- Classes\Common\PortForwardEventArgsTest.cs
-
-
- Classes\Common\ProxyExceptionTest.cs
-
-
- Classes\Common\ScpDownloadEventArgsTest.cs
-
-
- Classes\Common\ScpExceptionTest.cs
-
-
- Classes\Common\ScpUploadEventArgsTest.cs
-
-
- Classes\Common\SemaphoreLightTest.cs
-
-
- Classes\Common\SftpPathNotFoundExceptionTest.cs
-
-
- Classes\Common\SftpPermissionDeniedExceptionTest.cs
-
-
- Classes\Common\ShellDataEventArgsTest.cs
-
-
- Classes\Common\SshAuthenticationExceptionTest.cs
-
-
- Classes\Common\SshConnectionExceptionTest.cs
-
-
- Classes\Common\SshDataTest.cs
-
-
- Classes\Common\SshExceptionTest.cs
-
-
- Classes\Common\SshOperationTimeoutExceptionTest.cs
-
-
- Classes\Common\SshPassPhraseNullOrEmptyExceptionTest.cs
-
-
- Classes\Compression\CompressorTest.cs
-
-
- Classes\Compression\ZlibOpenSshTest.cs
-
-
- Classes\Compression\ZlibStreamTest.cs
-
-
- Classes\Compression\ZlibTest.cs
-
-
- Classes\ConnectionInfoTest.cs
-
-
- Classes\ExpectActionTest.cs
-
-
- Classes\ForwardedPortDynamicTest.cs
-
-
- Classes\ForwardedPortDynamicTest_Dispose_PortDisposed.cs
-
-
- Classes\ForwardedPortDynamicTest_Dispose_PortNeverStarted.cs
-
-
- Classes\ForwardedPortDynamicTest_Dispose_PortStarted_ChannelBound.cs
-
-
- Classes\ForwardedPortDynamicTest_Dispose_PortStarted_ChannelNotBound.cs
-
-
- Classes\ForwardedPortDynamicTest_Dispose_PortStopped.cs
-
-
- Classes\ForwardedPortDynamicTest_Started_SocketSendShutdownImmediately.cs
-
-
- Classes\ForwardedPortDynamicTest_Started_SocketVersionNotSupported.cs
-
-
- Classes\ForwardedPortDynamicTest_Start_PortDisposed.cs
-
-
- Classes\ForwardedPortDynamicTest_Start_PortNeverStarted.cs
-
-
- Classes\ForwardedPortDynamicTest_Start_PortStarted.cs
-
-
- Classes\ForwardedPortDynamicTest_Start_PortStopped.cs
-
-
- Classes\ForwardedPortDynamicTest_Start_SessionNotConnected.cs
-
-
- Classes\ForwardedPortDynamicTest_Start_SessionNull.cs
-
-
- Classes\ForwardedPortDynamicTest_Stop_PortDisposed.cs
-
-
- Classes\ForwardedPortDynamicTest_Stop_PortNeverStarted.cs
-
-
- Classes\ForwardedPortDynamicTest_Stop_PortStarted_ChannelBound.cs
-
-
- Classes\ForwardedPortDynamicTest_Stop_PortStarted_ChannelNotBound.cs
-
-
- Classes\ForwardedPortDynamicTest_Stop_PortStopped.cs
-
-
- Classes\ForwardedPortLocalTest.cs
-
-
- Classes\ForwardedPortLocalTest_Dispose_PortDisposed.cs
-
-
- Classes\ForwardedPortLocalTest_Dispose_PortDisposed_NeverStarted.cs
-
-
- Classes\ForwardedPortLocalTest_Dispose_PortNeverStarted.cs
-
-
- Classes\ForwardedPortLocalTest_Dispose_PortStarted_ChannelBound.cs
-
-
- Classes\ForwardedPortLocalTest_Dispose_PortStarted_ChannelNotBound.cs
-
-
- Classes\ForwardedPortLocalTest_Dispose_PortStopped.cs
-
-
- Classes\ForwardedPortLocalTest_Start_PortDisposed.cs
-
-
- Classes\ForwardedPortLocalTest_Start_PortNeverStarted.cs
-
-
- Classes\ForwardedPortLocalTest_Start_PortStarted.cs
-
-
- Classes\ForwardedPortLocalTest_Start_PortStopped.cs
-
-
- Classes\ForwardedPortLocalTest_Start_SessionNotConnected.cs
-
-
- Classes\ForwardedPortLocalTest_Start_SessionNull.cs
-
-
- Classes\ForwardedPortLocalTest_Stop_PortDisposed.cs
-
-
- Classes\ForwardedPortLocalTest_Stop_PortNeverStarted.cs
-
-
- Classes\ForwardedPortLocalTest_Stop_PortStarted_ChannelBound.cs
-
-
- Classes\ForwardedPortLocalTest_Stop_PortStarted_ChannelNotBound.cs
-
-
- Classes\ForwardedPortLocalTest_Stop_PortStopped.cs
-
-
- Classes\ForwardedPortRemoteTest.cs
-
-
- Classes\ForwardedPortRemoteTest_Dispose_PortDisposed.cs
-
-
- Classes\ForwardedPortRemoteTest_Dispose_PortNeverStarted.cs
-
-
- Classes\ForwardedPortRemoteTest_Dispose_PortStarted_ChannelBound.cs
-
-
- Classes\ForwardedPortRemoteTest_Dispose_PortStopped.cs
-
-
- Classes\ForwardedPortRemoteTest_Started.cs
-
-
- Classes\ForwardedPortRemoteTest_Start_PortDisposed.cs
-
-
- Classes\ForwardedPortRemoteTest_Start_PortNeverStarted.cs
-
-
- Classes\ForwardedPortRemoteTest_Start_PortStarted.cs
-
-
- Classes\ForwardedPortRemoteTest_Start_PortStopped.cs
-
-
- Classes\ForwardedPortRemoteTest_Start_SessionNotConnected.cs
-
-
- Classes\ForwardedPortRemoteTest_Start_SessionNull.cs
-
-
- Classes\ForwardedPortRemoteTest_Stop_PortDisposed.cs
-
-
- Classes\ForwardedPortRemoteTest_Stop_PortNeverStarted.cs
-
-
- Classes\ForwardedPortRemoteTest_Stop_PortStarted_ChannelBound.cs
-
-
- Classes\ForwardedPortRemoteTest_Stop_PortStopped.cs
-
-
- Classes\KeyboardInteractiveAuthenticationMethodTest.cs
-
-
- Classes\KeyboardInteractiveConnectionInfoTest.cs
-
-
- Classes\MessageEventArgsTest.cs
-
-
- Classes\Messages\Authentication\BannerMessageTest.cs
-
-
- Classes\Messages\Authentication\FailureMessageTest.cs
-
-
- Classes\Messages\Authentication\InformationRequestMessageTest.cs
-
-
- Classes\Messages\Authentication\InformationResponseMessageTest.cs
-
-
- Classes\Messages\Authentication\PasswordChangeRequiredMessageTest.cs
-
-
- Classes\Messages\Authentication\PublicKeyMessageTest.cs
-
-
- Classes\Messages\Authentication\RequestMessageHostTest.cs
-
-
- Classes\Messages\Authentication\RequestMessageKeyboardInteractiveTest.cs
-
-
- Classes\Messages\Authentication\RequestMessageNoneTest.cs
-
-
- Classes\Messages\Authentication\RequestMessagePasswordTest.cs
-
-
- Classes\Messages\Authentication\RequestMessagePublicKeyTest.cs
-
-
- Classes\Messages\Authentication\SuccessMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelCloseMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelDataMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelEofMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelExtendedDataMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelFailureMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelOpenConfirmationMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelOpenFailureMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelOpenInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelOpen\ChannelOpenMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelOpen\DirectTcpipChannelInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelOpen\ForwardedTcpipChannelInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelOpen\SessionChannelOpenInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelOpen\X11ChannelOpenInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\BreakRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\ChannelRequestMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\EndOfWriteRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\EnvironmentVariableRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\ExecRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\ExitSignalRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\ExitStatusRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\KeepAliveRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\PseudoTerminalInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\ShellRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\SignalRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\SubsystemRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\WindowChangeRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\X11ForwardingRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelRequest\XonXoffRequestInfoTest.cs
-
-
- Classes\Messages\Connection\ChannelSuccessMessageTest.cs
-
-
- Classes\Messages\Connection\ChannelWindowAdjustMessageTest.cs
-
-
- Classes\Messages\Connection\GlobalRequestMessageTest.cs
-
-
- Classes\Messages\Connection\RequestFailureMessageTest.cs
-
-
- Classes\Messages\Connection\RequestInfoTest.cs
-
-
- Classes\Messages\Connection\RequestSuccessMessageTest.cs
-
-
- Classes\Messages\MessageAttributeTest.cs
-
-
- Classes\Messages\MessageTest.cs
-
-
- Classes\Messages\Transport\DebugMessageTest.cs
-
-
- Classes\Messages\Transport\DisconnectMessageTest.cs
-
-
- Classes\Messages\Transport\IgnoreMessageTest.cs
-
-
- Classes\Messages\Transport\KeyExchangeDhGroupExchangeGroupTest.cs
-
-
- Classes\Messages\Transport\KeyExchangeDhGroupExchangeInitTest.cs
-
-
- Classes\Messages\Transport\KeyExchangeDhGroupExchangeReplyTest.cs
-
-
- Classes\Messages\Transport\KeyExchangeDhGroupExchangeRequestTest.cs
-
-
- Classes\Messages\Transport\KeyExchangeDhInitMessageTest.cs
-
-
- Classes\Messages\Transport\KeyExchangeDhReplyMessageTest.cs
-
-
- Classes\Messages\Transport\KeyExchangeInitMessageTest.cs
-
-
- Classes\Messages\Transport\NewKeysMessageTest.cs
-
-
- Classes\Messages\Transport\ServiceAcceptMessageTest.cs
-
-
- Classes\Messages\Transport\ServiceRequestMessageTest.cs
-
-
- Classes\Messages\Transport\UnimplementedMessageTest.cs
-
-
- Classes\NetConfClientTest.cs
-
-
- Classes\NoneAuthenticationMethodTest.cs
-
-
- Classes\PasswordAuthenticationMethodTest.cs
-
-
- Classes\PasswordConnectionInfoTest.cs
-
-
- Classes\PrivateKeyAuthenticationMethodTest.cs
-
-
- Classes\PrivateKeyConnectionInfoTest.cs
-
-
- Classes\PrivateKeyFileTest.cs
-
-
- Classes\ScpClientTest.cs
-
-
- Classes\ScpClientTest_Upload_FileInfoAndPath_SendExecRequestReturnsFalse.cs
-
-
- Classes\ScpClientTest_Upload_FileInfoAndPath_Success.cs
-
-
- Classes\Security\CertificateHostAlgorithmTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\AesCipherTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\Arc4CipherTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\BlowfishCipherTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\CastCipherTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\CipherModeTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\CipherPaddingTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\DesCipherTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\Modes\CbcCipherModeTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\Modes\CfbCipherModeTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\Modes\CtrCipherModeTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\Modes\OfbCipherModeTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\Paddings\PKCS5PaddingTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\Paddings\PKCS7PaddingTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\RsaCipherTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\SerpentCipherTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\TripleDesCipherTest.cs
-
-
- Classes\Security\Cryptography\Ciphers\TwofishCipherTest.cs
-
-
- Classes\Security\Cryptography\DsaDigitalSignatureTest.cs
-
-
- Classes\Security\Cryptography\DsaKeyTest.cs
-
-
- Classes\Security\Cryptography\HMacTest.cs
-
-
- Classes\Security\Cryptography\RsaDigitalSignatureTest.cs
-
-
- Classes\Security\Cryptography\RsaKeyTest.cs
-
-
- Classes\Security\KeyExchangeDiffieHellmanGroup14Sha1Test.cs
-
-
- Classes\Security\KeyExchangeDiffieHellmanGroup1Sha1Test.cs
-
-
- Classes\Security\KeyExchangeDiffieHellmanGroupExchangeSha1Test.cs
-
-
- Classes\Security\KeyExchangeDiffieHellmanGroupExchangeSha256Test.cs
-
-
- Classes\Security\KeyHostAlgorithmTest.cs
-
-
- Classes\SessionTest.cs
-
-
- Classes\SessionTest.HttpProxy.cs
-
-
- Classes\SftpClientTest.ChangeDirectory.cs
-
-
- Classes\SftpClientTest.Connect.cs
-
-
- Classes\SftpClientTest.CreateDirectory.cs
-
-
- Classes\SftpClientTest.cs
-
-
- Classes\SftpClientTest.DeleteDirectory.cs
-
-
- Classes\SftpClientTest.DeleteFile.cs
-
-
- Classes\SftpClientTest.Download.cs
-
-
- Classes\SftpClientTest.ListDirectory.cs
-
-
- Classes\SftpClientTest.RenameFile.cs
-
-
- Classes\SftpClientTest.SynchronizeDirectories.cs
-
-
- Classes\SftpClientTest.Upload.cs
-
-
- Classes\Sftp\Requests\ExtendedRequests\FStatVfsRequestTest.cs
-
-
- Classes\Sftp\Requests\ExtendedRequests\HardLinkRequestTest.cs
-
-
- Classes\Sftp\Requests\ExtendedRequests\PosixRenameRequestTest.cs
-
-
- Classes\Sftp\Requests\ExtendedRequests\StatVfsRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpBlockRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpCloseRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpFSetStatRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpFStatRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpInitRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpLinkRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpLStatRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpMkDirRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpOpenDirRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpOpenRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpReadDirRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpReadLinkRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpReadRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpRealPathRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpRemoveRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpRenameRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpRmDirRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpSetStatRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpStatRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpSymLinkRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpUnblockRequestTest.cs
-
-
- Classes\Sftp\Requests\SftpWriteRequestTest.cs
-
-
- Classes\Sftp\Responses\ExtendedReplies\StatVfsReplyInfoTest.cs
-
-
- Classes\Sftp\Responses\SftpAttrsResponseTest.cs
-
-
- Classes\Sftp\Responses\SftpDataResponseTest.cs
-
-
- Classes\Sftp\Responses\SftpExtendedReplyResponseTest.cs
-
-
- Classes\Sftp\Responses\SftpHandleResponseTest.cs
-
-
- Classes\Sftp\Responses\SftpNameResponseTest.cs
-
-
- Classes\Sftp\Responses\SftpStatusResponseTest.cs
-
-
- Classes\Sftp\Responses\SftpVersionResponseTest.cs
-
-
- Classes\Sftp\SftpDownloadAsyncResultTest.cs
-
-
- Classes\Sftp\SftpFileAttributesTest.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanRead_Closed_FileAccessRead.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanRead_Closed_FileAccessReadWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanRead_Closed_FileAccessWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanRead_Disposed_FileAccessRead.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanRead_Disposed_FileAccessReadWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanRead_Disposed_FileAccessWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanRead_SessionOpen_FileAccessRead.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanRead_SessionOpen_FileAccessReadWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanRead_SessionOpen_FileAccessWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanWrite_Closed_FileAccessRead.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanWrite_Closed_FileAccessReadWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanWrite_Closed_FileAccessWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanWrite_Disposed_FileAccessRead.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanWrite_Disposed_FileAccessReadWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanWrite_Disposed_FileAccessWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanWrite_SessionOpen_FileAccessRead.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanWrite_SessionOpen_FileAccessReadWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_CanWrite_SessionOpen_FileAccessWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_Close_Closed.cs
-
-
- Classes\Sftp\SftpFileStreamTest_Close_Disposed.cs
-
-
- Classes\Sftp\SftpFileStreamTest_Close_SessionNotOpen.cs
-
-
- Classes\Sftp\SftpFileStreamTest_Close_SessionOpen.cs
-
-
- Classes\Sftp\SftpFileStreamTest_Dispose_Closed.cs
-
-
- Classes\Sftp\SftpFileStreamTest_Dispose_Disposed.cs
-
-
- Classes\Sftp\SftpFileStreamTest_Dispose_SessionNotOpen.cs
-
-
- Classes\Sftp\SftpFileStreamTest_Dispose_SessionOpen.cs
-
-
- Classes\Sftp\SftpFileStreamTest_Finalize_SessionOpen.cs
-
-
- Classes\Sftp\SftpFileStreamTest_SetLength_Closed.cs
-
-
- Classes\Sftp\SftpFileStreamTest_SetLength_Disposed.cs
-
-
- Classes\Sftp\SftpFileStreamTest_SetLength_SessionNotOpen.cs
-
-
- Classes\Sftp\SftpFileStreamTest_SetLength_SessionOpen_FIleAccessRead.cs
-
-
- Classes\Sftp\SftpFileStreamTest_SetLength_SessionOpen_FIleAccessReadWrite.cs
-
-
- Classes\Sftp\SftpFileStreamTest_SetLength_SessionOpen_FIleAccessWrite.cs
-
-
- Classes\Sftp\SftpFileSystemInformationTest.cs
-
-
- Classes\Sftp\SftpFileTest.cs
-
-
- Classes\Sftp\SftpListDirectoryAsyncResultTest.cs
-
-
- Classes\Sftp\SftpSessionTest_Connected_RequestRead.cs
-
-
- Classes\Sftp\SftpSessionTest_Connected_RequestStatVfs.cs
-
-
- Classes\Sftp\SftpSynchronizeDirectoriesAsyncResultTest.cs
-
-
- Classes\Sftp\SftpUploadAsyncResultTest.cs
-
-
- Classes\Sftp\SftpVersionResponseBuilder.cs
-
-
- Classes\ShellStreamTest.cs
-
-
- Classes\ShellTestTest.cs
-
-
- Classes\SshClientTest.cs
-
-
- Classes\SshClientTest_Disconnect_ForwardedPortStarted.cs
-
-
- Classes\SshClientTest_Dispose_ForwardedPortStarted.cs
-
-
- Classes\SshCommandTest.cs
-
-
- Classes\SshCommandTest_BeginExecute_EndExecuteInvokedOnAsyncResultFromPreviousInvocation.cs
-
-
- Classes\SshCommandTest_BeginExecute_EndExecuteNotInvokedOnAsyncResultFromPreviousInvocation.cs
-
-
- Classes\SshCommandTest_Dispose.cs
-
-
- Classes\SshCommandTest_EndExecute.cs
-
-
- Classes\SshCommandTest_EndExecute_AsyncResultFromOtherInstance.cs
-
-
- Classes\SshCommandTest_EndExecute_AsyncResultIsNull.cs
-
-
- Classes\SshCommandTest_EndExecute_ChannelOpen.cs
-
-
- Classes\SubsystemSessionStub.cs
-
-
- Classes\SubsystemSession_Connect_Connected.cs
-
-
- Classes\SubsystemSession_Connect_Disconnected.cs
-
-
- Classes\SubsystemSession_Connect_Disposed.cs
-
-
- Classes\SubsystemSession_Connect_NeverConnected.cs
-
-
- Classes\SubsystemSession_Disconnect_Connected.cs
-
-
- Classes\SubsystemSession_Disconnect_Disposed.cs
-
-
- Classes\SubsystemSession_Disconnect_NeverConnected.cs
-
-
- Classes\SubsystemSession_Dispose_Connected.cs
-
-
- Classes\SubsystemSession_Dispose_Disconnected.cs
-
-
- Classes\SubsystemSession_Dispose_Disposed.cs
-
-
- Classes\SubsystemSession_Dispose_NeverConnected.cs
-
-
- Classes\SubsystemSession_OnChannelDataReceived_Connected.cs
-
-
- Classes\SubsystemSession_OnChannelDataReceived_Disposed.cs
-
-
- Classes\SubsystemSession_OnChannelDataReceived_OnDataReceived_Exception.cs
-
-
- Classes\SubsystemSession_OnChannelException_Connected.cs
-
-
- Classes\SubsystemSession_OnChannelException_Disposed.cs
-
-
- Classes\SubsystemSession_OnSessionDisconnected_Connected.cs
-
-
- Classes\SubsystemSession_OnSessionDisconnected_Disposed.cs
-
-
- Classes\SubsystemSession_OnSessionErrorOccurred_Connected.cs
-
-
- Classes\SubsystemSession_OnSessionErrorOccurred_Disposed.cs
-
-
- Classes\SubsystemSession_SendData_Connected.cs
-
-
- Classes\SubsystemSession_SendData_Disconnected.cs
-
-
- Classes\SubsystemSession_SendData_Disposed.cs
-
-
- Classes\SubsystemSession_SendData_NeverConnected.cs
-
-
- Common\AsyncSocketListener.cs
-
-
- Common\HttpProxyStub.cs
-
-
- Common\HttpRequest.cs
-
-
- Common\TestBase.cs
-
-
-
-
-
-
- Properties\CommonAssemblyInfo.cs
-
-
- True
- True
- Resources.resx
-
-
-
-
- {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}
- Renci.SshNet.NET35
-
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
-
-
- Data\Key.RSA.Encrypted.Aes.128.CBC.12345.txt
-
-
- Data\Key.RSA.Encrypted.Aes.192.CBC.12345.txt
-
-
- Data\Key.RSA.Encrypted.Aes.256.CBC.12345.txt
-
-
- Data\Key.RSA.Encrypted.Des.CBC.12345.txt
-
-
- Data\Key.RSA.Encrypted.Des.Ede3.CBC.12345.txt
-
-
- Data\Key.RSA.Encrypted.Des.Ede3.CFB.1234567890.txt
-
-
- Data\Key.RSA.txt
-
-
-
-
- Renci.SshNet.snk
-
-
-
-
-
- Data\Key.SSH2.DSA.Encrypted.Des.CBC.12345.txt
-
-
- Data\Key.SSH2.DSA.txt
-
-
- Data\Key.SSH2.RSA.Encrypted.Des.CBC.12345.txt
-
-
- Data\Key.SSH2.RSA.txt
-
-
-
-
-
-
-
-
-
+
+
+
+ Debug
+ AnyCPU
+
+
+ 2.0
+ {007CE8B3-7827-4AD0-AACD-860505638ABE}
+ Library
+ Properties
+ Renci.SshNet.Tests
+ Renci.SshNet.Tests.NET35
+ v3.5
+ 512
+ {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+
+
+ true
+ full
+ false
+ bin\Debug\
+ TRACE;DEBUG
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 0
+
+
+ true
+
+
+ ..\Renci.SshNet.snk
+
+
+
+
+ ..\..\packages\Moq.4.2.1409.1722\lib\net35\Moq.dll
+
+
+
+ 3.5
+
+
+
+
+
+
+ False
+
+
+
+
+ Classes\Abstraction\CryptoAbstraction_GenerateRandom.cs
+
+
+ Classes\Abstraction\DnsAbstraction_GetHostAddresses.cs
+
+
+ Classes\Abstraction\ThreadAbstraction_ExecuteThread.cs
+
+
+ Classes\Channels\ChannelDirectTcpipTest.cs
+
+
+ Classes\Channels\ChannelDirectTcpipTest_Close_SessionIsConnectedAndChannelIsOpen.cs
+
+
+ Classes\Channels\ChannelForwardedTcpipTest_Close_SessionIsConnectedAndChannelIsOpen.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_Closed.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageSuccess.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelEofReceived_SendChannelCloseMessageFailure.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelEofReceived_SendChannelCloseMessageSuccess.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived_SendChannelEofMessageFailure.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsNotConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsNotConnectedAndChannelIsOpen_ChannelCloseReceived.cs
+
+
+ Classes\Channels\ChannelSessionTest_Close_SessionIsNotConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived.cs
+
+
+ Classes\Channels\ChannelSessionTest_Disposed_Closed.cs
+
+
+ Classes\Channels\ChannelSessionTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen.cs
+
+
+ Classes\Channels\ChannelSessionTest_Open_ExceptionWaitingOnOpenConfirmation.cs
+
+
+ Classes\Channels\ChannelSessionTest_Open_OnOpenFailureReceived_NoRetriesAvailable.cs
+
+
+ Classes\Channels\ChannelSessionTest_Open_OnOpenFailureReceived_RetriesAvalable.cs
+
+
+ Classes\Channels\ChannelStub.cs
+
+
+ Classes\Channels\ChannelTest_Close_SessionIsConnectedAndChannelIsNotOpen.cs
+
+
+ Classes\Channels\ChannelTest_Close_SessionIsConnectedAndChannelIsOpen_EofNotReceived.cs
+
+
+ Classes\Channels\ChannelTest_Close_SessionIsConnectedAndChannelIsOpen_EofReceived.cs
+
+
+ Classes\Channels\ChannelTest_Close_SessionIsNotConnectedAndChannelIsNotOpen.cs
+
+
+ Classes\Channels\ChannelTest_Close_SessionIsNotConnectedAndChannelIsOpen.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelCloseReceived_OnClose_Exception.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen_EofNotReceived.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen_EofReceived.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelDataReceived_OnData_Exception.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelEofReceived_OnEof_Exception.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelExtendedDataReceived_OnExtendedData_Exception.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelFailureReceived_OnFailure_Exception.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelRequestReceived_OnRequest_Exception.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelSuccessReceived_OnSuccess_Exception.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionChannelWindowAdjustReceived_OnWindowAdjust_Exception.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionDisconnected_OnDisconnected_Exception.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionDisconnected_SessionIsConnectedAndChannelIsOpen.cs
+
+
+ Classes\Channels\ChannelTest_OnSessionErrorOccurred_OnErrorOccurred_Exception.cs
+
+
+ Classes\Channels\ClientChannelStub.cs
+
+
+ Classes\Channels\ClientChannelTest_OnSessionChannelOpenConfirmationReceived_OnOpenConfirmation_Exception.cs
+
+
+ Classes\Channels\ClientChannelTest_OnSessionChannelOpenFailureReceived_OnOpenFailure_Exception.cs
+
+
+ Classes\CipherInfoTest.cs
+
+
+ Classes\ClientAuthenticationTestBase.cs
+
+
+ Classes\ClientAuthenticationTest_Failure_SingleList_AuthenticationMethodFailed.cs
+
+
+ Classes\ClientAuthenticationTest_Failure_SingleList_AuthenticationMethodNotConfigured.cs
+
+
+ Classes\ClientAuthenticationTest_Success_MultiList_DifferentAllowedAuthenticationsAfterPartialSuccess.cs
+
+
+ Classes\ClientAuthenticationTest_Success_MultiList_SameAllowedAuthenticationsAfterPartialSuccess.cs
+
+
+ Classes\ClientAuthenticationTest_Success_MultiList_SkipFailedAuthenticationMethod.cs
+
+
+ Classes\ClientAuthenticationTest_Success_SingleList_SameAllowedAuthenticationAfterPartialSuccess.cs
+
+
+ Classes\CommandAsyncResultTest.cs
+
+
+ Classes\Common\ASCIIEncodingTest.cs
+
+
+ Classes\Common\AsyncResultTest.cs
+
+
+ Classes\Common\AuthenticationBannerEventArgsTest.cs
+
+
+ Classes\Common\AuthenticationPasswordChangeEventArgsTest.cs
+
+
+ Classes\Common\AuthenticationPromptEventArgsTest.cs
+
+
+ Classes\Common\AuthenticationPromptTest.cs
+
+
+ Classes\Common\BigIntegerTest.cs
+
+
+ Classes\Common\ChannelDataEventArgsTest.cs
+
+
+ Classes\Common\ChannelEventArgsTest.cs
+
+
+ Classes\Common\ChannelOpenFailedEventArgsTest.cs
+
+
+ Classes\Common\ChannelRequestEventArgsTest.cs
+
+
+ Classes\Common\DerDataTest.cs
+
+
+ Classes\Common\ExceptionEventArgsTest.cs
+
+
+ Classes\Common\HostKeyEventArgsTest.cs
+
+
+ Classes\Common\NetConfServerExceptionTest.cs
+
+
+ Classes\Common\ObjectIdentifierTest.cs
+
+
+ Classes\Common\PipeStreamTest.cs
+
+
+ Classes\Common\PortForwardEventArgsTest.cs
+
+
+ Classes\Common\ProxyExceptionTest.cs
+
+
+ Classes\Common\ScpDownloadEventArgsTest.cs
+
+
+ Classes\Common\ScpExceptionTest.cs
+
+
+ Classes\Common\ScpUploadEventArgsTest.cs
+
+
+ Classes\Common\SemaphoreLightTest.cs
+
+
+ Classes\Common\SftpPathNotFoundExceptionTest.cs
+
+
+ Classes\Common\SftpPermissionDeniedExceptionTest.cs
+
+
+ Classes\Common\ShellDataEventArgsTest.cs
+
+
+ Classes\Common\SshAuthenticationExceptionTest.cs
+
+
+ Classes\Common\SshConnectionExceptionTest.cs
+
+
+ Classes\Common\SshDataTest.cs
+
+
+ Classes\Common\SshExceptionTest.cs
+
+
+ Classes\Common\SshOperationTimeoutExceptionTest.cs
+
+
+ Classes\Common\SshPassPhraseNullOrEmptyExceptionTest.cs
+
+
+ Classes\Compression\CompressorTest.cs
+
+
+ Classes\Compression\ZlibOpenSshTest.cs
+
+
+ Classes\Compression\ZlibStreamTest.cs
+
+
+ Classes\Compression\ZlibTest.cs
+
+
+ Classes\ConnectionInfoTest.cs
+
+
+ Classes\ExpectActionTest.cs
+
+
+ Classes\ForwardedPortDynamicTest.cs
+
+
+ Classes\ForwardedPortDynamicTest_Dispose_PortDisposed.cs
+
+
+ Classes\ForwardedPortDynamicTest_Dispose_PortNeverStarted.cs
+
+
+ Classes\ForwardedPortDynamicTest_Dispose_PortStarted_ChannelBound.cs
+
+
+ Classes\ForwardedPortDynamicTest_Dispose_PortStarted_ChannelNotBound.cs
+
+
+ Classes\ForwardedPortDynamicTest_Dispose_PortStopped.cs
+
+
+ Classes\ForwardedPortDynamicTest_Started_SocketSendShutdownImmediately.cs
+
+
+ Classes\ForwardedPortDynamicTest_Started_SocketVersionNotSupported.cs
+
+
+ Classes\ForwardedPortDynamicTest_Start_PortDisposed.cs
+
+
+ Classes\ForwardedPortDynamicTest_Start_PortNeverStarted.cs
+
+
+ Classes\ForwardedPortDynamicTest_Start_PortStarted.cs
+
+
+ Classes\ForwardedPortDynamicTest_Start_PortStopped.cs
+
+
+ Classes\ForwardedPortDynamicTest_Start_SessionNotConnected.cs
+
+
+ Classes\ForwardedPortDynamicTest_Start_SessionNull.cs
+
+
+ Classes\ForwardedPortDynamicTest_Stop_PortDisposed.cs
+
+
+ Classes\ForwardedPortDynamicTest_Stop_PortNeverStarted.cs
+
+
+ Classes\ForwardedPortDynamicTest_Stop_PortStarted_ChannelBound.cs
+
+
+ Classes\ForwardedPortDynamicTest_Stop_PortStarted_ChannelNotBound.cs
+
+
+ Classes\ForwardedPortDynamicTest_Stop_PortStopped.cs
+
+
+ Classes\ForwardedPortLocalTest.cs
+
+
+ Classes\ForwardedPortLocalTest_Dispose_PortDisposed.cs
+
+
+ Classes\ForwardedPortLocalTest_Dispose_PortDisposed_NeverStarted.cs
+
+
+ Classes\ForwardedPortLocalTest_Dispose_PortNeverStarted.cs
+
+
+ Classes\ForwardedPortLocalTest_Dispose_PortStarted_ChannelBound.cs
+
+
+ Classes\ForwardedPortLocalTest_Dispose_PortStarted_ChannelNotBound.cs
+
+
+ Classes\ForwardedPortLocalTest_Dispose_PortStopped.cs
+
+
+ Classes\ForwardedPortLocalTest_Start_PortDisposed.cs
+
+
+ Classes\ForwardedPortLocalTest_Start_PortNeverStarted.cs
+
+
+ Classes\ForwardedPortLocalTest_Start_PortStarted.cs
+
+
+ Classes\ForwardedPortLocalTest_Start_PortStopped.cs
+
+
+ Classes\ForwardedPortLocalTest_Start_SessionNotConnected.cs
+
+
+ Classes\ForwardedPortLocalTest_Start_SessionNull.cs
+
+
+ Classes\ForwardedPortLocalTest_Stop_PortDisposed.cs
+
+
+ Classes\ForwardedPortLocalTest_Stop_PortNeverStarted.cs
+
+
+ Classes\ForwardedPortLocalTest_Stop_PortStarted_ChannelBound.cs
+
+
+ Classes\ForwardedPortLocalTest_Stop_PortStarted_ChannelNotBound.cs
+
+
+ Classes\ForwardedPortLocalTest_Stop_PortStopped.cs
+
+
+ Classes\ForwardedPortRemoteTest.cs
+
+
+ Classes\ForwardedPortRemoteTest_Dispose_PortDisposed.cs
+
+
+ Classes\ForwardedPortRemoteTest_Dispose_PortNeverStarted.cs
+
+
+ Classes\ForwardedPortRemoteTest_Dispose_PortStarted_ChannelBound.cs
+
+
+ Classes\ForwardedPortRemoteTest_Dispose_PortStopped.cs
+
+
+ Classes\ForwardedPortRemoteTest_Started.cs
+
+
+ Classes\ForwardedPortRemoteTest_Start_PortDisposed.cs
+
+
+ Classes\ForwardedPortRemoteTest_Start_PortNeverStarted.cs
+
+
+ Classes\ForwardedPortRemoteTest_Start_PortStarted.cs
+
+
+ Classes\ForwardedPortRemoteTest_Start_PortStopped.cs
+
+
+ Classes\ForwardedPortRemoteTest_Start_SessionNotConnected.cs
+
+
+ Classes\ForwardedPortRemoteTest_Start_SessionNull.cs
+
+
+ Classes\ForwardedPortRemoteTest_Stop_PortDisposed.cs
+
+
+ Classes\ForwardedPortRemoteTest_Stop_PortNeverStarted.cs
+
+
+ Classes\ForwardedPortRemoteTest_Stop_PortStarted_ChannelBound.cs
+
+
+ Classes\ForwardedPortRemoteTest_Stop_PortStopped.cs
+
+
+ Classes\KeyboardInteractiveAuthenticationMethodTest.cs
+
+
+ Classes\KeyboardInteractiveConnectionInfoTest.cs
+
+
+ Classes\MessageEventArgsTest.cs
+
+
+ Classes\Messages\Authentication\BannerMessageTest.cs
+
+
+ Classes\Messages\Authentication\FailureMessageTest.cs
+
+
+ Classes\Messages\Authentication\InformationRequestMessageTest.cs
+
+
+ Classes\Messages\Authentication\InformationResponseMessageTest.cs
+
+
+ Classes\Messages\Authentication\PasswordChangeRequiredMessageTest.cs
+
+
+ Classes\Messages\Authentication\PublicKeyMessageTest.cs
+
+
+ Classes\Messages\Authentication\RequestMessageHostTest.cs
+
+
+ Classes\Messages\Authentication\RequestMessageKeyboardInteractiveTest.cs
+
+
+ Classes\Messages\Authentication\RequestMessageNoneTest.cs
+
+
+ Classes\Messages\Authentication\RequestMessagePasswordTest.cs
+
+
+ Classes\Messages\Authentication\RequestMessagePublicKeyTest.cs
+
+
+ Classes\Messages\Authentication\SuccessMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelCloseMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelDataMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelEofMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelExtendedDataMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelFailureMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelOpenConfirmationMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelOpenFailureMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelOpenInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelOpen\ChannelOpenMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelOpen\DirectTcpipChannelInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelOpen\ForwardedTcpipChannelInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelOpen\SessionChannelOpenInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelOpen\X11ChannelOpenInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\BreakRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\ChannelRequestMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\EndOfWriteRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\EnvironmentVariableRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\ExecRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\ExitSignalRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\ExitStatusRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\KeepAliveRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\PseudoTerminalInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\ShellRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\SignalRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\SubsystemRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\WindowChangeRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\X11ForwardingRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelRequest\XonXoffRequestInfoTest.cs
+
+
+ Classes\Messages\Connection\ChannelSuccessMessageTest.cs
+
+
+ Classes\Messages\Connection\ChannelWindowAdjustMessageTest.cs
+
+
+ Classes\Messages\Connection\GlobalRequestMessageTest.cs
+
+
+ Classes\Messages\Connection\RequestFailureMessageTest.cs
+
+
+ Classes\Messages\Connection\RequestInfoTest.cs
+
+
+ Classes\Messages\Connection\RequestSuccessMessageTest.cs
+
+
+ Classes\Messages\MessageAttributeTest.cs
+
+
+ Classes\Messages\MessageTest.cs
+
+
+ Classes\Messages\Transport\DebugMessageTest.cs
+
+
+ Classes\Messages\Transport\DisconnectMessageTest.cs
+
+
+ Classes\Messages\Transport\IgnoreMessageTest.cs
+
+
+ Classes\Messages\Transport\KeyExchangeDhGroupExchangeGroupTest.cs
+
+
+ Classes\Messages\Transport\KeyExchangeDhGroupExchangeInitTest.cs
+
+
+ Classes\Messages\Transport\KeyExchangeDhGroupExchangeReplyTest.cs
+
+
+ Classes\Messages\Transport\KeyExchangeDhGroupExchangeRequestTest.cs
+
+
+ Classes\Messages\Transport\KeyExchangeDhInitMessageTest.cs
+
+
+ Classes\Messages\Transport\KeyExchangeDhReplyMessageTest.cs
+
+
+ Classes\Messages\Transport\KeyExchangeInitMessageTest.cs
+
+
+ Classes\Messages\Transport\NewKeysMessageTest.cs
+
+
+ Classes\Messages\Transport\ServiceAcceptMessageTest.cs
+
+
+ Classes\Messages\Transport\ServiceRequestMessageTest.cs
+
+
+ Classes\Messages\Transport\UnimplementedMessageTest.cs
+
+
+ Classes\NetConfClientTest.cs
+
+
+ Classes\NoneAuthenticationMethodTest.cs
+
+
+ Classes\PasswordAuthenticationMethodTest.cs
+
+
+ Classes\PasswordConnectionInfoTest.cs
+
+
+ Classes\PrivateKeyAuthenticationMethodTest.cs
+
+
+ Classes\PrivateKeyConnectionInfoTest.cs
+
+
+ Classes\PrivateKeyFileTest.cs
+
+
+ Classes\ScpClientTest.cs
+
+
+ Classes\ScpClientTest_Upload_FileInfoAndPath_SendExecRequestReturnsFalse.cs
+
+
+ Classes\ScpClientTest_Upload_FileInfoAndPath_Success.cs
+
+
+ Classes\Security\CertificateHostAlgorithmTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\AesCipherTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\Arc4CipherTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\BlowfishCipherTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\CastCipherTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\CipherModeTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\CipherPaddingTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\DesCipherTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\Modes\CbcCipherModeTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\Modes\CfbCipherModeTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\Modes\CtrCipherModeTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\Modes\OfbCipherModeTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\Paddings\PKCS5PaddingTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\Paddings\PKCS7PaddingTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\RsaCipherTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\SerpentCipherTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\TripleDesCipherTest.cs
+
+
+ Classes\Security\Cryptography\Ciphers\TwofishCipherTest.cs
+
+
+ Classes\Security\Cryptography\DsaDigitalSignatureTest.cs
+
+
+ Classes\Security\Cryptography\DsaKeyTest.cs
+
+
+ Classes\Security\Cryptography\HMacTest.cs
+
+
+ Classes\Security\Cryptography\RsaDigitalSignatureTest.cs
+
+
+ Classes\Security\Cryptography\RsaKeyTest.cs
+
+
+ Classes\Security\KeyExchangeDiffieHellmanGroup14Sha1Test.cs
+
+
+ Classes\Security\KeyExchangeDiffieHellmanGroup1Sha1Test.cs
+
+
+ Classes\Security\KeyExchangeDiffieHellmanGroupExchangeSha1Test.cs
+
+
+ Classes\Security\KeyExchangeDiffieHellmanGroupExchangeSha256Test.cs
+
+
+ Classes\Security\KeyHostAlgorithmTest.cs
+
+
+ Classes\SessionTest.cs
+
+
+ Classes\SessionTest.HttpProxy.cs
+
+
+ Classes\SftpClientTest.ChangeDirectory.cs
+
+
+ Classes\SftpClientTest.Connect.cs
+
+
+ Classes\SftpClientTest.CreateDirectory.cs
+
+
+ Classes\SftpClientTest.cs
+
+
+ Classes\SftpClientTest.DeleteDirectory.cs
+
+
+ Classes\SftpClientTest.DeleteFile.cs
+
+
+ Classes\SftpClientTest.Download.cs
+
+
+ Classes\SftpClientTest.ListDirectory.cs
+
+
+ Classes\SftpClientTest.RenameFile.cs
+
+
+ Classes\SftpClientTest.SynchronizeDirectories.cs
+
+
+ Classes\SftpClientTest.Upload.cs
+
+
+ Classes\Sftp\Requests\ExtendedRequests\FStatVfsRequestTest.cs
+
+
+ Classes\Sftp\Requests\ExtendedRequests\HardLinkRequestTest.cs
+
+
+ Classes\Sftp\Requests\ExtendedRequests\PosixRenameRequestTest.cs
+
+
+ Classes\Sftp\Requests\ExtendedRequests\StatVfsRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpBlockRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpCloseRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpFSetStatRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpFStatRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpInitRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpLinkRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpLStatRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpMkDirRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpOpenDirRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpOpenRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpReadDirRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpReadLinkRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpReadRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpRealPathRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpRemoveRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpRenameRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpRmDirRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpSetStatRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpStatRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpSymLinkRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpUnblockRequestTest.cs
+
+
+ Classes\Sftp\Requests\SftpWriteRequestTest.cs
+
+
+ Classes\Sftp\Responses\ExtendedReplies\StatVfsReplyInfoTest.cs
+
+
+ Classes\Sftp\Responses\SftpAttrsResponseTest.cs
+
+
+ Classes\Sftp\Responses\SftpDataResponseTest.cs
+
+
+ Classes\Sftp\Responses\SftpExtendedReplyResponseTest.cs
+
+
+ Classes\Sftp\Responses\SftpHandleResponseTest.cs
+
+
+ Classes\Sftp\Responses\SftpNameResponseTest.cs
+
+
+ Classes\Sftp\Responses\SftpStatusResponseTest.cs
+
+
+ Classes\Sftp\Responses\SftpVersionResponseTest.cs
+
+
+ Classes\Sftp\SftpDownloadAsyncResultTest.cs
+
+
+ Classes\Sftp\SftpFileAttributesTest.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanRead_Closed_FileAccessRead.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanRead_Closed_FileAccessReadWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanRead_Closed_FileAccessWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanRead_Disposed_FileAccessRead.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanRead_Disposed_FileAccessReadWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanRead_Disposed_FileAccessWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanRead_SessionOpen_FileAccessRead.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanRead_SessionOpen_FileAccessReadWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanRead_SessionOpen_FileAccessWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanWrite_Closed_FileAccessRead.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanWrite_Closed_FileAccessReadWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanWrite_Closed_FileAccessWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanWrite_Disposed_FileAccessRead.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanWrite_Disposed_FileAccessReadWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanWrite_Disposed_FileAccessWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanWrite_SessionOpen_FileAccessRead.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanWrite_SessionOpen_FileAccessReadWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_CanWrite_SessionOpen_FileAccessWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_Close_Closed.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_Close_Disposed.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_Close_SessionNotOpen.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_Close_SessionOpen.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_Dispose_Closed.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_Dispose_Disposed.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_Dispose_SessionNotOpen.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_Dispose_SessionOpen.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_Finalize_SessionOpen.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_SetLength_Closed.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_SetLength_Disposed.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_SetLength_SessionNotOpen.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_SetLength_SessionOpen_FIleAccessRead.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_SetLength_SessionOpen_FIleAccessReadWrite.cs
+
+
+ Classes\Sftp\SftpFileStreamTest_SetLength_SessionOpen_FIleAccessWrite.cs
+
+
+ Classes\Sftp\SftpFileSystemInformationTest.cs
+
+
+ Classes\Sftp\SftpFileTest.cs
+
+
+ Classes\Sftp\SftpListDirectoryAsyncResultTest.cs
+
+
+ Classes\Sftp\SftpSessionTest_Connected_RequestRead.cs
+
+
+ Classes\Sftp\SftpSessionTest_Connected_RequestStatVfs.cs
+
+
+ Classes\Sftp\SftpSynchronizeDirectoriesAsyncResultTest.cs
+
+
+ Classes\Sftp\SftpUploadAsyncResultTest.cs
+
+
+ Classes\Sftp\SftpVersionResponseBuilder.cs
+
+
+ Classes\ShellStreamTest.cs
+
+
+ Classes\ShellTestTest.cs
+
+
+ Classes\SshClientTest.cs
+
+
+ Classes\SshClientTest_Disconnect_ForwardedPortStarted.cs
+
+
+ Classes\SshClientTest_Dispose_ForwardedPortStarted.cs
+
+
+ Classes\SshCommandTest.cs
+
+
+ Classes\SshCommandTest_BeginExecute_EndExecuteInvokedOnAsyncResultFromPreviousInvocation.cs
+
+
+ Classes\SshCommandTest_BeginExecute_EndExecuteNotInvokedOnAsyncResultFromPreviousInvocation.cs
+
+
+ Classes\SshCommandTest_Dispose.cs
+
+
+ Classes\SshCommandTest_EndExecute.cs
+
+
+ Classes\SshCommandTest_EndExecute_AsyncResultFromOtherInstance.cs
+
+
+ Classes\SshCommandTest_EndExecute_AsyncResultIsNull.cs
+
+
+ Classes\SshCommandTest_EndExecute_ChannelOpen.cs
+
+
+ Classes\SubsystemSessionStub.cs
+
+
+ Classes\SubsystemSession_Connect_Connected.cs
+
+
+ Classes\SubsystemSession_Connect_Disconnected.cs
+
+
+ Classes\SubsystemSession_Connect_Disposed.cs
+
+
+ Classes\SubsystemSession_Connect_NeverConnected.cs
+
+
+ Classes\SubsystemSession_Disconnect_Connected.cs
+
+
+ Classes\SubsystemSession_Disconnect_Disposed.cs
+
+
+ Classes\SubsystemSession_Disconnect_NeverConnected.cs
+
+
+ Classes\SubsystemSession_Dispose_Connected.cs
+
+
+ Classes\SubsystemSession_Dispose_Disconnected.cs
+
+
+ Classes\SubsystemSession_Dispose_Disposed.cs
+
+
+ Classes\SubsystemSession_Dispose_NeverConnected.cs
+
+
+ Classes\SubsystemSession_OnChannelDataReceived_Connected.cs
+
+
+ Classes\SubsystemSession_OnChannelDataReceived_Disposed.cs
+
+
+ Classes\SubsystemSession_OnChannelDataReceived_OnDataReceived_Exception.cs
+
+
+ Classes\SubsystemSession_OnChannelException_Connected.cs
+
+
+ Classes\SubsystemSession_OnChannelException_Disposed.cs
+
+
+ Classes\SubsystemSession_OnSessionDisconnected_Connected.cs
+
+
+ Classes\SubsystemSession_OnSessionDisconnected_Disposed.cs
+
+
+ Classes\SubsystemSession_OnSessionErrorOccurred_Connected.cs
+
+
+ Classes\SubsystemSession_OnSessionErrorOccurred_Disposed.cs
+
+
+ Classes\SubsystemSession_SendData_Connected.cs
+
+
+ Classes\SubsystemSession_SendData_Disconnected.cs
+
+
+ Classes\SubsystemSession_SendData_Disposed.cs
+
+
+ Classes\SubsystemSession_SendData_NeverConnected.cs
+
+
+ Common\AsyncSocketListener.cs
+
+
+ Common\HttpProxyStub.cs
+
+
+ Common\HttpRequest.cs
+
+
+ Common\TestBase.cs
+
+
+
+
+
+
+ Properties\CommonAssemblyInfo.cs
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+ {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}
+ Renci.SshNet.NET35
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+
+
+ Data\Key.RSA.Encrypted.Aes.128.CBC.12345.txt
+
+
+ Data\Key.RSA.Encrypted.Aes.192.CBC.12345.txt
+
+
+ Data\Key.RSA.Encrypted.Aes.256.CBC.12345.txt
+
+
+ Data\Key.RSA.Encrypted.Des.CBC.12345.txt
+
+
+ Data\Key.RSA.Encrypted.Des.Ede3.CBC.12345.txt
+
+
+ Data\Key.RSA.Encrypted.Des.Ede3.CFB.1234567890.txt
+
+
+ Data\Key.RSA.txt
+
+
+
+
+ Renci.SshNet.snk
+
+
+
+
+
+ Data\Key.SSH2.DSA.Encrypted.Des.CBC.12345.txt
+
+
+ Data\Key.SSH2.DSA.txt
+
+
+ Data\Key.SSH2.RSA.Encrypted.Des.CBC.12345.txt
+
+
+ Data\Key.SSH2.RSA.txt
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Renci.SshNet.Tests.NET35/packages.config b/src/Renci.SshNet.Tests.NET35/packages.config
index 07e93e94..e9365957 100644
--- a/src/Renci.SshNet.Tests.NET35/packages.config
+++ b/src/Renci.SshNet.Tests.NET35/packages.config
@@ -1,4 +1,4 @@
-
-
-
+
+
+
\ No newline at end of file
diff --git a/src/Renci.SshNet.Tests/Classes/BaseClientTest_Connected_KeepAlivesNotSentConcurrently.cs b/src/Renci.SshNet.Tests/Classes/BaseClientTest_Connected_KeepAlivesNotSentConcurrently.cs
index 83188a40..ff603874 100644
--- a/src/Renci.SshNet.Tests/Classes/BaseClientTest_Connected_KeepAlivesNotSentConcurrently.cs
+++ b/src/Renci.SshNet.Tests/Classes/BaseClientTest_Connected_KeepAlivesNotSentConcurrently.cs
@@ -1,69 +1,69 @@
-using System;
-using System.Threading;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Moq;
-using Renci.SshNet.Messages.Transport;
-
-namespace Renci.SshNet.Tests.Classes
-{
- [TestClass]
- public class BaseClientTest_Connected_KeepAlivesNotSentConcurrently
- {
- private Mock _serviceFactoryMock;
- private Mock _sessionMock;
- private BaseClient _client;
- private ConnectionInfo _connectionInfo;
-
- [TestInitialize]
- public void Setup()
- {
- Arrange();
- Act();
- }
-
- [TestCleanup]
- public void Cleanup()
- {
- }
-
- protected void Arrange()
- {
- _connectionInfo = new ConnectionInfo("host", "user", new PasswordAuthenticationMethod("user", "pwd"));
-
- _serviceFactoryMock = new Mock(MockBehavior.Strict);
- _sessionMock = new Mock(MockBehavior.Strict);
-
- _serviceFactoryMock.Setup(p => p.CreateSession(_connectionInfo)).Returns(_sessionMock.Object);
- _sessionMock.Setup(p => p.Connect());
- _sessionMock.Setup(p => p.TrySendMessage(It.IsAny()))
- .Returns(true)
- .Callback(() => Thread.Sleep(300));
-
- _client = new MyClient(_connectionInfo, false, _serviceFactoryMock.Object)
- {
- KeepAliveInterval = TimeSpan.FromMilliseconds(50d)
- };
- _client.Connect();
- }
-
- protected void Act()
- {
- // should keep-alive message be sent concurrently, then multiple keep-alive
- // message would be sent during this sleep period
- Thread.Sleep(200);
- }
-
- [TestMethod]
- public void SendMessageOnSessionShouldBeInvokedOnce()
- {
- _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
- }
-
- private class MyClient : BaseClient
- {
- public MyClient(ConnectionInfo connectionInfo, bool ownsConnectionInfo, IServiceFactory serviceFactory) : base(connectionInfo, ownsConnectionInfo, serviceFactory)
- {
- }
- }
- }
-}
+using System;
+using System.Threading;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Moq;
+using Renci.SshNet.Messages.Transport;
+
+namespace Renci.SshNet.Tests.Classes
+{
+ [TestClass]
+ public class BaseClientTest_Connected_KeepAlivesNotSentConcurrently
+ {
+ private Mock _serviceFactoryMock;
+ private Mock _sessionMock;
+ private BaseClient _client;
+ private ConnectionInfo _connectionInfo;
+
+ [TestInitialize]
+ public void Setup()
+ {
+ Arrange();
+ Act();
+ }
+
+ [TestCleanup]
+ public void Cleanup()
+ {
+ }
+
+ protected void Arrange()
+ {
+ _connectionInfo = new ConnectionInfo("host", "user", new PasswordAuthenticationMethod("user", "pwd"));
+
+ _serviceFactoryMock = new Mock(MockBehavior.Strict);
+ _sessionMock = new Mock(MockBehavior.Strict);
+
+ _serviceFactoryMock.Setup(p => p.CreateSession(_connectionInfo)).Returns(_sessionMock.Object);
+ _sessionMock.Setup(p => p.Connect());
+ _sessionMock.Setup(p => p.TrySendMessage(It.IsAny()))
+ .Returns(true)
+ .Callback(() => Thread.Sleep(300));
+
+ _client = new MyClient(_connectionInfo, false, _serviceFactoryMock.Object)
+ {
+ KeepAliveInterval = TimeSpan.FromMilliseconds(50d)
+ };
+ _client.Connect();
+ }
+
+ protected void Act()
+ {
+ // should keep-alive message be sent concurrently, then multiple keep-alive
+ // message would be sent during this sleep period
+ Thread.Sleep(200);
+ }
+
+ [TestMethod]
+ public void SendMessageOnSessionShouldBeInvokedOnce()
+ {
+ _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
+ }
+
+ private class MyClient : BaseClient
+ {
+ public MyClient(ConnectionInfo connectionInfo, bool ownsConnectionInfo, IServiceFactory serviceFactory) : base(connectionInfo, ownsConnectionInfo, serviceFactory)
+ {
+ }
+ }
+ }
+}
diff --git a/src/Renci.SshNet.Tests/Classes/Channels/ChannelDirectTcpipTest.cs b/src/Renci.SshNet.Tests/Classes/Channels/ChannelDirectTcpipTest.cs
index dd9cfe11..2de7725d 100644
--- a/src/Renci.SshNet.Tests/Classes/Channels/ChannelDirectTcpipTest.cs
+++ b/src/Renci.SshNet.Tests/Classes/Channels/ChannelDirectTcpipTest.cs
@@ -1,225 +1,225 @@
-using System;
-using System.Globalization;
-using System.Net;
-using System.Net.Sockets;
-using System.Threading;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Moq;
-using Renci.SshNet.Channels;
-using Renci.SshNet.Common;
-using Renci.SshNet.Messages;
-using Renci.SshNet.Messages.Connection;
-using Renci.SshNet.Tests.Common;
-
-namespace Renci.SshNet.Tests.Classes.Channels
-{
- [TestClass]
- public class ChannelDirectTcpipTestTest : TestBase
- {
- private Mock _sessionMock;
- private Mock _forwardedPortMock;
- private Mock _connectionInfoMock;
- private uint _localChannelNumber;
- private uint _localWindowSize;
- private uint _localPacketSize;
- private string _remoteHost;
- private uint _port;
- private uint _remoteWindowSize;
- private uint _remotePacketSize;
- private uint _remoteChannelNumber;
-
- protected override void OnInit()
- {
- base.OnInit();
-
- var random = new Random();
-
- _localWindowSize = (uint) random.Next(2000, 3000);
- _localPacketSize = (uint) random.Next(1000, 2000);
- _remoteHost = random.Next().ToString(CultureInfo.InvariantCulture);
- _port = (uint) random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort);
- _localChannelNumber = (uint) random.Next(0, int.MaxValue);
- _remoteWindowSize = (uint) random.Next(0, int.MaxValue);
- _remotePacketSize = (uint)random.Next(100, 200);
- _remoteChannelNumber = (uint)random.Next(0, int.MaxValue);
-
- _sessionMock = new Mock(MockBehavior.Strict);
- _forwardedPortMock = new Mock(MockBehavior.Strict);
- _connectionInfoMock = new Mock(MockBehavior.Strict);
- }
-
- [TestMethod]
- public void SocketShouldBeClosedAndBindShouldEndWhenForwardedPortSignalsClosingEvent()
- {
- _sessionMock.Setup(p => p.IsConnected).Returns(true);
- _sessionMock.Setup(p => p.SendMessage(It.IsAny()))
- .Callback(m => _sessionMock.Raise(p => p.ChannelOpenConfirmationReceived += null,
- new MessageEventArgs(
- new ChannelOpenConfirmationMessage(((ChannelOpenMessage)m).LocalChannelNumber, _remoteWindowSize, _remotePacketSize, _remoteChannelNumber))));
- _sessionMock.Setup(p => p.WaitOnHandle(It.IsAny()))
- .Callback(p => p.WaitOne(Session.Infinite));
-
- var localPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122);
- using (var localPortListener = new AsyncSocketListener(localPortEndPoint))
- {
- localPortListener.Start();
-
- localPortListener.Connected += socket =>
- {
- var channel = new ChannelDirectTcpip(_sessionMock.Object, _localChannelNumber, _localWindowSize,
- _localPacketSize);
- channel.Open(_remoteHost, _port, _forwardedPortMock.Object, socket);
-
- var closeForwardedPortThread =
- new Thread(() =>
- {
- // sleep for a short period to allow channel to actually start receiving from socket
- Thread.Sleep(100);
- // raise Closing event on forwarded port
- _forwardedPortMock.Raise(p => p.Closing += null, EventArgs.Empty);
- });
- closeForwardedPortThread.Start();
-
- channel.Bind();
-
- closeForwardedPortThread.Join();
- };
-
- var client = new Socket(localPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
- client.Connect(localPortEndPoint);
-
- // attempt to receive from socket to verify it was shut down by channel
- var buffer = new byte[16];
- var bytesReceived = client.Receive(buffer, 0, buffer.Length, SocketFlags.None);
- Assert.AreEqual(0, bytesReceived);
- Assert.IsTrue(client.Connected);
- // signal to server that we also shut down the socket at our end
- client.Shutdown(SocketShutdown.Send);
- }
- }
-
- [TestMethod]
- public void SocketShouldBeClosedAndBindShouldEndWhenOnErrorOccurredIsInvoked()
- {
- _sessionMock.Setup(p => p.IsConnected).Returns(true);
- _sessionMock.Setup(p => p.SendMessage(It.IsAny()))
- .Callback(m => _sessionMock.Raise(p => p.ChannelOpenConfirmationReceived += null,
- new MessageEventArgs(
- new ChannelOpenConfirmationMessage(((ChannelOpenMessage)m).LocalChannelNumber, _remoteWindowSize, _remotePacketSize, _remoteChannelNumber))));
- _sessionMock.Setup(p => p.WaitOnHandle(It.IsAny()))
- .Callback(p => p.WaitOne(Session.Infinite));
-
- var localPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122);
- using (var localPortListener = new AsyncSocketListener(localPortEndPoint))
- {
- localPortListener.Start();
-
- localPortListener.Connected += socket =>
- {
- var channel = new ChannelDirectTcpip(_sessionMock.Object, _localChannelNumber, _localWindowSize,
- _localPacketSize);
- channel.Open(_remoteHost, _port, _forwardedPortMock.Object, socket);
-
- var signalSessionErrorOccurredThread =
- new Thread(() =>
- {
- // sleep for a short period to allow channel to actually start receiving from socket
- Thread.Sleep(100);
- // raise ErrorOccured event on session
- _sessionMock.Raise(s => s.ErrorOccured += null,
- new ExceptionEventArgs(new SystemException()));
- });
- signalSessionErrorOccurredThread.Start();
-
- channel.Bind();
-
- signalSessionErrorOccurredThread.Join();
- };
-
- var client = new Socket(localPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
- client.Connect(localPortEndPoint);
-
- // attempt to receive from socket to verify it was shut down by channel
- var buffer = new byte[16];
- var bytesReceived = client.Receive(buffer, 0, buffer.Length, SocketFlags.None);
- Assert.AreEqual(0, bytesReceived);
- Assert.IsTrue(client.Connected);
- // signal to server that we also shut down the socket at our end
- client.Shutdown(SocketShutdown.Send);
- }
- }
-
- [TestMethod]
- public void SocketShouldBeClosedAndEofShouldBeSentToServerWhenClientShutsDownSocket()
- {
- _sessionMock.Setup(p => p.IsConnected).Returns(true);
- _sessionMock.Setup(p => p.SendMessage(It.IsAny()))
- .Callback(m => _sessionMock.Raise(p => p.ChannelOpenConfirmationReceived += null,
- new MessageEventArgs(
- new ChannelOpenConfirmationMessage(((ChannelOpenMessage) m).LocalChannelNumber,
- _remoteWindowSize, _remotePacketSize, _remoteChannelNumber))));
- _sessionMock.Setup(p => p.WaitOnHandle(It.IsAny()))
- .Callback(p => p.WaitOne(Session.Infinite));
- _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
- _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(60));
- _sessionMock.Setup(p => p.TrySendMessage(It.IsAny()))
- .Returns(true)
- .Callback(
- m => new Thread(() =>
- {
- Thread.Sleep(50);
- _sessionMock.Raise(s => s.ChannelEofReceived += null,
- new MessageEventArgs(new ChannelEofMessage(_localChannelNumber)));
- }).Start());
- _sessionMock.Setup(p => p.TrySendMessage(It.IsAny()))
- .Returns(true)
- .Callback(
- m => new Thread(() =>
- {
- Thread.Sleep(50);
- _sessionMock.Raise(s => s.ChannelCloseReceived += null,
- new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
- }).Start());
- var channelBindFinishedWaitHandle = new ManualResetEvent(false);
- Socket handler = null;
- ChannelDirectTcpip channel = null;
-
- var localPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122);
- using (var localPortListener = new AsyncSocketListener(localPortEndPoint))
- {
- localPortListener.Start();
-
- localPortListener.Connected += socket =>
- {
- channel = new ChannelDirectTcpip(_sessionMock.Object, _localChannelNumber, _localWindowSize,
- _localPacketSize);
- channel.Open(_remoteHost, _port, _forwardedPortMock.Object, socket);
- channel.Bind();
- channel.Close();
-
- handler = socket;
-
- channelBindFinishedWaitHandle.Set();
- };
-
- var client = new Socket(localPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
- client.Connect(localPortEndPoint);
- client.Shutdown(SocketShutdown.Send);
- Assert.IsFalse(client.Connected);
-
- channelBindFinishedWaitHandle.WaitOne();
-
- Assert.IsNotNull(handler);
- Assert.IsFalse(handler.Connected);
-
- _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
- _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
-
- channel.Close();
-
- _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
- _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
- }
- }
- }
+using System;
+using System.Globalization;
+using System.Net;
+using System.Net.Sockets;
+using System.Threading;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Moq;
+using Renci.SshNet.Channels;
+using Renci.SshNet.Common;
+using Renci.SshNet.Messages;
+using Renci.SshNet.Messages.Connection;
+using Renci.SshNet.Tests.Common;
+
+namespace Renci.SshNet.Tests.Classes.Channels
+{
+ [TestClass]
+ public class ChannelDirectTcpipTestTest : TestBase
+ {
+ private Mock _sessionMock;
+ private Mock _forwardedPortMock;
+ private Mock _connectionInfoMock;
+ private uint _localChannelNumber;
+ private uint _localWindowSize;
+ private uint _localPacketSize;
+ private string _remoteHost;
+ private uint _port;
+ private uint _remoteWindowSize;
+ private uint _remotePacketSize;
+ private uint _remoteChannelNumber;
+
+ protected override void OnInit()
+ {
+ base.OnInit();
+
+ var random = new Random();
+
+ _localWindowSize = (uint) random.Next(2000, 3000);
+ _localPacketSize = (uint) random.Next(1000, 2000);
+ _remoteHost = random.Next().ToString(CultureInfo.InvariantCulture);
+ _port = (uint) random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort);
+ _localChannelNumber = (uint) random.Next(0, int.MaxValue);
+ _remoteWindowSize = (uint) random.Next(0, int.MaxValue);
+ _remotePacketSize = (uint)random.Next(100, 200);
+ _remoteChannelNumber = (uint)random.Next(0, int.MaxValue);
+
+ _sessionMock = new Mock(MockBehavior.Strict);
+ _forwardedPortMock = new Mock(MockBehavior.Strict);
+ _connectionInfoMock = new Mock(MockBehavior.Strict);
+ }
+
+ [TestMethod]
+ public void SocketShouldBeClosedAndBindShouldEndWhenForwardedPortSignalsClosingEvent()
+ {
+ _sessionMock.Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.Setup(p => p.SendMessage(It.IsAny()))
+ .Callback(m => _sessionMock.Raise(p => p.ChannelOpenConfirmationReceived += null,
+ new MessageEventArgs(
+ new ChannelOpenConfirmationMessage(((ChannelOpenMessage)m).LocalChannelNumber, _remoteWindowSize, _remotePacketSize, _remoteChannelNumber))));
+ _sessionMock.Setup(p => p.WaitOnHandle(It.IsAny()))
+ .Callback(p => p.WaitOne(Session.Infinite));
+
+ var localPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122);
+ using (var localPortListener = new AsyncSocketListener(localPortEndPoint))
+ {
+ localPortListener.Start();
+
+ localPortListener.Connected += socket =>
+ {
+ var channel = new ChannelDirectTcpip(_sessionMock.Object, _localChannelNumber, _localWindowSize,
+ _localPacketSize);
+ channel.Open(_remoteHost, _port, _forwardedPortMock.Object, socket);
+
+ var closeForwardedPortThread =
+ new Thread(() =>
+ {
+ // sleep for a short period to allow channel to actually start receiving from socket
+ Thread.Sleep(100);
+ // raise Closing event on forwarded port
+ _forwardedPortMock.Raise(p => p.Closing += null, EventArgs.Empty);
+ });
+ closeForwardedPortThread.Start();
+
+ channel.Bind();
+
+ closeForwardedPortThread.Join();
+ };
+
+ var client = new Socket(localPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
+ client.Connect(localPortEndPoint);
+
+ // attempt to receive from socket to verify it was shut down by channel
+ var buffer = new byte[16];
+ var bytesReceived = client.Receive(buffer, 0, buffer.Length, SocketFlags.None);
+ Assert.AreEqual(0, bytesReceived);
+ Assert.IsTrue(client.Connected);
+ // signal to server that we also shut down the socket at our end
+ client.Shutdown(SocketShutdown.Send);
+ }
+ }
+
+ [TestMethod]
+ public void SocketShouldBeClosedAndBindShouldEndWhenOnErrorOccurredIsInvoked()
+ {
+ _sessionMock.Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.Setup(p => p.SendMessage(It.IsAny()))
+ .Callback(m => _sessionMock.Raise(p => p.ChannelOpenConfirmationReceived += null,
+ new MessageEventArgs(
+ new ChannelOpenConfirmationMessage(((ChannelOpenMessage)m).LocalChannelNumber, _remoteWindowSize, _remotePacketSize, _remoteChannelNumber))));
+ _sessionMock.Setup(p => p.WaitOnHandle(It.IsAny()))
+ .Callback(p => p.WaitOne(Session.Infinite));
+
+ var localPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122);
+ using (var localPortListener = new AsyncSocketListener(localPortEndPoint))
+ {
+ localPortListener.Start();
+
+ localPortListener.Connected += socket =>
+ {
+ var channel = new ChannelDirectTcpip(_sessionMock.Object, _localChannelNumber, _localWindowSize,
+ _localPacketSize);
+ channel.Open(_remoteHost, _port, _forwardedPortMock.Object, socket);
+
+ var signalSessionErrorOccurredThread =
+ new Thread(() =>
+ {
+ // sleep for a short period to allow channel to actually start receiving from socket
+ Thread.Sleep(100);
+ // raise ErrorOccured event on session
+ _sessionMock.Raise(s => s.ErrorOccured += null,
+ new ExceptionEventArgs(new SystemException()));
+ });
+ signalSessionErrorOccurredThread.Start();
+
+ channel.Bind();
+
+ signalSessionErrorOccurredThread.Join();
+ };
+
+ var client = new Socket(localPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
+ client.Connect(localPortEndPoint);
+
+ // attempt to receive from socket to verify it was shut down by channel
+ var buffer = new byte[16];
+ var bytesReceived = client.Receive(buffer, 0, buffer.Length, SocketFlags.None);
+ Assert.AreEqual(0, bytesReceived);
+ Assert.IsTrue(client.Connected);
+ // signal to server that we also shut down the socket at our end
+ client.Shutdown(SocketShutdown.Send);
+ }
+ }
+
+ [TestMethod]
+ public void SocketShouldBeClosedAndEofShouldBeSentToServerWhenClientShutsDownSocket()
+ {
+ _sessionMock.Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.Setup(p => p.SendMessage(It.IsAny()))
+ .Callback(m => _sessionMock.Raise(p => p.ChannelOpenConfirmationReceived += null,
+ new MessageEventArgs(
+ new ChannelOpenConfirmationMessage(((ChannelOpenMessage) m).LocalChannelNumber,
+ _remoteWindowSize, _remotePacketSize, _remoteChannelNumber))));
+ _sessionMock.Setup(p => p.WaitOnHandle(It.IsAny()))
+ .Callback(p => p.WaitOne(Session.Infinite));
+ _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
+ _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(60));
+ _sessionMock.Setup(p => p.TrySendMessage(It.IsAny()))
+ .Returns(true)
+ .Callback(
+ m => new Thread(() =>
+ {
+ Thread.Sleep(50);
+ _sessionMock.Raise(s => s.ChannelEofReceived += null,
+ new MessageEventArgs(new ChannelEofMessage(_localChannelNumber)));
+ }).Start());
+ _sessionMock.Setup(p => p.TrySendMessage(It.IsAny()))
+ .Returns(true)
+ .Callback(
+ m => new Thread(() =>
+ {
+ Thread.Sleep(50);
+ _sessionMock.Raise(s => s.ChannelCloseReceived += null,
+ new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
+ }).Start());
+ var channelBindFinishedWaitHandle = new ManualResetEvent(false);
+ Socket handler = null;
+ ChannelDirectTcpip channel = null;
+
+ var localPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122);
+ using (var localPortListener = new AsyncSocketListener(localPortEndPoint))
+ {
+ localPortListener.Start();
+
+ localPortListener.Connected += socket =>
+ {
+ channel = new ChannelDirectTcpip(_sessionMock.Object, _localChannelNumber, _localWindowSize,
+ _localPacketSize);
+ channel.Open(_remoteHost, _port, _forwardedPortMock.Object, socket);
+ channel.Bind();
+ channel.Close();
+
+ handler = socket;
+
+ channelBindFinishedWaitHandle.Set();
+ };
+
+ var client = new Socket(localPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
+ client.Connect(localPortEndPoint);
+ client.Shutdown(SocketShutdown.Send);
+ Assert.IsFalse(client.Connected);
+
+ channelBindFinishedWaitHandle.WaitOne();
+
+ Assert.IsNotNull(handler);
+ Assert.IsFalse(handler.Connected);
+
+ _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
+ _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
+
+ channel.Close();
+
+ _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
+ _sessionMock.Verify(p => p.TrySendMessage(It.IsAny()), Times.Once);
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/src/Renci.SshNet.Tests/Classes/Channels/ChannelForwardedTcpipTest_Close_SessionIsConnectedAndChannelIsOpen.cs b/src/Renci.SshNet.Tests/Classes/Channels/ChannelForwardedTcpipTest_Close_SessionIsConnectedAndChannelIsOpen.cs
index c200467e..de0984fc 100644
--- a/src/Renci.SshNet.Tests/Classes/Channels/ChannelForwardedTcpipTest_Close_SessionIsConnectedAndChannelIsOpen.cs
+++ b/src/Renci.SshNet.Tests/Classes/Channels/ChannelForwardedTcpipTest_Close_SessionIsConnectedAndChannelIsOpen.cs
@@ -1,196 +1,196 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Net;
-using System.Net.Sockets;
-using System.Threading;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Moq;
-using Renci.SshNet.Channels;
-using Renci.SshNet.Messages.Connection;
-using Renci.SshNet.Tests.Common;
-
-namespace Renci.SshNet.Tests.Classes.Channels
-{
- [TestClass]
- public class ChannelForwardedTcpipTest_Close_SessionIsConnectedAndChannelIsOpen
- {
- private Mock _sessionMock;
- private Mock _forwardedPortMock;
- private Mock _connectionInfoMock;
- private ChannelForwardedTcpip _channel;
- private uint _localChannelNumber;
- private uint _localWindowSize;
- private uint _localPacketSize;
- private uint _remoteWindowSize;
- private uint _remotePacketSize;
- private uint _remoteChannelNumber;
- private IPEndPoint _remoteEndpoint;
- private AsyncSocketListener _remoteListener;
- private EventWaitHandle _channelBindFinishedWaitHandle;
- private Exception _channelException;
- private IList _connectedRegister;
- private IList _disconnectedRegister;
- private Thread _channelThread;
- private TimeSpan _connectionInfoTimeout;
-
- [TestInitialize]
- public void Initialize()
- {
- Arrange();
- Act();
- }
-
- [TestCleanup]
- public void CleanUp()
- {
- if (_remoteListener != null)
- {
- _remoteListener.Stop();
- _remoteListener = null;
- }
-
- if (_channelThread != null)
- {
- if (_channelThread.IsAlive)
- _channelThread.Abort();
- _channelThread = null;
- }
- if (_channel != null)
- {
- _channel.Dispose();
- _channel = null;
- }
- }
-
- private void Arrange()
- {
- var random = new Random();
- _localChannelNumber = (uint) random.Next(0, int.MaxValue);
- _localWindowSize = (uint) random.Next(2000, 3000);
- _localPacketSize = (uint) random.Next(1000, 2000);
- _remoteChannelNumber = (uint) random.Next(0, int.MaxValue);
- _remoteWindowSize = (uint) random.Next(0, int.MaxValue);
- _remotePacketSize = (uint) random.Next(100, 200);
- _channelBindFinishedWaitHandle = new ManualResetEvent(false);
- _channelException = null;
- _connectedRegister = new List();
- _disconnectedRegister = new List();
- _connectionInfoTimeout = TimeSpan.FromSeconds(5);
-
- _remoteEndpoint = new IPEndPoint(IPAddress.Loopback, 8122);
-
- _sessionMock = new Mock(MockBehavior.Strict);
- _connectionInfoMock = new Mock(MockBehavior.Strict);
- _forwardedPortMock = new Mock(MockBehavior.Strict);
-
- var sequence = new MockSequence();
- _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
- _sessionMock.InSequence(sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
- _connectionInfoMock.InSequence(sequence).Setup(p => p.Timeout).Returns(_connectionInfoTimeout);
- _sessionMock.InSequence(sequence).Setup(
- p => p.SendMessage(
- It.Is(
- m => m.LocalChannelNumber == _remoteChannelNumber
- &&
- m.InitialWindowSize == _localWindowSize
- &&
- m.MaximumPacketSize == _localPacketSize
- &&
- m.RemoteChannelNumber == _localChannelNumber)
- ));
- _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
- _sessionMock.InSequence(sequence)
- .Setup(
- p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)))
- .Returns(true);
- _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
- _sessionMock.InSequence(sequence)
- .Setup(
- p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)))
- .Returns(true);
- _sessionMock.InSequence(sequence)
- .Setup(p => p.WaitOnHandle(It.IsNotNull()))
- .Callback(
- w =>
- {
- _sessionMock.Raise(
- s => s.ChannelCloseReceived += null,
- new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
- w.WaitOne();
- });
-
- _remoteListener = new AsyncSocketListener(_remoteEndpoint);
- _remoteListener.Connected += socket => _connectedRegister.Add(socket);
- _remoteListener.Disconnected += socket => _disconnectedRegister.Add(socket);
- _remoteListener.Start();
-
- _channel = new ChannelForwardedTcpip(
- _sessionMock.Object,
- _localChannelNumber,
- _localWindowSize,
- _localPacketSize,
- _remoteChannelNumber,
- _remoteWindowSize,
- _remotePacketSize);
-
- _channelThread = new Thread(() =>
- {
- try
- {
- _channel.Bind(_remoteEndpoint, _forwardedPortMock.Object);
- }
- catch (Exception ex)
- {
- _channelException = ex;
- }
- finally
- {
- _channelBindFinishedWaitHandle.Set();
- }
- });
- _channelThread.Start();
-
- // give channel time to bind to remote endpoint
- Thread.Sleep(100);
- }
-
- private void Act()
- {
- _channel.Close();
- }
-
- [TestMethod]
- public void ChannelShouldShutdownSocketToRemoteListener()
- {
- Assert.AreEqual(1, _connectedRegister.Count);
- Assert.AreEqual(1, _disconnectedRegister.Count);
- Assert.AreSame(_connectedRegister[0], _disconnectedRegister[0]);
- }
-
- [TestMethod]
- public void BindShouldHaveFinishedWithoutException()
- {
- Assert.IsTrue(_channelBindFinishedWaitHandle.WaitOne(0));
- Assert.IsNull(_channelException, _channelException != null ? _channelException.ToString() : null);
- }
-
- [TestMethod]
- public void ChannelEofMessageShouldBeSentOnce()
- {
- _sessionMock.Verify(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)), Times.Once);
- }
-
- [TestMethod]
- public void ChannelCloseMessageShouldBeSentOnce()
- {
- _sessionMock.Verify(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)), Times.Once);
- }
-
- [TestMethod]
- public void IsOpenShouldReturnFalse()
- {
- Assert.IsFalse(_channel.IsOpen);
- }
- }
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Net;
+using System.Net.Sockets;
+using System.Threading;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Moq;
+using Renci.SshNet.Channels;
+using Renci.SshNet.Messages.Connection;
+using Renci.SshNet.Tests.Common;
+
+namespace Renci.SshNet.Tests.Classes.Channels
+{
+ [TestClass]
+ public class ChannelForwardedTcpipTest_Close_SessionIsConnectedAndChannelIsOpen
+ {
+ private Mock _sessionMock;
+ private Mock _forwardedPortMock;
+ private Mock _connectionInfoMock;
+ private ChannelForwardedTcpip _channel;
+ private uint _localChannelNumber;
+ private uint _localWindowSize;
+ private uint _localPacketSize;
+ private uint _remoteWindowSize;
+ private uint _remotePacketSize;
+ private uint _remoteChannelNumber;
+ private IPEndPoint _remoteEndpoint;
+ private AsyncSocketListener _remoteListener;
+ private EventWaitHandle _channelBindFinishedWaitHandle;
+ private Exception _channelException;
+ private IList _connectedRegister;
+ private IList _disconnectedRegister;
+ private Thread _channelThread;
+ private TimeSpan _connectionInfoTimeout;
+
+ [TestInitialize]
+ public void Initialize()
+ {
+ Arrange();
+ Act();
+ }
+
+ [TestCleanup]
+ public void CleanUp()
+ {
+ if (_remoteListener != null)
+ {
+ _remoteListener.Stop();
+ _remoteListener = null;
+ }
+
+ if (_channelThread != null)
+ {
+ if (_channelThread.IsAlive)
+ _channelThread.Abort();
+ _channelThread = null;
+ }
+ if (_channel != null)
+ {
+ _channel.Dispose();
+ _channel = null;
+ }
+ }
+
+ private void Arrange()
+ {
+ var random = new Random();
+ _localChannelNumber = (uint) random.Next(0, int.MaxValue);
+ _localWindowSize = (uint) random.Next(2000, 3000);
+ _localPacketSize = (uint) random.Next(1000, 2000);
+ _remoteChannelNumber = (uint) random.Next(0, int.MaxValue);
+ _remoteWindowSize = (uint) random.Next(0, int.MaxValue);
+ _remotePacketSize = (uint) random.Next(100, 200);
+ _channelBindFinishedWaitHandle = new ManualResetEvent(false);
+ _channelException = null;
+ _connectedRegister = new List();
+ _disconnectedRegister = new List();
+ _connectionInfoTimeout = TimeSpan.FromSeconds(5);
+
+ _remoteEndpoint = new IPEndPoint(IPAddress.Loopback, 8122);
+
+ _sessionMock = new Mock(MockBehavior.Strict);
+ _connectionInfoMock = new Mock(MockBehavior.Strict);
+ _forwardedPortMock = new Mock(MockBehavior.Strict);
+
+ var sequence = new MockSequence();
+ _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.InSequence(sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
+ _connectionInfoMock.InSequence(sequence).Setup(p => p.Timeout).Returns(_connectionInfoTimeout);
+ _sessionMock.InSequence(sequence).Setup(
+ p => p.SendMessage(
+ It.Is(
+ m => m.LocalChannelNumber == _remoteChannelNumber
+ &&
+ m.InitialWindowSize == _localWindowSize
+ &&
+ m.MaximumPacketSize == _localPacketSize
+ &&
+ m.RemoteChannelNumber == _localChannelNumber)
+ ));
+ _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.InSequence(sequence)
+ .Setup(
+ p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)))
+ .Returns(true);
+ _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.InSequence(sequence)
+ .Setup(
+ p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)))
+ .Returns(true);
+ _sessionMock.InSequence(sequence)
+ .Setup(p => p.WaitOnHandle(It.IsNotNull()))
+ .Callback(
+ w =>
+ {
+ _sessionMock.Raise(
+ s => s.ChannelCloseReceived += null,
+ new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
+ w.WaitOne();
+ });
+
+ _remoteListener = new AsyncSocketListener(_remoteEndpoint);
+ _remoteListener.Connected += socket => _connectedRegister.Add(socket);
+ _remoteListener.Disconnected += socket => _disconnectedRegister.Add(socket);
+ _remoteListener.Start();
+
+ _channel = new ChannelForwardedTcpip(
+ _sessionMock.Object,
+ _localChannelNumber,
+ _localWindowSize,
+ _localPacketSize,
+ _remoteChannelNumber,
+ _remoteWindowSize,
+ _remotePacketSize);
+
+ _channelThread = new Thread(() =>
+ {
+ try
+ {
+ _channel.Bind(_remoteEndpoint, _forwardedPortMock.Object);
+ }
+ catch (Exception ex)
+ {
+ _channelException = ex;
+ }
+ finally
+ {
+ _channelBindFinishedWaitHandle.Set();
+ }
+ });
+ _channelThread.Start();
+
+ // give channel time to bind to remote endpoint
+ Thread.Sleep(100);
+ }
+
+ private void Act()
+ {
+ _channel.Close();
+ }
+
+ [TestMethod]
+ public void ChannelShouldShutdownSocketToRemoteListener()
+ {
+ Assert.AreEqual(1, _connectedRegister.Count);
+ Assert.AreEqual(1, _disconnectedRegister.Count);
+ Assert.AreSame(_connectedRegister[0], _disconnectedRegister[0]);
+ }
+
+ [TestMethod]
+ public void BindShouldHaveFinishedWithoutException()
+ {
+ Assert.IsTrue(_channelBindFinishedWaitHandle.WaitOne(0));
+ Assert.IsNull(_channelException, _channelException != null ? _channelException.ToString() : null);
+ }
+
+ [TestMethod]
+ public void ChannelEofMessageShouldBeSentOnce()
+ {
+ _sessionMock.Verify(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)), Times.Once);
+ }
+
+ [TestMethod]
+ public void ChannelCloseMessageShouldBeSentOnce()
+ {
+ _sessionMock.Verify(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)), Times.Once);
+ }
+
+ [TestMethod]
+ public void IsOpenShouldReturnFalse()
+ {
+ Assert.IsFalse(_channel.IsOpen);
+ }
+ }
}
\ No newline at end of file
diff --git a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_Closed.cs b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_Closed.cs
index f6c12fe0..d115681a 100644
--- a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_Closed.cs
+++ b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_Closed.cs
@@ -1,144 +1,144 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Moq;
-using Renci.SshNet.Channels;
-using Renci.SshNet.Common;
-using Renci.SshNet.Messages.Connection;
-
-namespace Renci.SshNet.Tests.Classes.Channels
-{
- [TestClass]
- public class ChannelSessionTest_Close_Closed
- {
- private Mock _sessionMock;
- private Mock _connectionInfoMock;
- private ChannelSession _channel;
- private uint _localChannelNumber;
- private uint _localWindowSize;
- private uint _localPacketSize;
- private uint _remoteWindowSize;
- private uint _remotePacketSize;
- private uint _remoteChannelNumber;
- private SemaphoreLight _sessionSemaphore;
- private IList _channelClosedRegister;
- private List _channelExceptionRegister;
-
- [TestInitialize]
- public void Initialize()
- {
- Arrange();
- Act();
- }
-
- private void Arrange()
- {
- var random = new Random();
- _localChannelNumber = (uint)random.Next(0, int.MaxValue);
- _localWindowSize = (uint)random.Next(2000, 3000);
- _localPacketSize = (uint)random.Next(1000, 2000);
- _remoteChannelNumber = (uint)random.Next(0, int.MaxValue);
- _remoteWindowSize = (uint)random.Next(0, int.MaxValue);
- _remotePacketSize = (uint)random.Next(100, 200);
- _sessionSemaphore = new SemaphoreLight(1);
- _channelClosedRegister = new List();
- _channelExceptionRegister = new List();
-
- _sessionMock = new Mock(MockBehavior.Strict);
- _connectionInfoMock = new Mock(MockBehavior.Strict);
-
- var sequence = new MockSequence();
- _sessionMock.InSequence(sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
- _connectionInfoMock.InSequence(sequence).Setup(p => p.RetryAttempts).Returns(1);
- _sessionMock.Setup(p => p.SessionSemaphore).Returns(_sessionSemaphore);
- _sessionMock.InSequence(sequence)
- .Setup(
- p =>
- p.SendMessage(
- It.Is(
- m =>
- m.LocalChannelNumber == _localChannelNumber &&
- m.InitialWindowSize == _localWindowSize && m.MaximumPacketSize == _localPacketSize &&
- m.Info is SessionChannelOpenInfo)));
- _sessionMock.InSequence(sequence)
- .Setup(p => p.WaitOnHandle(It.IsNotNull()))
- .Callback(
- w =>
- {
- _sessionMock.Raise(
- s => s.ChannelOpenConfirmationReceived += null,
- new MessageEventArgs(
- new ChannelOpenConfirmationMessage(
- _localChannelNumber,
- _remoteWindowSize,
- _remotePacketSize,
- _remoteChannelNumber)));
- w.WaitOne();
- });
- _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
- _sessionMock.InSequence(sequence)
- .Setup(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber))).Returns(true);
- _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
- _sessionMock.InSequence(sequence)
- .Setup(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber))).Returns(true);
- _sessionMock.InSequence(sequence)
- .Setup(p => p.WaitOnHandle(It.IsNotNull()))
- .Callback(
- w =>
- {
- _sessionMock.Raise(
- s => s.ChannelCloseReceived += null,
- new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
- w.WaitOne();
- });
-
- _channel = new ChannelSession(_sessionMock.Object, _localChannelNumber, _localWindowSize, _localPacketSize);
- _channel.Closed += (sender, args) => _channelClosedRegister.Add(args);
- _channel.Exception += (sender, args) => _channelExceptionRegister.Add(args);
- _channel.Open();
- _channel.Close();
- }
-
- protected virtual void Act()
- {
- _channel.Close();
- }
-
- internal ChannelSession Channel
- {
- get { return _channel; }
- }
-
- [TestMethod]
- public void ChannelEofMessageShouldBeSentOnce()
- {
- _sessionMock.Verify(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)), Times.Once);
- }
-
- [TestMethod]
- public void ChannelCloseMessageShouldBeSentOnce()
- {
- _sessionMock.Verify(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)), Times.Once);
- }
-
- [TestMethod]
- public void ExceptionShouldNeverHaveFired()
- {
- Assert.AreEqual(0, _channelExceptionRegister.Count);
- }
-
- [TestMethod]
- public void ClosedEventShouldHaveFiredOnce()
- {
- Assert.AreEqual(1, _channelClosedRegister.Count);
- Assert.AreEqual(_localChannelNumber, _channelClosedRegister[0].ChannelNumber);
- }
-
- [TestMethod]
- public void IsOpenShouldReturnFalse()
- {
- Assert.IsFalse(_channel.IsOpen);
- }
- }
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Moq;
+using Renci.SshNet.Channels;
+using Renci.SshNet.Common;
+using Renci.SshNet.Messages.Connection;
+
+namespace Renci.SshNet.Tests.Classes.Channels
+{
+ [TestClass]
+ public class ChannelSessionTest_Close_Closed
+ {
+ private Mock _sessionMock;
+ private Mock _connectionInfoMock;
+ private ChannelSession _channel;
+ private uint _localChannelNumber;
+ private uint _localWindowSize;
+ private uint _localPacketSize;
+ private uint _remoteWindowSize;
+ private uint _remotePacketSize;
+ private uint _remoteChannelNumber;
+ private SemaphoreLight _sessionSemaphore;
+ private IList _channelClosedRegister;
+ private List _channelExceptionRegister;
+
+ [TestInitialize]
+ public void Initialize()
+ {
+ Arrange();
+ Act();
+ }
+
+ private void Arrange()
+ {
+ var random = new Random();
+ _localChannelNumber = (uint)random.Next(0, int.MaxValue);
+ _localWindowSize = (uint)random.Next(2000, 3000);
+ _localPacketSize = (uint)random.Next(1000, 2000);
+ _remoteChannelNumber = (uint)random.Next(0, int.MaxValue);
+ _remoteWindowSize = (uint)random.Next(0, int.MaxValue);
+ _remotePacketSize = (uint)random.Next(100, 200);
+ _sessionSemaphore = new SemaphoreLight(1);
+ _channelClosedRegister = new List();
+ _channelExceptionRegister = new List();
+
+ _sessionMock = new Mock(MockBehavior.Strict);
+ _connectionInfoMock = new Mock(MockBehavior.Strict);
+
+ var sequence = new MockSequence();
+ _sessionMock.InSequence(sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
+ _connectionInfoMock.InSequence(sequence).Setup(p => p.RetryAttempts).Returns(1);
+ _sessionMock.Setup(p => p.SessionSemaphore).Returns(_sessionSemaphore);
+ _sessionMock.InSequence(sequence)
+ .Setup(
+ p =>
+ p.SendMessage(
+ It.Is(
+ m =>
+ m.LocalChannelNumber == _localChannelNumber &&
+ m.InitialWindowSize == _localWindowSize && m.MaximumPacketSize == _localPacketSize &&
+ m.Info is SessionChannelOpenInfo)));
+ _sessionMock.InSequence(sequence)
+ .Setup(p => p.WaitOnHandle(It.IsNotNull()))
+ .Callback(
+ w =>
+ {
+ _sessionMock.Raise(
+ s => s.ChannelOpenConfirmationReceived += null,
+ new MessageEventArgs(
+ new ChannelOpenConfirmationMessage(
+ _localChannelNumber,
+ _remoteWindowSize,
+ _remotePacketSize,
+ _remoteChannelNumber)));
+ w.WaitOne();
+ });
+ _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.InSequence(sequence)
+ .Setup(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber))).Returns(true);
+ _sessionMock.InSequence(sequence).Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.InSequence(sequence)
+ .Setup(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber))).Returns(true);
+ _sessionMock.InSequence(sequence)
+ .Setup(p => p.WaitOnHandle(It.IsNotNull()))
+ .Callback(
+ w =>
+ {
+ _sessionMock.Raise(
+ s => s.ChannelCloseReceived += null,
+ new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
+ w.WaitOne();
+ });
+
+ _channel = new ChannelSession(_sessionMock.Object, _localChannelNumber, _localWindowSize, _localPacketSize);
+ _channel.Closed += (sender, args) => _channelClosedRegister.Add(args);
+ _channel.Exception += (sender, args) => _channelExceptionRegister.Add(args);
+ _channel.Open();
+ _channel.Close();
+ }
+
+ protected virtual void Act()
+ {
+ _channel.Close();
+ }
+
+ internal ChannelSession Channel
+ {
+ get { return _channel; }
+ }
+
+ [TestMethod]
+ public void ChannelEofMessageShouldBeSentOnce()
+ {
+ _sessionMock.Verify(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)), Times.Once);
+ }
+
+ [TestMethod]
+ public void ChannelCloseMessageShouldBeSentOnce()
+ {
+ _sessionMock.Verify(p => p.TrySendMessage(It.Is(m => m.LocalChannelNumber == _remoteChannelNumber)), Times.Once);
+ }
+
+ [TestMethod]
+ public void ExceptionShouldNeverHaveFired()
+ {
+ Assert.AreEqual(0, _channelExceptionRegister.Count);
+ }
+
+ [TestMethod]
+ public void ClosedEventShouldHaveFiredOnce()
+ {
+ Assert.AreEqual(1, _channelClosedRegister.Count);
+ Assert.AreEqual(_localChannelNumber, _channelClosedRegister[0].ChannelNumber);
+ }
+
+ [TestMethod]
+ public void IsOpenShouldReturnFalse()
+ {
+ Assert.IsFalse(_channel.IsOpen);
+ }
+ }
}
\ No newline at end of file
diff --git a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure.cs b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure.cs
index 622d87f0..e99818dc 100644
--- a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure.cs
+++ b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure.cs
@@ -1,131 +1,131 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Moq;
-using Renci.SshNet.Channels;
-using Renci.SshNet.Common;
-using Renci.SshNet.Messages.Connection;
-
-namespace Renci.SshNet.Tests.Classes.Channels
-{
- [TestClass]
- public class ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure
- {
- private Mock _sessionMock;
- private uint _localChannelNumber;
- private uint _localWindowSize;
- private uint _localPacketSize;
- private uint _remoteChannelNumber;
- private uint _remoteWindowSize;
- private uint _remotePacketSize;
- private IList _channelClosedRegister;
- private List _channelExceptionRegister;
- private ChannelSession _channel;
- private Mock _connectionInfoMock;
- private MockSequence _sequence;
- private SemaphoreLight _sessionSemaphore;
- private int _initialSessionSemaphoreCount;
-
- [TestInitialize]
- public void Initialize()
- {
- Arrange();
- Act();
- }
-
- private void Arrange()
- {
- var random = new Random();
- _localChannelNumber = (uint)random.Next(0, int.MaxValue);
- _localWindowSize = (uint)random.Next(0, int.MaxValue);
- _localPacketSize = (uint)random.Next(0, int.MaxValue);
- _remoteChannelNumber = (uint)random.Next(0, int.MaxValue);
- _remoteWindowSize = (uint)random.Next(0, int.MaxValue);
- _remotePacketSize = (uint)random.Next(0, int.MaxValue);
- _channelClosedRegister = new List();
- _channelExceptionRegister = new List();
- _initialSessionSemaphoreCount = random.Next(10, 20);
- _sessionSemaphore = new SemaphoreLight(_initialSessionSemaphoreCount);
-
- _sessionMock = new Mock(MockBehavior.Strict);
- _connectionInfoMock = new Mock(MockBehavior.Strict);
-
- _sequence = new MockSequence();
- _sessionMock.InSequence(_sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
- _connectionInfoMock.InSequence(_sequence).Setup(p => p.RetryAttempts).Returns(1);
- _sessionMock.Setup(p => p.SessionSemaphore).Returns(_sessionSemaphore);
- _sessionMock.InSequence(_sequence)
- .Setup(
- p =>
- p.SendMessage(
- It.Is(
- m =>
- m.LocalChannelNumber == _localChannelNumber &&
- m.InitialWindowSize == _localWindowSize && m.MaximumPacketSize == _localPacketSize &&
- m.Info is SessionChannelOpenInfo)));
- _sessionMock.InSequence(_sequence)
- .Setup(p => p.WaitOnHandle(It.IsNotNull()))
- .Callback(
- w =>
- {
- _sessionMock.Raise(
- s => s.ChannelOpenConfirmationReceived += null,
- new MessageEventArgs(
- new ChannelOpenConfirmationMessage(
- _localChannelNumber,
- _remoteWindowSize,
- _remotePacketSize,
- _remoteChannelNumber)));
- w.WaitOne();
- });
- _sessionMock.Setup(p => p.IsConnected).Returns(true);
- _sessionMock.InSequence(_sequence)
- .Setup(
- p => p.TrySendMessage(It.Is(c => c.LocalChannelNumber == _remoteChannelNumber)))
- .Returns(false);
-
- _channel = new ChannelSession(_sessionMock.Object, _localChannelNumber, _localWindowSize, _localPacketSize);
- _channel.Closed += (sender, args) => _channelClosedRegister.Add(args);
- _channel.Exception += (sender, args) => _channelExceptionRegister.Add(args);
- _channel.Open();
-
- _sessionMock.Raise(
- p => p.ChannelEofReceived += null,
- new MessageEventArgs(new ChannelEofMessage(_localChannelNumber)));
- _sessionMock.Raise(
- p => p.ChannelCloseReceived += null,
- new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
- }
-
- private void Act()
- {
- _channel.Close();
- }
-
- [TestMethod]
- public void CurrentCountOfSessionSemaphoreShouldBeEqualToInitialCount()
- {
- Assert.AreEqual(_initialSessionSemaphoreCount, _sessionSemaphore.CurrentCount);
- }
-
- [TestMethod]
- public void ExceptionShouldNeverHaveFired()
- {
- Assert.AreEqual(0, _channelExceptionRegister.Count);
- }
-
- [TestMethod]
- public void ClosedEventShouldHaveFiredOnce()
- {
- Assert.AreEqual(1, _channelClosedRegister.Count);
- Assert.AreEqual(_localChannelNumber, _channelClosedRegister[0].ChannelNumber);
- }
-
- [TestMethod]
- public void IsOpenShouldReturnFalse()
- {
- Assert.IsFalse(_channel.IsOpen);
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Moq;
+using Renci.SshNet.Channels;
+using Renci.SshNet.Common;
+using Renci.SshNet.Messages.Connection;
+
+namespace Renci.SshNet.Tests.Classes.Channels
+{
+ [TestClass]
+ public class ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure
+ {
+ private Mock _sessionMock;
+ private uint _localChannelNumber;
+ private uint _localWindowSize;
+ private uint _localPacketSize;
+ private uint _remoteChannelNumber;
+ private uint _remoteWindowSize;
+ private uint _remotePacketSize;
+ private IList _channelClosedRegister;
+ private List _channelExceptionRegister;
+ private ChannelSession _channel;
+ private Mock _connectionInfoMock;
+ private MockSequence _sequence;
+ private SemaphoreLight _sessionSemaphore;
+ private int _initialSessionSemaphoreCount;
+
+ [TestInitialize]
+ public void Initialize()
+ {
+ Arrange();
+ Act();
+ }
+
+ private void Arrange()
+ {
+ var random = new Random();
+ _localChannelNumber = (uint)random.Next(0, int.MaxValue);
+ _localWindowSize = (uint)random.Next(0, int.MaxValue);
+ _localPacketSize = (uint)random.Next(0, int.MaxValue);
+ _remoteChannelNumber = (uint)random.Next(0, int.MaxValue);
+ _remoteWindowSize = (uint)random.Next(0, int.MaxValue);
+ _remotePacketSize = (uint)random.Next(0, int.MaxValue);
+ _channelClosedRegister = new List();
+ _channelExceptionRegister = new List();
+ _initialSessionSemaphoreCount = random.Next(10, 20);
+ _sessionSemaphore = new SemaphoreLight(_initialSessionSemaphoreCount);
+
+ _sessionMock = new Mock(MockBehavior.Strict);
+ _connectionInfoMock = new Mock(MockBehavior.Strict);
+
+ _sequence = new MockSequence();
+ _sessionMock.InSequence(_sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
+ _connectionInfoMock.InSequence(_sequence).Setup(p => p.RetryAttempts).Returns(1);
+ _sessionMock.Setup(p => p.SessionSemaphore).Returns(_sessionSemaphore);
+ _sessionMock.InSequence(_sequence)
+ .Setup(
+ p =>
+ p.SendMessage(
+ It.Is(
+ m =>
+ m.LocalChannelNumber == _localChannelNumber &&
+ m.InitialWindowSize == _localWindowSize && m.MaximumPacketSize == _localPacketSize &&
+ m.Info is SessionChannelOpenInfo)));
+ _sessionMock.InSequence(_sequence)
+ .Setup(p => p.WaitOnHandle(It.IsNotNull()))
+ .Callback(
+ w =>
+ {
+ _sessionMock.Raise(
+ s => s.ChannelOpenConfirmationReceived += null,
+ new MessageEventArgs(
+ new ChannelOpenConfirmationMessage(
+ _localChannelNumber,
+ _remoteWindowSize,
+ _remotePacketSize,
+ _remoteChannelNumber)));
+ w.WaitOne();
+ });
+ _sessionMock.Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.InSequence(_sequence)
+ .Setup(
+ p => p.TrySendMessage(It.Is(c => c.LocalChannelNumber == _remoteChannelNumber)))
+ .Returns(false);
+
+ _channel = new ChannelSession(_sessionMock.Object, _localChannelNumber, _localWindowSize, _localPacketSize);
+ _channel.Closed += (sender, args) => _channelClosedRegister.Add(args);
+ _channel.Exception += (sender, args) => _channelExceptionRegister.Add(args);
+ _channel.Open();
+
+ _sessionMock.Raise(
+ p => p.ChannelEofReceived += null,
+ new MessageEventArgs(new ChannelEofMessage(_localChannelNumber)));
+ _sessionMock.Raise(
+ p => p.ChannelCloseReceived += null,
+ new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
+ }
+
+ private void Act()
+ {
+ _channel.Close();
+ }
+
+ [TestMethod]
+ public void CurrentCountOfSessionSemaphoreShouldBeEqualToInitialCount()
+ {
+ Assert.AreEqual(_initialSessionSemaphoreCount, _sessionSemaphore.CurrentCount);
+ }
+
+ [TestMethod]
+ public void ExceptionShouldNeverHaveFired()
+ {
+ Assert.AreEqual(0, _channelExceptionRegister.Count);
+ }
+
+ [TestMethod]
+ public void ClosedEventShouldHaveFiredOnce()
+ {
+ Assert.AreEqual(1, _channelClosedRegister.Count);
+ Assert.AreEqual(_localChannelNumber, _channelClosedRegister[0].ChannelNumber);
+ }
+
+ [TestMethod]
+ public void IsOpenShouldReturnFalse()
+ {
+ Assert.IsFalse(_channel.IsOpen);
+ }
+ }
+}
diff --git a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess.cs b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess.cs
index 128f5f1b..5b05fbf0 100644
--- a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess.cs
+++ b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess.cs
@@ -1,131 +1,131 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Moq;
-using Renci.SshNet.Channels;
-using Renci.SshNet.Common;
-using Renci.SshNet.Messages.Connection;
-
-namespace Renci.SshNet.Tests.Classes.Channels
-{
- [TestClass]
- public class ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess
- {
- private Mock _sessionMock;
- private uint _localChannelNumber;
- private uint _localWindowSize;
- private uint _localPacketSize;
- private uint _remoteChannelNumber;
- private uint _remoteWindowSize;
- private uint _remotePacketSize;
- private IList _channelClosedRegister;
- private List _channelExceptionRegister;
- private ChannelSession _channel;
- private Mock _connectionInfoMock;
- private MockSequence _sequence;
- private SemaphoreLight _sessionSemaphore;
- private int _initialSessionSemaphoreCount;
-
- [TestInitialize]
- public void Initialize()
- {
- Arrange();
- Act();
- }
-
- private void Arrange()
- {
- var random = new Random();
- _localChannelNumber = (uint) random.Next(0, int.MaxValue);
- _localWindowSize = (uint) random.Next(0, int.MaxValue);
- _localPacketSize = (uint) random.Next(0, int.MaxValue);
- _remoteChannelNumber = (uint) random.Next(0, int.MaxValue);
- _remoteWindowSize = (uint) random.Next(0, int.MaxValue);
- _remotePacketSize = (uint) random.Next(0, int.MaxValue);
- _channelClosedRegister = new List();
- _channelExceptionRegister = new List();
- _initialSessionSemaphoreCount = random.Next(10, 20);
- _sessionSemaphore = new SemaphoreLight(_initialSessionSemaphoreCount);
-
- _sessionMock = new Mock(MockBehavior.Strict);
- _connectionInfoMock = new Mock(MockBehavior.Strict);
-
- _sequence = new MockSequence();
- _sessionMock.InSequence(_sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
- _connectionInfoMock.InSequence(_sequence).Setup(p => p.RetryAttempts).Returns(1);
- _sessionMock.Setup(p => p.SessionSemaphore).Returns(_sessionSemaphore);
- _sessionMock.InSequence(_sequence)
- .Setup(
- p =>
- p.SendMessage(
- It.Is(
- m =>
- m.LocalChannelNumber == _localChannelNumber &&
- m.InitialWindowSize == _localWindowSize && m.MaximumPacketSize == _localPacketSize &&
- m.Info is SessionChannelOpenInfo)));
- _sessionMock.InSequence(_sequence)
- .Setup(p => p.WaitOnHandle(It.IsNotNull()))
- .Callback(
- w =>
- {
- _sessionMock.Raise(
- s => s.ChannelOpenConfirmationReceived += null,
- new MessageEventArgs(
- new ChannelOpenConfirmationMessage(
- _localChannelNumber,
- _remoteWindowSize,
- _remotePacketSize,
- _remoteChannelNumber)));
- w.WaitOne();
- });
- _sessionMock.Setup(p => p.IsConnected).Returns(true);
- _sessionMock.InSequence(_sequence)
- .Setup(
- p => p.TrySendMessage(It.Is(c => c.LocalChannelNumber == _remoteChannelNumber)))
- .Returns(true);
-
- _channel = new ChannelSession(_sessionMock.Object, _localChannelNumber, _localWindowSize, _localPacketSize);
- _channel.Closed += (sender, args) => _channelClosedRegister.Add(args);
- _channel.Exception += (sender, args) => _channelExceptionRegister.Add(args);
- _channel.Open();
-
- _sessionMock.Raise(
- p => p.ChannelEofReceived += null,
- new MessageEventArgs(new ChannelEofMessage(_localChannelNumber)));
- _sessionMock.Raise(
- p => p.ChannelCloseReceived += null,
- new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
- }
-
- private void Act()
- {
- _channel.Close();
- }
-
- [TestMethod]
- public void CurrentCountOfSessionSemaphoreShouldBeEqualToInitialCount()
- {
- Assert.AreEqual(_initialSessionSemaphoreCount, _sessionSemaphore.CurrentCount);
- }
-
- [TestMethod]
- public void ExceptionShouldNeverHaveFired()
- {
- Assert.AreEqual(0, _channelExceptionRegister.Count);
- }
-
- [TestMethod]
- public void ClosedEventShouldHaveFiredOnce()
- {
- Assert.AreEqual(1, _channelClosedRegister.Count);
- Assert.AreEqual(_localChannelNumber, _channelClosedRegister[0].ChannelNumber);
- }
-
- [TestMethod]
- public void IsOpenShouldReturnFalse()
- {
- Assert.IsFalse(_channel.IsOpen);
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Moq;
+using Renci.SshNet.Channels;
+using Renci.SshNet.Common;
+using Renci.SshNet.Messages.Connection;
+
+namespace Renci.SshNet.Tests.Classes.Channels
+{
+ [TestClass]
+ public class ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess
+ {
+ private Mock _sessionMock;
+ private uint _localChannelNumber;
+ private uint _localWindowSize;
+ private uint _localPacketSize;
+ private uint _remoteChannelNumber;
+ private uint _remoteWindowSize;
+ private uint _remotePacketSize;
+ private IList _channelClosedRegister;
+ private List _channelExceptionRegister;
+ private ChannelSession _channel;
+ private Mock _connectionInfoMock;
+ private MockSequence _sequence;
+ private SemaphoreLight _sessionSemaphore;
+ private int _initialSessionSemaphoreCount;
+
+ [TestInitialize]
+ public void Initialize()
+ {
+ Arrange();
+ Act();
+ }
+
+ private void Arrange()
+ {
+ var random = new Random();
+ _localChannelNumber = (uint) random.Next(0, int.MaxValue);
+ _localWindowSize = (uint) random.Next(0, int.MaxValue);
+ _localPacketSize = (uint) random.Next(0, int.MaxValue);
+ _remoteChannelNumber = (uint) random.Next(0, int.MaxValue);
+ _remoteWindowSize = (uint) random.Next(0, int.MaxValue);
+ _remotePacketSize = (uint) random.Next(0, int.MaxValue);
+ _channelClosedRegister = new List();
+ _channelExceptionRegister = new List();
+ _initialSessionSemaphoreCount = random.Next(10, 20);
+ _sessionSemaphore = new SemaphoreLight(_initialSessionSemaphoreCount);
+
+ _sessionMock = new Mock(MockBehavior.Strict);
+ _connectionInfoMock = new Mock(MockBehavior.Strict);
+
+ _sequence = new MockSequence();
+ _sessionMock.InSequence(_sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
+ _connectionInfoMock.InSequence(_sequence).Setup(p => p.RetryAttempts).Returns(1);
+ _sessionMock.Setup(p => p.SessionSemaphore).Returns(_sessionSemaphore);
+ _sessionMock.InSequence(_sequence)
+ .Setup(
+ p =>
+ p.SendMessage(
+ It.Is(
+ m =>
+ m.LocalChannelNumber == _localChannelNumber &&
+ m.InitialWindowSize == _localWindowSize && m.MaximumPacketSize == _localPacketSize &&
+ m.Info is SessionChannelOpenInfo)));
+ _sessionMock.InSequence(_sequence)
+ .Setup(p => p.WaitOnHandle(It.IsNotNull()))
+ .Callback(
+ w =>
+ {
+ _sessionMock.Raise(
+ s => s.ChannelOpenConfirmationReceived += null,
+ new MessageEventArgs(
+ new ChannelOpenConfirmationMessage(
+ _localChannelNumber,
+ _remoteWindowSize,
+ _remotePacketSize,
+ _remoteChannelNumber)));
+ w.WaitOne();
+ });
+ _sessionMock.Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.InSequence(_sequence)
+ .Setup(
+ p => p.TrySendMessage(It.Is(c => c.LocalChannelNumber == _remoteChannelNumber)))
+ .Returns(true);
+
+ _channel = new ChannelSession(_sessionMock.Object, _localChannelNumber, _localWindowSize, _localPacketSize);
+ _channel.Closed += (sender, args) => _channelClosedRegister.Add(args);
+ _channel.Exception += (sender, args) => _channelExceptionRegister.Add(args);
+ _channel.Open();
+
+ _sessionMock.Raise(
+ p => p.ChannelEofReceived += null,
+ new MessageEventArgs(new ChannelEofMessage(_localChannelNumber)));
+ _sessionMock.Raise(
+ p => p.ChannelCloseReceived += null,
+ new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
+ }
+
+ private void Act()
+ {
+ _channel.Close();
+ }
+
+ [TestMethod]
+ public void CurrentCountOfSessionSemaphoreShouldBeEqualToInitialCount()
+ {
+ Assert.AreEqual(_initialSessionSemaphoreCount, _sessionSemaphore.CurrentCount);
+ }
+
+ [TestMethod]
+ public void ExceptionShouldNeverHaveFired()
+ {
+ Assert.AreEqual(0, _channelExceptionRegister.Count);
+ }
+
+ [TestMethod]
+ public void ClosedEventShouldHaveFiredOnce()
+ {
+ Assert.AreEqual(1, _channelClosedRegister.Count);
+ Assert.AreEqual(_localChannelNumber, _channelClosedRegister[0].ChannelNumber);
+ }
+
+ [TestMethod]
+ public void IsOpenShouldReturnFalse()
+ {
+ Assert.IsFalse(_channel.IsOpen);
+ }
+ }
+}
diff --git a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure.cs b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure.cs
index e4e1c60f..31c13338 100644
--- a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure.cs
+++ b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure.cs
@@ -1,128 +1,128 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Moq;
-using Renci.SshNet.Channels;
-using Renci.SshNet.Common;
-using Renci.SshNet.Messages.Connection;
-
-namespace Renci.SshNet.Tests.Classes.Channels
-{
- [TestClass]
- public class ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure
- {
- private Mock _sessionMock;
- private uint _localChannelNumber;
- private uint _localWindowSize;
- private uint _localPacketSize;
- private uint _remoteChannelNumber;
- private uint _remoteWindowSize;
- private uint _remotePacketSize;
- private IList _channelClosedRegister;
- private List _channelExceptionRegister;
- private ChannelSession _channel;
- private Mock _connectionInfoMock;
- private MockSequence _sequence;
- private SemaphoreLight _sessionSemaphore;
- private int _initialSessionSemaphoreCount;
-
- [TestInitialize]
- public void Initialize()
- {
- Arrange();
- Act();
- }
-
- private void Arrange()
- {
- var random = new Random();
- _localChannelNumber = (uint)random.Next(0, int.MaxValue);
- _localWindowSize = (uint)random.Next(0, int.MaxValue);
- _localPacketSize = (uint)random.Next(0, int.MaxValue);
- _remoteChannelNumber = (uint)random.Next(0, int.MaxValue);
- _remoteWindowSize = (uint)random.Next(0, int.MaxValue);
- _remotePacketSize = (uint)random.Next(0, int.MaxValue);
- _channelClosedRegister = new List();
- _channelExceptionRegister = new List();
- _initialSessionSemaphoreCount = random.Next(10, 20);
- _sessionSemaphore = new SemaphoreLight(_initialSessionSemaphoreCount);
-
- _sessionMock = new Mock(MockBehavior.Strict);
- _connectionInfoMock = new Mock(MockBehavior.Strict);
-
- _sequence = new MockSequence();
- _sessionMock.InSequence(_sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
- _connectionInfoMock.InSequence(_sequence).Setup(p => p.RetryAttempts).Returns(1);
- _sessionMock.Setup(p => p.SessionSemaphore).Returns(_sessionSemaphore);
- _sessionMock.InSequence(_sequence)
- .Setup(
- p =>
- p.SendMessage(
- It.Is(
- m =>
- m.LocalChannelNumber == _localChannelNumber &&
- m.InitialWindowSize == _localWindowSize && m.MaximumPacketSize == _localPacketSize &&
- m.Info is SessionChannelOpenInfo)));
- _sessionMock.InSequence(_sequence)
- .Setup(p => p.WaitOnHandle(It.IsNotNull()))
- .Callback(
- w =>
- {
- _sessionMock.Raise(
- s => s.ChannelOpenConfirmationReceived += null,
- new MessageEventArgs(
- new ChannelOpenConfirmationMessage(
- _localChannelNumber,
- _remoteWindowSize,
- _remotePacketSize,
- _remoteChannelNumber)));
- w.WaitOne();
- });
- _sessionMock.Setup(p => p.IsConnected).Returns(true);
- _sessionMock.InSequence(_sequence)
- .Setup(
- p => p.TrySendMessage(It.Is(c => c.LocalChannelNumber == _remoteChannelNumber)))
- .Returns(false);
-
- _channel = new ChannelSession(_sessionMock.Object, _localChannelNumber, _localWindowSize, _localPacketSize);
- _channel.Closed += (sender, args) => _channelClosedRegister.Add(args);
- _channel.Exception += (sender, args) => _channelExceptionRegister.Add(args);
- _channel.Open();
-
- _sessionMock.Raise(
- p => p.ChannelCloseReceived += null,
- new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
- }
-
- private void Act()
- {
- _channel.Close();
- }
-
- [TestMethod]
- public void CurrentCountOfSessionSemaphoreShouldBeEqualToInitialCount()
- {
- Assert.AreEqual(_initialSessionSemaphoreCount, _sessionSemaphore.CurrentCount);
- }
-
- [TestMethod]
- public void ExceptionShouldNeverHaveFired()
- {
- Assert.AreEqual(0, _channelExceptionRegister.Count);
- }
-
- [TestMethod]
- public void ClosedEventShouldHaveFiredOnce()
- {
- Assert.AreEqual(1, _channelClosedRegister.Count);
- Assert.AreEqual(_localChannelNumber, _channelClosedRegister[0].ChannelNumber);
- }
-
- [TestMethod]
- public void IsOpenShouldReturnFalse()
- {
- Assert.IsFalse(_channel.IsOpen);
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Moq;
+using Renci.SshNet.Channels;
+using Renci.SshNet.Common;
+using Renci.SshNet.Messages.Connection;
+
+namespace Renci.SshNet.Tests.Classes.Channels
+{
+ [TestClass]
+ public class ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure
+ {
+ private Mock _sessionMock;
+ private uint _localChannelNumber;
+ private uint _localWindowSize;
+ private uint _localPacketSize;
+ private uint _remoteChannelNumber;
+ private uint _remoteWindowSize;
+ private uint _remotePacketSize;
+ private IList _channelClosedRegister;
+ private List _channelExceptionRegister;
+ private ChannelSession _channel;
+ private Mock _connectionInfoMock;
+ private MockSequence _sequence;
+ private SemaphoreLight _sessionSemaphore;
+ private int _initialSessionSemaphoreCount;
+
+ [TestInitialize]
+ public void Initialize()
+ {
+ Arrange();
+ Act();
+ }
+
+ private void Arrange()
+ {
+ var random = new Random();
+ _localChannelNumber = (uint)random.Next(0, int.MaxValue);
+ _localWindowSize = (uint)random.Next(0, int.MaxValue);
+ _localPacketSize = (uint)random.Next(0, int.MaxValue);
+ _remoteChannelNumber = (uint)random.Next(0, int.MaxValue);
+ _remoteWindowSize = (uint)random.Next(0, int.MaxValue);
+ _remotePacketSize = (uint)random.Next(0, int.MaxValue);
+ _channelClosedRegister = new List();
+ _channelExceptionRegister = new List();
+ _initialSessionSemaphoreCount = random.Next(10, 20);
+ _sessionSemaphore = new SemaphoreLight(_initialSessionSemaphoreCount);
+
+ _sessionMock = new Mock(MockBehavior.Strict);
+ _connectionInfoMock = new Mock(MockBehavior.Strict);
+
+ _sequence = new MockSequence();
+ _sessionMock.InSequence(_sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
+ _connectionInfoMock.InSequence(_sequence).Setup(p => p.RetryAttempts).Returns(1);
+ _sessionMock.Setup(p => p.SessionSemaphore).Returns(_sessionSemaphore);
+ _sessionMock.InSequence(_sequence)
+ .Setup(
+ p =>
+ p.SendMessage(
+ It.Is(
+ m =>
+ m.LocalChannelNumber == _localChannelNumber &&
+ m.InitialWindowSize == _localWindowSize && m.MaximumPacketSize == _localPacketSize &&
+ m.Info is SessionChannelOpenInfo)));
+ _sessionMock.InSequence(_sequence)
+ .Setup(p => p.WaitOnHandle(It.IsNotNull()))
+ .Callback(
+ w =>
+ {
+ _sessionMock.Raise(
+ s => s.ChannelOpenConfirmationReceived += null,
+ new MessageEventArgs(
+ new ChannelOpenConfirmationMessage(
+ _localChannelNumber,
+ _remoteWindowSize,
+ _remotePacketSize,
+ _remoteChannelNumber)));
+ w.WaitOne();
+ });
+ _sessionMock.Setup(p => p.IsConnected).Returns(true);
+ _sessionMock.InSequence(_sequence)
+ .Setup(
+ p => p.TrySendMessage(It.Is(c => c.LocalChannelNumber == _remoteChannelNumber)))
+ .Returns(false);
+
+ _channel = new ChannelSession(_sessionMock.Object, _localChannelNumber, _localWindowSize, _localPacketSize);
+ _channel.Closed += (sender, args) => _channelClosedRegister.Add(args);
+ _channel.Exception += (sender, args) => _channelExceptionRegister.Add(args);
+ _channel.Open();
+
+ _sessionMock.Raise(
+ p => p.ChannelCloseReceived += null,
+ new MessageEventArgs(new ChannelCloseMessage(_localChannelNumber)));
+ }
+
+ private void Act()
+ {
+ _channel.Close();
+ }
+
+ [TestMethod]
+ public void CurrentCountOfSessionSemaphoreShouldBeEqualToInitialCount()
+ {
+ Assert.AreEqual(_initialSessionSemaphoreCount, _sessionSemaphore.CurrentCount);
+ }
+
+ [TestMethod]
+ public void ExceptionShouldNeverHaveFired()
+ {
+ Assert.AreEqual(0, _channelExceptionRegister.Count);
+ }
+
+ [TestMethod]
+ public void ClosedEventShouldHaveFiredOnce()
+ {
+ Assert.AreEqual(1, _channelClosedRegister.Count);
+ Assert.AreEqual(_localChannelNumber, _channelClosedRegister[0].ChannelNumber);
+ }
+
+ [TestMethod]
+ public void IsOpenShouldReturnFalse()
+ {
+ Assert.IsFalse(_channel.IsOpen);
+ }
+ }
+}
diff --git a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageSuccess.cs b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageSuccess.cs
index 7772248c..5c950564 100644
--- a/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageSuccess.cs
+++ b/src/Renci.SshNet.Tests/Classes/Channels/ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageSuccess.cs
@@ -1,128 +1,128 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Moq;
-using Renci.SshNet.Channels;
-using Renci.SshNet.Common;
-using Renci.SshNet.Messages.Connection;
-
-namespace Renci.SshNet.Tests.Classes.Channels
-{
- [TestClass]
- public class ChannelSessionTest_Close_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageSuccess
- {
- private Mock _sessionMock;
- private uint _localChannelNumber;
- private uint _localWindowSize;
- private uint _localPacketSize;
- private uint _remoteChannelNumber;
- private uint _remoteWindowSize;
- private uint _remotePacketSize;
- private IList _channelClosedRegister;
- private List _channelExceptionRegister;
- private ChannelSession _channel;
- private Mock _connectionInfoMock;
- private MockSequence _sequence;
- private SemaphoreLight _sessionSemaphore;
- private int _initialSessionSemaphoreCount;
-
- [TestInitialize]
- public void Initialize()
- {
- Arrange();
- Act();
- }
-
- private void Arrange()
- {
- var random = new Random();
- _localChannelNumber = (uint) random.Next(0, int.MaxValue);
- _localWindowSize = (uint) random.Next(0, int.MaxValue);
- _localPacketSize = (uint) random.Next(0, int.MaxValue);
- _remoteChannelNumber = (uint) random.Next(0, int.MaxValue);
- _remoteWindowSize = (uint) random.Next(0, int.MaxValue);
- _remotePacketSize = (uint) random.Next(0, int.MaxValue);
- _channelClosedRegister = new List();
- _channelExceptionRegister = new List();
- _initialSessionSemaphoreCount = random.Next(10, 20);
- _sessionSemaphore = new SemaphoreLight(_initialSessionSemaphoreCount);
-
- _sessionMock = new Mock(MockBehavior.Strict);
- _connectionInfoMock = new Mock(MockBehavior.Strict);
-
- _sequence = new MockSequence();
- _sessionMock.InSequence(_sequence).Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
- _connectionInfoMock.InSequence(_sequence).Setup(p => p.RetryAttempts).Returns(1);
- _sessionMock.Setup(p => p.SessionSemaphore).Returns(_sessionSemaphore);
- _sessionMock.InSequence(_sequence)
- .Setup(
- p =>
- p.SendMessage(
- It.Is(
- m =>
- m.LocalChannelNumber == _localChannelNumber &&
- m.InitialWindowSize == _localWindowSize && m.MaximumPacketSize == _localPacketSize &&
- m.Info is SessionChannelOpenInfo)));
- _sessionMock.InSequence(_sequence)
- .Setup(p => p.WaitOnHandle(It.IsNotNull