From 765da0cb3e208827cf0e2b5efe834a107f6d4fb8 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Fri, 1 Apr 2016 19:15:30 +0200 Subject: [PATCH 1/3] Document our conditional compilation symbols. --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/README.md b/README.md index 97b45edf..e8e77f17 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,7 @@ This project was inspired by **Sharp.SSH** library which was ported from java an * hmac-ripemd160@openssh.com #Framework Support# +**SSH.NET** supports the following target frameworks: * .NET Framework 3.5 * .NET Framework 4.0 * Silverlight 4 @@ -49,6 +50,42 @@ This project was inspired by **Sharp.SSH** library which was ported from java an * Windows Phone 8.0 * Universal Windows Platform 10 +In our codebase, we use the following conditional compilation symbols to identity features supported by a given target framework: + +Symbol | Description +:------------------------------- | :-------------------------------------------------------------------------------- +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 | +FEATURE_STREAM_TAP | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports Task-based Asynchronous Pattern (TAP) +FEATURE_STREAM_EAP | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports Event-based Asynchronous Pattern (EAP) +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_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 | + #Building SSH.NET# Software | .NET 3.5 | .NET 4.0 | SL 4 | SL 5 | WP 71 | WP 80 | UAP10 From b0e3612b95d70b8749d44cca22bb026a581d9650 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Fri, 1 Apr 2016 20:36:11 +0200 Subject: [PATCH 2/3] Added FEATURE_MEMORYSTREAM_TRYGETBUFFER symbol --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e8e77f17..1f3fd1d2 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,8 @@ 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 | +FEATURE_MEMORYSTREAM_GETBUFFER | [MemoryStream] () 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] () features a [TryGetBuffer(out ArraySegment)](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_EAP | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports Event-based Asynchronous Pattern (EAP) FEATURE_STREAM_APM | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports Asynchronous Programming Model (APM) From ec86cd8869b3aa2cac826ce6ed23e1a01440a5ca Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Fri, 1 Apr 2016 21:21:52 +0200 Subject: [PATCH 3/3] Remove FEATURE_STREAM_EAP --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1f3fd1d2..881d8df0 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,6 @@ FEATURE_THREAD_THREADPOOL | ThreadPool is supported FEATURE_MEMORYSTREAM_GETBUFFER | [MemoryStream] () 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] () features a [TryGetBuffer(out ArraySegment)](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_EAP | [Stream](https://msdn.microsoft.com/en-us/library/system.io.stream.aspx) supports Event-based Asynchronous Pattern (EAP) 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)