Skip to content

Releases: rapier1/hpn-ssh

18.4.0 Release Candidate

28 Mar 18:38
6112792

Choose a tag to compare

Pre-release

This pre-release incorporates OpenSSH 9.7p1. On the HPN-SSH side of things this also includes the latest version of binn.[c|h] which is used to serialize data between the server and client when using the inband metrics gathering option. Aside from that only minor updates to the documentation were made.

HPN-SSH 18.3.1

22 Feb 21:30
1cfdd65

Choose a tag to compare

Temporary bug fix for 128bit xors in AES-CTR-MT. Not sure of the cause but it's happening under GCC13 and not GCC12 or GCC11 so we are thinking something has changed there. This shouldn't impact performance all that much.

Once we have a better solution in place we will release a new version. However, since this is in a critical code path we wanted to get this out immediately.

HPN-SSH 18.3.0 for OpenSSH 9.6p1

02 Feb 21:22

Choose a tag to compare

HPN-SSH 18.3.0 incorporates the most recent OpenSSH release, 9.6p1. This version does not introduce any new functionality. However, this release addresses a potential bug that may be encountered when an OpenSSH install is sending data to an HPN-SSH install. In some circumstances, especially at higher RTTs, it is possible that the transfer will enter into a pathological state typified by greatly reduced performance and excessive CPU usage on the sender side. We believe that this might be caused by poor interactions in OpenSSH when large receive windows are advertised to the client. This has been addressed by reducing the maximum size of the window advertised to OpenSSH to 15MB. This is a non-optimal solution especially in high RTT environments. We will be continuing to explore the causes and work towards creating a more performant solution for these situations.

HPN-SSH 18.2.0

27 Oct 19:40
c868a3b

Choose a tag to compare

This release brings HPN-SSH up to parity with OpenSSH 9.5p1. The only other change is that the HPNBufferSize and TcpRcvBuf options were removed. Both of the options were used to limit the throughput by imposing constraints on the receive buffer - either at the application layer for HPNBufferSize or at the TCP layer with TcpRcvBuf. Due to changes in the way that flow control was implemented (around 8.9p1) neither of these options actually had any effect. If, at some point, we do need to implement a throughput limiter there are better and more transparent ways to do this.

HPN-SSH 18.1.0 for OpenSSH 9.4

20 Sep 18:46

Choose a tag to compare

This is the 18.1.0 release of HPN-SSH based on OpenSSH 9.4. The major changes
included in this release are the introduction of a parallel ChaCha20-Poly1305 cipher
called [email protected]. This is now the default cipher used by
HPN-SSH. You may use the serial version of the cipher by explicitly calling it
with [email protected] if you prefer. However, this will only have
an impact on the local instantiation of hpnssh or hpnsshd. To use serial ChaCha20
on both ends of the connection you must run both the server and client with the
serial version.

We have also improved the efficacy of the Poly1305 MAC by using OpenSSL functions
to compute the MAC instead of the portable C implementation included in OpenSSH. Our
implementation of Poly1305 will fall back to the portable implementation if the OpenSSL
EVP is not available.

There have been other minor changes to improve code readability, improve compatibility
with LibreSSL, support Alpine more gracefully, and so forth.

Lastly, the versioning scheme as been normalize to Major.Minor.Fix. For example,
this version is 18.1.0 meaning that it is the 18th Major release, the 1st minor
release, and there 0 fixes/patches applied. In this scheme a minor bug fix will
increment the Fix value. A forward port to a new version of OpenSSH or a performance
improvement will increment the Minor value (and reset the Fix value). The introduction
of a major change or functionality will increment the Major value while resetting
both Minor and Fix to 1 and 0 respectively.

Okayed by [email protected] and [email protected]

What's Changed

  • Fix deadlocks in cipher ctr mt by @chutz in #7
  • Use an exit flag as well as pthread_cancel to tell worker threads to terminate by @chutz in #8
  • fix typos in HPN-README by @allanjude in #12
  • HPN-README: Mention correct OpenSSH buffer size by @nh2 in #24
  • Create FUNDING.yml by @rapier1 in #33
  • cipher-ctr-mt: Fix fscanf() on FILE *fp == NULL on non-SMT machines by @S-trace in #34
  • Reorder user creation and install steps in install instructions by @mpounsett in #43

New Contributors

Full Changelog: https://github.com/rapier1/openssh-portable/commits/hpn-18.1.0

v18.1.0-test

26 Jul 18:02

Choose a tag to compare

v18.1.0-test Pre-release
Pre-release

Source code for the v18.1.0 HPN-SSH Release