From 5c2e2b4c4ac842e048d5ccc80265bf951018db9c Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Fri, 28 Feb 2020 21:46:39 +0100 Subject: [PATCH] Use SDK-style project where possible (#629) * Change Renci.SshNet project into SDK-style project supporting .NET 3.5, .NET 4.0; .NET Standard 1.3, .NET Standard 2.0. * Remove .NET 3.5 project. * Remove .NET 3.5 test project. * Refactor away .NET 3.5 and .NET 4.0 specific source files. * Remove .NET Core project. * Add VS 2019 solution. * Use VS 2019 image and solution file in AppVeyor. * Run tests against multi-target framework test project. * No need to shutdown socket when client disconnects. --- appveyor.yml | 10 +- runtest.cmd | 3 + .../Common/Extensions.NET35.cs | 38 - .../Properties/AssemblyInfo.cs | 8 - .../Renci.SshNet.NET35.csproj | 1416 ------------- .../Properties/AssemblyInfo.cs | 3 - .../Renci.SshNet.NETCore.csproj | 38 - .../Classes/ForwardedPortLocal.NET35.cs | 13 - .../Classes/ForwardedPortRemote.NET35.cs | 13 - .../Classes/SshCommandTest.NET35.cs | 13 - .../Properties/AssemblyInfo.cs | 5 - .../Properties/Resources.Designer.cs | 206 -- .../Properties/Resources.resx | 244 --- .../Renci.SshNet.Tests.NET35.csproj | 1785 ----------------- src/Renci.SshNet.Tests.NET35/packages.config | 4 - .../Common/ProxyExceptionTest.NET40.cs | 8 - .../Classes/ForwardedPortLocalTest.NET40.cs | 103 - .../Classes/ForwardedPortLocalTest.cs | 92 + .../Classes/ForwardedPortRemote.NET40.cs | 51 - .../Classes/ForwardedPortRemoteTest.cs | 41 + .../Classes/ScpClientTest.NET40.cs | 109 - .../Classes/ScpClientTest.cs | 99 + src/Renci.SshNet.Tests/Classes/ShellStream.cs | 13 - .../Classes/SshCommandTest.NET40.cs | 100 - .../Classes/SshCommandTest.cs | 98 + .../Common/AsyncSocketListener.cs | 1 - .../Properties/AssemblyInfo.cs | 5 - .../Renci.SshNet.Tests.csproj | 835 +------- src/Renci.SshNet.Tests/authorized_keys | 4 - src/Renci.SshNet.Tests/packages.config | 4 - src/Renci.SshNet.VS2017.sln | 45 +- src/Renci.SshNet.VS2019.sln | 82 + src/Renci.SshNet/BaseClient.cs | 4 +- src/Renci.SshNet/Common/Extensions.cs | 31 +- src/Renci.SshNet/Properties/AssemblyInfo.cs | 2 +- src/Renci.SshNet/Renci.SshNet.csproj | 660 +----- 36 files changed, 609 insertions(+), 5577 deletions(-) create mode 100644 runtest.cmd delete mode 100644 src/Renci.SshNet.NET35/Common/Extensions.NET35.cs delete mode 100644 src/Renci.SshNet.NET35/Properties/AssemblyInfo.cs delete mode 100644 src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj delete mode 100644 src/Renci.SshNet.NETCore/Properties/AssemblyInfo.cs delete mode 100644 src/Renci.SshNet.NETCore/Renci.SshNet.NETCore.csproj delete mode 100644 src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortLocal.NET35.cs delete mode 100644 src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortRemote.NET35.cs delete mode 100644 src/Renci.SshNet.Tests.NET35/Classes/SshCommandTest.NET35.cs delete mode 100644 src/Renci.SshNet.Tests.NET35/Properties/AssemblyInfo.cs delete mode 100644 src/Renci.SshNet.Tests.NET35/Properties/Resources.Designer.cs delete mode 100644 src/Renci.SshNet.Tests.NET35/Properties/Resources.resx delete mode 100644 src/Renci.SshNet.Tests.NET35/Renci.SshNet.Tests.NET35.csproj delete mode 100644 src/Renci.SshNet.Tests.NET35/packages.config delete mode 100644 src/Renci.SshNet.Tests/Classes/Common/ProxyExceptionTest.NET40.cs delete mode 100644 src/Renci.SshNet.Tests/Classes/ForwardedPortLocalTest.NET40.cs delete mode 100644 src/Renci.SshNet.Tests/Classes/ForwardedPortRemote.NET40.cs delete mode 100644 src/Renci.SshNet.Tests/Classes/ScpClientTest.NET40.cs delete mode 100644 src/Renci.SshNet.Tests/Classes/ShellStream.cs delete mode 100644 src/Renci.SshNet.Tests/Classes/SshCommandTest.NET40.cs delete mode 100644 src/Renci.SshNet.Tests/Properties/AssemblyInfo.cs delete mode 100644 src/Renci.SshNet.Tests/authorized_keys delete mode 100644 src/Renci.SshNet.Tests/packages.config create mode 100644 src/Renci.SshNet.VS2019.sln diff --git a/appveyor.yml b/appveyor.yml index ab8e88d5..c5bb4a18 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,14 +1,14 @@ -os: Visual Studio 2015 +os: Visual Studio 2019 before_build: - - nuget restore src\Renci.SshNet.VS2015.sln + - nuget restore src\Renci.SshNet.VS2019.sln build: - project: src\Renci.SshNet.VS2015.sln + project: src\Renci.SshNet.VS2019.sln verbosity: minimal test_script: - cmd: >- - vstest.console /logger:Appveyor src\Renci.SshNet.Tests\bin\Debug\Renci.SshNet.Tests.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning" + vstest.console /logger:Appveyor src\Renci.SshNet.Tests\bin\Debug\net40\Renci.SshNet.Tests.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning" - vstest.console /logger:Appveyor src\Renci.SshNet.Tests.NET35\bin\Debug\Renci.SshNet.Tests.NET35.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning" \ No newline at end of file + vstest.console /logger:Appveyor src\Renci.SshNet.Tests\bin\Debug\net35\Renci.SshNet.Tests.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning" \ No newline at end of file diff --git a/runtest.cmd b/runtest.cmd new file mode 100644 index 00000000..ad4c0f5a --- /dev/null +++ b/runtest.cmd @@ -0,0 +1,3 @@ +rem vstest.console src\Renci.SshNet.Tests\bin\Debug\net40\Renci.SshNet.Tests.dll "/TestCaseFilter:TestCategory=Gert + +vstest.console src\Renci.SshNet.Tests\bin\Debug\net40\Renci.SshNet.Tests.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning" \ 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 deleted file mode 100644 index ed198c00..00000000 --- a/src/Renci.SshNet.NET35/Common/Extensions.NET35.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Diagnostics; -using System.Security.Cryptography; -using System.Text; - -namespace Renci.SshNet.Common -{ - /// - /// Collection of different extension method specific for .NET 3.5 - /// - internal static partial class Extensions - { - /// - /// 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 deleted file mode 100644 index 9b3fcd24..00000000 --- a/src/Renci.SshNet.NET35/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index ffd2bce5..00000000 --- a/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj +++ /dev/null @@ -1,1416 +0,0 @@ - - - - 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_REGEX_COMPILE;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_APM;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HASH_RIPEMD160_CREATE;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;FEATURE_ECDSA - prompt - 4 - true - bin\Debug\Renci.SshNet.xml - 5 - - - none - true - bin\Release\ - TRACE;FEATURE_REGEX_COMPILE;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_APM;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HASH_RIPEMD160_CREATE;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;FEATURE_ECDSA - prompt - 4 - bin\Release\Renci.SshNet.xml - - - true - 5 - - - true - - - ..\Renci.SshNet.snk - - - - - - - - - Abstractions\CryptoAbstraction.cs - - - Abstractions\DiagnosticAbstraction.cs - - - Abstractions\DnsAbstraction.cs - - - Abstractions\FileSystemAbstraction.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\CountdownEvent.cs - - - Common\DerData.cs - - - Common\ExceptionEventArgs.cs - - - Common\Extensions.cs - - - Common\HostKeyEventArgs.cs - - - Common\NetConfServerException.cs - - - Common\ObjectIdentifier.cs - - - Common\Pack.cs - - - Common\PipeStream.cs - - - Common\PortForwardEventArgs.cs - - - Common\PosixPath.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 - - - ForwardedPortDynamic.NET.cs - - - ForwardedPortLocal.cs - - - ForwardedPortLocal.NET.cs - - - ForwardedPortRemote.cs - - - ForwardedPortStatus.cs - - - HashInfo.cs - - - IAuthenticationMethod.cs - - - IClientAuthentication.cs - - - IConnectionInfo.cs - - - IForwardedPort.cs - - - IRemotePathTransformation.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\CancelTcpIpForwardGlobalRequestMessage.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\Connection\TcpIpForwardGlobalRequestMessage.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 - - - RemotePathDoubleQuoteTransformation.cs - - - RemotePathNoneTransformation.cs - - - RemotePathShellQuoteTransformation.cs - - - RemotePathTransformation.cs - - - ScpClient.cs - - - ScpClient.NET.cs - - - Security\Algorithm.cs - - - Security\Cryptography\BouncyCastle\asn1\sec\SECNamedCurves.cs - - - Security\Cryptography\BouncyCastle\asn1\x9\X9Curve.cs - - - Security\Cryptography\BouncyCastle\asn1\x9\X9ECParameters.cs - - - Security\Cryptography\BouncyCastle\asn1\x9\X9ECParametersHolder.cs - - - Security\Cryptography\BouncyCastle\asn1\x9\X9ECPoint.cs - - - Security\Cryptography\BouncyCastle\crypto\agreement\ECDHCBasicAgreement.cs - - - Security\Cryptography\BouncyCastle\crypto\AsymmetricCipherKeyPair.cs - - - Security\Cryptography\BouncyCastle\crypto\AsymmetricKeyParameter.cs - - - Security\Cryptography\BouncyCastle\crypto\digests\GeneralDigest.cs - - - Security\Cryptography\BouncyCastle\crypto\digests\Sha256Digest.cs - - - Security\Cryptography\BouncyCastle\crypto\generators\ECKeyPairGenerator.cs - - - Security\Cryptography\BouncyCastle\crypto\IAsymmetricCipherKeyPairGenerator.cs - - - Security\Cryptography\BouncyCastle\crypto\IDigest.cs - - - Security\Cryptography\BouncyCastle\crypto\KeyGenerationParameters.cs - - - Security\Cryptography\BouncyCastle\crypto\parameters\ECDomainParameters.cs - - - Security\Cryptography\BouncyCastle\crypto\parameters\ECKeyGenerationParameters.cs - - - Security\Cryptography\BouncyCastle\crypto\parameters\ECKeyParameters.cs - - - Security\Cryptography\BouncyCastle\crypto\parameters\ECPrivateKeyParameters.cs - - - Security\Cryptography\BouncyCastle\crypto\parameters\ECPublicKeyParameters.cs - - - Security\Cryptography\BouncyCastle\crypto\prng\CryptoApiRandomGenerator.cs - - - Security\Cryptography\BouncyCastle\crypto\prng\DigestRandomGenerator.cs - - - Security\Cryptography\BouncyCastle\crypto\prng\IRandomGenerator.cs - - - Security\Cryptography\BouncyCastle\crypto\util\Pack.cs - - - Security\Cryptography\BouncyCastle\math\BigInteger.cs - - - Security\Cryptography\BouncyCastle\math\ec\abc\SimpleBigDecimal.cs - - - Security\Cryptography\BouncyCastle\math\ec\abc\Tnaf.cs - - - Security\Cryptography\BouncyCastle\math\ec\abc\ZTauElement.cs - - - Security\Cryptography\BouncyCastle\math\ec\ECAlgorithms.cs - - - Security\Cryptography\BouncyCastle\math\ec\ECCurve.cs - - - Security\Cryptography\BouncyCastle\math\ec\ECFieldElement.cs - - - Security\Cryptography\BouncyCastle\math\ec\ECLookupTable.cs - - - Security\Cryptography\BouncyCastle\math\ec\ECPoint.cs - - - Security\Cryptography\BouncyCastle\math\ec\ECPointMap.cs - - - Security\Cryptography\BouncyCastle\math\ec\endo\ECEndomorphism.cs - - - Security\Cryptography\BouncyCastle\math\ec\endo\GlvEndomorphism.cs - - - Security\Cryptography\BouncyCastle\math\ec\LongArray.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\AbstractECMultiplier.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\ECMultiplier.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\FixedPointCombMultiplier.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\FixedPointPreCompInfo.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\FixedPointUtilities.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\GlvMultiplier.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\IPreCompCallback.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\PreCompInfo.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\ValidityPreCompInfo.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\WNafL2RMultiplier.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\WNafPreCompInfo.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\WNafUtilities.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\WTauNafMultiplier.cs - - - Security\Cryptography\BouncyCastle\math\ec\multiplier\WTauNafPreCompInfo.cs - - - Security\Cryptography\BouncyCastle\math\field\FiniteFields.cs - - - Security\Cryptography\BouncyCastle\math\field\GenericPolynomialExtensionField.cs - - - Security\Cryptography\BouncyCastle\math\field\GF2Polynomial.cs - - - Security\Cryptography\BouncyCastle\math\field\IExtensionField.cs - - - Security\Cryptography\BouncyCastle\math\field\IFiniteField.cs - - - Security\Cryptography\BouncyCastle\math\field\IPolynomial.cs - - - Security\Cryptography\BouncyCastle\math\field\IPolynomialExtensionField.cs - - - Security\Cryptography\BouncyCastle\math\field\PrimeField.cs - - - Security\Cryptography\BouncyCastle\math\raw\Mod.cs - - - Security\Cryptography\BouncyCastle\math\raw\Nat.cs - - - Security\Cryptography\BouncyCastle\security\DigestUtilities.cs - - - Security\Cryptography\BouncyCastle\security\SecureRandom.cs - - - Security\Cryptography\BouncyCastle\security\SecurityUtilityException.cs - - - Security\Cryptography\BouncyCastle\util\Arrays.cs - - - Security\Cryptography\BouncyCastle\util\BigIntegers.cs - - - Security\Cryptography\BouncyCastle\util\encoders\Hex.cs - - - Security\Cryptography\BouncyCastle\util\encoders\HexEncoder.cs - - - Security\Cryptography\BouncyCastle\util\Enums.cs - - - Security\Cryptography\BouncyCastle\util\IMemoable.cs - - - Security\Cryptography\BouncyCastle\util\Integers.cs - - - Security\Cryptography\BouncyCastle\util\MemoableResetException.cs - - - Security\Cryptography\BouncyCastle\util\Times.cs - - - Security\CertificateHostAlgorithm.cs - - - Security\Cryptography\Chaos.NaCl\CryptoBytes.cs - - - Security\Cryptography\Chaos.NaCl\Ed25519.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Array16.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Array8.cs - - - Security\Cryptography\Chaos.NaCl\Internal\ByteIntegerConverter.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\base.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\base2.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\d.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\d2.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_0.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_1.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_add.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_cmov.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_cswap.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_frombytes.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_invert.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_isnegative.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_isnonzero.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_mul.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_mul121666.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_neg.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_pow22523.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_sq.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_sq2.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_sub.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\fe_tobytes.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\FieldElement.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_add.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_double_scalarmult.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_frombytes.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_madd.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_msub.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_p1p1_to_p2.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_p1p1_to_p3.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_p2_0.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_p2_dbl.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_p3_0.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_p3_dbl.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_p3_tobytes.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_p3_to_cached.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_p3_to_p2.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_precomp_0.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_scalarmult_base.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_sub.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\ge_tobytes.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\GroupElement.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\keypair.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\open.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\scalarmult.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\sc_clamp.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\sc_mul_add.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\sc_reduce.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\sign.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Ed25519Ref10\sqrtm1.cs - - - Security\Cryptography\Chaos.NaCl\Internal\InternalAssert.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Poly1305Donna.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Salsa\Salsa20.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Salsa\SalsaCore.cs - - - Security\Cryptography\Chaos.NaCl\Internal\Sha512Internal.cs - - - Security\Cryptography\Chaos.NaCl\MontgomeryCurve25519.cs - - - Security\Cryptography\Chaos.NaCl\Sha512.cs - - - Security\Cryptography\AsymmetricCipher.cs - - - Security\Cryptography\Bcrypt.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\ED25519DigitalSignature.cs - - - Security\Cryptography\ED25519Key.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\EcdsaDigitalSignature.cs - - - Security\Cryptography\EcdsaKey.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\KeyExchangeEC.cs - - - Security\KeyExchangeECCurve25519.cs - - - Security\KeyExchangeECDH.cs - - - Security\KeyExchangeECDH256.cs - - - Security\KeyExchangeECDH384.cs - - - Security\KeyExchangeECDH521.cs - - - Security\KeyHostAlgorithm.cs - - - ServiceFactory.cs - - - ServiceFactory.NET.cs - - - Session.cs - - - SftpClient.cs - - - Sftp\Flags.cs - - - Sftp\ISftpFileReader.cs - - - Sftp\ISftpResponseFactory.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\SftpCloseAsyncResult.cs - - - Sftp\SftpDownloadAsyncResult.cs - - - Sftp\SftpFile.cs - - - Sftp\SftpFileAttributes.cs - - - Sftp\SftpFileReader.cs - - - Sftp\SftpFileStream.cs - - - Sftp\SftpFileSystemInformation.cs - - - Sftp\SftpListDirectoryAsyncResult.cs - - - Sftp\SftpMessage.cs - - - Sftp\SftpMessageTypes.cs - - - Sftp\SftpOpenAsyncResult.cs - - - Sftp\SftpReadAsyncResult.cs - - - Sftp\SftpRealPathAsyncResult.cs - - - Sftp\SftpResponseFactory.cs - - - Sftp\SftpSession.cs - - - Sftp\SFtpStatAsyncResult.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 - - - - - - - - - - diff --git a/src/Renci.SshNet.NETCore/Properties/AssemblyInfo.cs b/src/Renci.SshNet.NETCore/Properties/AssemblyInfo.cs deleted file mode 100644 index d5769ab9..00000000 --- a/src/Renci.SshNet.NETCore/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using System.Reflection; - -[assembly: AssemblyTitle("SSH.NET")] diff --git a/src/Renci.SshNet.NETCore/Renci.SshNet.NETCore.csproj b/src/Renci.SshNet.NETCore/Renci.SshNet.NETCore.csproj deleted file mode 100644 index b288064e..00000000 --- a/src/Renci.SshNet.NETCore/Renci.SshNet.NETCore.csproj +++ /dev/null @@ -1,38 +0,0 @@ - - - netstandard1.3;netstandard2.0 - true - true - false - Renci.SshNet - ../Renci.SshNet.snk - 5 - true - - - - %(RecursiveDir)%(Filename)%(Extension) - - - - - - - - - - - - - - - - - - - FEATURE_ENCODING_ASCII;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_RNG_CREATE;FEATURE_SOCKET_TAP;FEATURE_SOCKET_EAP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_SELECT;FEATURE_SOCKET_POLL;FEATURE_SOCKET_DISPOSE;FEATURE_DNS_TAP;FEATURE_STREAM_TAP;FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_THREAD_TAP;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_WAITHANDLE_DISPOSE;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512 - - - FEATURE_ENCODING_ASCII;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_RNG_CREATE;FEATURE_SOCKET_TAP;FEATURE_SOCKET_APM;FEATURE_SOCKET_EAP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_SELECT;FEATURE_SOCKET_POLL;FEATURE_SOCKET_DISPOSE;FEATURE_DNS_SYNC;FEATURE_DNS_APM;FEATURE_DNS_TAP;FEATURE_STREAM_APM;FEATURE_STREAM_TAP;FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_THREAD_TAP;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_WAITHANDLE_DISPOSE;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_ECDSA - - diff --git a/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortLocal.NET35.cs b/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortLocal.NET35.cs deleted file mode 100644 index 2eec0336..00000000 --- a/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortLocal.NET35.cs +++ /dev/null @@ -1,13 +0,0 @@ -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 deleted file mode 100644 index 5b057ba1..00000000 --- a/src/Renci.SshNet.Tests.NET35/Classes/ForwardedPortRemote.NET35.cs +++ /dev/null @@ -1,13 +0,0 @@ -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 deleted file mode 100644 index 8f95bf3f..00000000 --- a/src/Renci.SshNet.Tests.NET35/Classes/SshCommandTest.NET35.cs +++ /dev/null @@ -1,13 +0,0 @@ -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 deleted file mode 100644 index 01506232..00000000 --- a/src/Renci.SshNet.Tests.NET35/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 54bef950..00000000 --- a/src/Renci.SshNet.Tests.NET35/Properties/Resources.Designer.cs +++ /dev/null @@ -1,206 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 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 deleted file mode 100644 index b1605aba..00000000 --- a/src/Renci.SshNet.Tests.NET35/Properties/Resources.resx +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 deleted file mode 100644 index abeeb691..00000000 --- a/src/Renci.SshNet.Tests.NET35/Renci.SshNet.Tests.NET35.csproj +++ /dev/null @@ -1,1785 +0,0 @@ - - - - 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 - 5 - - - 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\ForwardedPortStatusTest_Started.cs - - - Classes\ForwardedPortStatusTest_Starting.cs - - - Classes\ForwardedPortStatusTest_Stopped.cs - - - Classes\ForwardedPortStatusTest_Stopping.cs - - - Classes\BaseClientTest_Connected_KeepAliveInterval_NegativeOne.cs - - - Classes\BaseClientTest_Connected_KeepAliveInterval_NotNegativeOne.cs - - - Classes\BaseClientTest_Connected_KeepAlivesNotSentConcurrently.cs - - - Classes\BaseClientTest_Connect_OnConnectedThrowsException.cs - - - Classes\BaseClientTest_Disconnected_KeepAliveInterval_NotNegativeOne.cs - - - Classes\BaseClientTest_NotConnected_KeepAliveInterval_NotNegativeOne.cs - - - Classes\Channels\ChannelDirectTcpipTest.cs - - - Classes\Channels\ChannelDirectTcpipTest_Dispose_SessionIsConnectedAndChannelIsOpen.cs - - - Classes\Channels\ChannelForwardedTcpipTest_Dispose_SessionIsConnectedAndChannelIsOpen.cs - - - Classes\Channels\ChannelSessionTestBase.cs - - - Classes\Channels\ChannelSessionTest_Disposed_Closed.cs - - - Classes\Channels\ChannelSessionTest_Dispose_Disposed.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageSuccess.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelEofReceived_SendChannelCloseMessageFailure.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelEofReceived_SendChannelCloseMessageSuccess.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived_SendChannelEofMessageFailure.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsNotConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsNotConnectedAndChannelIsOpen_ChannelCloseReceived.cs - - - Classes\Channels\ChannelSessionTest_Dispose_SessionIsNotConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived.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\ChannelTestBase.cs - - - Classes\Channels\ChannelTest_Dispose_SessionIsConnectedAndChannelIsNotOpen.cs - - - Classes\Channels\ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofNotReceived.cs - - - Classes\Channels\ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofNotReceived_SendEofInvoked.cs - - - Classes\Channels\ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofReceived.cs - - - Classes\Channels\ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofReceived_DisconnectWaitingForChannelCloseMessage.cs - - - Classes\Channels\ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofReceived_TimeoutWaitingForChannelCloseMessage.cs - - - Classes\Channels\ChannelTest_Dispose_SessionIsNotConnectedAndChannelIsNotOpen.cs - - - Classes\Channels\ChannelTest_Dispose_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\ClientAuthenticationTest.cs - - - Classes\ClientAuthenticationTestBase.cs - - - Classes\ClientAuthenticationTest_Failure_MultiList_AllAllowedAuthenticationsHaveReachedPartialSuccessLimit.cs - - - Classes\ClientAuthenticationTest_Failure_SingleList_AuthenticationMethodFailed.cs - - - Classes\ClientAuthenticationTest_Failure_SingleList_AuthenticationMethodNotConfigured.cs - - - Classes\ClientAuthenticationTest_Success_MultiList_DifferentAllowedAuthenticationsAfterPartialSuccess.cs - - - Classes\ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedByFailureInAlternateBranch.cs - - - Classes\ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedByFailureInAlternateBranch2.cs - - - Classes\ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedByFailureInSameBranch.cs - - - Classes\ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedBySuccessInAlternateBranch.cs - - - Classes\ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedBySuccessInSameBranch.cs - - - Classes\ClientAuthenticationTest_Success_MultiList_SameAllowedAuthenticationsAfterPartialSuccess.cs - - - Classes\ClientAuthenticationTest_Success_MultiList_SkipFailedAuthenticationMethod.cs - - - Classes\ClientAuthenticationTest_Success_SingleList_SameAllowedAuthenticationAfterPartialSuccess.cs - - - Classes\ClientAuthenticationTest_Success_SingleList_SameAllowedAuthenticationAfterPartialSuccess_PartialSuccessLimitReached.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\CountdownEventTest.cs - - - Classes\Common\CountdownEventTest_Dispose_NotSet.cs - - - Classes\Common\CountdownEventTest_Dispose_Set.cs - - - Classes\Common\DerDataTest.cs - - - Classes\Common\ExceptionEventArgsTest.cs - - - Classes\Common\ExtensionsTest_Concat.cs - - - Classes\Common\ExtensionsTest_IsEqualTo_ByteArray.cs - - - Classes\Common\ExtensionsTest_Reverse.cs - - - Classes\Common\ExtensionsTest_Take_Count.cs - - - Classes\Common\ExtensionsTest_Take_OffsetAndCount.cs - - - Classes\Common\ExtensionsTest_ToBigInteger2.cs - - - Classes\Common\ExtensionsTest_Pad.cs - - - Classes\Common\ExtensionsTest_TrimLeadingZeros.cs - - - Classes\Common\HostKeyEventArgsTest.cs - - - Classes\Common\NetConfServerExceptionTest.cs - - - Classes\Common\ObjectIdentifierTest.cs - - - Classes\Common\PipeStreamTest.cs - - - Classes\Common\PipeStream_Close_BlockingRead.cs - - - Classes\Common\PipeStream_Close_BlockingWrite.cs - - - Classes\Common\PipeStream_Flush_BytesRemainingAfterRead.cs - - - Classes\Common\PipeStream_Flush_NoBytesRemainingAfterRead.cs - - - Classes\Common\PortForwardEventArgsTest.cs - - - Classes\Common\PosixPathTest_GetFileName.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\RemotePathDoubleQuoteTransformationTest.cs - - - Classes\RemotePathShellQuoteTransformationTest.cs - - - Classes\ScpClientTest.cs - - - Classes\ScpClientTestBase.cs - - - Classes\ScpClientTest_Download_PathAndDirectoryInfo_SendExecRequestReturnsFalse.cs - - - Classes\ScpClientTest_Download_PathAndFileInfo_SendExecRequestReturnsFalse.cs - - - Classes\ScpClientTest_Download_PathAndStream_SendExecRequestReturnsFalse.cs - - - Classes\ScpClientTest_Upload_DirectoryInfoAndPath_SendExecRequestReturnsFalse.cs - - - Classes\ScpClientTest_Upload_FileInfoAndPath_SendExecRequestReturnsFalse.cs - - - Classes\ScpClientTest_Upload_FileInfoAndPath_Success.cs - - - Classes\ScpClientTest_Upload_StreamAndPath_SendExecRequestReturnsFalse.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\ServiceFactoryTest_CreateSftpFileReader_EndLStatThrowsSshException.cs - - - Classes\ServiceFactoryTest_CreateSftpFileReader_FileSizeIsAlmostSixTimesGreaterThanChunkSize.cs - - - Classes\ServiceFactoryTest_CreateSftpFileReader_FileSizeIsEqualToChunkSize.cs - - - Classes\ServiceFactoryTest_CreateSftpFileReader_FileSizeIsExactlyFiveTimesGreaterThanChunkSize.cs - - - Classes\ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLessThanChunkSize.cs - - - Classes\ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLittleMoreThanFiveTimesGreaterThanChunkSize.cs - - - Classes\ServiceFactoryTest_CreateSftpFileReader_FileSizeIsMoreThanTenTimesGreaterThanChunkSize.cs - - - Classes\ServiceFactoryTest_CreateSftpFileReader_FileSizeIsZero.cs - - - Classes\ServiceFactoryTest_CreateShellStream_ChannelOpenThrowsException.cs - - - Classes\ServiceFactoryTest_CreateShellStream_SendPseudoTerminalRequestReturnsFalse.cs - - - Classes\ServiceFactoryTest_CreateShellStream_SendPseudoTerminalRequestThrowsException.cs - - - Classes\ServiceFactoryTest_CreateShellStream_SendShellRequestReturnsFalse.cs - - - Classes\ServiceFactoryTest_CreateShellStream_SendShellRequestThrowsException.cs - - - Classes\ServiceFactoryTest_CreateShellStream_Success.cs - - - Classes\SessionTest.cs - - - Classes\SessionTest.HttpProxy.cs - - - Classes\SessionTest_Connected.cs - - - Classes\SessionTest_ConnectedBase.cs - - - Classes\SessionTest_Connected_ConnectionReset.cs - - - Classes\SessionTest_Connected_Disconnect.cs - - - Classes\SessionTest_Connected_GlobalRequestMessageAfterAuthenticationRace.cs - - - Classes\SessionTest_Connected_ServerAndClientDisconnectRace.cs - - - Classes\SessionTest_Connected_ServerSendsBadPacket.cs - - - Classes\SessionTest_Connected_ServerSendsDisconnectMessage.cs - - - Classes\SessionTest_Connected_ServerSendsDisconnectMessageAndShutsDownSocket.cs - - - Classes\SessionTest_Connected_ServerSendsUnsupportedMessageType.cs - - - Classes\SessionTest_Connected_ServerShutsDownSendAfterSendingIncompletePacket.cs - - - Classes\SessionTest_Connected_ServerShutsDownSocket.cs - - - Classes\SessionTest_NotConnected.cs - - - Classes\SessionTest_SocketConnected_BadPacketAndDispose.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\SftpDataResponseBuilder.cs - - - Classes\Sftp\SftpDownloadAsyncResultTest.cs - - - Classes\Sftp\SftpFileAttributesTest.cs - - - Classes\Sftp\SftpFileReaderTestBase.cs - - - Classes\Sftp\SftpFileReaderTest_DisposeShouldUnblockReadAndReadAhead.cs - - - Classes\Sftp\SftpFileReaderTest_Dispose_SftpSessionIsNotOpen.cs - - - Classes\Sftp\SftpFileReaderTest_Dispose_SftpSessionIsOpen_BeginCloseThrowsException.cs - - - Classes\Sftp\SftpFileReaderTest_Dispose_SftpSessionIsOpen_EndCloseThrowsException.cs - - - Classes\Sftp\SftpFileReaderTest_LastChunkBeforeEofIsComplete.cs - - - Classes\Sftp\SftpFileReaderTest_LastChunkBeforeEofIsPartial.cs - - - Classes\Sftp\SftpFileReaderTest_PreviousChunkIsIncompleteAndEofIsNotReached.cs - - - Classes\Sftp\SftpFileReaderTest_PreviousChunkIsIncompleteAndEofIsReached.cs - - - Classes\Sftp\SftpFileReaderTest_ReadAheadBeginReadException.cs - - - Classes\Sftp\SftpFileReaderTest_ReadAheadEndInvokeException_DiscardsFurtherReadAheads.cs - - - Classes\Sftp\SftpFileReaderTest_ReadAheadEndInvokeException_PreventsFurtherReadAheads.cs - - - Classes\Sftp\SftpFileReaderTest_ReadBackBeginReadException.cs - - - Classes\Sftp\SftpFileReaderTest_ReadBackEndInvokeException.cs - - - Classes\Sftp\SftpFileReaderTest_Read_ReadAheadExceptionInWaitOnHandle_ChunkAvailable.cs - - - Classes\Sftp\SftpFileReaderTest_Read_ReadAheadExceptionInWaitOnHandle_NoChunkAvailable.cs - - - Classes\Sftp\SftpFileReaderTest_Read_ReahAheadExceptionInBeginRead.cs - - - Classes\Sftp\SftpFileStreamTestBase.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_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_Close_Closed.cs - - - Classes\Sftp\SftpFileStreamTest_Close_Disposed.cs - - - Classes\Sftp\SftpFileStreamTest_Close_SessionNotOpen.cs - - - Classes\Sftp\SftpFileStreamTest_Close_SessionOpen.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileAccessInvalid.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeAppend_FileAccessRead.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeAppend_FileAccessReadWrite.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeAppend_FileAccessWrite.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeCreateNew_FileAccessRead.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeCreateNew_FileAccessReadWrite.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeCreateNew_FileAccessWrite.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeCreate_FileAccessRead.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeCreate_FileAccessReadWrite_FileDoesNotExist.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeCreate_FileAccessReadWrite_FileExists.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeCreate_FileAccessWrite_FileDoesNotExist.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeCreate_FileAccessWrite_FileExists.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeInvalid.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeOpenOrCreate_FileAccessRead.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeOpenOrCreate_FileAccessReadWrite.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeOpenOrCreate_FileAccessWrite.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeOpen_FileAccessRead.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeOpen_FileAccessReadWrite.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeOpen_FileAccessWrite.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeTruncate_FileAccessRead.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeTruncate_FileAccessReadWrite.cs - - - Classes\Sftp\SftpFileStreamTest_Ctor_FileModeTruncate_FileAccessWrite.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_Flush_ReadMode_DataInBuffer_NotReadFromBuffer.cs - - - Classes\Sftp\SftpFileStreamTest_Flush_ReadMode_DataInBuffer_ReadFromBuffer.cs - - - Classes\Sftp\SftpFileStreamTest_Flush_ReadMode_NoDataInBuffer.cs - - - Classes\Sftp\SftpFileStreamTest_Flush_SessionNotOpen.cs - - - Classes\Sftp\SftpFileStreamTest_Flush_WriteMode_DataInBuffer.cs - - - Classes\Sftp\SftpFileStreamTest_Flush_WriteMode_NoDataInBuffer.cs - - - Classes\Sftp\SftpFileStreamTest_ReadByte_ReadMode_NoDataInWriteBufferAndNoDataInReadBuffer_Eof.cs - - - Classes\Sftp\SftpFileStreamTest_ReadByte_ReadMode_NoDataInWriteBufferAndNoDataInReadBuffer_LessDataThanReadBufferSizeAvailable.cs - - - Classes\Sftp\SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs - - - Classes\Sftp\SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs - - - Classes\Sftp\SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs - - - Classes\Sftp\SftpFileStreamTest_Seek_PositionedAtBeginningOfStream_OriginBeginAndOffsetNegative.cs - - - Classes\Sftp\SftpFileStreamTest_Seek_PositionedAtBeginningOfStream_OriginBeginAndOffsetPositive.cs - - - Classes\Sftp\SftpFileStreamTest_Seek_PositionedAtBeginningOfStream_OriginBeginAndOffsetZero.cs - - - Classes\Sftp\SftpFileStreamTest_Seek_PositionedAtMiddleOfStream_OriginBeginAndOffsetZero_NoBuffering.cs - - - Classes\Sftp\SftpFileStreamTest_Seek_PositionedAtMiddleOfStream_OriginBeginAndOffsetZero_ReadBuffer.cs - - - Classes\Sftp\SftpFileStreamTest_SetLength_Closed.cs - - - Classes\Sftp\SftpFileStreamTest_SetLength_DataInReadBuffer_NewLengthGreatherThanPosition.cs - - - Classes\Sftp\SftpFileStreamTest_SetLength_DataInReadBuffer_NewLengthLessThanPosition.cs - - - Classes\Sftp\SftpFileStreamTest_SetLength_DataInWriteBuffer_NewLengthGreatherThanPosition.cs - - - Classes\Sftp\SftpFileStreamTest_SetLength_DataInWriteBuffer_NewLengthLessThanPosition.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\SftpFileStreamTest_Write_SessionOpen_CountGreatherThanTwoTimesTheWriteBufferSize.cs - - - Classes\Sftp\SftpFileSystemInformationTest.cs - - - Classes\Sftp\SftpFileTest.cs - - - Classes\Sftp\SftpHandleResponseBuilder.cs - - - Classes\Sftp\SftpInitRequestBuilder.cs - - - Classes\Sftp\SftpListDirectoryAsyncResultTest.cs - - - Classes\Sftp\SftpNameResponseBuilder.cs - - - Classes\Sftp\SftpOpenRequestBuilder.cs - - - Classes\Sftp\SftpReadRequestBuilder.cs - - - Classes\Sftp\SftpRealPathRequestBuilder.cs - - - Classes\Sftp\SftpSessionTest_Connected_RequestRead.cs - - - Classes\Sftp\SftpSessionTest_Connected_RequestStatVfs.cs - - - Classes\Sftp\SftpSessionTest_DataReceived_MultipleSftpMessagesInSingleSshDataMessage.cs - - - Classes\Sftp\SftpSessionTest_DataReceived_MultipleSftpMessagesSplitOverMultipleSshDataMessages.cs - - - Classes\Sftp\SftpSessionTest_DataReceived_SingleSftpMessageInSshDataMessage.cs - - - Classes\Sftp\SftpStatVfsRequestBuilder.cs - - - Classes\Sftp\SftpStatVfsResponseBuilder.cs - - - Classes\Sftp\SftpSynchronizeDirectoriesAsyncResultTest.cs - - - Classes\Sftp\SftpUploadAsyncResultTest.cs - - - Classes\Sftp\SftpVersionResponseBuilder.cs - - - Classes\ShellStreamTest.cs - - - Classes\ShellStreamTest_Write_WriteBufferEmptyAndWriteLessBytesThanBufferSize.cs - - - Classes\ShellStreamTest_Write_WriteBufferEmptyAndWriteMoreBytesThanBufferSize.cs - - - Classes\ShellStreamTest_Write_WriteBufferEmptyAndWriteNumberOfBytesEqualToBufferSize.cs - - - Classes\ShellStreamTest_Write_WriteBufferEmptyAndWriteZeroBytes.cs - - - Classes\ShellStreamTest_Write_WriteBufferFullAndWriteLessBytesThanBufferSize.cs - - - Classes\ShellStreamTest_Write_WriteBufferFullAndWriteZeroBytes.cs - - - Classes\ShellStreamTest_Write_WriteBufferNotEmptyAndWriteLessBytesThanBufferCanContain.cs - - - Classes\ShellStreamTest_Write_WriteBufferNotEmptyAndWriteMoreBytesThanBufferCanContain.cs - - - Classes\ShellStreamTest_Write_WriteBufferNotEmptyAndWriteZeroBytes.cs - - - Classes\ShellTestTest.cs - - - Classes\SshClientTest.cs - - - Classes\SshClientTest_CreateShellStream_TerminalNameAndColumnsAndRowsAndWidthAndHeightAndBufferSizeAndTerminalModes_Connected.cs - - - Classes\SshClientTest_CreateShellStream_TerminalNameAndColumnsAndRowsAndWidthAndHeightAndBufferSize_Connected.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_Connect_SendSubsystemRequestFails.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\ArrayBuilder.cs - - - Common\AsyncSocketListener.cs - - - Common\DictionaryAssert.cs - - - Common\Extensions.cs - - - Common\HttpProxyStub.cs - - - Common\HttpRequest.cs - - - Common\SftpFileAttributesBuilder.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 - - - - - Data\Key.ECDSA.txt - - - Data\Key.ECDSA384.txt - - - Data\Key.ECDSA521.txt - - - Data\Key.ECDSA.Encrypted.txt - - - Data\Key.ECDSA384.Encrypted.txt - - - Data\Key.ECDSA521.Encrypted.txt - - - Data\Key.OPENSSH.ED25519.Encrypted.txt - - - Data\Key.OPENSSH.ED25519.txt - - - - - - - - - - diff --git a/src/Renci.SshNet.Tests.NET35/packages.config b/src/Renci.SshNet.Tests.NET35/packages.config deleted file mode 100644 index e9365957..00000000 --- a/src/Renci.SshNet.Tests.NET35/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/Classes/Common/ProxyExceptionTest.NET40.cs b/src/Renci.SshNet.Tests/Classes/Common/ProxyExceptionTest.NET40.cs deleted file mode 100644 index 711878dc..00000000 --- a/src/Renci.SshNet.Tests/Classes/Common/ProxyExceptionTest.NET40.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Renci.SshNet.Tests.Common; - -namespace Renci.SshNet.Tests.Classes.Common -{ - public partial class ProxyExceptionTest : TestBase - { - } -} \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/Classes/ForwardedPortLocalTest.NET40.cs b/src/Renci.SshNet.Tests/Classes/ForwardedPortLocalTest.NET40.cs deleted file mode 100644 index 115fe662..00000000 --- a/src/Renci.SshNet.Tests/Classes/ForwardedPortLocalTest.NET40.cs +++ /dev/null @@ -1,103 +0,0 @@ -using System; -using System.Diagnostics; -using System.IO; -using System.Net; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Renci.SshNet.Common; -using Renci.SshNet.Tests.Properties; - -namespace Renci.SshNet.Tests.Classes -{ - public partial class ForwardedPortLocalTest - { - [TestMethod] - [TestCategory("integration")] - [ExpectedException(typeof(SshConnectionException))] - public void Test_PortForwarding_Local_Without_Connecting() - { - using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) - { - var port1 = new ForwardedPortLocal("localhost", 8084, "www.renci.org", 80); - client.AddForwardedPort(port1); - port1.Exception += delegate(object sender, ExceptionEventArgs e) - { - Assert.Fail(e.Exception.ToString()); - }; - port1.Start(); - - System.Threading.Tasks.Parallel.For(0, 100, - - //new ParallelOptions - //{ - // MaxDegreeOfParallelism = 20, - //}, - (counter) => - { - var start = DateTime.Now; - var req = HttpWebRequest.Create("http://localhost:8084"); - using (var response = req.GetResponse()) - { - var data = ReadStream(response.GetResponseStream()); - var end = DateTime.Now; - - Debug.WriteLine(string.Format("Request# {2}: Lenght: {0} Time: {1}", data.Length, (end - start), counter)); - } - } - ); - } - } - - [TestMethod] - [TestCategory("integration")] - public void Test_PortForwarding_Local() - { - using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) - { - client.Connect(); - var port1 = new ForwardedPortLocal("localhost", 8084, "www.renci.org", 80); - client.AddForwardedPort(port1); - port1.Exception += delegate(object sender, ExceptionEventArgs e) - { - Assert.Fail(e.Exception.ToString()); - }; - port1.Start(); - - System.Threading.Tasks.Parallel.For(0, 100, - - //new ParallelOptions - //{ - // MaxDegreeOfParallelism = 20, - //}, - (counter) => - { - var start = DateTime.Now; - var req = HttpWebRequest.Create("http://localhost:8084"); - using (var response = req.GetResponse()) - { - var data = ReadStream(response.GetResponseStream()); - var end = DateTime.Now; - - Debug.WriteLine(string.Format("Request# {2}: Length: {0} Time: {1}", data.Length, (end - start), counter)); - } - } - ); - } - } - - private static byte[] ReadStream(Stream stream) - { - byte[] buffer = new byte[1024]; - using (var ms = new MemoryStream()) - { - while (true) - { - int read = stream.Read(buffer, 0, buffer.Length); - if (read > 0) - ms.Write(buffer, 0, read); - else - return ms.ToArray(); - } - } - } - } -} \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/Classes/ForwardedPortLocalTest.cs b/src/Renci.SshNet.Tests/Classes/ForwardedPortLocalTest.cs index 26b6dfd1..13b2c81b 100644 --- a/src/Renci.SshNet.Tests/Classes/ForwardedPortLocalTest.cs +++ b/src/Renci.SshNet.Tests/Classes/ForwardedPortLocalTest.cs @@ -187,5 +187,97 @@ namespace Renci.SshNet.Tests.Classes } Assert.Inconclusive("TODO: Implement code to verify target"); } + +#if FEATURE_TPL + [TestMethod] + [TestCategory("integration")] + [ExpectedException(typeof(SshConnectionException))] + public void Test_PortForwarding_Local_Without_Connecting() + { + using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) + { + var port1 = new ForwardedPortLocal("localhost", 8084, "www.renci.org", 80); + client.AddForwardedPort(port1); + port1.Exception += delegate (object sender, ExceptionEventArgs e) + { + Assert.Fail(e.Exception.ToString()); + }; + port1.Start(); + + System.Threading.Tasks.Parallel.For(0, 100, + + //new ParallelOptions + //{ + // MaxDegreeOfParallelism = 20, + //}, + (counter) => + { + var start = DateTime.Now; + var req = HttpWebRequest.Create("http://localhost:8084"); + using (var response = req.GetResponse()) + { + var data = ReadStream(response.GetResponseStream()); + var end = DateTime.Now; + + Debug.WriteLine(string.Format("Request# {2}: Lenght: {0} Time: {1}", data.Length, (end - start), counter)); + } + } + ); + } + } + + [TestMethod] + [TestCategory("integration")] + public void Test_PortForwarding_Local() + { + using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) + { + client.Connect(); + var port1 = new ForwardedPortLocal("localhost", 8084, "www.renci.org", 80); + client.AddForwardedPort(port1); + port1.Exception += delegate (object sender, ExceptionEventArgs e) + { + Assert.Fail(e.Exception.ToString()); + }; + port1.Start(); + + System.Threading.Tasks.Parallel.For(0, 100, + + //new ParallelOptions + //{ + // MaxDegreeOfParallelism = 20, + //}, + (counter) => + { + var start = DateTime.Now; + var req = HttpWebRequest.Create("http://localhost:8084"); + using (var response = req.GetResponse()) + { + var data = ReadStream(response.GetResponseStream()); + var end = DateTime.Now; + + Debug.WriteLine(string.Format("Request# {2}: Length: {0} Time: {1}", data.Length, (end - start), counter)); + } + } + ); + } + } + + private static byte[] ReadStream(System.IO.Stream stream) + { + byte[] buffer = new byte[1024]; + using (var ms = new System.IO.MemoryStream()) + { + while (true) + { + int read = stream.Read(buffer, 0, buffer.Length); + if (read > 0) + ms.Write(buffer, 0, read); + else + return ms.ToArray(); + } + } + } +#endif // FEATURE_TPL } } \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/Classes/ForwardedPortRemote.NET40.cs b/src/Renci.SshNet.Tests/Classes/ForwardedPortRemote.NET40.cs deleted file mode 100644 index d57ec634..00000000 --- a/src/Renci.SshNet.Tests/Classes/ForwardedPortRemote.NET40.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Diagnostics; -using System.Threading; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Renci.SshNet.Common; -using Renci.SshNet.Tests.Properties; - -namespace Renci.SshNet.Tests.Classes -{ - public partial class ForwardedPortRemoteTest - { - [TestMethod] - [TestCategory("integration")] - public void Test_PortForwarding_Remote() - { - // ****************************************************************** - // ************* Tests are still in not finished ******************** - // ****************************************************************** - - using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) - { - client.Connect(); - var port1 = new ForwardedPortRemote(8082, "www.renci.org", 80); - client.AddForwardedPort(port1); - port1.Exception += delegate(object sender, ExceptionEventArgs e) - { - Assert.Fail(e.Exception.ToString()); - }; - port1.Start(); - var boundport = port1.BoundPort; - - System.Threading.Tasks.Parallel.For(0, 5, - - //new ParallelOptions - //{ - // MaxDegreeOfParallelism = 1, - //}, - (counter) => - { - var cmd = client.CreateCommand(string.Format("wget -O- http://localhost:{0}", boundport)); - var result = cmd.Execute(); - var end = DateTime.Now; - Debug.WriteLine(string.Format("Length: {0}", result.Length)); - } - ); - Thread.Sleep(1000 * 100); - port1.Stop(); - } - } - } -} \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/Classes/ForwardedPortRemoteTest.cs b/src/Renci.SshNet.Tests/Classes/ForwardedPortRemoteTest.cs index fe6f43bf..3a99441d 100644 --- a/src/Renci.SshNet.Tests/Classes/ForwardedPortRemoteTest.cs +++ b/src/Renci.SshNet.Tests/Classes/ForwardedPortRemoteTest.cs @@ -150,5 +150,46 @@ namespace Renci.SshNet.Tests.Classes ForwardedPortRemote target = new ForwardedPortRemote(boundPort, host, port); Assert.Inconclusive("TODO: Implement code to verify target"); } + +#if FEATURE_TPL + [TestMethod] + [TestCategory("integration")] + public void Test_PortForwarding_Remote() + { + // ****************************************************************** + // ************* Tests are still in not finished ******************** + // ****************************************************************** + + using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) + { + client.Connect(); + var port1 = new ForwardedPortRemote(8082, "www.renci.org", 80); + client.AddForwardedPort(port1); + port1.Exception += delegate (object sender, ExceptionEventArgs e) + { + Assert.Fail(e.Exception.ToString()); + }; + port1.Start(); + var boundport = port1.BoundPort; + + System.Threading.Tasks.Parallel.For(0, 5, + + //new ParallelOptions + //{ + // MaxDegreeOfParallelism = 1, + //}, + (counter) => + { + var cmd = client.CreateCommand(string.Format("wget -O- http://localhost:{0}", boundport)); + var result = cmd.Execute(); + var end = DateTime.Now; + System.Diagnostics.Debug.WriteLine(string.Format("Length: {0}", result.Length)); + } + ); + Thread.Sleep(1000 * 100); + port1.Stop(); + } + } +#endif // FEATURE_TPL } } \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/Classes/ScpClientTest.NET40.cs b/src/Renci.SshNet.Tests/Classes/ScpClientTest.NET40.cs deleted file mode 100644 index fce6e505..00000000 --- a/src/Renci.SshNet.Tests/Classes/ScpClientTest.NET40.cs +++ /dev/null @@ -1,109 +0,0 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Renci.SshNet.Common; -using Renci.SshNet.Tests.Properties; -using System.IO; -using System.Linq; -using System.Threading.Tasks; - -namespace Renci.SshNet.Tests.Classes -{ - /// - /// Provides SCP client functionality. - /// - public partial class ScpClientTest - { - [TestMethod] - [TestCategory("Scp")] - [TestCategory("integration")] - public void Test_Scp_File_20_Parallel_Upload_Download() - { - using (var scp = new ScpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) - { - scp.Connect(); - - var uploadFilenames = new string[20]; - for (int i = 0; i < uploadFilenames.Length; i++) - { - uploadFilenames[i] = Path.GetTempFileName(); - this.CreateTestFile(uploadFilenames[i], 1); - } - - Parallel.ForEach(uploadFilenames, - (filename) => - { - scp.Upload(new FileInfo(filename), Path.GetFileName(filename)); - }); - - Parallel.ForEach(uploadFilenames, - (filename) => - { - scp.Download(Path.GetFileName(filename), new FileInfo(string.Format("{0}.down", filename))); - }); - - var result = from file in uploadFilenames - where - CalculateMD5(file) == CalculateMD5(string.Format("{0}.down", file)) - select file; - - scp.Disconnect(); - - Assert.IsTrue(result.Count() == uploadFilenames.Length); - } - } - - [TestMethod] - [TestCategory("Scp")] - [TestCategory("integration")] - public void Test_Scp_File_Upload_Download_Events() - { - using (var scp = new ScpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) - { - scp.Connect(); - - var uploadFilenames = new string[10]; - - for (int i = 0; i < uploadFilenames.Length; i++) - { - uploadFilenames[i] = Path.GetTempFileName(); - this.CreateTestFile(uploadFilenames[i], 1); - } - - var uploadedFiles = uploadFilenames.ToDictionary((filename) => Path.GetFileName(filename), (filename) => 0L); - var downloadedFiles = uploadFilenames.ToDictionary((filename) => string.Format("{0}.down", Path.GetFileName(filename)), (filename) => 0L); - - scp.Uploading += delegate(object sender, ScpUploadEventArgs e) - { - uploadedFiles[e.Filename] = e.Uploaded; - }; - - scp.Downloading += delegate(object sender, ScpDownloadEventArgs e) - { - downloadedFiles[string.Format("{0}.down", e.Filename)] = e.Downloaded; - }; - - Parallel.ForEach(uploadFilenames, - (filename) => - { - scp.Upload(new FileInfo(filename), Path.GetFileName(filename)); - }); - - Parallel.ForEach(uploadFilenames, - (filename) => - { - scp.Download(Path.GetFileName(filename), new FileInfo(string.Format("{0}.down", filename))); - }); - - var result = from uf in uploadedFiles - from df in downloadedFiles - where - string.Format("{0}.down", uf.Key) == df.Key - && uf.Value == df.Value - select uf; - - scp.Disconnect(); - - Assert.IsTrue(result.Count() == uploadFilenames.Length && uploadFilenames.Length == uploadedFiles.Count && uploadedFiles.Count == downloadedFiles.Count); - } - } - } -} \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/Classes/ScpClientTest.cs b/src/Renci.SshNet.Tests/Classes/ScpClientTest.cs index a7f7da14..038d952e 100644 --- a/src/Renci.SshNet.Tests/Classes/ScpClientTest.cs +++ b/src/Renci.SshNet.Tests/Classes/ScpClientTest.cs @@ -7,6 +7,9 @@ using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; +#if FEATURE_TPL +using System.Threading.Tasks; +#endif // FEATURE_TPL namespace Renci.SshNet.Tests.Classes { @@ -536,6 +539,102 @@ namespace Renci.SshNet.Tests.Classes Assert.Inconclusive("A method that does not return a value cannot be verified."); } +#if FEATURE_TPL + [TestMethod] + [TestCategory("Scp")] + [TestCategory("integration")] + public void Test_Scp_File_20_Parallel_Upload_Download() + { + using (var scp = new ScpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) + { + scp.Connect(); + + var uploadFilenames = new string[20]; + for (int i = 0; i < uploadFilenames.Length; i++) + { + uploadFilenames[i] = Path.GetTempFileName(); + this.CreateTestFile(uploadFilenames[i], 1); + } + + Parallel.ForEach(uploadFilenames, + (filename) => + { + scp.Upload(new FileInfo(filename), Path.GetFileName(filename)); + }); + + Parallel.ForEach(uploadFilenames, + (filename) => + { + scp.Download(Path.GetFileName(filename), new FileInfo(string.Format("{0}.down", filename))); + }); + + var result = from file in uploadFilenames + where + CalculateMD5(file) == CalculateMD5(string.Format("{0}.down", file)) + select file; + + scp.Disconnect(); + + Assert.IsTrue(result.Count() == uploadFilenames.Length); + } + } + + [TestMethod] + [TestCategory("Scp")] + [TestCategory("integration")] + public void Test_Scp_File_Upload_Download_Events() + { + using (var scp = new ScpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) + { + scp.Connect(); + + var uploadFilenames = new string[10]; + + for (int i = 0; i < uploadFilenames.Length; i++) + { + uploadFilenames[i] = Path.GetTempFileName(); + this.CreateTestFile(uploadFilenames[i], 1); + } + + var uploadedFiles = uploadFilenames.ToDictionary((filename) => Path.GetFileName(filename), (filename) => 0L); + var downloadedFiles = uploadFilenames.ToDictionary((filename) => string.Format("{0}.down", Path.GetFileName(filename)), (filename) => 0L); + + scp.Uploading += delegate (object sender, ScpUploadEventArgs e) + { + uploadedFiles[e.Filename] = e.Uploaded; + }; + + scp.Downloading += delegate (object sender, ScpDownloadEventArgs e) + { + downloadedFiles[string.Format("{0}.down", e.Filename)] = e.Downloaded; + }; + + Parallel.ForEach(uploadFilenames, + (filename) => + { + scp.Upload(new FileInfo(filename), Path.GetFileName(filename)); + }); + + Parallel.ForEach(uploadFilenames, + (filename) => + { + scp.Download(Path.GetFileName(filename), new FileInfo(string.Format("{0}.down", filename))); + }); + + var result = from uf in uploadedFiles + from df in downloadedFiles + where + string.Format("{0}.down", uf.Key) == df.Key + && uf.Value == df.Value + select uf; + + scp.Disconnect(); + + Assert.IsTrue(result.Count() == uploadFilenames.Length && uploadFilenames.Length == uploadedFiles.Count && uploadedFiles.Count == downloadedFiles.Count); + } + } +#endif // FEATURE_TPL + protected static string CalculateMD5(string fileName) { using (var file = new FileStream(fileName, FileMode.Open)) diff --git a/src/Renci.SshNet.Tests/Classes/ShellStream.cs b/src/Renci.SshNet.Tests/Classes/ShellStream.cs deleted file mode 100644 index f5d401af..00000000 --- a/src/Renci.SshNet.Tests/Classes/ShellStream.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Renci.SshNet.Tests.Common; - -namespace Renci.SshNet.Tests.Classes -{ - /// - /// Contains operation for working with SSH Shell. - /// - [TestClass] - public class ShellStreamTest : TestBase - { - } -} \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/Classes/SshCommandTest.NET40.cs b/src/Renci.SshNet.Tests/Classes/SshCommandTest.NET40.cs deleted file mode 100644 index 589c6881..00000000 --- a/src/Renci.SshNet.Tests/Classes/SshCommandTest.NET40.cs +++ /dev/null @@ -1,100 +0,0 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Renci.SshNet.Tests.Properties; -using System; -using System.Diagnostics; -using System.Threading.Tasks; - -namespace Renci.SshNet.Tests.Classes -{ - public partial class SshCommandTest - { - - public void Test_MultipleThread_Example_MultipleConnections() - { - var host = Resources.HOST; - var username = Resources.USERNAME; - var password = Resources.PASSWORD; - - try - { - #region Example SshCommand RunCommand Parallel - System.Threading.Tasks.Parallel.For(0, 10000, - () => - { - var client = new SshClient(host, username, password); - client.Connect(); - return client; - }, - (int counter, ParallelLoopState pls, SshClient client) => - { - var result = client.RunCommand("echo 123"); - Debug.WriteLine(string.Format("TestMultipleThreadMultipleConnections #{0}", counter)); - return client; - }, - (SshClient client) => - { - client.Disconnect(); - client.Dispose(); - } - ); - #endregion - - } - catch (Exception exp) - { - Assert.Fail(exp.ToString()); - } - } - - //[TestMethod] - public void Test_MultipleThread_10000_MultipleConnections() - { - try - { - System.Threading.Tasks.Parallel.For(0, 10000, - () => - { - var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD); - client.Connect(); - return client; - }, - (int counter, ParallelLoopState pls, SshClient client) => - { - var result = ExecuteTestCommand(client); - Debug.WriteLine(string.Format("TestMultipleThreadMultipleConnections #{0}", counter)); - Assert.IsTrue(result); - return client; - }, - (SshClient client) => - { - client.Disconnect(); - client.Dispose(); - } - ); - } - catch (Exception exp) - { - Assert.Fail(exp.ToString()); - } - } - - //[TestMethod] - public void Test_MultipleThread_10000_MultipleSessions() - { - using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) - { - client.Connect(); - System.Threading.Tasks.Parallel.For(0, 10000, - (counter) => - { - var result = ExecuteTestCommand(client); - Debug.WriteLine(string.Format("TestMultipleThreadMultipleConnections #{0}", counter)); - Assert.IsTrue(result); - } - ); - - client.Disconnect(); - } - } - } -} \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/Classes/SshCommandTest.cs b/src/Renci.SshNet.Tests/Classes/SshCommandTest.cs index c1979ce3..cfd68b07 100644 --- a/src/Renci.SshNet.Tests/Classes/SshCommandTest.cs +++ b/src/Renci.SshNet.Tests/Classes/SshCommandTest.cs @@ -6,6 +6,10 @@ using System; using System.IO; using System.Text; using System.Threading; +#if FEATURE_TPL +using System.Diagnostics; +using System.Threading.Tasks; +#endif // FEATURE_TPL namespace Renci.SshNet.Tests.Classes { @@ -622,6 +626,100 @@ namespace Renci.SshNet.Tests.Classes Assert.Inconclusive("Verify the correctness of this test method."); } +#if FEATURE_TPL + [TestMethod] + [TestCategory("integration")] + public void Test_MultipleThread_Example_MultipleConnections() + { + var host = Resources.HOST; + var username = Resources.USERNAME; + var password = Resources.PASSWORD; + + try + { +#region Example SshCommand RunCommand Parallel + System.Threading.Tasks.Parallel.For(0, 10000, + () => + { + var client = new SshClient(host, username, password); + client.Connect(); + return client; + }, + (int counter, ParallelLoopState pls, SshClient client) => + { + var result = client.RunCommand("echo 123"); + Debug.WriteLine(string.Format("TestMultipleThreadMultipleConnections #{0}", counter)); + return client; + }, + (SshClient client) => + { + client.Disconnect(); + client.Dispose(); + } + ); +#endregion + + } + catch (Exception exp) + { + Assert.Fail(exp.ToString()); + } + } + + [TestMethod] + [TestCategory("integration")] + public void Test_MultipleThread_10000_MultipleConnections() + { + try + { + System.Threading.Tasks.Parallel.For(0, 10000, + () => + { + var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD); + client.Connect(); + return client; + }, + (int counter, ParallelLoopState pls, SshClient client) => + { + var result = ExecuteTestCommand(client); + Debug.WriteLine(string.Format("TestMultipleThreadMultipleConnections #{0}", counter)); + Assert.IsTrue(result); + return client; + }, + (SshClient client) => + { + client.Disconnect(); + client.Dispose(); + } + ); + } + catch (Exception exp) + { + Assert.Fail(exp.ToString()); + } + } + + [TestMethod] + [TestCategory("integration")] + public void Test_MultipleThread_10000_MultipleSessions() + { + using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) + { + client.Connect(); + System.Threading.Tasks.Parallel.For(0, 10000, + (counter) => + { + var result = ExecuteTestCommand(client); + Debug.WriteLine(string.Format("TestMultipleThreadMultipleConnections #{0}", counter)); + Assert.IsTrue(result); + } + ); + + client.Disconnect(); + } + } +#endif // FEATURE_TPL + private static bool ExecuteTestCommand(SshClient s) { var testValue = Guid.NewGuid().ToString(); diff --git a/src/Renci.SshNet.Tests/Common/AsyncSocketListener.cs b/src/Renci.SshNet.Tests/Common/AsyncSocketListener.cs index 41c04806..89c26fae 100644 --- a/src/Renci.SshNet.Tests/Common/AsyncSocketListener.cs +++ b/src/Renci.SshNet.Tests/Common/AsyncSocketListener.cs @@ -127,7 +127,6 @@ namespace Renci.SshNet.Tests.Common else { SignalDisconnected(handler); - handler.Shutdown(SocketShutdown.Send); } } diff --git a/src/Renci.SshNet.Tests/Properties/AssemblyInfo.cs b/src/Renci.SshNet.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 443203d0..00000000 --- a/src/Renci.SshNet.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("SSH.NET Tests .NET 4.0")] -[assembly: Guid("defb66b2-a4b9-40ca-b205-2183d84b7323")] diff --git a/src/Renci.SshNet.Tests/Renci.SshNet.Tests.csproj b/src/Renci.SshNet.Tests/Renci.SshNet.Tests.csproj index 043c7977..d7ee81e9 100644 --- a/src/Renci.SshNet.Tests/Renci.SshNet.Tests.csproj +++ b/src/Renci.SshNet.Tests/Renci.SshNet.Tests.csproj @@ -1,736 +1,121 @@ - - - - Debug - AnyCPU - 2.0 - {C45379B9-17B1-4E89-BC2E-6D41726413E8} - Library - Properties - Renci.SshNet.Tests - Renci.SshNet.Tests - v4.0 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - - - true - full - false - bin\Debug\ - TRACE;DEBUG;FEATURE_THREAD_COUNTDOWNEVENT - prompt - 4 - 5 - - - pdbonly - true - bin\Release\ - TRACE;FEATURE_THREAD_COUNTDOWNEVENT - prompt - 0 - - - - - + true - - ..\Renci.SshNet.snk + + + net35;net40;netcoreapp2.1;netcoreapp2.2 + + + net35;net40;netcoreapp2.1;netcoreapp2.2;netcoreapp3.0 + + + + + + + FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_TPL + + + FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_TPL + + + FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_TPL + + + FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_TPL + - - - ..\..\packages\Moq.4.2.1409.1722\lib\net40\Moq.dll - - - - 3.5 - - - - - - - - - False - - - - - Classes\Abstractions\CryptoAbstraction_GenerateRandom.cs - - - Classes\Abstractions\DnsAbstraction_GetHostAddresses.cs - - - Classes\Abstractions\FileSystemAbstraction_EnumerateFiles.cs - - - Classes\Abstractions\ThreadAbstraction_ExecuteThread.cs - - - Classes\ForwardedPortStatusTest_Started.cs - - - Classes\ForwardedPortStatusTest_Starting.cs - - - Classes\ForwardedPortStatusTest_Stopped.cs - - - Classes\ForwardedPortStatusTest_Stopping.cs - - - Classes\SshMessageFactoryTest.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resources.resx - True - True - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - - - - - - - - - - - - - - - Renci.SshNet.snk - - - - - - - - - - - - - - - - {2f5f8c90-0bd1-424f-997c-7bc6280919d1} - Renci.SshNet - - - - - - + + - - + + + + + + + + + + + + - - - \ No newline at end of file + + + + + + + + $(MSBuildProgramFiles32)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll + $(MSTestV1UnitTestFrameworkAssemblyCandidate) + + $(MSBuildProgramFiles32)\Microsoft Visual Studio\2017\Professional\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll + $(MSTestV1UnitTestFrameworkAssemblyCandidate) + + $(MSBuildProgramFiles32)\Microsoft Visual Studio\2017\Community\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll + $(MSTestV1UnitTestFrameworkAssemblyCandidate) + + + + + $(MSBuildProgramFiles32)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll + $(MSTestV1UnitTestFrameworkAssemblyCandidate) + + $(MSBuildProgramFiles32)\Microsoft Visual Studio\2019\Professional\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll + $(MSTestV1UnitTestFrameworkAssemblyCandidate) + + $(MSBuildProgramFiles32)\Microsoft Visual Studio\2019\Community\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll + $(MSTestV1UnitTestFrameworkAssemblyCandidate) + + $(MSBuildProgramFiles32)\Microsoft Visual Studio\2019\Preview\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll + $(MSTestV1UnitTestFrameworkAssemblyCandidate) + + + + + $(MSTestV1UnitTestFrameworkAssembly) + + + + + + $(MSTestV1UnitTestFrameworkAssembly) + + + + + + + + 2.1.0 + + + + + + + + 2.1.0 + + + + + + + + 2.1.0 + + + + + + + diff --git a/src/Renci.SshNet.Tests/authorized_keys b/src/Renci.SshNet.Tests/authorized_keys deleted file mode 100644 index 59efb8b0..00000000 --- a/src/Renci.SshNet.Tests/authorized_keys +++ /dev/null @@ -1,4 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA8ZsD8jgH7ySXnd4dprEFFkJ+zs1ne81E8febjR8hekiKrc+D9GjeEykchy0PsrsBrf2F8J3GtLNISVerkl+EnVh1E0pi9Vllc1vcpQHvBeNPG/jl9Dnum/DcaaMKLot+ARXjBuMX/xJVfnlgkvfpBvoq4QzQ6E27rOMbcPlvrN7KeYbaorsTpDMUraHX5u99P1evvw7sOuNl3lc9YpIgmjHT6dWUGTqBx9T2SEKXBRVk2NNbd2UctQkr5BJn1gGehA+1KYS30FMiCSN8F8ZOlpYj1+K6xzs0srq1z30LailIyy7QmYp739BJlOF3cVywdcFXGre35H2cJylcNV2e+Q== rsa_key_without_pass -ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuD5SKSM3RAO/h8z9x1RB9bhLbBkophrYVHYG8MdNwQc/iXb4IZ7PlKR2ZQovIYzHdMI5zGEuOsxJnLjxoV7NSUHlHEoGbRYX72rR3S3ZORUArLTJ9TwGZhR4TZRztJto7l4M5LGDUy4YMNN9kpcyT/aqv8v3ZcTB0UthZDXUHrrmrlktPAC+JagUjhESbtq+FAuiSUWd9/SXnAmLya7LkWANw2ScMpeSyXmEvLD+X0eapNtuwXltjRW4PoKS5fWMhiXnT61NXmgXDccrUHjWrOa1oeNjmhOuIGaDpoRtkBH8lCFQdRePgvcBIRnU9D7sjuBjZUAPqin+fDll2ISy2w== rsa_key_with_pass (tester) -ssh-dss AAAAB3NzaC1kc3MAAACBAN1CuvAa+SfAP6lv0am/+8PGPzKoVSDRxS4L+2SObe76VCPzpHB8DxEk5X44/ga2+z3M5KzGK6CKegH+4SJP7qNse/K8l4mnZ+wNYvH+1VFfGmLw3B5t9vjnlHTBVVl2qcUqwBkutABPnz0RS0uDJUAVBtQ/kXPqnHwfwAbSqXJtAAAAFQC5+1DsZ2xUe3w32ZKtj3O2QlXoKQAAAIEA1Ep/297O7PVoZSdQZYgsc7T1KJscrbnl+Su7j//O8Jt1rBZJk6hT68yemUtSE1pUyhLJgT9Ng5m+9sb1S0++vzBkZ00+Km8hcgHGWmv4UfSadLHSqVpHLc8SgNECbDqaxELNVhXe9nxlMRR236mG6u76mfRb0S6DMIweKRVWEkwAAACASHB5nNlWhpqvungn+otYyGKoVoATkRdRfSiUo3fb0mJLTmxrEhEH4UOFA/UFdQ0TYXXW0wRX/amynT4iTEXAx0FjxUNK5ryxloeoXiXEH4FK7D8RtJO11UsaRrN+nqWiSTVAehl6tzoMCPargGcWeFlAZZnPGN76OD9J1GiKZj8= dsa_key_without_pass -ssh-dss AAAAB3NzaC1kc3MAAACBAJU0pDZQHna2HaaGHsL1D0pZlnh/tM7EYAcGQcHqNRUVPLXbcy94ZdF0R9V1qCA9u7at/EEqdtfseXLbjbxLxccJM6sjCFn7GKNvc6N7w7PpAeUbZBdHdszOkNolyqGs+/45Oj0tGHLTLk2rRyOTeBagpJS1PlZQCnVbT8o/gjtvAAAAFQDUe90v8pdAZhtO84F19cRUMrWoqQAAAIBDZwBGOxMRy7nKc0f6aWNh0JX5NnTCuEiXmD6BmBV/2k9J0VJYgiTZw4mzmF4VzrV7aI+XCQz52N8od7cp76O1DXweO0cIqLkT2xLGuoBtUSpHiSqRnHUsL9BDI8s3bQ5fSCb0IwF6d90tArDX/d9mzYqx+Vvp+4ajSiSiyzaGUQAAAIB3vFz1T9jGAZ3hBPkFQ9zl0gniF2EQ/w1UlnHb7ABUyBigBxtnTN0+7yfNwFVfQS/rKxhT6muzYgQB3e1masvv0ky/vstnh5n7EZmLDLEWwIfRefbPmyfLCKK+23QmMZgPg/SGuLmwagw711ReiLyBqn5YiP8quXcDdnReJCJPig== dsa_key_with_pass (tester) \ No newline at end of file diff --git a/src/Renci.SshNet.Tests/packages.config b/src/Renci.SshNet.Tests/packages.config deleted file mode 100644 index f6c56582..00000000 --- a/src/Renci.SshNet.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/Renci.SshNet.VS2017.sln b/src/Renci.SshNet.VS2017.sln index 00469f61..9f1ce5e3 100644 --- a/src/Renci.SshNet.VS2017.sln +++ b/src/Renci.SshNet.VS2017.sln @@ -19,13 +19,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sandcastle", "sandcastle", ..\build\sandcastle\SSH.NET.shfbproj = ..\build\sandcastle\SSH.NET.shfbproj EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Renci.SshNet", "Renci.SshNet\Renci.SshNet.csproj", "{2F5F8C90-0BD1-424F-997C-7BC6280919D1}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Renci.SshNet", "Renci.SshNet\Renci.SshNet.csproj", "{2F5F8C90-0BD1-424F-997C-7BC6280919D1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Renci.SshNet.Tests", "Renci.SshNet.Tests\Renci.SshNet.Tests.csproj", "{C45379B9-17B1-4E89-BC2E-6D41726413E8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Renci.SshNet.NET35", "Renci.SshNet.NET35\Renci.SshNet.NET35.csproj", "{DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Renci.SshNet.NETCore", "Renci.SshNet.NETCore\Renci.SshNet.NETCore.csproj", "{8E8229EB-6780-4A8A-B470-E2023FA55AB5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Renci.SshNet.Tests", "Renci.SshNet.Tests\Renci.SshNet.Tests.csproj", "{C45379B9-17B1-4E89-BC2E-6D41726413E8}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -69,40 +65,6 @@ Global {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|Mixed Platforms.Build.0 = Release|Any CPU {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|x64.ActiveCfg = Release|Any CPU {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|x86.ActiveCfg = Release|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Debug|ARM.ActiveCfg = Debug|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Debug|x64.ActiveCfg = Debug|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Debug|x86.ActiveCfg = Debug|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Release|Any CPU.Build.0 = Release|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Release|ARM.ActiveCfg = Release|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Release|x64.ActiveCfg = Release|Any CPU - {DD1C552F-7F48-4269-ABB3-2E4C89B7E43A}.Release|x86.ActiveCfg = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|ARM.ActiveCfg = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|ARM.Build.0 = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|x64.ActiveCfg = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|x64.Build.0 = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|x86.ActiveCfg = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Debug|x86.Build.0 = Debug|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|Any CPU.Build.0 = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|ARM.ActiveCfg = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|ARM.Build.0 = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|x64.ActiveCfg = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|x64.Build.0 = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|x86.ActiveCfg = Release|Any CPU - {8E8229EB-6780-4A8A-B470-E2023FA55AB5}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -111,6 +73,9 @@ Global {94EE3919-19FA-4D9B-8DA9-249050B15232} = {2D6CAE62-D053-476F-9BDD-2B1F27FA9C5D} {A6C3FFD3-16A5-44D3-8C1F-3613D6DD17D1} = {2D6CAE62-D053-476F-9BDD-2B1F27FA9C5D} EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C3D130B3-A070-4B12-A10F-E3E44D6ACEE2} + EndGlobalSection GlobalSection(TestCaseManagementSettings) = postSolution CategoryFile = Renci.SshNet1.vsmdi EndGlobalSection diff --git a/src/Renci.SshNet.VS2019.sln b/src/Renci.SshNet.VS2019.sln new file mode 100644 index 00000000..bc1f6f6d --- /dev/null +++ b/src/Renci.SshNet.VS2019.sln @@ -0,0 +1,82 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29521.150 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{2D6CAE62-D053-476F-9BDD-2B1F27FA9C5D}" + ProjectSection(SolutionItems) = preProject + ..\build\build.cmd = ..\build\build.cmd + ..\build\build.proj = ..\build\build.proj + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuget", "nuget", "{94EE3919-19FA-4D9B-8DA9-249050B15232}" + ProjectSection(SolutionItems) = preProject + ..\build\nuget\SSH.NET.nuspec = ..\build\nuget\SSH.NET.nuspec + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sandcastle", "sandcastle", "{A6C3FFD3-16A5-44D3-8C1F-3613D6DD17D1}" + ProjectSection(SolutionItems) = preProject + ..\build\sandcastle\SSH.NET.shfbproj = ..\build\sandcastle\SSH.NET.shfbproj + EndProjectSection +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Renci.SshNet", "Renci.SshNet\Renci.SshNet.csproj", "{2F5F8C90-0BD1-424F-997C-7BC6280919D1}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Renci.SshNet.Tests", "Renci.SshNet.Tests\Renci.SshNet.Tests.csproj", "{C45379B9-17B1-4E89-BC2E-6D41726413E8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|Mixed Platforms = Release|Mixed Platforms + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Debug|ARM.ActiveCfg = Debug|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Debug|x64.ActiveCfg = Debug|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Debug|x86.ActiveCfg = Debug|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Release|Any CPU.Build.0 = Release|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Release|ARM.ActiveCfg = Release|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Release|x64.ActiveCfg = Release|Any CPU + {2F5F8C90-0BD1-424F-997C-7BC6280919D1}.Release|x86.ActiveCfg = Release|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Debug|ARM.ActiveCfg = Debug|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Debug|x64.ActiveCfg = Debug|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Debug|x86.ActiveCfg = Debug|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|Any CPU.Build.0 = Release|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|ARM.ActiveCfg = Release|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|x64.ActiveCfg = Release|Any CPU + {C45379B9-17B1-4E89-BC2E-6D41726413E8}.Release|x86.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {94EE3919-19FA-4D9B-8DA9-249050B15232} = {2D6CAE62-D053-476F-9BDD-2B1F27FA9C5D} + {A6C3FFD3-16A5-44D3-8C1F-3613D6DD17D1} = {2D6CAE62-D053-476F-9BDD-2B1F27FA9C5D} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BAD6019D-4AF7-4E15-99A0-8036E16FC0E5} + EndGlobalSection + GlobalSection(TestCaseManagementSettings) = postSolution + CategoryFile = Renci.SshNet1.vsmdi + EndGlobalSection +EndGlobal diff --git a/src/Renci.SshNet/BaseClient.cs b/src/Renci.SshNet/BaseClient.cs index 4a962a6d..0b5e627f 100644 --- a/src/Renci.SshNet/BaseClient.cs +++ b/src/Renci.SshNet/BaseClient.cs @@ -327,7 +327,7 @@ namespace Renci.SshNet } } - #region IDisposable Members +#region IDisposable Members private bool _isDisposed; @@ -386,7 +386,7 @@ namespace Renci.SshNet Dispose(false); } - #endregion +#endregion /// /// Stops the keep-alive timer, and waits until all timer callbacks have been diff --git a/src/Renci.SshNet/Common/Extensions.cs b/src/Renci.SshNet/Common/Extensions.cs index b2c2e7d7..d4ce4dee 100644 --- a/src/Renci.SshNet/Common/Extensions.cs +++ b/src/Renci.SshNet/Common/Extensions.cs @@ -262,7 +262,7 @@ namespace Renci.SshNet.Common } /// - /// Pads with leading zeros if needd + /// Pads with leading zeros if needed. /// /// The data. /// The length to pad to. @@ -335,5 +335,34 @@ namespace Renci.SshNet.Common handle.Close(); } #endif // !FEATURE_WAITHANDLE_DISPOSE + +#if !FEATURE_HASHALGORITHM_DISPOSE + /// + /// Disposes the specified algorithm. + /// + /// The algorithm. + [DebuggerNonUserCode] + internal static void Dispose(this System.Security.Cryptography.HashAlgorithm algorithm) + { + if (algorithm == null) + throw new NullReferenceException(); + + algorithm.Clear(); + } +#endif // FEATURE_HASHALGORITHM_DISPOSE + +#if !FEATURE_STRINGBUILDER_CLEAR + /// + /// Clears the contents of the string builder. + /// + /// + /// The to clear. + /// + public static void Clear(this StringBuilder value) + { + value.Length = 0; + value.Capacity = 16; + } +#endif // !FEATURE_STRINGBUILDER_CLEAR } } diff --git a/src/Renci.SshNet/Properties/AssemblyInfo.cs b/src/Renci.SshNet/Properties/AssemblyInfo.cs index 805a316c..22e4125c 100644 --- a/src/Renci.SshNet/Properties/AssemblyInfo.cs +++ b/src/Renci.SshNet/Properties/AssemblyInfo.cs @@ -2,7 +2,7 @@ using System.Runtime.InteropServices; using System.Runtime.CompilerServices; -[assembly: AssemblyTitle("SSH.NET .NET 4.0")] +[assembly: AssemblyTitle("SSH.NET")] [assembly: Guid("ad816c5e-6f13-4589-9f3e-59523f8b77a4")] [assembly: InternalsVisibleTo("Renci.SshNet.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f9194e1eb66b7e2575aaee115ee1d27bc100920e7150e43992d6f668f9737de8b9c7ae892b62b8a36dd1d57929ff1541665d101dc476d6e02390846efae7e5186eec409710fdb596e3f83740afef0d4443055937649bc5a773175b61c57615dac0f0fd10f52b52fedf76c17474cc567b3f7a79de95dde842509fb39aaf69c6c2")] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] diff --git a/src/Renci.SshNet/Renci.SshNet.csproj b/src/Renci.SshNet/Renci.SshNet.csproj index d44d10bb..b8efa8b4 100644 --- a/src/Renci.SshNet/Renci.SshNet.csproj +++ b/src/Renci.SshNet/Renci.SshNet.csproj @@ -1,626 +1,48 @@ - - + - Debug - AnyCPU - 8.0.30703 - 2.0 - {2F5F8C90-0BD1-424F-997C-7BC6280919D1} - Library - Properties - Renci.SshNet + true + true + false Renci.SshNet - v4.0 - 512 - - - true - full - false - bin\Debug\ - TRACE;DEBUG;FEATURE_REGEX_COMPILE;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_APM;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_SELECT;FEATURE_SOCKET_POLL;FEATURE_SOCKET_DISPOSE;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_WAITHANDLE_DISPOSE;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HASH_RIPEMD160_CREATE;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;FEATURE_ECDSA - prompt - 4 - bin\Debug\Renci.SshNet.xml - true + ../Renci.SshNet.snk 5 - - - none - true - bin\Release\ - FEATURE_REGEX_COMPILE;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_APM;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_SELECT;FEATURE_SOCKET_POLL;FEATURE_SOCKET_DISPOSE;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_WAITHANDLE_DISPOSE;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HASH_RIPEMD160_CREATE;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;FEATURE_ECDSA - prompt - 4 - bin\Release\Renci.SshNet.xml - - - true - 5 - - true + net35;net40;netstandard1.3;netstandard2.0 - - ..\Renci.SshNet.snk + + - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + FEATURE_REGEX_COMPILE;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_APM;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HASH_RIPEMD160_CREATE;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;FEATURE_ECDSA + + + FEATURE_STRINGBUILDER_CLEAR;FEATURE_HASHALGORITHM_DISPOSE;FEATURE_REGEX_COMPILE;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_APM;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_SELECT;FEATURE_SOCKET_POLL;FEATURE_SOCKET_DISPOSE;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_WAITHANDLE_DISPOSE;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HASH_RIPEMD160_CREATE;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;FEATURE_ECDSA + + + FEATURE_STRINGBUILDER_CLEAR;FEATURE_HASHALGORITHM_DISPOSE;FEATURE_ENCODING_ASCII;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_RNG_CREATE;FEATURE_SOCKET_TAP;FEATURE_SOCKET_EAP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_SELECT;FEATURE_SOCKET_POLL;FEATURE_SOCKET_DISPOSE;FEATURE_DNS_TAP;FEATURE_STREAM_TAP;FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_THREAD_TAP;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_WAITHANDLE_DISPOSE;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512 + + + FEATURE_STRINGBUILDER_CLEAR;FEATURE_HASHALGORITHM_DISPOSE;FEATURE_ENCODING_ASCII;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_RNG_CREATE;FEATURE_SOCKET_TAP;FEATURE_SOCKET_APM;FEATURE_SOCKET_EAP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_SELECT;FEATURE_SOCKET_POLL;FEATURE_SOCKET_DISPOSE;FEATURE_DNS_SYNC;FEATURE_DNS_APM;FEATURE_DNS_TAP;FEATURE_STREAM_APM;FEATURE_STREAM_TAP;FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_THREAD_TAP;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_WAITHANDLE_DISPOSE;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_ECDSA + +