Skip to content

FTY remerge from master as of 2026-07-30 - #3516

Open
jimklimov wants to merge 920 commits into
networkupstools:FTYfrom
jimklimov:FTY-remerge-20260630
Open

FTY remerge from master as of 2026-07-30#3516
jimklimov wants to merge 920 commits into
networkupstools:FTYfrom
jimklimov:FTY-remerge-20260630

Conversation

@jimklimov

@jimklimov jimklimov commented Jun 30, 2026

Copy link
Copy Markdown
Member

Update the codebase changes accumulated since NUT v2.8.5 release, and rectify a few DMF-specific script/recipe nuances.

@jimklimov jimklimov added this to the 2.8.6 milestone Jun 30, 2026
@jimklimov jimklimov added CI Entries related to continuous integration infrastructure (here CI = tools + scripts + recipes) DMF NUT Data/Dynamic Mapping File/Format/Functionality feature labels Jun 30, 2026
@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

Preparing a ZIP file with standard source tarball and another tarball with pre-built docs for commit 48b043f ...

@jimklimov
jimklimov changed the base branch from master to FTY June 30, 2026 19:59
@AppVeyorBot

Copy link
Copy Markdown

Build nut 2.8.5.4908-master completed (commit e4ba78a776 by @jimklimov)

jimklimov added 24 commits July 13, 2026 11:04
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…_scan_ip_range_nut_authconf() and nutscan_scan_nut_authconf() with nutscan_nut_authconf_t argument [networkupstools#3329]

Make old methods wrappers of the new ones, so existing libnutscan clients
continue working as they were (no breaking ABI change, just new methods).

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…present in libupsclient build we try to use [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…etect desired timeout like other NUT clients do [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…etect and load NUT auth conf file like other clients do [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…t_timeout [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ed list manipulation, and methods to remove items from list [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…scanning "old nut" servers [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…if positive [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…onf_update_conn_flags() [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…thout SSL [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…t-ness of freed strings [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…for SSL-capable builds [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…LIENT_CERTIDENT ...` if `WITH_SSL_CLIENT != none` [networkupstools#1711]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…d num_sections) [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…is ignored [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…odule/PyNUT.py.in: add ability to parse nutauth.conf files [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
….conf files [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…m, scripts/python/module/PyNUT.py.in: revise ability to parse nutauth.conf files [networkupstools#3329]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…hout connecting right away; remember requested TRACKING option to apply whenever we do connect() [networkupstools#3329, networkupstools#1711]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
jimklimov and others added 26 commits July 27, 2026 14:27
….c [networkupstools#3541]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ction limit tracking [networkupstools#3541]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ion limit tracking [networkupstools#3541]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…e reconnect_report_freq to manage verbosity of on-going reconnect_trying() streak [networkupstools#3541]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…that retain custom logging of reconnection details for now [networkupstools#3541]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…nd may_log_reconnect_trying() [networkupstools#3541]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…networkupstools#3136]

nut_libusb_open() iterates the two candidate HID report descriptor lengths:

	int32_t rdlen1, rdlen2, rdlens[2];
	size_t j;
	...
	for (j = 0; j < sizeof(rdlens); j++)

sizeof(rdlens) is 8 (bytes), not 2 (elements), so the loop reads
rdlens[2..7] - 24 bytes past the end of the array - and uses that stack
garbage as rdlen. The "ran out of candidates" check after the loop has
the same bug.

The out-of-range indices are only reached when neither real candidate
satisfies the caller, i.e. exactly when a device is in a bad state and
both descriptor reads fail. Garbage that happens to pass the rdlen sanity
checks is then handed to libusb_control_transfer() and on to the HID
parser callback, which is where it segfaults.

Seen with usbhid-ups against an EcoFlow DELTA 3 Plus (3746:ffff) on an
NVIDIA Jetson Orin Nano whose USB device had wedged; "usbreset" on the
device cleared the wedge and hid the crash.

Use SIZEOF_ARRAY() from common.h, which both files already include.
libusb0.c carries the identical defect and is fixed the same way.

Regression from aba6f43 ("if the tried
'rdlen' did not succeed, fall back to the other value we had in mind"),
first released in v2.8.5.

Signed-off-by: John Grant <john.grant@dronedeploy.com>
…3550]

Signed-off-by: John Grant <john.grant@dronedeploy.com>
…debug_ascii() to avoid confusing trailing empty line for `\n` [networkupstools#3525]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…tent via upsdebug_ascii() to avoid confusing trailing empty line for `\n` [networkupstools#3525]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
….c, NEWS.adoc: introduce upsdebug_ascii_compact() for better readability [networkupstools#3525]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…sched`, only fall back to it [networkupstools#3525]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…se in failure code path [networkupstools#3551]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
`nut-scanner`: fix mutex release in failure code path
…loop-bounds

drivers/libusb{0,1}.c: bound rdlens loop by element count, not sizeof
Introduce a `reconnect_max_tries` setting for NUT drivers
…sched

`upssched`: rewrite WIN32 timer daemon spawning code path
…_concat

common/str.c, include/str.h: introduce `str_concat()`
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…elopment" section and detail a bit more [networkupstools#3550]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@jimklimov jimklimov changed the title FTY remerge from master as of 2026-06-30 FTY remerge from master as of 2026-07-30 Jul 30, 2026
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@AppVeyorBot

Copy link
Copy Markdown

@AppVeyorBot

Copy link
Copy Markdown

Build nut 2.8.5.5016-FTY completed (commit 9b73b0401d by @jimklimov)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Entries related to continuous integration infrastructure (here CI = tools + scripts + recipes) DMF NUT Data/Dynamic Mapping File/Format/Functionality feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants