Skip to content

2024-01-04 NRPE version 4 support added

Hello,

Sorry for lack of updates but as always things took longer then anticipated....

New versions out

Last year I spent a lot of time updating all dependencies and created automated pipelines for building NSClient++. This is a massive benefit as it means that anyone can (more) easily build NSClient++ without a lot of effort and configuration (just clone the repo, and your done).

The culmination of this work was 0.6.0.0 which was released a few months ago over on GitHub. Which was essentially just "the same version" as before but with a lot of dependency updates.

There are still some feature missing (which is why I still say "Pre release") but as I have now added the first new feature I though iot was time to let more people know about these versions.

The new version 0.6.0.1 can be downloaded from GitHub

Use NRPE 3/4 to check NSClient++

So to use NRPE 3/4 (not 100% sure if anyone uses NRPE 3 as it seems like NRPE 4 is a bug fix for a protocol alignment issue) you just need to upgrade to the new version. It will automatically detect new versions of the protocol so everything should just work as before.

As we now use modern version of openssl it is now also possible to configure which version of TLS to support. This is a bit awkward currently as I am just using the same options as before so you have to disable each version manually (likely I will add a tlsv1.2+ option in the future)

[/settings/NRPE/server]
ssl options=no-sslv2,no-sslv3,no-tlsv1,no-tlsv1_1

But at least it is possible to configure this.

Check remote NRPE servers with version 4

Lastly you can also check remote servers with NRPE then you have two new options:

  • version which can be set to either 2 or 4 to specify which NRPE version to use.
  • tls version which can be set to tlsv1.3, tlsv1.2, tlsv1.1, tlsv1.0 as well as tlsv1.3+, tlsv1.2+, tlsv1.1+, tlsv1.0+

Future plans

(This list is not ordered)

  • Reenable missing features (i.e. upgrade some more things and ensure we have pipeline builds)
  • Build a new Web UI (web frameworks change so much it does not make sense to try to upgrade the old).
  • Upgrade checks to for modern Windows.
  • Investigate "old Windows" support (I expect the new builds will not run on Windows XP)
  • More Unit tests
  • Overhaul and deprecating/removal of outdated features
  • Code cleanups
  • Rewrite some modules and libraries in RUST

Please do let me know any specific things you would like to see!

// Michael Medin