mirror of
https://github.com/sshnet/SSH.NET.git
synced 2026-09-11 13:39:09 +00:00
Merge remote-tracking branch 'refs/remotes/origin/develop'
This commit is contained in:
+1
-1
@@ -12,7 +12,7 @@ src/TestResults/
|
||||
*.user
|
||||
|
||||
# NuGet packages
|
||||
#packages/
|
||||
packages/
|
||||
|
||||
# Visual Studio 2015 cache/options directory
|
||||
src/.vs/
|
||||
|
||||
@@ -59,41 +59,47 @@ This project was inspired by **Sharp.SSH** library which was ported from java an
|
||||
|
||||
In our codebase, we use the following conditional compilation symbols to identity features supported by a given target framework:
|
||||
|
||||
Symbol | Description
|
||||
:------------------------------- | :--------------------------------------------------------------------------------
|
||||
FEATURE_DIAGNOSTICS_TRACESOURCE | [TraceSource](https://msdn.microsoft.com/en-us/library/system.diagnostics.tracesource.aspx) is available
|
||||
FEATURE_RNG_CSP | RandomNumberGenerator can be created using default ctor of RNGCryptoServiceProvider
|
||||
FEATURE_RNG_CREATE | RandomNumberGenerator can be created using static Create method on RandomNumberGenerator
|
||||
FEATURE_HASH_MD5 |
|
||||
FEATURE_HASH_SHA1 |
|
||||
FEATURE_HASH_SHA256 |
|
||||
FEATURE_HASH_SHA384 |
|
||||
FEATURE_HASH_SHA512 |
|
||||
FEATURE_HASH_RIPEMD160 |
|
||||
FEATURE_HMAC_MD5 |
|
||||
FEATURE_HMAC_SHA1 |
|
||||
FEATURE_HMAC_SHA256 |
|
||||
FEATURE_HMAC_SHA384 |
|
||||
FEATURE_HMAC_SHA512 |
|
||||
FEATURE_HMAC_RIPEMD160 |
|
||||
FEATURE_THREAD_SLEEP | Current thread can be suspended using static Sleep method on Thread class
|
||||
FEATURE_THREAD_TAP | Task-based Asynchronous Pattern is supported
|
||||
FEATURE_THREAD_THREADPOOL | ThreadPool is supported
|
||||
FEATURE_MEMORYSTREAM_GETBUFFER | [MemoryStream](https://msdn.microsoft.com/en-us/library/system.io.memorystream.aspx) features a [GetBuffer()](https://msdn.microsoft.com/en-us/library/system.io.memorystream.getbuffer.aspx) method which allows access to the byte array from which this stream was created, or the underlying array
|
||||
FEATURE_MEMORYSTREAM_TRYGETBUFFER| [MemoryStream](https://msdn.microsoft.com/en-us/library/system.io.memorystream.aspx) features a [TryGetBuffer(out ArraySegment<byte>)](https://msdn.microsoft.com/en-us/library/system.io.memorystream.trygetbuffer.aspx) method which allows access to the byte array from which this stream was created, or the underlying array
|
||||
FEATURE_STREAM_TAP | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports Task-based Asynchronous Pattern (TAP)
|
||||
FEATURE_STREAM_APM | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports Asynchronous Programming Model (APM)
|
||||
FEATURE_STREAM_SYNC | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports synchronous execution
|
||||
FEATURE_SOCKET_TAP | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) supports Task-based Asynchronous Pattern (TAP)
|
||||
FEATURE_SOCKET_EAP | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) supports Event-based Asynchronous Pattern (EAP)
|
||||
FEATURE_SOCKET_APM | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) supports Asynchronous Programming Model (APM)
|
||||
FEATURE_SOCKET_SYNC | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) supports synchronous execution
|
||||
FEATURE_SOCKET_POLL | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) features a [Poll(Int32,SelectMode)](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.poll.aspx) method
|
||||
FEATURE_DNS_TAP | [Dns](https://msdn.microsoft.com/en-us/library/system.net.dns.aspx) supports Task-based Asynchronous Pattern (TAP)
|
||||
FEATURE_DNS_EAP | [Dns](https://msdn.microsoft.com/en-us/library/system.net.dns.aspx) supports Event-based Asynchronous Pattern (EAP)
|
||||
FEATURE_DNS_APM | [Dns](https://msdn.microsoft.com/en-us/library/system.net.dns.aspx) supports Asynchronous Programming Model (APM)
|
||||
FEATURE_DNS_SYNC | [Dns](https://msdn.microsoft.com/en-us/library/system.net.dns.aspx) supports synchronous execution
|
||||
FEATURE_REFLECTION_TYPEINFO |
|
||||
Symbol | Description
|
||||
:----------------------------------- | :--------------------------------------------------------------------------------
|
||||
FEATURE_ENCODING_ASCII | [Encoding.ASCII](https://msdn.microsoft.com/en-us/library/system.text.encoding.ascii(v=vs.110).aspx) is available
|
||||
FEATURE_BINARY_SERIALIZATION | Binary serialization is supported.
|
||||
FEATURE_DIAGNOSTICS_TRACESOURCE | [TraceSource](https://msdn.microsoft.com/en-us/library/system.diagnostics.tracesource.aspx) is available
|
||||
FEATURE_DIRECTORYINFO_ENUMERATEFILES | [DirectoryInfo.EnumerationFiles(string)](https://msdn.microsoft.com/en-us/library/dd413343(v=vs.110).aspx) is available
|
||||
FEATURE_RNG_CSP | RandomNumberGenerator can be created using default ctor of RNGCryptoServiceProvider
|
||||
FEATURE_RNG_CREATE | RandomNumberGenerator can be created using static Create method on RandomNumberGenerator
|
||||
FEATURE_HASH_MD5 |
|
||||
FEATURE_HASH_SHA1_CREATE |
|
||||
FEATURE_HASH_SHA1_MANAGED |
|
||||
FEATURE_HASH_SHA256_CREATE |
|
||||
FEATURE_HASH_SHA256_MANAGED |
|
||||
FEATURE_HASH_SHA384_CREATE |
|
||||
FEATURE_HASH_SHA384_MANAGED |
|
||||
FEATURE_HASH_SHA512_CREATE |
|
||||
FEATURE_HASH_SHA512_MANAGED |
|
||||
FEATURE_HASH_RIPEMD160_CREATE |
|
||||
FEATURE_HASH_RIPEMD160_MANAGED |
|
||||
FEATURE_HMAC_MD5 |
|
||||
FEATURE_HMAC_SHA1 |
|
||||
FEATURE_HMAC_SHA256 |
|
||||
FEATURE_HMAC_SHA384 |
|
||||
FEATURE_HMAC_SHA512 |
|
||||
FEATURE_HMAC_RIPEMD160 |
|
||||
FEATURE_THREAD_SLEEP | Current thread can be suspended using static Sleep method on Thread class
|
||||
FEATURE_THREAD_TAP | Task-based Asynchronous Pattern is supported
|
||||
FEATURE_THREAD_THREADPOOL | ThreadPool is supported
|
||||
FEATURE_MEMORYSTREAM_GETBUFFER | [MemoryStream](https://msdn.microsoft.com/en-us/library/system.io.memorystream.aspx) features a [GetBuffer()](https://msdn.microsoft.com/en-us/library/system.io.memorystream.getbuffer.aspx) method which allows access to the byte array from which this stream was created, or the underlying array
|
||||
FEATURE_MEMORYSTREAM_TRYGETBUFFER | [MemoryStream](https://msdn.microsoft.com/en-us/library/system.io.memorystream.aspx) features a [TryGetBuffer(out ArraySegment<byte>)](https://msdn.microsoft.com/en-us/library/system.io.memorystream.trygetbuffer.aspx) method which allows access to the byte array from which this stream was created, or the underlying array
|
||||
FEATURE_STREAM_TAP | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports Task-based Asynchronous Pattern (TAP)
|
||||
FEATURE_STREAM_APM | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports Asynchronous Programming Model (APM)
|
||||
FEATURE_SOCKET_TAP | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) supports Task-based Asynchronous Pattern (TAP)
|
||||
FEATURE_SOCKET_EAP | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) supports Event-based Asynchronous Pattern (EAP)
|
||||
FEATURE_SOCKET_APM | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) supports Asynchronous Programming Model (APM)
|
||||
FEATURE_SOCKET_SYNC | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) supports synchronous execution
|
||||
FEATURE_SOCKET_POLL | [Socket](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx) features a [Poll(Int32,SelectMode)](https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.poll.aspx) method
|
||||
FEATURE_DNS_TAP | [Dns](https://msdn.microsoft.com/en-us/library/system.net.dns.aspx) supports Task-based Asynchronous Pattern (TAP)
|
||||
FEATURE_DNS_APM | [Dns](https://msdn.microsoft.com/en-us/library/system.net.dns.aspx) supports Asynchronous Programming Model (APM)
|
||||
FEATURE_DNS_SYNC | [Dns](https://msdn.microsoft.com/en-us/library/system.net.dns.aspx) supports synchronous execution
|
||||
FEATURE_REFLECTION_TYPEINFO |
|
||||
|
||||
##Building SSH.NET
|
||||
|
||||
|
||||
@@ -22,6 +22,10 @@
|
||||
<OutputDirectory>Renci.SshNet\bin\$(Configuration)</OutputDirectory>
|
||||
<Moniker>net40</Moniker>
|
||||
</TargetFramework>
|
||||
<TargetFramework Include=".NETStandard 1.3">
|
||||
<OutputDirectory>Renci.SshNet.NETCore\bin\$(Configuration)\netstandard1.3</OutputDirectory>
|
||||
<Moniker>netstandard1.3</Moniker>
|
||||
</TargetFramework>
|
||||
<TargetFramework Include="Windows Phone Silverlight 7.1">
|
||||
<OutputDirectory>Renci.SshNet.WindowsPhone\bin\$(Configuration)</OutputDirectory>
|
||||
<Moniker>wp71</Moniker>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>SSH.NET</id>
|
||||
<version>2016.0.0-beta2</version>
|
||||
<version>2016.0.0-beta3</version>
|
||||
<title>SSH.NET</title>
|
||||
<authors>Renci</authors>
|
||||
<owners>olegkap,drieseng</owners>
|
||||
@@ -10,7 +10,14 @@
|
||||
<projectUrl>https://github.com/sshnet/SSH.NET/</projectUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>SSH.NET is a Secure Shell (SSH) library for .NET, optimized for parallelism and with broad framework support.</description>
|
||||
<releaseNotes>2016.0.0-beta2
|
||||
<releaseNotes>2016.0.0-beta3
|
||||
==============
|
||||
|
||||
New Features:
|
||||
|
||||
* Added support for .NET Core 1.0 (.NETStandard 1.3)
|
||||
|
||||
2016.0.0-beta2
|
||||
==============
|
||||
|
||||
Changes:
|
||||
@@ -127,21 +134,47 @@ Fixes:
|
||||
<language>en-US</language>
|
||||
<tags>ssh scp sftp</tags>
|
||||
<dependencies>
|
||||
<group targetFramework="net35" />
|
||||
<group targetFramework="net40" />
|
||||
<group targetFramework="netstandard1.3">
|
||||
<dependency id="Microsoft.CSharp" version="4.0.1" />
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.2.0]" />
|
||||
<dependency id="System.Diagnostics.Debug" version="4.0.11" />
|
||||
<dependency id="System.Diagnostics.Tools" version="4.0.1" />
|
||||
<dependency id="System.Diagnostics.TraceSource" version="4.0.0" />
|
||||
<dependency id="System.Globalization" version="4.0.11" />
|
||||
<dependency id="System.IO" version="4.1.0" />
|
||||
<dependency id="System.IO.FileSystem" version="4.0.1" />
|
||||
<dependency id="System.IO.FileSystem.Primitives" version="4.0.1" />
|
||||
<dependency id="System.Linq" version="4.1.0" />
|
||||
<dependency id="System.Net.NameResolution" version="4.0.0" />
|
||||
<dependency id="System.Net.Sockets" version="4.1.0" />
|
||||
<dependency id="System.Reflection.Extensions" version="4.0.1" />
|
||||
<dependency id="System.Runtime.Extensions" version="4.1.0" />
|
||||
<dependency id="System.Security.Cryptography.Algorithms" version="4.2.0" />
|
||||
<dependency id="System.Text.RegularExpressions" version="4.1.0" />
|
||||
<dependency id="System.Threading" version="4.0.11" />
|
||||
<dependency id="System.Threading.Thread" version="4.0.0" />
|
||||
<dependency id="System.Threading.ThreadPool" version="4.0.10" />
|
||||
<dependency id="System.Threading.Timer" version="4.0.1" />
|
||||
<dependency id="System.Xml.XmlDocument" version="4.0.1" />
|
||||
<dependency id="System.Xml.XPath.XmlDocument" version="4.0.1" />
|
||||
</group>
|
||||
<group targetFramework="sl4">
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.0.0]" />
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.2.0]" />
|
||||
</group>
|
||||
<group targetFramework="sl5">
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.0.0]" />
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.2.0]" />
|
||||
</group>
|
||||
<group targetFramework="wp71">
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.0.0]" />
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.2.0]" />
|
||||
</group>
|
||||
<group targetFramework="wp8">
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.0.0]" />
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.2.0]" />
|
||||
</group>
|
||||
<group targetFramework="uap10.0">
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.0.0]" />
|
||||
<dependency id="System.Xml.XPath.XmlDocument" version="4.0.0" />
|
||||
<dependency id="SshNet.Security.Cryptography" version="[1.2.0]" />
|
||||
<dependency id="System.Xml.XPath.XmlDocument" version="4.0.1" />
|
||||
</group>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
-6082
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-5449
File diff suppressed because it is too large
Load Diff
Binary file not shown.
-5401
File diff suppressed because it is too large
Load Diff
Binary file not shown.
BIN
Binary file not shown.
-6088
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-5455
File diff suppressed because it is too large
Load Diff
Binary file not shown.
-5416
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
BIN
Binary file not shown.
-1161
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-1161
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-1161
File diff suppressed because it is too large
Load Diff
Vendored
BIN
Binary file not shown.
Vendored
-1300
File diff suppressed because it is too large
Load Diff
Vendored
BIN
Binary file not shown.
Vendored
-1161
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-1300
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-1161
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-1161
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-1300
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-1161
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
-1161
File diff suppressed because it is too large
Load Diff
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<repositories>
|
||||
<repository path="..\src\Renci.SshNet.Silverlight\packages.config" />
|
||||
<repository path="..\src\Renci.SshNet.Silverlight5\packages.config" />
|
||||
<repository path="..\src\Renci.SshNet.Tests.NET35\packages.config" />
|
||||
<repository path="..\src\Renci.SshNet.Tests\packages.config" />
|
||||
<repository path="..\src\Renci.SshNet.WindowsPhone\packages.config" />
|
||||
<repository path="..\src\Renci.SshNet.WindowsPhone8\packages.config" />
|
||||
</repositories>
|
||||
@@ -18,7 +18,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_REGEX_COMPILE;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_APM;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</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
@@ -28,7 +28,7 @@
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_REGEX_COMPILE;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_APM;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</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Release\Renci.SshNet.xml</DocumentationFile>
|
||||
@@ -45,9 +45,6 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -60,6 +57,9 @@
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\DnsAbstraction.cs">
|
||||
<Link>Abstractions\DnsAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\FileSystemAbstraction.cs">
|
||||
<Link>Abstractions\FileSystemAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\ReflectionAbstraction.cs">
|
||||
<Link>Abstractions\ReflectionAbstraction.cs</Link>
|
||||
</Compile>
|
||||
@@ -180,9 +180,6 @@
|
||||
<Compile Include="..\Renci.SshNet\Common\NetConfServerException.cs">
|
||||
<Link>Common\NetConfServerException.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\NetConfServerException.NET40.cs">
|
||||
<Link>Common\NetConfServerException.NET40.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\ObjectIdentifier.cs">
|
||||
<Link>Common\ObjectIdentifier.cs</Link>
|
||||
</Compile>
|
||||
@@ -201,9 +198,6 @@
|
||||
<Compile Include="..\Renci.SshNet\Common\ScpException.cs">
|
||||
<Link>Common\ScpException.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\ScpException.NET40.cs">
|
||||
<Link>Common\ScpException.NET40.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\ScpUploadEventArgs.cs">
|
||||
<Link>Common\ScpUploadEventArgs.cs</Link>
|
||||
</Compile>
|
||||
@@ -213,30 +207,18 @@
|
||||
<Compile Include="..\Renci.SshNet\Common\SftpPathNotFoundException.cs">
|
||||
<Link>Common\SftpPathNotFoundException.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SftpPathNotFoundException.NET40.cs">
|
||||
<Link>Common\SftpPathNotFoundException.NET40.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SftpPermissionDeniedException.cs">
|
||||
<Link>Common\SftpPermissionDeniedException.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SftpPermissionDeniedException.NET40.cs">
|
||||
<Link>Common\SftpPermissionDeniedException.NET40.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\ShellDataEventArgs.cs">
|
||||
<Link>Common\ShellDataEventArgs.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshAuthenticationException.cs">
|
||||
<Link>Common\SshAuthenticationException.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshAuthenticationException.NET40.cs">
|
||||
<Link>Common\SshAuthenticationException.NET40.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshConnectionException.cs">
|
||||
<Link>Common\SshConnectionException.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshConnectionException.NET40.cs">
|
||||
<Link>Common\SshConnectionException.NET40.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshData.cs">
|
||||
<Link>Common\SshData.cs</Link>
|
||||
</Compile>
|
||||
@@ -246,21 +228,12 @@
|
||||
<Compile Include="..\Renci.SshNet\Common\SshException.cs">
|
||||
<Link>Common\SshException.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshException.NET40.cs">
|
||||
<Link>Common\SshException.NET40.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshOperationTimeoutException.cs">
|
||||
<Link>Common\SshOperationTimeoutException.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshOperationTimeoutException.NET40.cs">
|
||||
<Link>Common\SshOperationTimeoutException.NET40.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshPassPhraseNullOrEmptyException.cs">
|
||||
<Link>Common\SshPassPhraseNullOrEmptyException.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\SshPassPhraseNullOrEmptyException.NET40.cs">
|
||||
<Link>Common\SshPassPhraseNullOrEmptyException.NET40.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Common\TerminalModes.cs">
|
||||
<Link>Common\TerminalModes.cs</Link>
|
||||
</Compile>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("SSH.NET")]
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>8e8229eb-6780-4a8a-b470-e2023fa55ab5</ProjectGuid>
|
||||
<RootNamespace>Renci.SshNet</RootNamespace>
|
||||
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
|
||||
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
</Project>
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"title": "SSH.NET",
|
||||
"configurations": {
|
||||
"debug": {
|
||||
"buildOptions": {
|
||||
"debugType": "full",
|
||||
"define": [ "DEBUG", "TRACE" ]
|
||||
}
|
||||
},
|
||||
"release": {
|
||||
"buildOptions": {
|
||||
"debugType": "none",
|
||||
"define": [ "TRACE" ]
|
||||
}
|
||||
}
|
||||
},
|
||||
"buildOptions": {
|
||||
"outputName": "Renci.SshNet",
|
||||
"keyFile": "../Renci.SshNet.snk",
|
||||
"compile": {
|
||||
"include": [
|
||||
"../Renci.SshNet/**/*.cs"
|
||||
],
|
||||
"exclude": [
|
||||
"../Renci.SshNet/Properties/AssemblyInfo.cs"
|
||||
]
|
||||
},
|
||||
"optimize": true,
|
||||
"xmlDoc": true,
|
||||
"warningsAsErrors": true
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard1.3": {
|
||||
"dependencies": {
|
||||
"Microsoft.CSharp": "4.0.1",
|
||||
"SshNet.Security.Cryptography": "[1.2.0]",
|
||||
"System.Diagnostics.Debug": "4.0.11",
|
||||
"System.Diagnostics.Tools": "4.0.1",
|
||||
"System.Diagnostics.TraceSource": "4.0.0",
|
||||
"System.Globalization": "4.0.11",
|
||||
"System.IO": "4.1.0",
|
||||
"System.IO.FileSystem": "4.0.1",
|
||||
"System.IO.FileSystem.Primitives": "4.0.1",
|
||||
"System.Linq": "4.1.0",
|
||||
"System.Net.NameResolution": "4.0.0",
|
||||
"System.Net.Sockets": "4.1.0",
|
||||
"System.Reflection.Extensions": "4.0.1",
|
||||
"System.Runtime.Extensions": "4.1.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.2.0",
|
||||
"System.Text.RegularExpressions": "4.1.0",
|
||||
"System.Threading": "4.0.11",
|
||||
"System.Threading.Thread": "4.0.0",
|
||||
"System.Threading.ThreadPool": "4.0.10",
|
||||
"System.Threading.Timer": "4.0.1",
|
||||
"System.Xml.XmlDocument": "4.0.1",
|
||||
"System.Xml.XPath.XmlDocument": "4.0.1"
|
||||
},
|
||||
"buildOptions": {
|
||||
"define": [
|
||||
"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_POLL",
|
||||
"FEATURE_SOCKET_SYNC",
|
||||
"FEATURE_DNS_TAP",
|
||||
"FEATURE_STREAM_TAP",
|
||||
"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_HMAC_MD5",
|
||||
"FEATURE_HMAC_SHA1",
|
||||
"FEATURE_HMAC_SHA256",
|
||||
"FEATURE_HMAC_SHA384",
|
||||
"FEATURE_HMAC_SHA512"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Bin\Debug</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;SILVERLIGHT;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_MEMORYSTREAM_GETBUFFER</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_MEMORYSTREAM_GETBUFFER</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
@@ -40,7 +40,7 @@
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>Bin\Release</OutputPath>
|
||||
<DefineConstants>TRACE;SILVERLIGHT;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_MEMORYSTREAM_GETBUFFER</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_MEMORYSTREAM_GETBUFFER</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
@@ -57,9 +57,8 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="SshNet.Security.Cryptography, Version=1.0.0.0, Culture=neutral, PublicKeyToken=50c6375d29e47192, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\SshNet.Security.Cryptography.1.0.0\lib\sl4\SshNet.Security.Cryptography.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="SshNet.Security.Cryptography">
|
||||
<HintPath>..\..\packages\SshNet.Security.Cryptography.1.2.0\lib\sl4\SshNet.Security.Cryptography.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="system" />
|
||||
<Reference Include="System.Core" />
|
||||
@@ -76,6 +75,9 @@
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\DnsAbstraction.cs">
|
||||
<Link>Abstractions\DnsAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\FileSystemAbstraction.cs">
|
||||
<Link>Abstractions\FileSystemAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\ReflectionAbstraction.cs">
|
||||
<Link>Abstractions\ReflectionAbstraction.cs</Link>
|
||||
</Compile>
|
||||
@@ -895,7 +897,9 @@
|
||||
<None Include="..\Renci.SshNet.snk">
|
||||
<Link>Renci.SshNet.snk</Link>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
<None Include="packages.config">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
|
||||
<ProjectExtensions>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="SshNet.Security.Cryptography" version="1.0.0" targetFramework="sl40" />
|
||||
<package id="SshNet.Security.Cryptography" version="1.2.0" targetFramework="sl40" />
|
||||
</packages>
|
||||
@@ -29,7 +29,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Bin\Debug</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;SILVERLIGHT;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
@@ -42,7 +42,7 @@
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>Bin\Release</OutputPath>
|
||||
<DefineConstants>TRACE;SILVERLIGHT;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
@@ -62,9 +62,8 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="SshNet.Security.Cryptography, Version=1.0.0.0, Culture=neutral, PublicKeyToken=50c6375d29e47192, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\packages\SshNet.Security.Cryptography.1.0.0\lib\sl5\SshNet.Security.Cryptography.dll</HintPath>
|
||||
<Reference Include="SshNet.Security.Cryptography, Version=1.2.0.0, Culture=neutral, PublicKeyToken=2fa9220ff3eadda4, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\SshNet.Security.Cryptography.1.2.0\lib\sl5\SshNet.Security.Cryptography.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="system" />
|
||||
@@ -88,6 +87,9 @@
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\DnsAbstraction.cs">
|
||||
<Link>Abstractions\DnsAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\FileSystemAbstraction.cs">
|
||||
<Link>Abstractions\FileSystemAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\ReflectionAbstraction.cs">
|
||||
<Link>Abstractions\ReflectionAbstraction.cs</Link>
|
||||
</Compile>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="SshNet.Security.Cryptography" version="1.0.0" targetFramework="sl5" />
|
||||
<package id="SshNet.Security.Cryptography" version="1.2.0" targetFramework="sl5" />
|
||||
</packages>
|
||||
@@ -166,21 +166,6 @@ namespace Renci.SshNet.Tests.Classes.Common
|
||||
Assert.AreEqual(0x00, readBuffer[5]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///A test for BlockLastReadBuffer
|
||||
///</summary>
|
||||
[TestMethod]
|
||||
public void BlockLastReadBufferTest()
|
||||
{
|
||||
PipeStream target = new PipeStream(); // TODO: Initialize to an appropriate value
|
||||
bool expected = false; // TODO: Initialize to an appropriate value
|
||||
bool actual;
|
||||
target.BlockLastReadBuffer = expected;
|
||||
actual = target.BlockLastReadBuffer;
|
||||
Assert.AreEqual(expected, actual);
|
||||
Assert.Inconclusive("Verify the correctness of this test method.");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void CanReadTest()
|
||||
{
|
||||
|
||||
@@ -29,32 +29,6 @@ namespace Renci.SshNet.Tests.Classes
|
||||
_pipeStream.Dispose();
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void BlockLastReadBuffer_Getter_ShouldThrowObjectDisposedException()
|
||||
{
|
||||
try
|
||||
{
|
||||
var value = _pipeStream.BlockLastReadBuffer;
|
||||
Assert.Fail("" + value);
|
||||
}
|
||||
catch (ObjectDisposedException)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void BlockLastReadBuffer_Setter_ShouldThrowObjectDisposedException()
|
||||
{
|
||||
try
|
||||
{
|
||||
_pipeStream.BlockLastReadBuffer = true;
|
||||
Assert.Fail();
|
||||
}
|
||||
catch (ObjectDisposedException)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void CanRead_ShouldReturnTrue()
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
@@ -67,6 +67,9 @@
|
||||
<Compile Include="..\..\test\Renci.SshNet.Shared.Tests\Abstractions\DnsAbstraction_GetHostAddresses.cs">
|
||||
<Link>Classes\Abstractions\DnsAbstraction_GetHostAddresses.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\..\test\Renci.SshNet.Shared.Tests\Abstractions\FileSystemAbstraction_EnumerateFiles.cs">
|
||||
<Link>Classes\Abstractions\FileSystemAbstraction_EnumerateFiles.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\..\test\Renci.SshNet.Shared.Tests\Abstractions\ThreadAbstraction_ExecuteThread.cs">
|
||||
<Link>Classes\Abstractions\ThreadAbstraction_ExecuteThread.cs</Link>
|
||||
</Compile>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_DATAGRAMSOCKET;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Renci.SshNet.xml</DocumentationFile>
|
||||
@@ -34,7 +34,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_DATAGRAMSOCKET;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Release\Renci.SshNet.xml</DocumentationFile>
|
||||
@@ -44,7 +44,7 @@
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_REGEX_COMPILE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_DATAGRAMSOCKET;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
@@ -54,7 +54,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_DATAGRAMSOCKET;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@@ -66,7 +66,7 @@
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\ARM\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_DATAGRAMSOCKET;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
@@ -76,7 +76,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<OutputPath>bin\ARM\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_DATAGRAMSOCKET;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@@ -88,7 +88,7 @@
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_DATAGRAMSOCKET;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
@@ -98,7 +98,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_DATAGRAMSOCKET;FEATURE_SOCKET_EAP;FEATURE_STREAM_TAP;FEATURE_THREAD_TAP;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@@ -120,6 +120,9 @@
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\DnsAbstraction.cs">
|
||||
<Link>Abstractions\DnsAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\FileSystemAbstraction.cs">
|
||||
<Link>Abstractions\FileSystemAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\ReflectionAbstraction.cs">
|
||||
<Link>Abstractions\ReflectionAbstraction.cs</Link>
|
||||
</Compile>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.UniversalWindowsPlatform": "5.1.0",
|
||||
"SshNet.Security.Cryptography": "1.0.0",
|
||||
"System.Xml.XPath.XmlDocument": "4.0.0"
|
||||
"SshNet.Security.Cryptography": "1.2.0",
|
||||
"System.Xml.XPath.XmlDocument": "4.0.1"
|
||||
},
|
||||
"frameworks": {
|
||||
"uap10.0": {}
|
||||
|
||||
@@ -37,6 +37,8 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Renci.SshNet.Shared.Tests",
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Renci.SshNet.WindowsPhone8.Tests", "..\test\Renci.SshNet.WindowsPhone8.Tests\Renci.SshNet.WindowsPhone8.Tests.csproj", "{26F0D644-B3EF-47DF-8040-E9E4B2E63884}"
|
||||
EndProject
|
||||
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Renci.SshNet.NETCore", "Renci.SshNet.NETCore\Renci.SshNet.NETCore.xproj", "{8E8229EB-6780-4A8A-B470-E2023FA55AB5}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
..\test\Renci.SshNet.Shared.Tests\Renci.SshNet.Shared.Tests.projitems*{fae3948f-a438-458e-8e0e-7f6e39a5dd8a}*SharedItemsImports = 13
|
||||
@@ -181,6 +183,26 @@ Global
|
||||
{26F0D644-B3EF-47DF-8040-E9E4B2E63884}.Release|x86.ActiveCfg = Release|x86
|
||||
{26F0D644-B3EF-47DF-8040-E9E4B2E63884}.Release|x86.Build.0 = Release|x86
|
||||
{26F0D644-B3EF-47DF-8040-E9E4B2E63884}.Release|x86.Deploy.0 = Release|x86
|
||||
{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
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Bin\Debug</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_DEVICEINFORMATION_APM;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_REGEX_COMPILE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
@@ -35,7 +35,7 @@
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>Bin\Release</OutputPath>
|
||||
<DefineConstants>TRACE;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_DEVICEINFORMATION_APM;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_REGEX_COMPILE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
@@ -45,9 +45,9 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Phone" />
|
||||
<Reference Include="SshNet.Security.Cryptography, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\SshNet.Security.Cryptography.1.0.0\lib\wp71\SshNet.Security.Cryptography.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="SshNet.Security.Cryptography, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\packages\SshNet.Security.Cryptography.1.2.0\lib\wp71\SshNet.Security.Cryptography.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="system" />
|
||||
<Reference Include="System.Net" />
|
||||
@@ -62,6 +62,9 @@
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\DnsAbstraction.cs">
|
||||
<Link>Abstractions\DnsAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\FileSystemAbstraction.cs">
|
||||
<Link>Abstractions\FileSystemAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\ReflectionAbstraction.cs">
|
||||
<Link>Abstractions\ReflectionAbstraction.cs</Link>
|
||||
</Compile>
|
||||
@@ -879,7 +882,9 @@
|
||||
<Compile Include="Session.WP.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
<None Include="packages.config">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.$(TargetFrameworkProfile).Overrides.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.CSharp.targets" />
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="SshNet.Security.Cryptography" version="1.0.0" targetFramework="wp71" />
|
||||
<package id="SshNet.Security.Cryptography" version="1.2.0" targetFramework="wp71" />
|
||||
</packages>
|
||||
@@ -23,7 +23,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Bin\Debug</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_REGEX_COMPILE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_STREAM_TAP;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
@@ -36,7 +36,7 @@
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>Bin\Release</OutputPath>
|
||||
<DefineConstants>TRACE;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_REGEX_COMPILE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_STREAM_TAP;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
@@ -50,7 +50,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>Bin\x86\Debug</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_STREAM_TAP;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>
|
||||
@@ -61,7 +61,7 @@
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>Bin\x86\Release</OutputPath>
|
||||
<DefineConstants>TRACE;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_STREAM_TAP;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@@ -73,7 +73,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>Bin\ARM\Debug</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_STREAM_TAP;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>
|
||||
@@ -84,7 +84,7 @@
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
|
||||
<OutputPath>Bin\ARM\Release</OutputPath>
|
||||
<DefineConstants>TRACE;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<DefineConstants>TRACE;FEATURE_STREAM_TAP;WINDOWS_PHONE;FEATURE_RNG_CSP;FEATURE_SOCKET_EAP;FEATURE_STREAM_APM;FEATURE_DEVICEINFORMATION_APM;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_HASH_SHA1_MANAGED;FEATURE_HASH_SHA256_MANAGED;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@@ -106,6 +106,9 @@
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\DnsAbstraction.cs">
|
||||
<Link>Abstractions\DnsAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\FileSystemAbstraction.cs">
|
||||
<Link>Abstractions\FileSystemAbstraction.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Renci.SshNet\Abstractions\ReflectionAbstraction.cs">
|
||||
<Link>Abstractions\ReflectionAbstraction.cs</Link>
|
||||
</Compile>
|
||||
@@ -922,20 +925,19 @@
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="SshNet.Security.Cryptography, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\packages\SshNet.Security.Cryptography.1.0.0\lib\wp8\SshNet.Security.Cryptography.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
<Reference Include="SshNet.Security.Cryptography, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\SshNet.Security.Cryptography.1.2.0\lib\wp8\SshNet.Security.Cryptography.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties ProjectLinkerExcludeFilter="\\?desktop(\\.*)?$;\\?silverlight(\\.*)?$;\.desktop;\.silverlight;\.xaml;^service references(\\.*)?$;\.clientconfig;^web references(\\.*)?$" ProjectLinkReference="2f5f8c90-0bd1-424f-997c-7bc6280919d1" />
|
||||
<UserProperties ProjectLinkReference="2f5f8c90-0bd1-424f-997c-7bc6280919d1" ProjectLinkerExcludeFilter="\\?desktop(\\.*)?$;\\?silverlight(\\.*)?$;\.desktop;\.silverlight;\.xaml;^service references(\\.*)?$;\.clientconfig;^web references(\\.*)?$" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="SshNet.Security.Cryptography" version="1.0.0" targetFramework="wp8" />
|
||||
<package id="SshNet.Security.Cryptography" version="1.2.0" targetFramework="wp8" />
|
||||
<package id="System.IO" version="4.1.0" targetFramework="wp8" />
|
||||
</packages>
|
||||
@@ -54,10 +54,14 @@ namespace Renci.SshNet.Security.Cryptography
|
||||
}
|
||||
#endif // FEATURE_HASH_MD5
|
||||
|
||||
#if FEATURE_HASH_SHA1
|
||||
#if FEATURE_HASH_SHA1_CREATE || FEATURE_HASH_SHA1_MANAGED
|
||||
public static System.Security.Cryptography.SHA1 CreateSHA1()
|
||||
{
|
||||
#if FEATURE_HASH_SHA1_CREATE
|
||||
return System.Security.Cryptography.SHA1.Create();
|
||||
#elif FEATURE_HASH_SHA1_MANAGED
|
||||
return new System.Security.Cryptography.SHA1Managed();
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
public static global::SshNet.Security.Cryptography.SHA1 CreateSHA1()
|
||||
@@ -66,10 +70,14 @@ namespace Renci.SshNet.Security.Cryptography
|
||||
}
|
||||
#endif
|
||||
|
||||
#if FEATURE_HASH_SHA256
|
||||
#if FEATURE_HASH_SHA256_CREATE || FEATURE_HASH_SHA256_MANAGED
|
||||
public static System.Security.Cryptography.SHA256 CreateSHA256()
|
||||
{
|
||||
#if FEATURE_HASH_SHA256_CREATE
|
||||
return System.Security.Cryptography.SHA256.Create();
|
||||
#elif FEATURE_HASH_SHA256_MANAGED
|
||||
return new System.Security.Cryptography.SHA256Managed();
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
public static global::SshNet.Security.Cryptography.SHA256 CreateSHA256()
|
||||
@@ -78,10 +86,14 @@ namespace Renci.SshNet.Security.Cryptography
|
||||
}
|
||||
#endif
|
||||
|
||||
#if FEATURE_HASH_SHA384
|
||||
#if FEATURE_HASH_SHA384_CREATE || FEATURE_HASH_SHA384_MANAGED
|
||||
public static System.Security.Cryptography.SHA384 CreateSHA384()
|
||||
{
|
||||
#if FEATURE_HASH_SHA384_CREATE
|
||||
return System.Security.Cryptography.SHA384.Create();
|
||||
#elif FEATURE_HASH_SHA384_MANAGED
|
||||
return new System.Security.Cryptography.SHA384Managed();
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
public static global::SshNet.Security.Cryptography.SHA384 CreateSHA384()
|
||||
@@ -90,10 +102,14 @@ namespace Renci.SshNet.Security.Cryptography
|
||||
}
|
||||
#endif
|
||||
|
||||
#if FEATURE_HASH_SHA512
|
||||
#if FEATURE_HASH_SHA512_CREATE || FEATURE_HASH_SHA512_MANAGED
|
||||
public static System.Security.Cryptography.SHA512 CreateSHA512()
|
||||
{
|
||||
#if FEATURE_HASH_SHA512_CREATE
|
||||
return System.Security.Cryptography.SHA512.Create();
|
||||
#elif FEATURE_HASH_SHA512_MANAGED
|
||||
return new System.Security.Cryptography.SHA512Managed();
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
public static global::SshNet.Security.Cryptography.SHA512 CreateSHA512()
|
||||
@@ -102,10 +118,14 @@ namespace Renci.SshNet.Security.Cryptography
|
||||
}
|
||||
#endif
|
||||
|
||||
#if FEATURE_HASH_RIPEMD160
|
||||
#if FEATURE_HASH_RIPEMD160_CREATE || FEATURE_HASH_RIPEMD160_MANAGED
|
||||
public static System.Security.Cryptography.RIPEMD160 CreateRIPEMD160()
|
||||
{
|
||||
#if FEATURE_HASH_RIPEMD160_CREATE
|
||||
return System.Security.Cryptography.RIPEMD160.Create();
|
||||
#else
|
||||
return new System.Security.Cryptography.RIPEMD160Managed();
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
public static global::SshNet.Security.Cryptography.RIPEMD160 CreateRIPEMD160()
|
||||
|
||||
@@ -31,8 +31,15 @@ namespace Renci.SshNet.Abstractions
|
||||
/// <exception cref="SocketException">An error is encountered when resolving <paramref name="hostNameOrAddress"/>.</exception>
|
||||
public static IPAddress[] GetHostAddresses(string hostNameOrAddress)
|
||||
{
|
||||
// TODO Eliminate sync variant, and implement timeout
|
||||
|
||||
#if FEATURE_DNS_SYNC
|
||||
return Dns.GetHostAddresses(hostNameOrAddress);
|
||||
#elif FEATURE_DNS_APM
|
||||
var asyncResult = Dns.BeginGetHostAddresses(hostNameOrAddress, null, null);
|
||||
if (!asyncResult.AsyncWaitHandle.WaitOne(Session.InfiniteTimeSpan))
|
||||
throw new SshOperationTimeoutException("Timeout resolving host name.");
|
||||
return Dns.EndGetHostAddresses(asyncResult);
|
||||
#elif FEATURE_DNS_TAP
|
||||
return Dns.GetHostAddressesAsync(hostNameOrAddress).Result;
|
||||
#else
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
namespace Renci.SshNet.Abstractions
|
||||
{
|
||||
internal class FileSystemAbstraction
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns an enumerable collection of file information that matches a search pattern.
|
||||
/// </summary>
|
||||
/// <param name="directoryInfo"></param>
|
||||
/// <param name="searchPattern">The search string to match against the names of files.</param>
|
||||
/// <returns>
|
||||
/// An enumerable collection of files that matches <paramref name="searchPattern"/>.
|
||||
/// </returns>
|
||||
/// <exception cref="ArgumentNullException"><paramref name="directoryInfo"/> is <c>null</c>.</exception>
|
||||
/// <exception cref="ArgumentNullException"><paramref name="searchPattern"/> is <c>null</c>.</exception>
|
||||
/// <exception cref="DirectoryNotFoundException">The path represented by <paramref name="directoryInfo"/> does not exist or is not valid.</exception>
|
||||
public static IEnumerable<FileInfo> EnumerateFiles(DirectoryInfo directoryInfo, string searchPattern)
|
||||
{
|
||||
if (directoryInfo == null)
|
||||
throw new ArgumentNullException("directoryInfo");
|
||||
|
||||
#if FEATURE_DIRECTORYINFO_ENUMERATEFILES
|
||||
return directoryInfo.EnumerateFiles(searchPattern);
|
||||
#else
|
||||
return directoryInfo.GetFiles(searchPattern);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -191,19 +191,6 @@ namespace Renci.SshNet.Common
|
||||
|
||||
return byteCount;
|
||||
}
|
||||
|
||||
#if !SILVERLIGHT && !WINDOWS_PHONE
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the current encoding uses single-byte code points
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// This property is always <c>true</c>.
|
||||
/// </value>
|
||||
public override bool IsSingleByte
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
#endif // !SILVERLIGHT && !WINDOWS_PHONE
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace Renci.SshNet
|
||||
{
|
||||
/// <summary>
|
||||
/// Collection of different extension method specific for .NET 4.0
|
||||
/// </summary>
|
||||
public static partial class Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates whether a specified string is null, empty, or consists only of white-space characters.
|
||||
/// </summary>
|
||||
/// <param name="value">The string to test.</param>
|
||||
/// <returns>
|
||||
/// <c>true</c> if the value parameter is null or System.String.Empty, or if value consists exclusively of white-space characters; otherwise, <c>false</c>.
|
||||
/// </returns>
|
||||
internal static bool IsNullOrWhiteSpace(this string value)
|
||||
{
|
||||
return string.IsNullOrWhiteSpace(value);
|
||||
}
|
||||
|
||||
internal static bool CanRead(this Socket socket)
|
||||
{
|
||||
return socket.Connected && socket.Poll(-1, SelectMode.SelectRead) && socket.Available > 0;
|
||||
}
|
||||
|
||||
internal static bool CanWrite(this Socket socket)
|
||||
{
|
||||
return socket.Connected && socket.Poll(-1, SelectMode.SelectWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when there is something wrong with the server capabilities.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public partial class NetConfServerException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshAuthenticationException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected NetConfServerException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when there is something wrong with the server capabilities.
|
||||
/// </summary>
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public partial class NetConfServerException : SshException
|
||||
{
|
||||
/// <summary>
|
||||
@@ -32,5 +38,19 @@ namespace Renci.SshNet.Common
|
||||
base(message, innerException)
|
||||
{
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshAuthenticationException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
|
||||
/// <exception cref="SerializationException">The class name is <c>null</c> or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected NetConfServerException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
if (count == 0)
|
||||
return 0;
|
||||
|
||||
int readLength = 0;
|
||||
var readLength = 0;
|
||||
|
||||
lock (_buffer)
|
||||
{
|
||||
@@ -211,7 +211,7 @@
|
||||
}
|
||||
|
||||
// fill the read buffer
|
||||
for (; readLength < count && Length > 0 && _buffer.Count > 0; readLength++)
|
||||
for (; readLength < count && _buffer.Count > 0; readLength++)
|
||||
{
|
||||
buffer[readLength] = _buffer.Dequeue();
|
||||
}
|
||||
@@ -229,8 +229,8 @@
|
||||
/// <returns><c>True</c> if data available; otherwise<c>false</c>.</returns>
|
||||
private bool ReadAvailable(int count)
|
||||
{
|
||||
return (Length >= count || _isFlushed) &&
|
||||
(Length >= (count + 1) || !BlockLastReadBuffer);
|
||||
var length = Length;
|
||||
return (_isFlushed || length >= count) && (length >= (count + 1) || !BlockLastReadBuffer);
|
||||
}
|
||||
|
||||
///<summary>
|
||||
@@ -267,7 +267,7 @@
|
||||
_isFlushed = false; // if it were flushed before, it soon will not be.
|
||||
|
||||
// queue up the buffer data
|
||||
for (int i = offset; i < offset + count; i++)
|
||||
for (var i = offset; i < offset + count; i++)
|
||||
{
|
||||
_buffer.Enqueue(buffer[i]);
|
||||
}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
[Serializable]
|
||||
public partial class ProxyException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ProxyException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected ProxyException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when SCP error occurred.
|
||||
/// </summary>
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public partial class ProxyException : SshException
|
||||
{
|
||||
/// <summary>
|
||||
@@ -32,6 +38,19 @@ namespace Renci.SshNet.Common
|
||||
base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ProxyException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="SerializationException">The class name is null or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected ProxyException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
[Serializable]
|
||||
public partial class ScpException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ScpException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected ScpException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,18 +1,23 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when SCP error occurred.
|
||||
/// </summary>
|
||||
public partial class ScpException : SshException
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public class ScpException : SshException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ScpException"/> class.
|
||||
/// </summary>
|
||||
public ScpException()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -22,7 +27,6 @@ namespace Renci.SshNet.Common
|
||||
public ScpException(string message)
|
||||
: base(message)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -34,5 +38,19 @@ namespace Renci.SshNet.Common
|
||||
base(message, innerException)
|
||||
{
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ScpException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
|
||||
/// <exception cref="SerializationException">The class name is <c>null</c> or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected ScpException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when file or directory is not found.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public partial class SftpPathNotFoundException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SftpPathNotFoundException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected SftpPathNotFoundException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,17 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when file or directory is not found.
|
||||
/// </summary>
|
||||
public partial class SftpPathNotFoundException : SshException
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public class SftpPathNotFoundException : SshException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SftpPathNotFoundException"/> class.
|
||||
@@ -32,5 +38,19 @@ namespace Renci.SshNet.Common
|
||||
base(message, innerException)
|
||||
{
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SftpPathNotFoundException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
|
||||
/// <exception cref="SerializationException">The class name is <c>null</c> or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected SftpPathNotFoundException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when operation permission is denied.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public partial class SftpPermissionDeniedException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SftpPermissionDeniedException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected SftpPermissionDeniedException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,17 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when operation permission is denied.
|
||||
/// </summary>
|
||||
public partial class SftpPermissionDeniedException : SshException
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public class SftpPermissionDeniedException : SshException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SftpPermissionDeniedException"/> class.
|
||||
@@ -32,5 +38,19 @@ namespace Renci.SshNet.Common
|
||||
base(message, innerException)
|
||||
{
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SftpPermissionDeniedException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
|
||||
/// <exception cref="SerializationException">The class name is <c>null</c> or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected SftpPermissionDeniedException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when authentication failed.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public partial class SshAuthenticationException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshAuthenticationException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshAuthenticationException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,17 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when authentication failed.
|
||||
/// </summary>
|
||||
public partial class SshAuthenticationException : SshException
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public class SshAuthenticationException : SshException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshAuthenticationException"/> class.
|
||||
@@ -34,5 +40,19 @@ namespace Renci.SshNet.Common
|
||||
base(message, innerException)
|
||||
{
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshAuthenticationException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
|
||||
/// <exception cref="SerializationException">The class name is <c>null</c> or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshAuthenticationException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when connection was terminated.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public partial class SshConnectionException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshConnectionException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshConnectionException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,7 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
using Renci.SshNet.Messages.Transport;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
@@ -6,7 +9,10 @@ namespace Renci.SshNet.Common
|
||||
/// <summary>
|
||||
/// The exception that is thrown when connection was terminated.
|
||||
/// </summary>
|
||||
public partial class SshConnectionException : SshException
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public class SshConnectionException : SshException
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the disconnect reason if provided by the server or client. Otherwise None.
|
||||
@@ -52,5 +58,19 @@ namespace Renci.SshNet.Common
|
||||
{
|
||||
DisconnectReason = disconnectReasonCode;
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshConnectionException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
|
||||
/// <exception cref="SerializationException">The class name is <c>null</c> or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshConnectionException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,11 @@ namespace Renci.SshNet.Common
|
||||
{
|
||||
internal const int DefaultCapacity = 64;
|
||||
|
||||
#if FEATURE_ENCODING_ASCII
|
||||
internal static readonly Encoding Ascii = Encoding.ASCII;
|
||||
#else
|
||||
internal static readonly Encoding Ascii = new ASCIIEncoding();
|
||||
#endif
|
||||
internal static readonly Encoding Utf8 = Encoding.UTF8;
|
||||
|
||||
private SshDataStream _stream;
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when SSH exception occurs.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public partial class SshException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
///
|
||||
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when SSH exception occurs.
|
||||
/// </summary>
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public partial class SshException : Exception
|
||||
{
|
||||
/// <summary>
|
||||
@@ -32,5 +38,19 @@ namespace Renci.SshNet.Common
|
||||
: base(message, inner)
|
||||
{
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
|
||||
/// <exception cref="SerializationException">The class name is <c>null</c> or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
[Serializable]
|
||||
public partial class SshOperationTimeoutException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshOperationTimeoutException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshOperationTimeoutException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,17 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when operation is timed out.
|
||||
/// </summary>
|
||||
public partial class SshOperationTimeoutException : SshException
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public class SshOperationTimeoutException : SshException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshOperationTimeoutException"/> class.
|
||||
@@ -32,5 +38,19 @@ namespace Renci.SshNet.Common
|
||||
base(message, innerException)
|
||||
{
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshOperationTimeoutException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
|
||||
/// <exception cref="SerializationException">The class name is <c>null</c> or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshOperationTimeoutException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when pass phrase for key file is empty or null
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public partial class SshPassPhraseNullOrEmptyException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshPassPhraseNullOrEmptyException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
|
||||
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshPassPhraseNullOrEmptyException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,17 @@
|
||||
using System;
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
using System.Runtime.Serialization;
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
|
||||
namespace Renci.SshNet.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// The exception that is thrown when pass phrase for key file is empty or null
|
||||
/// </summary>
|
||||
public partial class SshPassPhraseNullOrEmptyException : SshException
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
[Serializable]
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
public class SshPassPhraseNullOrEmptyException : SshException
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshPassPhraseNullOrEmptyException"/> class.
|
||||
@@ -34,5 +40,19 @@ namespace Renci.SshNet.Common
|
||||
base(message, innerException)
|
||||
{
|
||||
}
|
||||
|
||||
#if FEATURE_BINARY_SERIALIZATION
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SshPassPhraseNullOrEmptyException"/> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
|
||||
/// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
|
||||
/// <exception cref="ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
|
||||
/// <exception cref="SerializationException">The class name is <c>null</c> or <see cref="Exception.HResult"/> is zero (0). </exception>
|
||||
protected SshPassPhraseNullOrEmptyException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
}
|
||||
#endif // FEATURE_BINARY_SERIALIZATION
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,10 +51,10 @@ namespace Renci.SshNet
|
||||
public class PrivateKeyFile : IDisposable
|
||||
{
|
||||
private static readonly Regex PrivateKeyRegex = new Regex(@"^-+ *BEGIN (?<keyName>\w+( \w+)*) PRIVATE KEY *-+\r?\n((Proc-Type: 4,ENCRYPTED\r?\nDEK-Info: (?<cipherName>[A-Z0-9-]+),(?<salt>[A-F0-9]+)\r?\n\r?\n)|(Comment: ""?[^\r\n]*""?\r?\n))?(?<data>([a-zA-Z0-9/+=]{1,80}\r?\n)+)-+ *END \k<keyName> PRIVATE KEY *-+",
|
||||
#if SILVERLIGHT
|
||||
RegexOptions.Multiline);
|
||||
#else
|
||||
#if FEATURE_REGEX_COMPILE
|
||||
RegexOptions.Compiled | RegexOptions.Multiline);
|
||||
#else
|
||||
RegexOptions.Multiline);
|
||||
#endif
|
||||
|
||||
private Key _key;
|
||||
|
||||
@@ -11,7 +11,7 @@ using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyVersion("2016.0.0")]
|
||||
[assembly: AssemblyFileVersion("2016.0.0")]
|
||||
[assembly: AssemblyInformationalVersion("2016.0.0-beta2")]
|
||||
[assembly: AssemblyInformationalVersion("2016.0.0-beta3")]
|
||||
[assembly: CLSCompliant(false)]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
|
||||
@@ -18,17 +18,18 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;FEATURE_REGEX_COMPILE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_DNS_SYNC;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_APM;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;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</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Renci.SshNet.xml</DocumentationFile>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<LangVersion>4</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_ENCODING_ASCII</DefineConstants>
|
||||
<DefineConstants>FEATURE_REGEX_COMPILE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_DNS_SYNC;FEATURE_BINARY_SERIALIZATION;FEATURE_RNG_CREATE;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_APM;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;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</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Release\Renci.SshNet.xml</DocumentationFile>
|
||||
@@ -52,6 +53,7 @@
|
||||
<Compile Include="Abstractions\CryptoAbstraction.cs" />
|
||||
<Compile Include="Abstractions\DiagnosticAbstraction.cs" />
|
||||
<Compile Include="Abstractions\DnsAbstraction.cs" />
|
||||
<Compile Include="Abstractions\FileSystemAbstraction.cs" />
|
||||
<Compile Include="Abstractions\ReflectionAbstraction.cs" />
|
||||
<Compile Include="Abstractions\SocketAbstraction.cs" />
|
||||
<Compile Include="Abstractions\ThreadAbstraction.cs" />
|
||||
@@ -96,9 +98,7 @@
|
||||
<Compile Include="Common\ProxyException.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Common\ProxyException.NET40.cs" />
|
||||
<Compile Include="Common\HostKeyEventArgs.cs" />
|
||||
<Compile Include="Common\NetConfServerException.NET40.cs" />
|
||||
<Compile Include="Common\DerData.cs" />
|
||||
<Compile Include="Common\ExceptionEventArgs.cs" />
|
||||
<Compile Include="Common\Extensions.cs">
|
||||
@@ -116,9 +116,6 @@
|
||||
<Compile Include="Common\ScpException.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Common\ScpException.NET40.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Common\ScpUploadEventArgs.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
@@ -126,21 +123,14 @@
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Common\SftpPathNotFoundException.cs" />
|
||||
<Compile Include="Common\SftpPathNotFoundException.NET40.cs" />
|
||||
<Compile Include="Common\SftpPermissionDeniedException.cs" />
|
||||
<Compile Include="Common\SftpPermissionDeniedException.NET40.cs" />
|
||||
<Compile Include="Common\ShellDataEventArgs.cs" />
|
||||
<Compile Include="Common\SshAuthenticationException.cs" />
|
||||
<Compile Include="Common\SshAuthenticationException.NET40.cs" />
|
||||
<Compile Include="Common\SshConnectionException.cs" />
|
||||
<Compile Include="Common\SshConnectionException.NET40.cs" />
|
||||
<Compile Include="Common\SshData.cs" />
|
||||
<Compile Include="Common\SshException.cs" />
|
||||
<Compile Include="Common\SshException.NET40.cs" />
|
||||
<Compile Include="Common\SshOperationTimeoutException.cs" />
|
||||
<Compile Include="Common\SshOperationTimeoutException.NET40.cs" />
|
||||
<Compile Include="Common\SshPassPhraseNullOrEmptyException.cs" />
|
||||
<Compile Include="Common\SshPassPhraseNullOrEmptyException.NET40.cs" />
|
||||
<Compile Include="Common\TerminalModes.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
|
||||
@@ -67,10 +67,10 @@ namespace Renci.SshNet
|
||||
/// </value>
|
||||
private const int LocalChannelDataPacketSize = 1024*64;
|
||||
|
||||
#if SILVERLIGHT
|
||||
private static readonly Regex ServerVersionRe = new Regex("^SSH-(?<protoversion>[^-]+)-(?<softwareversion>.+)( SP.+)?$");
|
||||
#else
|
||||
#if FEATURE_REGEX_COMPILE
|
||||
private static readonly Regex ServerVersionRe = new Regex("^SSH-(?<protoversion>[^-]+)-(?<softwareversion>.+)( SP.+)?$", RegexOptions.Compiled);
|
||||
#else
|
||||
private static readonly Regex ServerVersionRe = new Regex("^SSH-(?<protoversion>[^-]+)-(?<softwareversion>.+)( SP.+)?$");
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -45,16 +45,7 @@ namespace Renci.SshNet.Sftp
|
||||
{
|
||||
get
|
||||
{
|
||||
#if WINDOWS_PHONE
|
||||
lock (this)
|
||||
{
|
||||
this._requestId++;
|
||||
}
|
||||
|
||||
return (uint)this._requestId;
|
||||
#else
|
||||
return ((uint) Interlocked.Increment(ref _requestId));
|
||||
#endif
|
||||
return (uint) Interlocked.Increment(ref _requestId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1650,13 +1650,8 @@ namespace Renci.SshNet
|
||||
|
||||
var sourceDirectory = new DirectoryInfo(sourcePath);
|
||||
|
||||
#if SILVERLIGHT
|
||||
var sourceFiles = sourceDirectory.EnumerateFiles(searchPattern);
|
||||
#else
|
||||
var sourceFiles = sourceDirectory.GetFiles(searchPattern);
|
||||
#endif
|
||||
|
||||
if (sourceFiles == null || !sourceFiles.Any())
|
||||
var sourceFiles = FileSystemAbstraction.EnumerateFiles(sourceDirectory, searchPattern).ToList();
|
||||
if (sourceFiles.Count == 0)
|
||||
return uploadedFiles;
|
||||
|
||||
#region Existing Files at The Destination
|
||||
|
||||
@@ -140,19 +140,15 @@ namespace Renci.SshNet
|
||||
continue;
|
||||
}
|
||||
#elif FEATURE_STREAM_APM
|
||||
var asyncResult = _input.BeginRead(buffer, 0, buffer.Length, delegate(IAsyncResult result)
|
||||
{
|
||||
// If input stream is closed and disposed already dont finish reading the stream
|
||||
if (_input == null)
|
||||
return;
|
||||
|
||||
var read = _input.EndRead(result);
|
||||
if (read > 0)
|
||||
var asyncResult = _input.BeginRead(buffer, 0, buffer.Length, result =>
|
||||
{
|
||||
_channel.SendData(buffer, 0, read);
|
||||
}
|
||||
// If input stream is closed and disposed already don't finish reading the stream
|
||||
if (_input == null)
|
||||
return;
|
||||
|
||||
}, null);
|
||||
var read = _input.EndRead(result);
|
||||
_channel.SendData(buffer, 0, read);
|
||||
}, null);
|
||||
|
||||
WaitHandle.WaitAny(new[] { asyncResult.AsyncWaitHandle, _channelClosedWaitHandle });
|
||||
|
||||
|
||||
@@ -23,10 +23,8 @@ namespace Renci.SshNet.Tests.Abstractions
|
||||
DnsAbstraction.GetHostAddresses(hostNameOrAddress);
|
||||
Assert.Fail();
|
||||
}
|
||||
catch (ArgumentNullException ex)
|
||||
catch (ArgumentNullException)
|
||||
{
|
||||
Assert.IsNull(ex.InnerException);
|
||||
Assert.AreEqual("hostNameOrAddress", ex.ParamName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Renci.SshNet.Abstractions;
|
||||
#if SILVERLIGHT
|
||||
using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;
|
||||
#else
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
#endif
|
||||
|
||||
namespace Renci.SshNet.Tests.Abstractions
|
||||
{
|
||||
[TestClass]
|
||||
public class FileSystemAbstraction_EnumerateFiles
|
||||
{
|
||||
private string _temporaryDirectory;
|
||||
|
||||
[TestInitialize]
|
||||
public void SetUp()
|
||||
{
|
||||
_temporaryDirectory = Path.GetTempFileName();
|
||||
File.Delete(_temporaryDirectory);
|
||||
Directory.CreateDirectory(_temporaryDirectory);
|
||||
}
|
||||
|
||||
[TestCleanup]
|
||||
public void TearDown()
|
||||
{
|
||||
if (_temporaryDirectory != null && Directory.Exists(_temporaryDirectory))
|
||||
{
|
||||
Directory.Delete(_temporaryDirectory, true);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldThrowArgumentNullExceptionWhenDirectoryInfoIsNull()
|
||||
{
|
||||
const DirectoryInfo directoryInfo = null;
|
||||
const string searchPattern = "*.xml";
|
||||
|
||||
try
|
||||
{
|
||||
FileSystemAbstraction.EnumerateFiles(directoryInfo, searchPattern);
|
||||
Assert.Fail();
|
||||
}
|
||||
catch (ArgumentNullException ex)
|
||||
{
|
||||
Assert.IsNull(ex.InnerException);
|
||||
Assert.AreEqual("directoryInfo", ex.ParamName);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldThrowArgumentNullExceptionWhenSearchPatternIsNull()
|
||||
{
|
||||
var directoryInfo = new DirectoryInfo(_temporaryDirectory);
|
||||
const string searchPattern = null;
|
||||
|
||||
try
|
||||
{
|
||||
FileSystemAbstraction.EnumerateFiles(directoryInfo, searchPattern);
|
||||
Assert.Fail();
|
||||
}
|
||||
catch (ArgumentNullException ex)
|
||||
{
|
||||
Assert.IsNull(ex.InnerException);
|
||||
Assert.AreEqual("searchPattern", ex.ParamName);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldThrowDirectoryNotFoundExceptionWhenDirectoryDoesNotExist()
|
||||
{
|
||||
var directoryInfo = new DirectoryInfo(_temporaryDirectory);
|
||||
const string searchPattern = "*.xml";
|
||||
|
||||
Directory.Delete(_temporaryDirectory, true);
|
||||
|
||||
try
|
||||
{
|
||||
FileSystemAbstraction.EnumerateFiles(directoryInfo, searchPattern);
|
||||
Assert.Fail();
|
||||
}
|
||||
catch (DirectoryNotFoundException)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldReturnEmptyEnumerableWhenNoFilesExistInDirectory()
|
||||
{
|
||||
var directoryInfo = new DirectoryInfo(_temporaryDirectory);
|
||||
const string searchPattern = "*.xml";
|
||||
|
||||
var actual = FileSystemAbstraction.EnumerateFiles(directoryInfo, searchPattern);
|
||||
|
||||
Assert.IsFalse(actual.GetEnumerator().MoveNext());
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldReturnEmptyEnumerableWhenNoFilesMatchSearchPatternExistInDirectory()
|
||||
{
|
||||
CreateFile(Path.Combine(_temporaryDirectory, "test.txt"));
|
||||
|
||||
var directoryInfo = new DirectoryInfo(_temporaryDirectory);
|
||||
const string searchPattern = "*.xml";
|
||||
|
||||
var actual = FileSystemAbstraction.EnumerateFiles(directoryInfo, searchPattern);
|
||||
|
||||
Assert.IsFalse(actual.GetEnumerator().MoveNext());
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldReturnEmptyEnumerableWhenSearchPatternIsEmpty()
|
||||
{
|
||||
CreateFile(Path.Combine(_temporaryDirectory, "test.txt"));
|
||||
|
||||
var directoryInfo = new DirectoryInfo(_temporaryDirectory);
|
||||
const string searchPattern = "";
|
||||
|
||||
var actual = FileSystemAbstraction.EnumerateFiles(directoryInfo, searchPattern);
|
||||
|
||||
Assert.IsFalse(actual.GetEnumerator().MoveNext());
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldReturnAllFilesInDirectoryWhenSearchPatternIsAsterisk()
|
||||
{
|
||||
CreateFile(Path.Combine(_temporaryDirectory, "test.txt"));
|
||||
CreateFile(Path.Combine(_temporaryDirectory, "test.xml"));
|
||||
|
||||
var directoryInfo = new DirectoryInfo(_temporaryDirectory);
|
||||
const string searchPattern = "*";
|
||||
|
||||
var actual = FileSystemAbstraction.EnumerateFiles(directoryInfo, searchPattern).ToList();
|
||||
|
||||
Assert.AreEqual(2, actual.Count);
|
||||
Assert.IsTrue(actual.Exists(p => p.Name == "test.txt"));
|
||||
Assert.IsTrue(actual.Exists(p => p.Name == "test.xml"));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldReturnOnlyReturnFilesFromTopLevelDirectory()
|
||||
{
|
||||
CreateFile(Path.Combine(_temporaryDirectory, "test.txt"));
|
||||
CreateFile(Path.Combine(_temporaryDirectory, "test.xml"));
|
||||
Directory.CreateDirectory(Path.Combine(_temporaryDirectory, "sub"));
|
||||
CreateFile(Path.Combine(_temporaryDirectory, "sub", "test.csv"));
|
||||
|
||||
var directoryInfo = new DirectoryInfo(_temporaryDirectory);
|
||||
const string searchPattern = "*";
|
||||
|
||||
var actual = FileSystemAbstraction.EnumerateFiles(directoryInfo, searchPattern).ToList();
|
||||
|
||||
Assert.AreEqual(2, actual.Count);
|
||||
Assert.IsTrue(actual.Exists(p => p.Name == "test.txt"));
|
||||
Assert.IsTrue(actual.Exists(p => p.Name == "test.xml"));
|
||||
}
|
||||
|
||||
private static void CreateFile(string fileName)
|
||||
{
|
||||
var fs = File.Create(fileName);
|
||||
fs.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Abstractions\CryptoAbstraction_GenerateRandom.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Abstractions\DnsAbstraction_GetHostAddresses.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Abstractions\FileSystemAbstraction_EnumerateFiles.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Abstractions\ThreadAbstraction_ExecuteThread.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)SshMessageFactoryTest.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -382,8 +382,6 @@ namespace Renci.SshNet.Tests
|
||||
[TestMethod]
|
||||
public void EnableActivatedMessagesShouldThrowSshExceptionWhenAnothersMessageWithSameMessageNumberWasEnabledAfterInvokingDisableNonKeyExchangeMessages()
|
||||
{
|
||||
const byte messageNumber = 60;
|
||||
|
||||
_sshMessageFactory.EnableAndActivateMessage("SSH_MSG_USERAUTH_PASSWD_CHANGEREQ");
|
||||
_sshMessageFactory.DisableNonKeyExchangeMessages();
|
||||
_sshMessageFactory.EnableAndActivateMessage("SSH_MSG_USERAUTH_INFO_REQUEST");
|
||||
|
||||
Reference in New Issue
Block a user