Rebex Syslog

Syslog client/server library for .NET

Download 30-day free trial Buy from $199
More .NET components

Release notes for Rebex Syslog for .NET

Released
May252022

R6.4 #

(version 6.0.8181 from 2022-05-25)

Support for .NET 6.0 on Android and iOS

Support for mobile platforms in .NET 6.0 has finally arrived, slightly masquaraded as .NET MAUI. Rebex components now support these new platforms as well.

Optimized AEAD ciphers in TLS

ChaCha20/Poly1305 and AES/GCM ciphers have been slightly optimized on all platforms.

Optimized CPU usage in TLS 1.3

Rebex TLS 1.3 core has been further optimized for this release.

Detailed list of changes:

  • SSH: Fixed behavior of TryPasswordFirst option with servers that support 'publickey' and 'keyboard-interactive' but not 'password'.
  • SSH: Optimized AEAD ciphers in SSH.
  • TLS Core: Optimized AEAD ciphers in TLS.
  • TLS Core: Optimized CPU usage in TLS 1.3 data flow.
  • TLS Core: Optimized scenario when the remote party requires TLS 1.2 (or lower TLS version) and TLS 1.3 is enabled.
  • TLS Core: Optimized TLS 1.3 key derivation functions.
  • Cryptography: Added support for NTLM plugin for non-Windows platforms.
  • Cryptography: Added workaround for buggy RSACryptoServiceProvider in .NET 6.0 on Android.
  • Cryptography: Enhanced workarounds for slightly misbehaved certificate validator in .NET 6.0 on Android.
  • Cryptography: Fixed exporting of DSA keys on Windows XP SP3.
  • Cryptography: Optimized ChaCha20Poly1305 internals.
  • Cryptography: Optimized internal AEAD interfaces.
  • Cryptography: Working around RSA private key access issue in .NET 6.0 on Android.
  • Common: Improved inner exception rethrow logic on .NET Framework 3.5/4.0.
  • Common: Optimized internal data buffer methods.
Released
March282022

R6.3 #

(version 6.0.8123 from 2022-03-28)

Maintenance release

This is a maintenance release with enhancements in the shared functionality.

Detailed list of changes:

  • Networking: Added ProxySocket.Bind(Socket) protected method to allow more customization.
  • SSH: Improved workaround for very old versions of Bitvise server that don't properly handle SSH channel closing.
  • TLS Core: Added TlsSocket.CloseAsync method (alias for DisposeAsync method).
  • TLS Core: Fixed occasional (rare) premature termination of the TLS connection when a remote party does not support TLS 1.3.
  • TLS Core: Improved protocol mismatch detection.
  • TLS Core: Optimized asynchronous Send/Receive operation in TLS 1.3.
  • Cryptography: Improved Poly1305 internals.
  • Cryptography: Slightly optimized encrypt/decrypt operations in symmetric branch of the CNG/BCrypt interop layer.
  • Cryptography: Small optimization in ARM (Advanced NEON SIMD) implementation of ChaCha20.
  • Common: Fixed rare premature finalization of a buffer in SSPI interop that might lead to an AccessViolationException.
  • Common: Improved internal asynchronous infrastructure.
Released
January242022

R6.2 #

(version 6.0.8060 from 2022-01-24)

Maintenance release

This is a maintenance release that brings several enhancements and resolves some issues.

Detailed list of changes:

  • Syslog: Added workaround for BSD log format without colon.
  • Syslog: Improved error reporting in SyslogServer.Start().
  • Networking: Fixed timeout handling during name resolution.
  • TLS Core: Fixed handling of TLS 1.3 signature_algorithms_cert extension.
  • TLS Core: Optimized temporary object usage in TLS 1.3 Send/Receive metods.
  • Cryptography: Fixed releasing of CNG handles in AES/GCM interop (issue only present in R6.1 on Windows).
Released
January082022

R6.1 #

(version 6.0.8044 from 2022-01-08)

Maintenance release

This is a maintenance release that brings several enhancements and resolves some issues.

Detailed list of changes:

  • All: Fixed compatibility of Rebex binaries for .NET Framework 4.0 with ASP.NET 4.5 or higher.
  • Syslog: Improved Socket error handling and reporting.
  • TLS Core: Optimized receive operation in TLS 1.3.
  • TLS Core: Slight optimizations in TLS 1.3 on modern platforms.
  • Cryptography: Caching of CNG algorithm provider handles.
  • Cryptography: Fixed Certificate.​GetSignatureHashAlgorithm() for certificates signed by Ed25519 authorities.
  • Cryptography: Fixed unmanaged resource leak in CertificateStore.
  • Cryptography: Optimized symmetric branch of Windows CNG (BCrypt) interop layer.
Released
November252021

R6.0 #

(version 6.0.8000 from 2021-11-25)

Support for .NET 6.0!

This release adds a new set of binaries targeting the final version of .NET 6.0. It supports all .NET 6.0 platforms:

  • Windows (x64, x86, ARM64)
  • Linux (x64, ARM32, ARM64)
  • macOS (x64)

Please note that support for Android and iOS/tvOS in .NET 6.0 is still in preview mode. We will fully support these platforms as soon as the corresponding .NET 6.0 update is published.

Detailed list of changes:

  • All: Added a new set of binaries targeting .NET 6.0.
  • All: Removed several obsolete and deprecated APIs.
  • All: Removed support for legacy ISerializable interface from binaries for .NET Standard.
  • SSH: Added support for SSH key algorithms based on ECDSA X.509 certificates (RFC 6187).
Released
November242021

R5.7 #

(version 5.0.7999 from 2021-11-24)

Support for .NET 6.0 and Windows 11

Windows 11 is now a supported platform.

Rebex assemblies targeting .NET Standard 2.1 now support .NET 6.0.

Improved TLS 1.3 performance

We made a number of optimizations in the TLS 1.3 core, which increased speed and decreased CPU usage.

Detailed list of changes:

  • All: Added support for .NET 6.0 on Windows, Linux and macOS.
  • All: Added support for Windows 11.
  • SSH: Added support for PuTTY PPK3 format to SshPrivateKey.
  • SSH: Added support for 'x509v3-rsa2048-sha256' SSH key algorithm (RSA X.509 certificates, RFC 6187).
  • SSH: Added workaround for a server with broken SSH window size handling logic.
  • SSH: Fixed handling of oversized data packets from servers with broken window size.
  • TLS Core: Improved TLS 1.3 performance.
  • Cryptography: Added more values to X.509 RevocationReason enum.
  • Cryptography: Added support for private keys in PuTTY PPK3 format (uses Argon2 key derivation function).
  • Cryptography: Added workaround for Google's CRLs with non-constructed explicit ASN.1 nodes.
Released
October262021

R5.6 #

(version 5.0.7970 from 2021-10-26)

Support for .NET 6.0 RC2

Rebex assemblies targeting .NET Standard 2.1 have been fully tested on .NET 6.0 RC2 and are suitable to be used in production on Microsoft's latest .NET platform ahead of the official release.

Maintenance release

This is a maintenance release with enhancements in the shared functionality.

Detailed list of changes:

  • All: Added support for .NET 6.0 RC2.
  • TLS Core: Fixed possible NullReferenceException in TLS 1.2 socket after it has been closed.
  • TLS Core: Improved handling of exceptions in TlsSocket.Send method.
  • Cryptography: Fixed handling of RSAParameters without DP/DQ in AsymmetricKeyAlgorithm and PrivateKeyInfo.
  • Cryptography: Fixed loading of encrypted keys with empty passwords in new OpenSSH format.
  • Cryptography: Small optimization in AVX2 implementation of ChaCha20.
Released
August172021

R5.5 #

(version 5.0.7900 from 2021-08-17)

New binaries for .NET Core 3.1

We added a new set of binaries targeting .NET Core 3.1. We have already been supporting that platform since 2019 via .NET Standard 2.1. However, the new set of binaries utilizes .NET Core's hardware intrinsics API and features our fast ChaCha20/Poly1305 implementation that has been previously only available on .NET 5.0.

For an overview of available binaries and supported platforms, check out Rebex Support Lifecycle KB article.

Detailed list of changes:

  • All: Added 'netcoreapp3.1' binaries.
  • All: Fixed compatibility with UWP and .NET Native compiler.
  • Syslog: Added SyslogMessageReceivedEventArgs.​Timestamp property (available for messages received by a server).
Released
August052021

R5.4 #

(version 5.0.7888 from 2021-08-05)

Maintenance release

This release resolves several issues in the shared functionality.

Detailed list of changes:

  • Networking: Fixed casing in 'Basic' HTTP proxy authorization header.
  • TLS Core: Fixed parsing of TLS 1.3 Certificate handshake message spanning multiple records.
  • Cryptography: Fixed Certificate.FriendlyName setter in .NET 5.0 on non-Windows platforms.
Released
June182021

R5.3 #

(version 5.0.7840 from 2021-06-18)

Maintenance release

This is a maintenance release with enhancements in the shared functionality.

Detailed list of changes:

  • SSH: Fixed race condition in OpenSSH-style compression startup code (occasionally caused connection failures during authentication with SSH compression was enabled).
  • TLS Core: Added SslSettings.​SetPreferredSuites/​GetPreferredSuites methods to make it possible to specify client-side TLS cipher preference.
  • TLS Core: Improved logging when remote party does not support TLS 1.3.
  • TLS Core: Optimized TlsSocket.Negotiate method when TLS 1.3 is enabled but not supported by the remote side.
  • TLS Core: Prevented 'unobserved' exceptions in task-based TLS 1.2 core.
  • Cryptography: Added support for private keys using PBKDF2 with HMAC/SHA-2 (RFC 8018 / PKCS #5 v2.1).
  • Cryptography: Fixed detection of FIPS-only systems on .NET Framework 4.8.
  • Cryptography: Optimized creation of algorithm objects in CNG layer.
Released
May092021

R5.2 #

(version 5.0.7800 from 2021-05-09)

New component: Rebex Syslog

Rebex Syslog is syslog client and server library for .NET. It supports UDP, TCP and TLS, and is compatible with third-party syslog clients and servers. It supports TLS 1.3, TLS 1.2 and earlier versions on all mainstream platforms including .NET Framework 3.5 on Windows 7. SHA-2, SNI, AES/GCM, ChaCha20/Poly1305 and other modern TLS features are supported as well.

The new library is available as a standalone package or as a part of Rebex Total Pack.

Detailed list of changes:

  • Syslog: Initial release of Rebex Syslog component.
  • Networking: Added support for SOCKS5 servers that respond with domain name.
  • SSH: Optimized usage of ChaCha20/Poly1305 in SSH.
  • Cryptography: Added ChaCha20Poly1305 class that implements ChaCha20/Poly1305 with an API that resembles .NET's AesGcm class.
  • Cryptography: Added support for loading of ECDSA certificates from PFX/P12 files in .NET 5.0 and .NET Standard 2.1 on Linux and macOS.
  • Cryptography: Added support for saving to PFX/P12 files for certificates with temporarily associated private keys in .NET 5.0 and .NET Standard 2.1 on Linux and macOS.
  • Cryptography: AVX2 implementation of ChaCha20 releases old pre-generated keystream immediately after reinitialization.
  • Cryptography: Clearing output data in AesGcm class when authentication tag is invalid.
  • Cryptography: Fixed parsing of Cryptographic Message Syntax envelopes with unsupported OIDs.
  • Cryptography: Improved ChaCha20/Poly1305 performance on .NET 3.5-4.6 and .NET Standard 2.x.
  • Cryptography: Improved performance of AES/CTR ciphers (used in SSH).
  • Common: Improved error handling when raising events via synchronization context.