You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Improvement request: capability disparity of OpenSSL and Mozilla NSS builds: provide same functionality #3331
Currently NUT OpenSSL builds allow the NUT upsd data server to certify itself with a PEM certificate+chain+key file, and NUT clients using the libupsclient to initiate STARTTLS and essentially trust anyone. With additional setup in client code (as currently only done in upsmon, see more at issue #3329), the trusted server range can be constrained to a directory with a list of PEM files.
With Mozilla NSS, the server and clients (currently only upsmon again) can use the specified trust database locations, with certificates uploaded there. Clients can present themselves with a certificate, and server can be configured to only talk to clients that present a certificate (any, or those validated by the server database). Clients can also be configured to require that a particular server should respond with a particular certificate subject name.
While the original difference to support the two libraries was largely due to licensing, they now also incur different capabilities and setup for the server and for the (remote) client depending on the build.
This issue is about trying to level the field, and having OpenSSL builds able to do all the same tricks as NSS builds (so the only practical difference is about cert/key setup).
changed the title [-]Improvement request: capability disparity of OpenSSL and Mozilla NSS builds[/-][+]Improvement request: capability disparity of OpenSSL and Mozilla NSS builds: provide same functionality[/+]on Feb 28, 2026
After experiments with PR #3330 it generally seems that OpenSSL session init is much more likely to fail, with various problems reported on different platforms. NIT code added by that PR for now will not test the OpenSSL variants in NUT CI runs, but that is of course not tenable long-term (focus of this issue).
Activity
[-]Improvement request: capability disparity of OpenSSL and Mozilla NSS builds[/-][+]Improvement request: capability disparity of OpenSSL and Mozilla NSS builds: provide same functionality[/+]tests/NIT/Makefile.am: default to run WITHOUT_SSL_TESTS for OpenSSL b…
jimklimov commentedon Feb 28, 2026
After experiments with PR #3330 it generally seems that OpenSSL session init is much more likely to fail, with various problems reported on different platforms. NIT code added by that PR for now will not test the OpenSSL variants in NUT CI runs, but that is of course not tenable long-term (focus of this issue).
A bit more context from @clepple in #246 (comment)
tests/NIT/Makefile.am: default to run WITHOUT_SSL_TESTS for OpenSSL b…
tests/NIT/Makefile.am: default to run WITHOUT_SSL_TESTS for OpenSSL b…
tests/NIT/Makefile.am: default to run WITHOUT_SSL_TESTS for OpenSSL b…
tests/NIT/Makefile.am: OpenSSL remains flaky on many platforms, work …
tests/NIT/Makefile.am: default to run WITHOUT_SSL_TESTS for OpenSSL b…
tests/NIT/Makefile.am: OpenSSL remains flaky on many platforms, work …
tests/NIT/Makefile.am: default to run WITHOUT_SSL_TESTS for OpenSSL b…
281 remaining items
tests/NIT/nit.sh: generate upsmon.pem [networkupstools#3331, networku…
clients/nutclient.cpp: fix NULL=>nullptr [networkupstools#3331]
clients/nutclient.cpp: fix NULL=>nullptr [networkupstools#3331]
clients/upsclient.c, clients/nutclient.cpp: use pragmas to hide unrea…
clients/upsclient.c, clients/nutclient.cpp: accept systems where open…
tests/cpputest-client.cpp: fix reporting of incoming envvars [network…
tests/cpputest-client.cpp: report also NUT_PORT [networkupstools#1711, …
tests/cpputest-client.cpp: fix reporting of incoming envvars [network…
tests/cpputest-client.cpp: report also NUT_PORT [networkupstools#1711, …
tests/NIT/nit.sh: revise sanity-check, not all NSS versions had a *.t…
tests/NIT/nit.sh: consider WITH_SSL_CLIENT_CERTIDENT=none to (re)set …
clients/nutclient.{cpp,h}, docs, Makefile.am: fix SSLConfig_NSS relat…
tests/cpputest-client.cpp: enable testing for CERTHOST with OpenSSL b…
tests/NIT/nit.sh: revise sanity-check, not all NSS versions had a *.t…
clients/nutclient.{cpp,h}, docs, Makefile.am: fix SSLConfig_NSS relat…