Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
6e86d0f
docs/Makefile.am: add ASPELL_NUT_COMMON_ARGS to preclude mangling of …
jimklimov May 12, 2026
0ec1d25
Introduce NUT "authconf" file support [#3329]
jimklimov May 11, 2026
6ca27cc
tests/test_authconf.c: drop "Mocks for functions usually provided by …
jimklimov May 12, 2026
0ad9e8b
clients/authconf.{c,h}, tests, docs: extend upscli_dump_authconf{,_li…
jimklimov May 12, 2026
30a658d
clients/authconf.{c,h}, docs/man/upscli_find_authconf.txt: refactor w…
jimklimov May 12, 2026
559a641
common/common.c et al: relocate check_perms() from upsd to common cod…
jimklimov May 12, 2026
1917236
clients/authconf.c: parse_authconf_file(): call check_perms(filename)…
jimklimov May 12, 2026
a77edbc
common/common.c: cosmetic fix
jimklimov May 12, 2026
9c49cb1
clients/upsclient.{c,h}, docs/man/upscli_init.txt: introduce upscli_i…
jimklimov May 12, 2026
b44abdd
clients/authconf.{c,h}, docs/man/upscli_read_authconf.txt: add search…
jimklimov May 12, 2026
6858c78
tests/test_authconf.c: honour NUT_DEBUG_LEVEL [#3329]
jimklimov May 12, 2026
781b154
tests/test_authconf.c: add a dev-test for discovery of user/site nuta…
jimklimov May 12, 2026
8dae525
conf/nutauth.conf.sample.in, configure.ac, conf/Makefile.am, conf/.gi…
jimklimov May 12, 2026
2dc2e75
scripts/obs/debian.nut-client.install, scripts/obs/debian.nut-client.…
jimklimov May 12, 2026
b0d7358
clients/authconf.c: upscli_splitauth(): if "port" is a non-numeric st…
jimklimov May 12, 2026
c29095d
clients/authconf.c: upscli_splitauth(): reject empty non-NULL sect_na…
jimklimov May 12, 2026
1871928
clients/authconf.c: handle_authconf_args(): revise section title line…
jimklimov May 12, 2026
a8b172b
clients/authconf.{c,h}, docs: further refactor with upscli_normalize_…
jimklimov May 12, 2026
135cd21
clients/authconf.c: refactor upscli_find_authconf() with upscli_norma…
jimklimov May 12, 2026
60c5497
tests/test_authconf.c: add a Non-exact match test case [#3329]
jimklimov May 12, 2026
4d631c5
clients/authconf.c: fix static analysis warnings [#3329]
jimklimov May 13, 2026
39a7ca7
clients/authconf.{c,h}: refactor static upscli_add_authconf() with a …
jimklimov May 13, 2026
6a9a487
clients/authconf.c, docs/man/nutauth.conf.txt: revise section title p…
jimklimov May 13, 2026
5d30205
docs/man/*auth*.txt, docs/man/Makefile.am: reshuffle nutauth.conf rel…
jimklimov May 13, 2026
30e5bcf
clients/authconf.c: upscli_create_authconf(): handle failed calloc() …
jimklimov May 13, 2026
6f4374a
clients/authconf.{c,h}, tests/test_authconf.c, docs/man/*auth*, docs/…
jimklimov May 13, 2026
997e5e7
clients/authconf.{c,h}, docs: introduce upscli_clone_authconf_item() …
jimklimov May 13, 2026
17cb0eb
clients/authconf.c: upscli_find_authconf_item(): refine return of glo…
jimklimov May 14, 2026
329a844
clients/authconf.c: refactor with separation of upscli_add_authconf_i…
jimklimov May 14, 2026
3c81c00
clients/authconf.c, docs/man/upscli_create_authconf_item.txt: revise …
jimklimov May 14, 2026
09e1700
clients/authconf.c, docs/man/upscli_create_authconf_item.txt: revise …
jimklimov May 14, 2026
144e391
docs/man/Makefile.am: fix after reshuffle nutauth.conf related method…
jimklimov May 14, 2026
5e815cb
clients/authconf.{c,h}: introduce upscli_get_authconf_item() for auto…
jimklimov May 14, 2026
aff7600
tests/test_authconf.c: print TAP-style progress trackingl add tests f…
jimklimov May 14, 2026
1e9dc94
clients/authconf.c: upscli_get_authconf_item(): add ifdef-ed away ver…
jimklimov May 14, 2026
92d1316
clients/authconf.{c,h}, docs/man/upscli_create_authconf_item.txt, doc…
jimklimov May 14, 2026
812f558
clients/authconf.c, tests/test_authconf.c: handle_authconf_args(): wh…
jimklimov May 15, 2026
52dcd40
clients/upsclient.{c,h}, clients/authconf.c, docs: introduce upscli_a…
jimklimov May 15, 2026
3a8d54f
clients/nutclient.{cpp,h}: add rudimentary support for SSLConfig_CERT…
jimklimov May 15, 2026
b395f96
clients/authconf.c, docs/man/upscli_read_authconf_file.txt: add suppo…
jimklimov May 15, 2026
576ecd5
clients/upsclient.c: upscli_add_host_cert(), upscli_find_host_cert():…
jimklimov May 18, 2026
6a2e45f
tests/NIT/nit.sh: add support for nutauth.conf file testing, add a re…
jimklimov May 18, 2026
0237814
tests/test_authconf.c: consult presence of NUT_AUTHCONF_FILE envvar t…
jimklimov May 18, 2026
028f320
clients/authconf.c: handle_authconf_args(): revise logging of parsed …
jimklimov May 18, 2026
8084ac8
clients/upsclient.c: document better the upscli_init*() and upscli_ss…
jimklimov May 18, 2026
6632172
clients/upsc.c, docs: add support for "-A /path/to/nutauth.conf" [#33…
jimklimov May 18, 2026
1d9f7ae
clients/authconf.{c,h}, docs/man/upscli_dump_authconf_item.txt, tests…
jimklimov May 18, 2026
def0445
clients/upsclient.c: upscli_init_authconf(): debug-trace the authconf…
jimklimov May 18, 2026
ab35fe6
clients/upsclient.c: upscli_init_authconf(): if the "ac" refers to a …
jimklimov May 18, 2026
3c67acc
clients/upsclient.c: upscli_init2(): quiesce reaction to NUT_QUIET_IN…
jimklimov May 18, 2026
9504f66
clients/upsclient.c: upscli_add_host_cert(): revise splitting apart t…
jimklimov May 18, 2026
8113986
clients/upsclient.c: upscli_find_host_port_cert(): debug-trace whethe…
jimklimov May 18, 2026
21f811a
clients/upsclient.c: BadCertHandler(): cast printing of port [#3329]
jimklimov May 19, 2026
8ac63a5
clients/upsclient.c: upscli_add_host_cert(): fix reporting for plain …
jimklimov May 19, 2026
331b12a
conf/upsmon.conf.sample.in, docs/man/upsmon.conf.txt: clarify CERTHOS…
jimklimov May 19, 2026
e4ad09a
tests/NIT/nit.sh: generatecfg_upsmon_add_SSL(): consider CERTHOST wit…
jimklimov May 19, 2026
0c25ee4
clients/upsclient.c: revise logging from AuthCertificate*() methods […
jimklimov May 19, 2026
8cff960
clients/upsclient.c: upscli_sslinit(): wrap long lines in NSS part [#…
jimklimov May 19, 2026
16dd3fb
tests/NIT/nit.sh: fix passing root CA cert trust to NSS DB [#3329]
jimklimov May 19, 2026
5440db6
tests/NIT/nit.sh: fix passing server cert usage to NSS DB [#3329]
jimklimov May 19, 2026
ce411a9
tests/NIT/nit.sh: fix passing server cert trust to NSS DB [#3329]
jimklimov May 19, 2026
dfb1a25
clients/upsclient.c: AuthCertificate(), upscli_sslinit(): refactor NS…
jimklimov May 19, 2026
708a1da
tests/NIT/Makefile.am: check-NIT-devel: minimize nut_version.h regene…
jimklimov May 19, 2026
548f621
tests/NIT/nit.sh: do not export NUT_AUTHCONF_FILE to NIT.env [#3329, …
jimklimov May 19, 2026
fb2df08
clients/authconf.c, docs/man/nutauth.conf.txt, tests/NIT/nit.sh: set_…
jimklimov May 19, 2026
92069e2
clients/upsclient.c: upscli_find_host_cert(), upscli_add_host_cert():…
jimklimov May 19, 2026
582838b
include/strcasestr-static.h, clients/authconf.c, etc.: promote code f…
jimklimov May 19, 2026
e914cca
clients/upsclient.c, docs/man/upscli_add_host_cert.txt: refactor upsc…
jimklimov May 19, 2026
1137a79
clients/upsclient.c: upscli_cleanup(): call upscli_free_authconf_list…
jimklimov May 19, 2026
b68c19e
clients/{upscmd,upsrw,upslog,upsstats,upsset,upsimage}.c, docs/man/*.…
jimklimov May 19, 2026
b76c008
clients/upsstats.c: ups_connect(): avoid potential NULL dereference i…
jimklimov May 20, 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
25 changes: 25 additions & 0 deletions NEWS.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,31 @@ https://github.com/networkupstools/nut/milestone/13
allows to pass the `certfile` argument needed for OpenSSL builds. [#3331]
* The `libupsclient` (C) and `libnutclient` (C++) API were updated to
report the ability to check `CERTIDENT` information. [#3331]
* Introduced support for "authconf" files to store and convey NUT client
authentication details. [issue #3329]

- `upsc`, `upscmd`, `upsrw` command-line client updates:
* Enabled support for `nutauth.conf` files to provide credentials and/or
SSL settings in the client which previously only did best-effort attempts
at secure communications without an individual certificate, and only
anonymously for reading. The new `-A filename` option defaults to trying
to use a `nutauth.conf` file (if found in one of the default locations)
but not failing if one is not usable; specific values can require use of
such a file (`default`) or to not even try reading one (`none`).
[issues #3329, #3411]

- `upslog` client/tool updates:
* Added support for best-effort use of `nutauth.conf` files from default
locations or via `-A` option, as described above. Since this client
can establish multiple connections, keep in mind that currently it
can only identify itself with some one (first seen) client certificate,
if `CERTIDENT` settings are used. Multiple `CERTHOST` directives for
specially trusted servers can be used. [#3329]

- `upsstats`, `upsset`, `upsimage` CGI client updates:
* Added support for best-effort use of `nutauth.conf` files from default
locations described above (no way to choose the location, other than
by web-server environment variables for CGI calls). [#3329]

- `upsmon` client updates:
* Introduced support for `CERTFILE` option, so the client can identify
Expand Down
11 changes: 11 additions & 0 deletions UPGRADING.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,17 @@ Changes from 2.8.5 to 2.8.6
if the requested value is larger than what is allowed (minus some reserve
for configuration files and other use-cases). [issue #3365]

- Enabled support for `nutauth.conf` files to provide credentials and/or
SSL settings in clients which previously only did best-effort attempts at
secure communications without an individual certificate, and only anonymously
for reading like `upsc`.
+
The new `-A filename` option defaults to trying to use a `nutauth.conf` file
(if found in one of the default locations) but not failing if one is not
usable; specific values can require use of such a file or to not even try
reading one ('none' as the legacy default). See the updated manual pages
for more details. [issues #3329, #3411]


Changes from 2.8.4 to 2.8.5
---------------------------
Expand Down
4 changes: 2 additions & 2 deletions clients/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ endif HAVE_CXX11

# Optionally deliverable as part of NUT public API:
if WITH_DEV
include_HEADERS = upsclient.h
include_HEADERS = upsclient.h authconf.h
if HAVE_CXX11
include_HEADERS += nutclient.h nutclientmem.h
else !HAVE_CXX11
Expand Down Expand Up @@ -170,7 +170,7 @@ upsstats_cgi_LDADD = $(LDADD_CLIENT) $(top_builddir)/common/libcommonstrjson.la
# but it needs nut_version.h made before the rest of build,
# to include it into upsclient.c (without an explicit link,
# this target is sometimes missed in parallel builds):
libupsclient_la_SOURCES = upsclient.c upsclient.h
libupsclient_la_SOURCES = upsclient.c upsclient.h authconf.c authconf.h

# See comments for similar trick in common/Makefile.am for common-nut_version.c
if BUILDING_IN_TREE
Expand Down
Loading
Loading