Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
c670f9c
AI PoC: implement the remainder of NUT Networked protocol (as of NUT …
jimklimov Apr 8, 2026
c4dd5d6
scripts/perl/Nut.pm: revise AI creations, complete the TRACKING+waiti…
jimklimov Apr 8, 2026
02236c2
scripts/python/module/PyNUT.py.in: revise AI creations, complete the …
jimklimov Apr 8, 2026
a8d8fce
scripts/perl/Nut.pm: fix syntax [#1348]
jimklimov Apr 8, 2026
068ad5a
scripts/perl/Nut.pm: Implement TrackingID as a separate class [#1348]
jimklimov Apr 8, 2026
aa75a7c
scripts/python/module/PyNUT.py.in: fix syntax [#1349]
jimklimov Apr 8, 2026
09ede2a
scripts/python/module/PyNUT.py.in: Implement TrackingID as a separate…
jimklimov Apr 8, 2026
215a525
clients/nutclient.h, clients/Makefile.am: Implement TrackingID as a s…
jimklimov Apr 8, 2026
d17ccb6
clients/nutclient{,mem}.{h,cpp}, tests/*.cpp: implement waiting for T…
jimklimov Apr 8, 2026
3eb777b
scripts/perl/Nut.pm: TrackingID class: include timestamp tracking and…
jimklimov Apr 8, 2026
56e2e16
scripts/python/module/PyNUT.py.in: TrackingID class: include timestam…
jimklimov Apr 8, 2026
990397b
scripts/python/module/test_nutclient.py.in: add test with SET VAR TRA…
jimklimov Apr 8, 2026
4fd7a51
tests/cpputest-client.cpp: add test with SET VAR TRACKING [#1711, #656]
jimklimov Apr 8, 2026
53a7bf7
clients/nutclient{,mem}.{h,cpp}: rename primary()=>becomePrimary, add…
jimklimov Apr 9, 2026
c078629
scripts/perl/Nut.pm: rename primary()=>becomePrimary, add becomeSecon…
jimklimov Apr 9, 2026
48f7674
scripts/perl/Nut.pm: fix typos in comments
jimklimov Apr 9, 2026
73cbaf3
scripts/perl/Nut.pm: add warnings toggle
jimklimov Apr 9, 2026
bbdc4a2
scripts/perl/Nut.pm: becomeSecondary() was overkill, there is no such…
jimklimov Apr 9, 2026
7746fa6
scripts/python/module/PyNUT.py.in: refactor FSD() with an explicit be…
jimklimov Apr 9, 2026
f447072
clients/nutclient{,mem}.{h,cpp}: becomeSecondary() was overkill, ther…
jimklimov Apr 9, 2026
dbb1aed
Client libraries (C, C++, Python, PERL): introduce an isValidProtocol…
jimklimov Apr 9, 2026
6f4ce1f
Client libraries (C, C++, Python): use isValidProtocolVersion() metho…
jimklimov Apr 9, 2026
f0c16a9
scripts/perl/Nut.pm: call StartTLS() from _initialize(), and use isVa…
jimklimov Apr 9, 2026
e0e849a
scripts/perl/test_nutclient.pl: introduce tests, move Nut.pm to UPS s…
jimklimov Apr 9, 2026
b260564
scripts/perl/UPS/Nut.pm: wrap all remaining $self->{err} assignments …
jimklimov Apr 9, 2026
387aaf4
scripts/python/module/test_nutclient.py.in: fix typo in debug traces
jimklimov Apr 9, 2026
4aeba6a
scripts/perl/UPS/Nut.pm: change commands that address an UPS to optio…
jimklimov Apr 9, 2026
bfa459f
scripts/perl/UPS/Nut.pm: fix string work with TRACKING logic
jimklimov Apr 9, 2026
2400917
scripts/perl/test_nutclient.pl: fix test case setup, update comments …
jimklimov Apr 9, 2026
b74de45
scripts/perl/UPS/Nut.pm: fix error messages when Authenticate() and L…
jimklimov Apr 9, 2026
5f1992e
scripts/perl/test_nutclient.pl: fix access to possibly undefined envv…
jimklimov Apr 9, 2026
6ae186a
scripts/perl/test_nutclient.pl: report $nut->{err} in the exception m…
jimklimov Apr 9, 2026
b87a143
tests/NIT/nit.sh: introduce tests for PERL [#1348, #1711]
jimklimov Apr 9, 2026
0efb97e
tests/NIT/nit.sh: when we ask for specific NIT_CASE values (cppnit, p…
jimklimov Apr 9, 2026
6d6008b
scripts/perl/UPS/Nut.pm: GetTrackingResult(): fix parsing results of …
jimklimov Apr 9, 2026
2fd6eb1
scripts/perl/test_nutclient.pl: fix reporting of @failed methods [#1711]
jimklimov Apr 9, 2026
e4a01d7
scripts/perl/UPS/Nut.pm: we can only authenticate once per connection…
jimklimov Apr 9, 2026
cb2d024
scripts/perl/UPS/Nut.pm: _send(): reset the error buffer before netwo…
jimklimov Apr 9, 2026
47a31c8
scripts/perl/test_nutclient.pl: fix DeviceLogin=>ListClient for "admi…
jimklimov Apr 9, 2026
f9cf470
clients/nutclient{,mem}.{h,cpp}, tests/cpputest-client.cpp: remember …
jimklimov Apr 9, 2026
738614d
tests/NIT/nit.sh: add a note about jNut using this script [#1711, #1350]
jimklimov Apr 9, 2026
6055ed2
clients/Makefile.am: bump libupsclient ABI version
jimklimov Apr 10, 2026
03e3b49
scripts/python/module/PyNUT.py.in: isValidProtocolVersion(): stringif…
jimklimov Apr 10, 2026
d471e60
server/netssl.c: net_starttls(): report which SSL backend is in place…
jimklimov Apr 10, 2026
7d778b6
scripts/python/module/PyNUT.py.in: retry SSL handshake if it timed ou…
jimklimov Apr 10, 2026
86a8d77
scripts/perl/UPS/Nut.pm: use CAPATH to provide SSL_ca_path, not SSL_c…
jimklimov Apr 10, 2026
06bbf7f
scripts/perl/UPS/Nut.pm: STARTTLS: debug-print %arg list that is pass…
jimklimov Apr 10, 2026
0807604
scripts/perl/UPS/Nut.pm, scripts/perl/test_nutclient.pl: SSL_ca_path …
jimklimov Apr 10, 2026
ebf34ea
scripts/perl/UPS/Nut.pm, scripts/perl/test_nutclient.pl: support NUT_…
jimklimov Apr 10, 2026
ded62cb
scripts/perl/UPS/Nut.pm: apply indentation consistenly (3 styles were…
jimklimov Apr 10, 2026
e4f7027
scripts/perl/UPS/Nut.pm: _initialize(): include previously reported e…
jimklimov Apr 10, 2026
f30866b
scripts/perl/UPS/Nut.pm: support USESSL=undef, check that we can_ssl …
jimklimov Apr 10, 2026
8ee9d4b
scripts/perl/test_nutclient.pl: support USESSL=undef if no value prov…
jimklimov Apr 10, 2026
4fb4762
tests/NIT/nit.sh: setenv_ssl_perl(): check if IO::Socket::SSL is avai…
jimklimov Apr 10, 2026
322c84c
scripts/perl/UPS/Nut.pm: when IO::Socket::SSL is not available, repor…
jimklimov Apr 10, 2026
8ff6d46
scripts/perl/test_nutclient.pl: avoid "Can't call method "Error" on a…
jimklimov Apr 10, 2026
dc41951
NEWS.adoc: announce updates to client binding libraries [#3402]
jimklimov Apr 10, 2026
8e0b5ea
m4/ax_c_pragmas.m4, clients/nutclient.cpp: introduce HAVE_PRAGMA_GCC_…
jimklimov Apr 11, 2026
4b179b8
tests/NIT/nit.sh: report the non-default NIT_CASE being handled [#1711]
jimklimov Apr 12, 2026
7b14c25
scripts/perl/UPS/Nut.pm: support debugging messages of IO::Socket::SS…
jimklimov Apr 12, 2026
f066d98
scripts/perl/UPS/Nut.pm: pass only defined args to IO::Socket::SSL->s…
jimklimov Apr 12, 2026
adf020e
scripts/perl/UPS/Nut.pm: allow SSL cert validation for IP addresses a…
jimklimov Apr 12, 2026
08fb95d
tests/NIT/nit.sh: centralize definition of PERL_OPTS [#1711]
jimklimov Apr 12, 2026
2f67a77
tests/NIT/nit.sh: neuter CERTVERIFY on darwin for now [#3404]
jimklimov Apr 12, 2026
0738069
scripts/perl/*, tests/NIT/nit.sh: streamline passing NUT_DEBUG_SSL_PE…
jimklimov Apr 12, 2026
36d26b5
scripts/perl/UPS/Nut.pm: align closer with can_ssl [#1711]
jimklimov Apr 12, 2026
d7907c4
clients/nutclient.cpp: work around lack of threads in some mingw vers…
jimklimov Apr 12, 2026
c4d620f
scripts/perl/UPS/Nut.pm: fix to loading IO::Socket::SSL via eval with…
jimklimov Apr 12, 2026
af84ef7
scripts/perl/UPS/Nut.pm: now we can pass SSL debug level as a number …
jimklimov Apr 12, 2026
a654ba3
scripts/perl/UPS/Nut.pm: warn if CERTVERIFY and custom CA options are…
jimklimov Apr 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion COPYING
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
Public License (GPL) version 3, or (at your option) any later version. See
"LICENSE-GPL3" in the root of this distribution.

The Perl client module (scripts/perl/Nut.pm) is released under the same
The Perl client module (scripts/perl/UPS/Nut.pm) is released under the same
license as Perl itself. That is to say either GPL version 1 or (at your option)
any later version, or the "Artistic License".

Expand Down
14 changes: 14 additions & 0 deletions NEWS.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,20 @@ https://github.com/networkupstools/nut/milestone/13
[issue #3387, PR #3402]


- NUT client libraries:
* Complete support for actions documented in `docs/net-protocol.txt`
was implemented in C++, Python and PERL bindings in-tree, and for Java
in link:https://github.com/networkupstools/jNut[jNut] nearby. Among
other things, all these libraries now support `STARTTLS` and `TRACKING`
to wait for server confirmation of a `SET VAR` or `INSTCMD` request,
and this is tested by the NIT script. [issues #656, #1348, #1349, #1350,
#1613, #1711, PR #3402]
* Enhanced client side of `STARTTLS` dialog to follow up by a simple
query (for protocol version) to verify that handshake succeeded.
This change impacted also the classic C `libupsclient` library.
[issue #3387, PR #3402]


Release notes for NUT 2.8.5 - what's new since 2.8.4
----------------------------------------------------

Expand Down
4 changes: 2 additions & 2 deletions clients/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ endif WITH_SSL
# for the run-time dynamic linker resolution? For now the shared-library
# builds are "exotic", but it makes sense to deprecate this export in a
# future release.
libupsclient_la_LDFLAGS = -version-info 8:0:1
libupsclient_la_LDFLAGS = -version-info 9:0:2
libupsclient_la_LDFLAGS += -export-symbols-regex '^(upscli_|nut_debug_level)'
#|s_upsdebug|fatalx|fatal_with_errno|xcalloc|xbasename|print_banner_once)'
if HAVE_WINDOWS
Expand Down Expand Up @@ -292,7 +292,7 @@ libupsclient-version.h: libupsclient.la
if HAVE_CXX11
# libnutclient version information and build
libnutclient_la_SOURCES = nutclient.h nutclient.cpp
libnutclient_la_LDFLAGS = -version-info 3:0:1
libnutclient_la_LDFLAGS = -version-info 4:0:2
# Needed in not-standalone builds with -DHAVE_NUTCOMMON=1
# which is defined for in-tree CXX builds above:
if ENABLE_SHARED_PRIVATE_LIBS
Expand Down
Loading
Loading