2. Very detailed Change Log

This document intends to detail the change log for relatively recent work (roughly since the source code was tracked in Git).

2.1. 2023-12-05 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/upsmon.txt: update with NOTCAL state
  • conf/upsmon.conf.sample.in: update NOTIFYFLAG examples

2.2. 2023-12-01 Jim Klimov <jimklimov+nut@gmail.com>

  • data/driver.list.in: note that "NEW Keor Multiplug" is not supported as of 2023 …per "mrc989" report on IRC channel
  • server/conf.c, clients/upsmon.c: align logged DEBUG_MIN NUM casing and wording with the setting/docs
  • clients/upsmon.c: when POLLFAIL_LOG_THROTTLE_MAX>0 takes effect, report also how often it would report in seconds [#2207]
  • clients/upsmon.c: align logged POLLFAIL_LOG_THROTTLE_MAX casing with the setting/docs
  • NEWS.adoc, clients/upsmon.c: clients/upsmon.c: forget poll-failure error-states and the counts involved when we reload config [#2207]
  • clients/upsmon.c: markup/style typo fix
  • NEWS.adoc, clients/upsmon.c, conf/upsmon.conf.sample.in, docs/man/upsmon.conf.txt, docs/man/upsmon.txt: clients/upsmon.c, NEWS.adoc: fix an off-by-one error with POLLFAIL_LOG_THROTTLE_MAX loop counting [#2207]
  • clients/upsmon.c, NEWS.adoc: Forget POLLFAIL_LOG_THROTTLE_MAX before configuration reload [#2207]
  • clients/upsmon.c: clarify wording about POLLFAIL_LOG_THROTTLE_MAX "standard behavior"
  • docs/man/upsmon.txt, docs/man/upsmon.conf.txt, conf/upsmon.conf.sample.in: clarify wording about POLLFAIL_LOG_THROTTLE_MAX "standard behavior"

2.3. 2023-11-28 Jim Klimov <jim@jimklimov.com>

  • m4/nut_check_aspell.m4: check if aspell can use the discovered tex module (binary arch match) and try to fall back to built-in defaults if not Either way, avoid an unusable make spellcheck which just reports a massive failure.

2.4. 2023-11-27 Jim Klimov <jim@jimklimov.com>

  • m4/nut_check_aspell.m4: run a live check if the detected aspell is useful
  • m4/nut_check_aspell.m4: AC_SUBST detected paths after checking if detected aspell is useful

2.5. 2023-11-27 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/app/NUT-Monitor-py2gtk2.in: leave a comment to suggest using g_set_prgname() Suggested by Laurent Bigonville Currently I’ve failed to find a test system with Py2 \+ GTK2 preinstalled (the one I had was updated and half the old dependencies are missing), and did not quickly find python syntax examples for it as well.
  • scripts/python/app/NUT-Monitor-py3qt5.in: take a cautious approach to setDesktopFileName()
  • NEWS.adoc, docs/nut.dict: checking and formatting for the entry about DesktopFileName in NUT-Monitor-py3qt5 [#2205]

2.6. 2023-11-27 Laurent Bigonville <bigon@bigon.be>

  • NEWS.adoc, scripts/python/app/NUT-Monitor-py3qt5.in: Set the DesktopFileName in scripts/python/app/NUT-Monitor-py3qt5 This binds the application with the desktop file and allow the Desktop to display the proper icon and application name.

2.7. 2023-11-25 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/app/NUT-Monitor, NEWS.adoc: check if implementation scripts exist before looking into them for a PYTHON* version Closes: #2201
  • NEWS.adoc: note the fix for #2198
  • scripts/python/app/NUT-Monitor, NEWS.adoc: fix typo (qt3⇒qt5) Closes: #2199

2.8. 2023-11-23 Xin LI <delphij@FreeBSD.org>

  • drivers/libusb1.c: Remove unnecessary validation for bus_num The libusb_get_bus_number() function serves as a simple accessor for the bus number of the opaque device struct. Unlike libusb_get_port_number(), it does not have the ability to convey errors back to the caller, and a bus number of 0 is a valid value. Therefore, any validation around bus_num is redundant. This commit removes the unnecessary validation code related to bus_num.

2.9. 2023-11-22 Jim Klimov <jimklimov+nut@gmail.com>

  • README.adoc: add links to custom Jenkins Dynamatrix library and setup for NUT
  • README.adoc: do our best to top-align the cells in acknowledgements table, and comment about caveats of known renderers
  • README.adoc: rephrase the sponsoring/starring tip section
  • README.adoc: dumb down the table format for GitHub renderer
  • README.adoc: no need for a plus in table for multi-paragraph cells
  • README.adoc: align columns in vendor logo table; leave a FIXME comment for PDF renditions
  • README.adoc: try to fix vendor acknowledgements table width
  • README.adoc: refer from "NUT and Ecosystem" to "Acknowledgements for NUT CI and Ops" table with vendor logos [#2192]
  • README.adoc: use single PNG for OpenCollective vendor logo
  • README.adoc, docs/nut.dict: README.adoc: use alt/url/width/height markup for vendor logo images
  • docs/Makefile.am, docs/images/ci/OC_logo_merged_140x26.png, docs/images/ci/OC_logo_merged_171x32.png: docs/images/ci/OC_logo_merged_XxY.png: add merged (and also resized) single image files
  • docs/asciidoc-vars.conf: fix "imagesdir" for GitHub rendering
  • README.adoc: fix title markup
  • README.adoc, docs/nut.dict: README.adoc: make "NUT and the ecosystem" a separate chapter (including a "TIP" on GitHub starring)
  • .github/pull_request_template.md: remind to Please star NUT on GitHub, this helps with sponsorships [#2192]
  • README.adoc: start with a note about sponsorship and GitHub stars

2.10. 2023-11-21 Jim Klimov <jimklimov+nut@gmail.com>

  • README.adoc, docs/nut.dict: README.adoc: fix GitHub rendering of logos in the README [#2192]
  • docs/Makefile.am, docs/images/ci/jenkins-nut.txt: docs/Makefile.am: list IMAGE_LOGO_FILES andi IMAGE_LOGO_FILES_JENKINS_NUT for EXTRA_DIST

2.11. 2023-11-20 Jim Klimov <jimklimov+nut@gmail.com>

2.12. 2023-11-21 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/module/MANIFEST.in, scripts/python/module/Makefile.am, scripts/python/module/setup.py.in: scripts/python/module/MANIFEST.in: distribute "tox.ini" in a different way so it is only in sdist [#2193]
  • drivers/main.c, NEWS.adoc: fix fallout of TOCTOU fixes for socket file non-default permissions [#2185]

2.13. 2023-11-20 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/main.c: clarify numeric errno for faults of fstat/chmod/chown/… for socket file [#2185]
  • scripts/python/module/tox.ini: revise relative paths made available for source testing [#2186]
  • scripts/python/module/Makefile.am: arrange for "make tox"

2.14. 2023-11-19 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/module/.gitignore: Update .gitignore
  • .github/workflows/PyNUTClient.yml: Update PyNUTClient.yml
  • .github/workflows/PyNUTClient.yml: Update PyNUTClient.yml
  • .github/workflows/PyNUTClient.yml: Update PyNUTClient.yml
  • .github/workflows/PyNUTClient.yml: Update PyNUTClient.yml
  • .github/workflows/PyNUTClient.yml: Update PyNUTClient.yml
  • .github/workflows/PyNUTClient.yml: Update PyNUTClient.yml
  • .github/workflows/PyNUTClient.yml: Update PyNUTClient.yml
  • .github/workflows/PyNUTClient.yml: Update PyNUTClient.yml

2.15. 2023-11-18 Jim Klimov <jimklimov+nut@gmail.com>

  • .github/workflows/PyNUTClient.yml: convert to use scripts/python/module/Makefile.am directly, to avoid discrepancies in two logic impementations
  • scripts/python/module/tox.ini: update pip as a "commands_pre" action [#2186]
  • .github/workflows/PyNUTClient.yml: fix typo determining TAG_NAME
  • scripts/python/module/Makefile.am, scripts/python/module/setup.py.in, scripts/python/module/tox.ini: Py: try to beat sense into packaging all the files
  • scripts/python/module/Makefile.am: add "py-in" and "redist" targets for manual iterations
  • scripts/python/module/.gitignore, scripts/python/module/Makefile.am, scripts/python/module/tox.ini: scripts/python/module: add Python testing framework handling (tox.ini etc) [#2186]

2.16. 2023-11-16 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/module/setup.py.in: update "keywords" to refer to NUT
  • scripts/python/module/setup.py.in: constrain lowest known compatible python version
  • scripts/python/module/setup.py.in: clean up formatting
  • scripts/python/module/Makefile.am: create the PyNUTClient/src directory for better module naming
  • scripts/python/module/Makefile.am: clean the many .pypi-dist* touch-files we have now
  • scripts/python/module/Makefile.am: allow "make clean dist" to do a sane thing
  • NEWS.adoc: update for arduino-hid [#2188]
  • NEWS.adoc: Update NEWS.adoc
  • drivers/arduino-hid.c: Update arduino-hid.c

2.17. 2023-11-15 Kelly Byrd <kbyrd@memcpy.com>

  • drivers/arduino-hid.c: battery.runtime, status OL/OB and more for Arduino subdriver Add support for the common status flags as well as time remaining, battery voltage and other variables found in other HID subdrivers. The Arduino library always supported these items, just the NUT subdriver didn’t pick them up so things like status were always OB.

2.18. 2023-11-14 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/module/setup.py.in: do not install_require telnetlib which is not a standalone project [#2181]
  • .github/workflows/PyNUTClient.yml, scripts/python/module/.gitignore, scripts/python/module/Makefile.am, scripts/python/module/setup.py.in: scripts/python/module/setup.py.in: reference the license file (GPLv3 per NUT COPYING doc) [#2180]
  • scripts/python/module/setup.py.in: rectify whitespace
  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: AVOID_REPARSE of the (empty) ups.conf in the main loop method [#2178]
  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: consider two empty UPS lists (conf and svc) as a valid situation (nothing to reconcile yet) [#2178]
  • scripts/Solaris/nut-driver-enumerator.xml.in: do not return exit-code 42 if "No more changes to reconcile"
  • server/conf.c, drivers/snmp-ups.c, clients/upsmon.c, clients/upssched.c: report if config errors were seen and we ignored them (went on)
  • scripts/Solaris/nut.xml.in: revise "refresh" handling in umbrella service

2.19. 2023-11-14 Axel Gembe <axel@gembe.net>

  • drivers/apcsmart-old.c: apcsmart-old: Fix return value for not writable variable The code returned STAT_SET_UNKNOWN, which is for variables that were not found, instead this should return STAT_SET_INVALID, which means that the variable is not writable.

2.20. 2023-11-13 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/Makefile.am: when used to make spellcheck from different directories (and of other-directory files) try to report the path to text source relative to NUT source
  • scripts/augeas/README.adoc: for paragraph-quote block markup
  • NEWS.adoc, UPGRADING.adoc, autogen.sh, configure.ac, docs/nut.dict, scripts/devd/.gitignore, scripts/devd/Makefile.am, tools/Makefile.am, tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: generate FreeBSD style quirks information [#2159]
  • data/html/README.adoc, docs/nut.dict, scripts/Windows/README.adoc, scripts/augeas/README.adoc, scripts/python/README.adoc, scripts/python/app/README.adoc, scripts/usb_resetter/README.adoc: scripts/*/README.adoc: revise markup for proper rendered visuals
  • Makefile.am, data/html/Makefile.am, data/html/README, data/html/README.adoc, docs/nut.dict: data/html/README.adoc: rename to .adoc extension, refresh text and markup, add to spell-checking laundry list
  • Makefile.am, tests/NIT/Makefile.am, tests/NIT/{README ⇒ README.adoc}: tests/NIT/README.adoc: rename to .adoc extension, refresh text and markup, add to spell-checking laundry list
  • scripts/Makefile.am, scripts/RedHat/README, scripts/RedHat/README.adoc: scripts/RedHat/README.adoc: rename to .adoc extension, refresh text and markup, add to spell-checking laundry list
  • docs/nut.dict, scripts/Makefile.am, scripts/usb_resetter/{README.md ⇒ README.adoc}: scripts/usb_resetter/README.adoc: convert from .md to .adoc, refresh text, add to spell-checking laundry list (also do EXTRA_DIST this directory)
  • Makefile.am, scripts/hotplug/Makefile.am, scripts/hotplug/README, scripts/hotplug/README.adoc: scripts/hotplug/README.adoc: rename to .adoc extension, refresh text and markup, add to spell-checking laundry list
  • Makefile.am, scripts/udev/Makefile.am, scripts/udev/README, scripts/udev/README.adoc: scripts/udev/README.adoc: rename to .adoc extension, refresh text and markup, add to spell-checking laundry list
  • Makefile.am, docs/nut.dict, scripts/upsdrvsvcctl/Makefile.am, scripts/upsdrvsvcctl/README, scripts/upsdrvsvcctl/README.adoc: scripts/upsdrvsvcctl/README.adoc: rename to .adoc extension, refresh text and markup, add to spell-checking laundry list
  • scripts/Makefile.am, scripts/Solaris/Makefile.am, scripts/Windows/Makefile.am, scripts/augeas/Makefile.am, scripts/devd/Makefile.am, scripts/hotplug/Makefile.am, scripts/systemd/Makefile.am, scripts/udev/Makefile.am, scripts/ufw/Makefile.am, scripts/upsdrvsvcctl/Makefile.am: scripts/*/Makefile.am: add/update headings about the NUT scripts/subdir for easier navigation
  • Makefile.am, scripts/devd/Makefile.am, scripts/devd/README, scripts/devd/README.adoc: scripts/devd/README.adoc: rename to .adoc extension, refresh text and markup, add to spell-checking laundry list
  • scripts/augeas/Makefile.am: comment about spellchecking and markup of README.adoc
  • scripts/ufw/Makefile.am: comment about spellchecking and markup of README.adoc
  • Makefile.am, docs/nut.dict, scripts/systemd/Makefile.am, scripts/systemd/README, scripts/systemd/README.adoc: scripts/systemd/README.adoc: rename to .adoc extension, refresh text and markup, add to spell-checking laundry list
  • Makefile.am, scripts/Makefile.am: scripts/README.adoc: add to spell-checking laundry list
  • scripts/README.adoc: refresh text and markup
  • scripts/Makefile.am, scripts/{README ⇒ README.adoc}: scripts/README: rename to .adoc extension
  • Makefile.am, docs/nut.dict, scripts/python/Makefile.am, scripts/python/app/README.adoc, scripts/python/module/README.adoc: scripts/python/*/README.adoc: add to spell-checking laundry list
  • Makefile.am, docs/nut.dict, scripts/Windows/Installer/README.adoc, scripts/Windows/Makefile.am, scripts/Windows/README.adoc: scripts/Windows/*/README.adoc: add to spell-checking laundry list
  • …/DriverInstaller/{README.txt ⇒ README.adoc}, scripts/Windows/Makefile.am: scripts/Windows/Makefile.am: fix EXTRA_DIST to cover many other scripts and resource files
  • Makefile.am, docs/nut.dict, scripts/Solaris/Makefile.am: scripts/Solaris/README.adoc: add to spell-checking laundry list
  • scripts/Solaris/README.adoc: refresh text and markup
  • scripts/Solaris/Makefile.am, scripts/Solaris/{README ⇒ README.adoc}: scripts/Solaris/README: rename to .adoc extension

2.21. 2023-11-12 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS.adoc, clients/upsmon.c, clients/upsmon.h, conf/upsmon.conf.sample.in, docs/man/upsmon.conf.txt, docs/nut.dict: clients/upsmon.{c,h} et al: add notification support for NOTCAL state change [#2169]
  • NEWS.adoc, docs/nut.dict: NEWS.adoc: document fix of INSTCMD NPE [#2155]
  • NEWS.adoc: inject a new NUT v2.8.3 expectations plan
  • NEWS.adoc: refer to PR #2156 for powerpanel fix
  • docs/maintainer-guide.txt: ensure PyNUT publication
  • .github/workflows/PyNUTClient.yml: only update TestPyPI repo if PyNUT sources changed

2.22. 2023-11-11 root <root@deb128.rd-dpis77.local>

  • clients/upsmon.c: It is important to reset the "CAL" status. This will be reset later if necessary.

2.23. 2023-11-11 Jim Klimov <jim@jimklimov.com>

  • .github/workflows/PyNUTClient.yml: limit auto-runs to NUT upstream [#2158] Other repos lack needed pypi credentials anyway.

2.24. 2023-11-09 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS.adoc, conf/nut.conf.sample, conf/upsd.conf.sample, docs/config-notes.txt, docs/man/nut.conf.txt, docs/man/upsd.conf.txt, scripts/augeas/nutupsdconf.aug.in, server/conf.c, server/upsd.c, server/upsd.h: upsd: introduce support for ALLOW_NOT_ALL_LISTENERS configuration toggle [#723]
  • NEWS.adoc, server/upsd.c: server/upsd.c: server_load(): if listenersTotal != listenersValid, default to fatal start-up failure [#723]
  • server/upsd.c: server_load(): if discrepancy of listenersTotal vs. listenersValid amounts to localhost-related addresses, let it slide [#723]
  • server/upsd.c: server_load(): keep track of listenersTotal vs. listenersValid for certain localhost-related string names and IP addresses [#723]
  • NEWS.adoc, server/upsd.c: server/upsd.c: server_load(): keep track of listenersTotal vs. listenersValid, and base "no listening interface available" diagnosis on the latter, not on the firstaddr→sock_fd [#723]
  • server/upsd.c: setuptcp(): warn if requested to LISTEN on "localhost" by name (in case it misfires for IPv4 vs. IPv6)

2.25. 2023-11-10 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/Makefile.am, autogen.sh: cause USB (and SNMP) file re-generation if generating script was changed
  • autogen.sh, m4/nut_check_python.m4: update ad-hoc lists for python3.x program name detection
  • drivers/powervar-hid.c: fix file perms
  • autogen.sh: re-generate USB ID listing files if we updated sources
  • tools/nut-usbinfo.pl: add a big scary header that nutscan-usb.h is generated

2.26. 2023-11-09 Jim Klimov <jimklimov+nut@gmail.com>

  • server/Makefile.am: limit SSL and LIBWRAP options to upsd (sockdebug/pipedebug is not networked)

2.27. 2023-11-09 Greg Troxel <gdt@lexort.com>

  • scripts/python/Makefile.am: python: Do not install setup.py

2.28. 2023-11-09 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/module/.gitignore: .pypi* touch-files [#2158]

2.29. 2023-11-09 Doug Nazar <nazard@nazar.ca>

  • NEWS.adoc: Update with powerpanel driver changes

2.30. 2023-11-07 Doug Nazar <nazard@nazar.ca>

  • drivers/powerp-txt.c: powerpanel: Rewrite status parsing of text protocol to be generic Instead of having several scanf formats for different devices, parse the individual fields provided only.
  • drivers/powerp-bin.c: powerpanel: Don’t report errors about output voltage if not available

2.31. 2023-11-09 Jim Klimov <jimklimov+nut@gmail.com>

  • .github/workflows/PyNUTClient.yml: fix testpypi repo url argument [#2158]
  • .github/workflows/PyNUTClient.yml: publish from our non-default directory location [#2158]
  • .github/workflows/PyNUTClient.yml: update pypa action to "release/v1" (not chasing specific tag) [#2158]
  • .github/workflows/PyNUTClient.yml: update doc reference comments [#2158]
  • .github/workflows/PyNUTClient.yml: separate source preparation from distro preparation [#2158]
  • scripts/python/module/README.adoc: reshuffle paragraphs for readability, fix a few typos [#2158]
  • docs/maintainer-guide.txt: make note to check PyPI resources [#2158]
  • .github/workflows/PyNUTClient.yml: refine yaml vs. shell syntax some more [#2158]
  • .github/workflows/PyNUTClient.yml: refine yaml vs. shell syntax [#2158]
  • scripts/python/module/setup.py.in: scripts/python/module/setup.py: refer to README.txt made for sdist [#2158]
  • .github/workflows/PyNUTClient.yml, scripts/python/module/Makefile.am: actually better prefer "pip build" as the newest designed solution [#2158]
  • .github/workflows/PyNUTClient.yml, scripts/python/module/Makefile.am: prefer setup.py for its sdist support [#2158]
  • .github/workflows/PyNUTClient.yml: align with recent changes in scripts/python/module/Makefile.am [#2158]
  • scripts/python/module/Makefile.am: use quieter "pip" build wrapper, not directly calling setup.py [#2158]
  • scripts/python/module/Makefile.am: make sure the src/… module is found (wants init.py) [#2158]
  • scripts/python/module/setup.py.in: fix README quoting as the long description [#2158]
  • .github/workflows/PyNUTClient.yml, scripts/python/module/.gitignore, scripts/python/module/Makefile.am: scripts/python/module/Makefile.am: PyPI standard wants a README.txt to be present [#2158]
  • scripts/python/module/Makefile.am: revise verbosity and selection of upload target [#2158]
  • configure.ac, .github/workflows/PyNUTClient.yml: refine definition of NUT_SOURCE_GITREV_NUMERIC to avoid dash separator and use a dot (major.minor.patch.commitnumsince) [#2158]
  • scripts/python/module/Makefile.am: revise GENERATED_DIST artifacts [#2158]
  • scripts/python/module/setup.py.in: fix README content type [#2158]
  • .github/workflows/PyNUTClient.yml, configure.ac, scripts/python/module/Makefile.am, scripts/python/module/setup.py.in: Introduce NUT_SOURCE_GITREV_NUMERIC for scripts/python/module/Makefile.am [#2158]
  • configure.ac, scripts/python/Makefile.am, scripts/python/module/.gitignore, scripts/python/module/Makefile.am: Introduce scripts/python/module/Makefile.am to allow PyPI repo activities from command line [#2158]

2.32. 2023-11-08 Jim Klimov <jimklimov+nut@gmail.com>

  • .github/workflows/PyNUTClient.yml, configure.ac, scripts/python/Makefile.am, scripts/python/module/.gitignore, scripts/python/module/{setup.py ⇒ setup.py.in}: .github/workflows/PyNUTClient.yml, scripts/python/module/setup.py: rename setup.py into a .in template; use @NUT_SOURCE_GITREV@ [#2158]
  • .github/workflows/PyNUTClient.yml: publish (master) branch builds to TestPyPI repository [#2158]
  • .github/workflows/PyNUTClient.yml: follow warnings for token access [#2158]
  • .github/workflows/PyNUTClient.yml: update set-output action ⇒ GITHUB_OUTPUT file [#2158] Follow warnings into https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
  • .github/workflows/PyNUTClient.yml: use definitive version of pypa action - v1.8.10 (current latest) [#2158]
  • .github/workflows/PyNUTClient.yml: use definitive version of pypa action [#2158]
  • scripts/python/module/setup.py: note the renaming of README.adoc
  • .github/workflows/PyNUTClient.yml: fix shell syntax [#2158]
  • .github/workflows/PyNUTClient.yml: fix shell syntax [#2158]
  • .github/workflows/PyNUTClient.yml: fix shell syntax [#2158]
  • .github/workflows/PyNUTClient.yml: use default github-hosted runner [#2158]
  • .github/workflows/PyNUTClient.yml: also publish master-branch rolling changes [#2158]
  • NEWS.adoc, scripts/python/Makefile.am, scripts/python/{README ⇒ README.adoc}, scripts/python/app/{README ⇒ README.adoc}, scripts/python/module/{README ⇒ README.adoc}: scripts/python/*/README: rename to *.adoc extension [#1953]

2.33. 2023-11-08 Jim Klimov <jim@jimklimov.com>

  • .github/workflows/PyNUTClient.yml, NEWS.adoc, scripts/python/module/README, scripts/python/module/setup.py: Add recipes for PyPI publishing of PyNUTClient bindings for NUT [#2158] Note: PyPI names are case-insensitive, and "pynut" was occupied.

2.34. 2023-11-07 Doug Nazar <nazard@nazar.ca>

  • drivers/libhid.c: Fix passing of errors up from libusb 1.x. The api for get_item_buffered() requires the actual error to be in errno which was automatic for libusb 0.x but libusb 1.x doesn’t use errno. Otherwise a poll-only driver will miss errors like disconnects and never try to reconnect.
  • drivers/dstate.c: Fix SIGSEGV while preforming INSTCMD Parameter arg[2] is not guaranteed to be valid while preforming INSTCMD. Don’t pass directly to main_instcmd().

2.35. 2023-11-07 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-usbinfo.pl: track preference of certain drivers over others [#1021]
  • NEWS.adoc, docs/man/nutscan_add_device_to_device.txt, docs/man/nutscan_add_option_to_device.txt, docs/nut.dict, tools/nut-scanner/Makefile.am, tools/nut-scanner/nutscan-device.h, tools/nut-scanner/nutscan-display.c, tools/nut-scanner/scan_usb.c, tools/nut-usbinfo.pl: tools/nut-usbinfo.pl, nut-scanner: extend to track alt_driver_names in generated config suggestions
  • tools/nut-usbinfo.pl: track all suitable driver names (in comments)

2.36. 2023-11-05 Kelly Byrd <kbyrd@memcpy.com>

  • drivers/libusb0.c, drivers/libusb1.c, drivers/nut_libusb.h, drivers/usb-common.h: Add usb_config_index to usb_communication_subdriver_s, default to 0. The tactical goal of this change is to change ret = libusb_get_config_descriptor(device, (uint8_t)usb_subdriver.hid_rep_index, &conf_desc); to ret = libusb_get_config_descriptor(device, (uint8_t)usb_subdriver.usb_config_index, &conf_desc); Before this change, libusb1.c did libusb_get_config_descriptor() with a config index equal to the interface number. For composite devices using an interface index > 0, this is usally the wrong choice. Concretely, I’m using an Arduino for a DIY UPS project and these are composite devices with multiple interfaces under the first (and only) config descriptor. In the USB descriptor heirarchy, deivce descriptors have config descriptors which have interface descriptors. Also, nearly all USB devices have a single configuration (index 0). In order to do this, I added a new member alongside the existing hid_rep_idex and hid_desc_index. I chose to do this instead of using the add_var method because this member is used in places in very similar ways to how hid_rep_index and hid_desc_index is used. This new member defaults to 0 which covers the majority of USB devices. Any future subdriver is able to use this if a device requires it. For existing subdrives, we’ll just use an index of 0. I also changed some debug logging to print out the config index where the code was already printing the interface index.

2.37. 2023-11-06 Jim Klimov <jim@jimklimov.com>

  • configure.ac: quiece -Wincompatible-function-pointer-types-strict for clang-17 on some platforms [#823]

2.38. 2023-11-05 Fabrice Fontaine <fontaine.fabrice@gmail.com>

  • m4/nut_check_python.m4: allow overriding of PYTHON{2,3}_SITE_PACKAGES Allow the end-user to override PYTHON{2,3}_SITE_PACKAGES as this can be useful when cross-compiling

2.39. 2023-11-03 Fabrice Fontaine <fontaine.fabrice@gmail.com>

  • m4/nut_compiler_family.m4: fix cross-compilation Do not use isystem with host paths when cross-compiling

2.40. 2023-11-02 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: nut_enable_inplace_runtime: pass libexecdir if specified
  • docs/man/upsmon.txt: avoid characters (some unicode space) that some versions of asciidoc dislike
  • NEWS.adoc, docs/nut.dict, lib/libnutclientstub.pc.in: Clarify what is libnutclientstub
  • docs/config-prereqs.txt, docs/nut.dict: clarify about /dev/shm and noexec option [#2143 follow-up]
  • docs/config-prereqs.txt: small fixes to Slackware 15 chapter [#2143 follow-up]
  • docs/man/al175.txt, docs/man/apc_modbus.txt, docs/man/apcupsd-ups.txt, docs/man/asem.txt, docs/man/bcmxcp.txt, docs/man/bcmxcp_usb.txt, docs/man/belkin.txt, docs/man/belkinunv.txt, docs/man/bestfcom.txt, docs/man/bestfortress.txt, docs/man/bestuferrups.txt, docs/man/bestups.txt, docs/man/blazer_ser.txt, docs/man/blazer_usb.txt, docs/man/clone.txt, docs/man/dummy-ups.txt, docs/man/etapro.txt, docs/man/everups.txt, docs/man/gamatronic.txt, docs/man/genericups.txt, docs/man/isbmex.txt, docs/man/ivtscd.txt, docs/man/liebert-esp2.txt, docs/man/liebert.txt, docs/man/macosx-ups.txt, docs/man/masterguard.txt, docs/man/metasys.txt, docs/man/microdowell.txt, docs/man/microsol-apc.txt, docs/man/netxml-ups.txt, docs/man/nutdrv_atcl_usb.txt, docs/man/nutdrv_qx.txt, docs/man/nutdrv_siemens_sitop.txt, docs/man/oneac.txt, docs/man/optiups.txt, docs/man/pijuice.txt, docs/man/powercom.txt, docs/man/powerpanel.txt, docs/man/rhino.txt, docs/man/richcomm_usb.txt, docs/man/safenet.txt, docs/man/skel.txt, docs/man/snmp-ups.txt, docs/man/solis.txt, docs/man/tripplite.txt, docs/man/tripplitesu.txt, docs/man/upscode2.txt, docs/man/usbhid-ups.txt, docs/man/victronups.txt: Fix man pages to have SYNOPSIS as the second section per standard
  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: update about docbook-xml / linuxdoc-tools [#2142]
  • m4/nut_check_asciidoc.m4, configure.ac: separate A2X_MIN_VERSION from ASCIIDOC_MIN_VERSION [#2142]
  • docs/config-prereqs.txt, docs/nut.dict: add diffutils to Slackware baseline (not in default install)
  • scripts/Windows/Makefile.am: avoid "Using $< in a non-suffix rule context is a GNUmake idiom" for non-GNU makes
  • docs/Makefile.am: avoid "Using $< in a non-suffix rule context is a GNUmake idiom" for non-GNU makes
  • docs/config-prereqs.txt, docs/nut.dict: docs/nut.dict: update spellchecker to make older systems happy
  • configure.ac: dumb down the check for HAVE_WINDOWS_H to cater for older autotools

2.41. 2023-11-01 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/config-prereqs.txt, docs/nut.dict: add a chapter on Slackware 15 build environment - clarify Sotirov’s SlackPack
  • configure.ac: only define that we HAVE_WINDOWS if both the minimally required tools and headers are in place
  • m4/nut_check_headers_windows.m4: add automake conditionals for detected header files
  • docs/config-prereqs.txt, docs/nut.dict: add a chapter on Slackware 15 build environment - clarify Alien Slack Builds
  • docs/config-prereqs.txt, docs/nut.dict: add a chapter on Slackware 15 build environment
  • scripts/Windows/Makefile.am: limit binary builds to cases where we HAVE_WINDOWS [#2142]
  • docs/man/huawei-ups2000.txt, docs/man/liebert-esp2.txt: fix titles
  • configure.ac: bump AC_INIT to development version 2.8.1.1

2.42. 2023-10-31 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS.adoc, UPGRADING.adoc, docs/docinfo.xml.in: Revert "NEWS.adoc, UPGRADING.adoc, docs/docinfo.xml.in: finalize text before NUT v2.8.1 release" This reverts commit 909705233877a45953f9c739abd9bc8156a05627.
  • configure.ac: update AC_INIT for NUT v2.8.1 release
  • docs/configure.txt, scripts/Windows/README.adoc, scripts/Windows/build-mingw-nut.sh: update examples for NUT v2.8.1 release
  • appveyor.yml: update for NUT v2.8.1 release
  • docs/maintainer-guide.txt: revise procedures for NUT v2.8.1 release
  • docs/maintainer-guide.txt: update filenames to adjust for changes leading up to NUT v2.8.1 release
  • docs/docinfo.xml.in: set the date for NUT v2.8.1 release
  • NEWS.adoc, UPGRADING.adoc, docs/docinfo.xml.in: finalize text before NUT v2.8.1 release
  • ci_build.sh: for default developer builds without parameters, nowadays we should have default warnings active and fatal
  • tests/NIT/nit.sh: take advantage of NUT_QUIET_INIT_UPSNOTIFY=true [#2136]
  • scripts/Windows/Installer/README.adoc: add initial notes on the NUT for Windows Installer [#1485]
  • scripts/Windows/build-mingw-nut.sh: handle optional cgi-bin location and lack of NUT libs among system dependencies more eloquently (WRT build log)
  • scripts/Windows/build-mingw-nut.sh: allow caller to customize WINDIR, TOP_DIR, BUILD_DIR and INSTALL_DIR
  • scripts/Windows/build-mingw-nut.sh: double-quote path variables
  • scripts/Windows/build-mingw-nut.sh: handle optional cgi-bin location more eloquently (WRT build log)
  • INSTALL.nut.adoc, NEWS.adoc, appveyor.yml, ci_build.sh, docs/config-prereqs.txt, scripts/Windows/Makefile.am, scripts/Windows/{README ⇒ README.adoc}, scripts/Windows/build-mingw-prereqs.sh: Rename scripts/Windows/README ⇒ scripts/Windows/README.adoc

2.43. 2023-10-30 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac, scripts/Windows/Installer/.gitignore, scripts/Windows/Installer/{NUT-Installer.xml ⇒ NUT-Installer.xml.in}: scripts/Windows/Installer/NUT-Installer.xml: make it a .in template and substitute NUT PACKAGE_VERSION

2.44. 2023-10-31 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/apc_modbus.txt: update the man page with caveats applicable at the publication time (Oct 2023) [#2063 follow-up]

2.45. 2023-10-30 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsc.c: typo fix in self-identification message
  • drivers/upsdrvctl.c: fix formatting string for wstat debug-print [#2135]
  • NEWS.adoc, drivers/riello.c, drivers/riello_ser.c, drivers/riello_usb.c: drivers/riello*.c: fix back bit maths changed with #1106
  • UPGRADING.adoc: revise envvars that tweak specific message verbosity

2.46. 2023-10-29 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/upsdrvctl.c: trace (and timestamp) the exit paths from tool [#2135]
  • scripts/Aix/nut.init.in, scripts/HP-UX/nut-drvctl.sh, scripts/HP-UX/nut-upsd.sh, scripts/HP-UX/nut-upsmon.sh, scripts/RedHat/upsd.in, scripts/RedHat/upsmon.in, scripts/Solaris/nut.in, scripts/Solaris/svc-nut-monitor.in, scripts/Solaris/svc-nut-server.in, scripts/Solaris8/S99upsmon: Suggest NUT_QUIET_INIT_UPSNOTIFY=true in sample init-scripts [#2136]
  • common/common.c, NEWS.adoc, docs/nut.dict: support NUT_QUIET_INIT_UPSNOTIFY envvar to hide upsnotify "failed…will not spam more" messages [#2136]
  • drivers/upsdrvctl.c: differentiate waitpid(…, WNOHANG) returns of "-1" vs "0" [#2135]
  • drivers/upsdrvctl.c: make use of return value from execv()
  • drivers/upsdrvctl.c: trace-debug the waitpid() return info
  • drivers/upsdrvctl.c: forkexec(): fix comments and whitespaces
  • drivers/upsdrvctl.c: forkexec(): fix return type of waitpid()
  • drivers/upsdrvctl.c: do not treat a driver initialization timeout as immediate error for upsdrvctl exit code - review the results again [#2134]

2.47. 2023-10-28 Jim Klimov <jimklimov+nut@gmail.com>

  • conf/ups.conf.sample, docs/man/ups.conf.txt: further clarify behavior of maxstartdelay [#2134]
  • conf/ups.conf.sample, docs/man/ups.conf.txt: clarify behavior of maxstartdelay [#2134]
  • clients/upsmon.c: Revert "clients/upsmon.c: remove doshutdown() attributenoreturn annotation, now it can [#2133]" This reverts commit 2e7263812b4f97cb0d667550e0e660ab50c2ed9e.
  • NEWS.adoc, clients/upsmon.c, conf/upsmon.conf.sample.in, docs/man/upsmon.conf.txt: clients/upsmon.c et al: adjust definition of SHUTDOWNEXIT to allow a finite delay between SHUTDOWNCMD and exit() [#2133]
  • clients/upsmon.c: remove doshutdown() attributenoreturn annotation, now it can [#2133]

2.48. 2023-10-27 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS.adoc, clients/upsmon.c, conf/upsmon.conf.sample.in, docs/man/upsmon.conf.txt, docs/nut.dict: clients/upsmon.c et al: introduce SHUTDOWNEXIT boolean option [#2133]

2.49. 2023-10-26 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS.adoc: update list of dummy-ups improvements for NUT v2.8.1

2.50. 2023-10-26 desertwitch <24509509+desertwitch@users.noreply.github.com>

  • NEWS.adoc: reference respective PR for repeater_disable_strict_start option
  • drivers/dummy-ups.c, docs/man/dummy-ups.txt, NEWS.adoc: introduce repeater_disable_strict_start config option

2.51. 2023-10-25 desertwitch <24509509+desertwitch@users.noreply.github.com>

  • drivers/dummy-ups.c: relax error handling to prevent premature driver termination

2.52. 2023-10-25 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/apcsmart.c: apc_getcaps(): revert to behavior like in NUT v2.7.4 about invalid nument/entlen value(s) [#1941]
  • drivers/apcsmart-old.c: fix DRIVER_NAME to reflect "old"ness of this driver

2.53. 2023-10-24 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/apcsmart-old.c: do_capabilities(): revert to behavior like in NUT v2.7.4 about invalid nument/entlen value(s) [#1941]
  • Jenkinsfile-dynamatrix: leave "enableDebugTraceGithubStatusHighlights=true" default just for fightwarn-like branches

2.54. 2023-10-24 desertwitch <24509509+desertwitch@users.noreply.github.com>

  • clients/upsmon.c: debug msgs for possible FSD conditions on conn drop
  • clients/upsmon.c: sanity check status for debug msg on conn drop
  • clients/upsmon.c: print last remembered line state in connection drop debug msg

2.55. 2023-10-23 desertwitch <24509509+desertwitch@users.noreply.github.com>

  • clients/upsmon.c: keep last UPS linestate on drop_connection

2.56. 2023-10-21 Jim Klimov <jimklimov+nut@gmail.com>

  • Jenkinsfile-dynamatrix: add a dynamatrixGlobalState.enableDebugTraceGithubStatusHighlights toggle

2.57. 2023-10-11 Jim Klimov <jimklimov+nut@gmail.com>

  • Jenkinsfile-dynamatrix: enable @Library(jenkins-dynamatrix@) notation for custom-built plugin on NUT CI farm

2.58. 2023-10-21 Axel Gembe <axel@gembe.net>

  • drivers/apc_modbus.c: apc_modbus: Add an early exit if a USB regex is non-zero A minuscule optimization.
  • drivers/apc_modbus.c: apc_modbus: Use snprintf instead of strncpy strncpy does not necessarily zero terminate the buffer so we replace it with snprintf and add error checking. This also fixes an off-by-one in the snprintf error checking of the _apc_modbus_double_to_nut and _apc_modbus_power_to_nut functions and adds error checking to every snprintf call.
  • drivers/apc_modbus.c, drivers/apcsmart.c, drivers/belkinunv.c, drivers/openups-hid.c, drivers/optiups.c, drivers/tripplitesu.c, include/common.h, tests/getvaluetest.c: Add SIZEOF_ARRAY macro and use where applicable This adds a new SIZEOF_ARRAY to common.h and changes some code to use it.

2.59. 2023-09-30 Axel Gembe <axel@gembe.net>

  • AUTHORS, data/driver.list.in, docs/man/Makefile.am, docs/man/apc_modbus.txt, docs/nut.dict, drivers/Makefile.am, drivers/apc_modbus.c, m4/nut_check_libmodbus.m4, tools/nut-usbinfo.pl: apc_modbus: Support for APC Modbus protocol This adds a new driver called apc_modbus to support the APC Modbus protocol over serial ports, TCP connections and USB ports. For USB support to work it needs a [patched libmodbus that has support for the APC USB Modbus encapsulation](https://github.com/EchterAgo/libmodbus/commits/rtu_usb). If a libmodbus without USB support is detected the driver will build with just the serial and TCP/IP support.

2.60. 2023-10-19 Jim Klimov <jimklimov+nut@gmail.com>

  • .gitignore: GitIgnore .ci*.txt* if some are left over in the NUT CI farm work area
  • .gitignore: GitIgnore .ci*.txt* if some are left over in the NUT CI farm work area
  • tests/NIT/nit.sh: avoid printing "Error:…" in successful cases This confuses CI log analyzer

2.61. 2023-10-18 Axel Gembe <axel@gembe.net>

  • tools/nut-usbinfo.pl: nut_usbinfo.pl: Lowercase the USB ids before inserting If we don’t normalize the case before inserting VID/PID/Driver into $vendor we can have duplicate entries.

2.62. 2023-10-18 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: testcase_sandbox_nutscanner_list(): fix reporting
  • report why a test case failed sanity-checks; * avoid grep output spilling to test log to avoid confusion; * revise that exactly expected port count was seen (that was the confusion); * use log_*() in that sanity-check block
  • tests/NIT/nit.sh: tag more progress messages with respective testcase; revise upsd stopping after testcase_upsd_allow_no_device()
  • tests/NIT/nit.sh: use log_separator() before sandbox_forget_configs() in testgroup*()
  • tests/NIT/nit.sh: use NUT_DEBUG_PID envvar to help test-log readability
  • NEWS.adoc, UPGRADING.adoc, common/common.c: common/common.c: optionally support NUT_DEBUG_PID envvar presence to include PID number in debug-level identifiers
  • tests/NIT/nit.sh: sandbox_start_drivers(): report success or failure
  • tests/NIT/nit.sh: report driver PIDs when debugging
  • tests/NIT/nit.sh: tag progress/report messages emitted by test cases to help log readability
  • tests/NIT/nit.sh: testcase_sandbox_start_drivers_after_upsd(): fix matching expression and explain why
  • tests/NIT/nit.sh: testcase_sandbox_start_drivers_after_upsd(): bump timeout and explain why
  • tests/NIT/nit.sh: better filter the processes we look at after sandbox_start_drivers() if debugging
  • drivers/dummy-ups.c: bump © and version due to recent changes
  • drivers/dummy-ups.c: avoid blank line in debug logs
  • drivers/dummy-ups.c: refactor prepare_filepath() into one helper method
  • drivers/dummy-ups.c: use better-qualified "fn" rather than potentially short "device_path" to stat the paths
  • drivers/dummy-ups.c: clarify that "upsfd" is not really used in file-based dummy-ups; check for invalid FD for good measure (to avoid fstat() on that)
  • drivers/dummy-ups.c: reconcile method prototype with implem
  • drivers/dummy-ups.c: clarify a nested if/elif/… tree
  • drivers/dummy-ups.c: clarify some debug messages
  • configure.ac: relax the check warning for gmtime_[rs] and localtime_[rs] As long as we have one, it is okay Closes: #2115
  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: handle service dependencies for apc_modbus [#139, #2063]
  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: update a comment
  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: revise service dependencies for apcupsd-ups relay driver
  • NEWS.adoc: announce the new apc_modbus driver [#139, #2063]

2.63. 2023-10-17 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/libusb1.c: nut_libusb_open(): do not keep Bus/Device/BusPort pointers to random malloc() block if we did not get a number to print there from libusb Avoid (un-)pretty prints like: 0.031364 [D2] - Bus: 006 0.031366 [D2] - Bus Port: ▒UV▒▒U 0.031368 [D2] - Device: 001

2.64. 2023-10-16 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsmon.c: clients/upsmon.{c,h}: refactor restoring pollfreq (from alert to normal) [#2108]
  • clients/upsmon.c, clients/upsmon.h: clients/upsmon.{c,h}: untie OFF/BYPASS states from ONLINE/ONBATT and linestate attr [#2108]
  • data/cmdvartab: define descriptions for recently added commands and variables [#2112]
  • m4/ax_run_or_link_ifelse.m4: revise to only impose gcc/clang warning option requirements into compilers that identify as GCC or CLANG [#2096 fallout]
  • m4/ax_run_or_link_ifelse.m4: C+\+ does not support -Werror=implicit-function-declaration [#2109, #2096 fallout]
  • include/str.h, m4/ax_c_pragmas.m4, tests/Makefile.am: Refactor uses of HAVE_PRINTF_STRING_NULL vs. REQUIRE_NUT_STRARG for printf("%s", NULL) support [#2109]
  • m4/ax_c_pragmas.m4, configure.ac: merge two tests for printf("%s", NULL) [#2109]
  • m4/ax_c_pragmas.m4: extend AX_C_PRINTF_STRING_NULL with use of AX_RUN_OR_LINK_IFELSE option to ignore certain warnings [#2109]
  • configure.ac: fix logged output of inet_pton() test
  • m4/ax_run_or_link_ifelse.m4: extend with options to customize CFLAGS and CXXFLAGS [#2109]
  • drivers/usbhid-ups.c, docs/man/usbhid-ups.txt, NEWS.adoc: introduce onlinedischarge_calibration config option [#2104]

2.65. 2023-10-15 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS.adoc: Update NEWS.adoc: clarify wording
  • clients/upsmon.c: revise is_ups_critical() with OFF, BYPASS and CAL considerations [#2104]
  • clients/upsmon.c: reword a message for critically lost primary UPS
  • NEWS.adoc, clients/upsmon.c, clients/upsmon.h, conf/upsmon.conf.sample.in, docs/man/upsmon.conf.txt, docs/nut.dict: clients/upsmon.c et al: introduce OFFDURATION config toggle [#2104]
  • drivers/usbhid-ups.c: set CAL status before reporting other possibly critical power states [#2104, #2044, fallout of #2055]

2.66. 2023-10-13 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/sms_ser.txt: update some wording
  • NEWS.adoc: sms_ser introduced [#2090]

2.67. 2023-10-12 Jim Klimov <jimklimov@gmail.com>

  • drivers/tripplite_usb.c: avoid varname shadowing
  • drivers/sms_ser.c: use explicit void in function prototypes
  • NEWS.adoc: tripplite_usb allows upsid setting [#2075]
  • drivers/tripplite_usb.c: cosmetic fixes (whitespace)

2.68. 2023-10-11 sapireli <114778791+sapireli@users.noreply.github.com>

  • drivers/tripplite_usb.c: @jimklimov my apologies please dont kill me for closing the pull request just saw your typo fix on the old one implemented it here.
  • docs/man/tripplite_usb.txt, docs/nut.dict, drivers/tripplite_usb.c: @jimklimov my apologies i royally screwed up the pull request with a rebase. I just started a new to have a clean slate scnario. also added the NUT_UNUSED_VARIABLE per your recommendation. tripplite_usb.c Added UPS ID (upsid) Support: The code now includes support for matching and uniquely identifying UPS devices using the UPS ID (upsid). The upsid configuration option has been added, which accepts a regular expression to match the UPS ID string. This was done by adding a new function called match_by_unitid, that reads the upsid from the config file, then reads the upsid from the device, and checks if they match. This function is now passed to the comm_driver matcher on first connect and reconnects. Added the upsid to the upsdrv_makevartable function so it is read and stored from the config file. tripplite_usb.txt Updated Documentation: The driver documentation was updated to reflect the new functionality. The "EXTRA ARGUMENTS" section now includes information about the upsid configuration option, and how to set it. thank you to @jimklimov for pointing me in the right direction and hand holding.

2.69. 2023-10-10 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsclient.c, server/netssl.c, m4/ax_c_pragmas.m4: hush -Wcast-function-type-strict due to void* vs. practical pointers with NSS method pointers [#2084]
  • tests/generic_gpio_utest.c: cosmetic fixes
  • tests/generic_gpio_utest.c: avoid "error: variable might be clobbered by longjmp or vfork" [#2092]
  • data/driver.list.in: add CP1350PFCLCD

2.70. 2023-10-10 Clappier, Eric <EricClappier@eaton.com>

  • drivers/compaq-mib.c: Fix issues in compaq mib

2.71. 2023-10-10 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/Makefile.am: refer to nutlogtest$(EXEEXT) for clarity in dependencies

2.72. 2023-10-09 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/nutlogtest.c: revise include statements

2.73. 2023-10-08 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/main.c: follow TOCTOU analysis suggestions about file permissions check and enforcement

2.74. 2023-10-08 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update nut.dict for PR #2090

2.75. 2023-10-08 Jim Klimov <jimklimov+nut@gmail.com>

  • Jenkinsfile-dynamatrix: hush down groovy debug verbosity, use BRANCH_NAME patterns as the default toggle to be loud and slow

2.76. 2023-10-08 Alex W Baulé <alexwbaule@gmail.com>

  • docs/man/Makefile.am, docs/man/sms_ser.txt: Add man file and update Makefile.am

2.77. 2023-10-07 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/generic_gpio_utest.c: avoid NULL deref in printf() on some platforms
  • Jenkinsfile-dynamatrix: warn about lack of dynacfgPipeline.configureEnvvars when we "Investigate envvars"

2.78. 2023-10-06 Jim Klimov <jimklimov+nut@gmail.com>

  • Jenkinsfile-dynamatrix: enable tracing for fightwarn branches

2.79. 2023-10-07 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/sms_ser.h: drivers/sms_ser.c: fix use of methods without a prototype - expose in header
  • drivers/sms_ser.c: Revert "drivers/sms_ser.c: fix use of methods without a prototype - make them static" This reverts commit 8de11079a80754af38ad67524009003028a6912e to try a different approach.
  • drivers/sms_ser.c: fix use of methods without a prototype - make them static
  • drivers/sms_ser.c: fix mixing of "unsigned int" and "long" delays
  • drivers/sms_ser.c: fix printf(ssize_t)
  • drivers/Makefile.am: "dist" the new sms_ser.h header

2.80. 2023-10-06 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/generic_gpio_utest.c: more fscanf() width warnings

2.81. 2023-10-06 Jim Klimov <jimklimov@gmail.com>

  • NEWS.adoc: optiups fixes [#2089]

2.82. 2023-10-05 Jim Klimov <jimklimov@gmail.com>

  • drivers/optiups.c: Shuffle lines to keep declarations before operations

2.83. 2023-10-05 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/Makefile.am: bail out of spellcheck of empty SPELLCHECK_SRC_ONE filenames Sometimes we get this: Makefile:1216: update target asciidoc-vars.conf due to: asciidoc-vars.conf-spellchecked rm -f "asciidoc-vars.conf" |\| true ; \ echo " ASPELL Spell checking on ./"; \ … touch "asciidoc-vars.conf" ASPELL Spell checking on ./ sed: read error on stdin: Is a directory Only seen for "asciidoc-vars.conf" so far: :; git checkout -f ; touch docs/asciidoc-vars.conf ; make spellcheck ; clear ; make dist -j 20 --trace V=1

2.84. 2023-10-05 moonbuggy <3319867+moonbuggy@users.noreply.github.com>

  • drivers/optiups.c: use str_to_short() instead of atoi()

2.85. 2023-10-05 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/Makefile.am: fix EXTRA_DIST of driver man page sources even if the build was configured for just some subset of drivers [#2081]
  • drivers/apcupsd-ups.c: use detected availability of struct pollfd to define or not the fallback
  • configure.ac: detect availability of struct pollfd
  • m4/ax_run_or_link_ifelse.m4: make more effort to detect undefined-ness of methods
  • include/wincompat.h: comment correct portable arg type for inet_ntop()

2.86. 2023-10-03 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/apcupsd-ups.c: port bits of poll.h to have this buildable on older WIN32
  • common/wincompat.c, configure.ac, include/wincompat.h, tools/nut-scanner/scan_xml_http.c: Add a fallback inet_ntop() implementation Needed for tools/nut-scanner/scan_xml_http.c on MinGW cross-builds
  • drivers/clone.c: fix casting warnings
  • drivers/upsdrvquery.c: fix casting warnings
  • drivers/main.c: fix cmdret=upsdrvquery_oneshot() as a generally ssize_t value
  • drivers/main.c: fix indentation
  • drivers/main.c: fix portability of chown() used as chgrp() Initial implementation passed -1 as uid to have it not changed. Not all OSes support that behavior.
  • drivers/dummy-ups.c: fix casting warnings
  • clients/upssched.c: fix casting warnings
  • common/common.c: fix casting warnings
  • tests/generic_gpio_utest.c: fix warnings about formatting strings

2.87. 2023-10-02 Jim Klimov <jimklimov+nut@gmail.com>

  • Jenkinsfile-dynamatrix: default a MAKE=make envvar if somehow missing (strange bug for autotools build scenarios)
  • Jenkinsfile-dynamatrix: default a MAKE=make envvar if somehow missing (strange bug for autotools build scenarios)

2.88. 2023-10-05 moonbuggy <3319867+moonbuggy@users.noreply.github.com>

  • drivers/optiups.c: use short instead of long/float

2.89. 2023-10-04 Alex W Baulé <alexwbaule@gmail.com>

  • docs/sms-brazil-protocol.txt, drivers/Makefile.am, drivers/sms_ser.c, drivers/sms_ser.h: add support to SMS 1phase brazil from #1987 Tested on Nobreak SMS PREMIUM 1500 VA (with WiFi) and M3 Senoidal.

2.90. 2023-10-05 moonbuggy <3319867+moonbuggy@users.noreply.github.com>

  • data/driver.list.in: updated driver.list.in

2.91. 2023-10-04 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: upsnotify(): make first/only notification faults visible They can be important for troubleshooting, e.g. services that rely on sd_notify() but never get the READY message would loop in restarts.
  • clients/Makefile.am: refactor definitions of LDADD_FULL and LDADD_CLIENT for easier reuse upsmon is a daemon with systemd notify among other things, and uses the full libcommon upssched should suffice with the client version
  • docs/configure.txt, docs/nut.dict: docs/configure.txt: document --libexecdir
  • scripts/systemd/nutshutdown.in: also log critical progress messages to /dev/console if available (and not-quiet mode)

2.92. 2023-10-04 moonbuggy <3319867+moonbuggy@users.noreply.github.com>

  • drivers/optiups.c: correct voltages for Opti-UPS 230V AC models; correct battery capacity for 24V models

2.93. 2023-10-04 Axel Gembe <axel@gembe.net>

  • configure.ac: Fix out of source tree builds The code to detect the available drivers does so by parsing Makefile.am but it does not do so relative to "$srcdir" so trying to do a configure outside of the source directory will fail.

2.94. 2023-10-03 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: update for nut-website additions

2.95. 2023-10-02 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/Makefile.am: avoid defining "check-local" target twice to include optional "spellcheck", not all tools like that [#2081]
  • scripts/systemd/nutshutdown.in: simplify with sourcing of the optional config file
  • scripts/systemd/nutshutdown.in: make it useful for NUT clients (which shut down and may want to avoid power races)

2.96. 2023-10-01 Jim Klimov <jimklimov+nut@gmail.com>

  • conf/nut.conf.sample, docs/man/nut.conf.txt, docs/nut.dict, scripts/systemd/nutshutdown.in: Introduce POWEROFF_QUIET for nutshutdown et al
  • docs/man/nut.conf.txt: document ALLOW_NO_DEVICE setting
  • conf/nut.conf.sample: document other options currently highlighted in the man page
  • conf/nut.conf.sample: fixup! conf/nut.conf.sample: update existing comments
  • conf/nut.conf.sample: refer to man nut.conf for more info
  • conf/nut.conf.sample: update existing comments
  • scripts/systemd/nutshutdown.in: update indentations and comments
  • scripts/systemd/nutshutdown.in: fixup! scripts/systemd/nutshutdown.in: add copyright header, update practical comments
  • configure.ac, scripts/systemd/nut-driver-enumerator.path.in, scripts/systemd/nut-driver-enumerator.service.in, scripts/systemd/nut-driver.target, scripts/systemd/nut-driver@.service.in, scripts/systemd/nut-monitor.service.in, scripts/systemd/nut-server.service.in, scripts/systemd/nut.target: scripts/systemd/*.in: add short copyright header to unit files
  • scripts/systemd/nutshutdown.in: add copyright header, update practical comments

2.97. 2023-10-02 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/generic_gpio_liblocal.c, tests/generic_gpio_utest.c: tests/generic_gpio_*.c: fix clang warnings [#823]
  • drivers/snmp-ups.c: fix the dangling pointer warning some compilers have found [#823]

2.98. 2023-09-30 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: nut_prepare_search_paths(): use realpath() where available, and so xstrdup()/free() in general [#317]
  • NEWS.adoc, common/common.c, include/common.h, tools/nut-scanner/Makefile.am, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-init.c: common, nut-scanner: Introduce nut_prepare_search_paths() to pre-filter the usable set [#317]
  • tools/nut-scanner/nutscan-ip.c: WIN32 builds require WSAStartup() before getaddrinfo() et al
  • tools/nut-scanner/nutscan-ip.c: trace getaddrinfo() failures
  • tests/NIT/nit.sh: consider an empty output of nut-scanner an error (to retry from one mode to another)
  • tools/nut-scanner/nut-scanner.c: typo (lacking newline) in an usage message
  • NEWS.adoc, common/common.c: common/common.c: vupslogx(): dynamically adjust the needed buffer size for longer printouts, e.g. PATH in upsdebugx_report_search_paths() [#317]
  • common/common.c: vupslog(): stash errno value at start of method, so later calls do not corrupt what we want to report; fix declarations-on-top for windows builds
  • common/common.c: fix get_libname_in_pathset() increment of checked-directory counter Be sure to bump the number, not the pointer!
  • common/common.c: fix get_libname_in_pathset() mutilating the input pathset string It was unexpected to see just one entry in getenv("PATH") after the first loop…
  • configure.ac, common/common.c: search_paths[]: introduce MULTIARCH_TARGET_ALIAS as/if suggested by compiler [#317]
  • common/common.c: vupslog(): print timestamp\+buf in one operation
  • common/common.c: extend upsdebugx_report_search_paths() to follow actual search order of get_libname() with more locations possibly checked [#317]
  • common/common.c: comment about peculiarities of search_paths[] contents [#317]
  • NEWS.adoc, UPGRADING.adoc, tools/nut-scanner/Makefile.am, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-init.c: nut-scanner: use upsdebugx_report_search_paths() [#317] Also bumps public API version of libnutscan due to added symbol.
  • common/common.c, include/common.h: common.{c,h}: introduce upsdebugx_report_search_paths() [#317]
  • data/driver.list.in: leave a note about Riello Netman "not-plus" SNMP card naming [#1878]

2.99. 2023-09-21 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut-names.txt: clarify that the tables of short SPEC names is just a component in longer phase-aware naming scheme
  • docs/nut-names.txt: add a section to define and discuss Structured naming
  • ci_build.sh: only impose GNU make as default if spellchecking via script

2.100. 2023-09-20 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: define MAKE=… fallback default in one place
  • ci_build.sh: --disable-spellcheck in many default BUILD_TYPE=… scenarios geared towards binary builds and checks (do not waste time on aspell in matrix checking loops) [#2065]
  • ci_build.sh: make sure our MAKE envvar is defined and not empty - in all cases [jenkins-dynamatrix#24]

2.101. 2023-09-20 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: update dictionary for nut-website changes

2.102. 2023-09-19 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/usb-common.c: make sure to have settings like HAVE_LIBREGEX visible when processing other headers [#1369]
  • drivers/usbhid-ups.c: fix visibility of vars used only in builds with HAVE_LIBREGEX [#1369]
  • docs/developers.txt, docs/nut.dict: clarify that NUT_UNUSED_VARIABLE goes after variable declarations, add chapter headings, revise some text [#2056]
  • docs/Makefile.am: fix ChangeLog.adoc preparation for OpenBSD make [#1953]
  • conf/Makefile.am, data/Makefile.am, docs/Makefile.am, docs/man/Makefile.am: */Makefile.am: spellcheck targets: differentiate SPELLCHECK_SRCDIR vs. SPELLCHECK_BUILDDIR [#2067]
  • docs/Makefile.am: EXTRA_DIST asciidoc-vars.conf [#1953]
  • Makefile.am: Introduce LICENSE-DCO into the source codebase [#1994]
  • configure.ac: configure: fix handling of --enable-cppcheck
  • NEWS.adoc, UPGRADING.adoc, configure.ac, docs/Makefile.am, docs/configure.txt: configure.ac: introduce --enable-spellcheck to have it as part of "make check" where available [#2067]
  • configure.ac, m4/nut_check_asciidoc.m4, m4/nut_check_aspell.m4: externalize detection of aspell tool and ability
  • m4/nut_check_asciidoc.m4: consider a separate ASPELL_FILTER_SHARE_PATH [#2065]
  • appveyor.yml: enable spellchecks [#2065]
  • m4/nut_check_asciidoc.m4: if there is no "tex.amf", do not yield a useless ASPELL_FILTER_TEX_PATH (e.g. ".") [#2065]
  • docs/man/nut_usb_addvars.txt, docs/nut.dict: docs/man/nut_usb_addvars.txt: clarify where "busport" can be verified in the OS [#2043]
  • m4/nut_check_asciidoc.m4, docs/Makefile.am: cater to different ways of packaging aspell with ASPELL_FILTER_TEX_PATH [#2065]

2.103. 2023-09-18 Jim Klimov <jimklimov+nut@gmail.com>

  • .gitignore: GitIgnore leftover conf1234.file patterns
  • m4/nut_check_asciidoc.m4, docs/Makefile.am: detect and use ASPELL_FILTER_PATH where available Thanks to https://github.com/msys2/MSYS2-packages/issues/2088 for hints
  • drivers/nutdrv_qx.c, docs/man/nutdrv_qx.txt: list available "protocol" setting values in command-line usage request (--help) [#1369]
  • drivers/usbhid-ups.c, docs/man/usbhid-ups.txt: list available "subdriver" setting values in command-line usage request (--help) [#1369]
  • docs/man/nutdrv_qx.txt, docs/man/usbhid-ups.txt: update man page notes about subdriver settings [#1369]
  • m4/nut_check_libregex.m4: avoid using cached reply for the absent library name, when checking for -lregex

2.104. 2023-09-18 Jim Klimov <jimklimov@gmail.com>

  • drivers/Makefile.am: Update Makefile.am Steamline use of LIBREGEX_CFLAGS via AM_CFLAGS, same as others.
  • tools/nut-scanner/nutscan-display.c: fix report for "same serial in different devices"
  • tools/nut-scanner/nutscan-display.c: do not drop out after the first (non-NULL) report, let all complaints be known
  • tools/nut-scanner/nutscan-display.c: report trailing blanks in serial numbers
  • configure.ac: hush down some more clang "-Wextra" or "-Weverything" warnings that we can not really address [#2055, #823]

2.105. 2023-09-17 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/usbhid-ups.c: match_function_subdriver_name(): require (or recommend) vendorid/productid [#1369]
  • drivers/usbhid-ups.c: match_function_subdriver_name(): report the name of found USB HID subdriver [#1369]
  • drivers/usbhid-ups.c: match_function_subdriver_name(): automate use of regex "somename.*" [#1369]
  • NEWS.adoc, docs/man/usbhid-ups.txt, drivers/usbhid-ups.c: drivers/usbhid-ups.c: implement match_function_subdriver_name() for "subdriver" matching option; update docs about it [#1369]
  • clients/Makefile.am: build clients against libcommonclient.la (fewer link and run-time deps pulled), not libcommon.la
  • common/Makefile.am, common/common.c, drivers/usb-common.c, include/common.h: common.{c,h}: move here general REGEX helper methods from drivers/usb-common.{c,h} [#1369]
  • configure.ac, drivers/Makefile.am, m4/nut_check_libregex.m4, m4/nut_check_libusb.m4: m4/nut_check_libregex.m4: move detection from m4/nut_check_libusb.m4; adapt configure.ac and */Makefile.am accordingly

2.106. 2023-09-18 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: introduce initial clean-up shortcut (used if recipes change)

2.107. 2023-09-18 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update with words missing in some platform default dictionaries
  • NEWS.adoc, drivers/ever-hid.c: drivers/ever-hid.c: fix "powerfactor" without a namespace

2.108. 2023-09-18 Jim Klimov <jimklimov+nut@gmail.com>

  • .gitattributes: make sure docs/nut.dict is always LF (no CR)

2.109. 2023-09-17 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS.adoc, clients/cgilib.c, clients/upsclient.c, clients/upslog.c, clients/upsmon.c, clients/upsset.c, common/common.c, drivers/adelsystem_cbi.c, drivers/al175.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/bestuferrups.c, drivers/blazer_usb.c, drivers/dstate.c, drivers/eaton-pdu-marlin-mib.c, drivers/ever-hid.c, drivers/generic_modbus.c, drivers/hidparser.c, drivers/hpe-pdu-mib.c, drivers/libusb0.c, drivers/mge-hid.c, drivers/mge-utalk.c, drivers/mge-xml.c, drivers/netxml-ups.c, drivers/nut-libfreeipmi.c, drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, drivers/nutdrv_qx_ablerex.c, drivers/nutdrv_qx_bestups.c, drivers/nutdrv_qx_masterguard.c, drivers/nutdrv_siemens_sitop.c, drivers/phoenixcontact_modbus.c, drivers/pijuice.c, drivers/richcomm_usb.c, drivers/riello.c, drivers/riello_ser.c, drivers/riello_usb.c, drivers/snmp-ups.c, drivers/socomec_jbus.c, drivers/solis.c, drivers/tripplite.c, drivers/tripplite_usb.c, drivers/tripplitesu.c, drivers/upsdrvctl.c, drivers/upsdrvquery.c, server/netssl.c, server/upsd.c, tests/getvaluetest.c, tests/nuttimetest.c, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-device.c, tools/nut-scanner/nutscan-init.c, tools/nut-scanner/nutscan-ip.c, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_usb.c, tools/nut-scanner/scan_xml_http.c: Fightwarn: numerous complaints from clang-15 [#823] Surprised that so many of these were not found sooner. Almost all fall into a few simple categories: * method(void) declared without a "void" * declarations after code NUT_UNUSED_VARIABLE() is code scoping in switch() cases * a few smartly detected unused variables ⇒ added reasonable use-cases (logging or better)
  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: detect USB drivers by "busport" among config options [#2043]
  • scripts/augeas/nutupsmonconf.aug.in: update for new notification types [#2044 and before]

2.110. 2023-09-16 Jim Klimov <jimklimov+nut@gmail.com>

  • conf/upsmon.conf.sample.in, docs/man/upsmon.conf.txt, docs/man/upsmon.txt, docs/nut.dict: upsmon(.conf) docs and samples

    • update for new notification types [#2044 and before]
  • NEWS.adoc: upsmon now handles OFF and BYPASS states [#2044]
  • clients/upsmon.c, clients/upsmon.h: clients/upsmon.{c,h}: enhance with support of OFF and BYPASS state reporting (entry/exit) [#2044]
  • clients/upsmon.c, clients/upsmon.h: upsmon: add support for administrative "OFF" state [#2044] Based on patch by "Bomorav" posted at https://github.com/networkupstools/nut/issues/2044#issuecomment-1720752199
  • drivers/usbhid-ups.c: initialize BusPort where used [#2043]
  • drivers/libshut.h: update with formal support of "busport" (no-op for serial mode) [#2043]
  • tools/nut-scanner/scan_usb.c: add support for "busport" discovery where possible [#2043]
  • drivers/blazer_usb.c, drivers/libshut.c, drivers/libusb0.c, drivers/libusb1.c, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usb-common.c, drivers/usb-common.h, drivers/usbhid-ups.c: USB driver: adjust to WITH_USB_BUSPORT normally being always defined, just not always active [#2043]
  • m4/nut_check_libusb.m4: detect if we can support "busport" USB matching value [#2043]
  • docs/man/nut_usb_addvars.txt: fix markup for a NOTE about "device" value
  • docs/man/nut_usb_addvars.txt: add "busport" info [#2043]
  • docs/man/nut_usb_addvars.txt: fix typo about Linux path to usb device info
  • NEWS.adoc, docs/nut.dict: NEWS.adoc: document the addition of "busport" config option [#2043]
  • drivers/libusb0.c: use logging for bus port consistent with other USB-related libs [#2043]
  • drivers/libshut.c: avoid potential small memory leak
  • drivers/libshut.c: update with formal support of "busport" (no-op for serial mode) [#2043]
  • drivers/usb-common.c: constrain regex_matcher_data_t array size to USBMATCHER_REGEXP_ARRAY_LIMIT too (not a hardcoded number like before) [#2043]
  • drivers/blazer_usb.c, drivers/libusb0.c, drivers/libusb1.c, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usbhid-ups.c: USB drivers: bump versions due to new "busport" config option support; free the variables in order of definition (ease maintenance) [#2043]
  • drivers/blazer_usb.c, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/usbhid-ups.c: USB drivers: warn if "busport" is configured but will be ignored by current build [#2043]
  • drivers/libusb0.c, drivers/libusb1.c: drivers/libusb{0,1}.c: allow configuring "busport" in ups.conf always, just note it may be ignored in certain builds [#2043]
  • drivers/libusb1.c: allow configuring "busport" always, just note it may be ignored in certain builds [#2043]
  • drivers/libusb0.c: log a notice that BusPort==0 for libusb0 [#2043]
  • drivers/blazer_usb.c, drivers/libusb1.c, drivers/nutdrv_qx.c: Revise "ifdef" indentations
  • drivers/blazer_usb.c, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usb-common.c, drivers/usb-common.h, drivers/usbhid-ups.c: Rename REGEXP_ARRAY_LIMIT⇒USBMATCHER_REGEXP_ARRAY_LIMIT [#2043]

2.111. 2023-09-15 fa <wavebvg@gmail.com>

  • drivers/blazer_usb.c, drivers/libusb0.c, drivers/libusb1.c, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usb-common.c, drivers/usb-common.h, drivers/usbhid-ups.c: Update blazer_usb.c, libusb0.c, and 7 more files…

2.112. 2023-09-16 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: extend xstrdup() definition to return NULL if input was NULL (and log it) [#2052]
  • common/common.c: Revert "common/common.c: extend xbasename(), xstrdup() and xrealloc() definition to return NULL if input was NULL (and log it) [#2052]" This reverts commit 05610d1564c9ea75d7e10780e2c0f8973e5795ab. Seems to cause segfaults on its own, maybe something relied on older behavior (non-NULLs returned in case of bad inputs?) To investigate separately later…

2.113. 2023-09-14 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsclient.c: upscli_splitname(): add explicit checks for empty upsname and/or hostname[:port] parts, to report problems as such [#2052]
  • NEWS.adoc: update for issue #2052 fix
  • clients/upsclient.c: fix strdup()⇒xstrdup() to not segfault with bad inputs [#2052]
  • common/common.c: extend xbasename(), xstrdup() and xrealloc() definition to return NULL if input was NULL (and log it) [#2052]
  • docs/developers.txt: update links for SVN to Git migrations Thanks for Tomas Laurinavicius <tomas@saas.group> for the suggestion.

2.114. 2023-09-13 Jim Klimov <jimklimov@gmail.com>

  • UPGRADING.adoc: Update UPGRADING.adoc

2.115. 2023-09-13 Jim Klimov <jimklimov+nut@gmail.com>

  • Makefile.am, docs/Makefile.am: ensure clean-up of (now-)generated README file
  • UPGRADING.adoc: highlight changes to documentation source and delivered filenames [#1953]
  • README.adoc: Update NUT documentation sources with current docs/asciidoc-vars.conf: 7c5e90132 (2023-09-13)
  • docs/asciidoc-vars.conf: fence against re-definitions of website-url and (top_)(src\|build)dir attributes
  • docs/asciidoc-vars.conf: fence against duplicate includes
  • README.adoc: Update NUT documentation sources with current docs/asciidoc-vars.conf: 36f4f0334 (2023-09-13)
  • docs/asciidoc-vars.conf: update maintenance and reasoning comments
  • README.adoc: fix xref values for user-manual generation
  • .gitignore: GitIgnore /.vscode
  • configure.ac: revert AM_INIT_AUTOMAKE foreign option (may disable "portability checks" per GNU docs)
  • README.adoc, docs/Makefile.am, docs/asciidoc-vars.conf, docs/nut.dict: docs/nut.dict: update for new docs/asciidoc-vars.conf contents
  • README.adoc: Update NUT documentation sources with current docs/asciidoc-vars.conf: 234b70422 (2023-09-13)
  • README.adoc, docs/asciidoc-vars.conf: docs/asciidoc-vars.conf: finish the file with newline
  • docs/asciidoc-vars.conf: refer to make maintainer-asciidocs
  • README.adoc: mangle with "make maintainer-asciidocs"
  • .gitignore, Makefile.am, docs/.gitignore: Makefile.am: introduce "make maintainer-asciidocs" recipe
  • docs/asciidoc-vars.conf: prepare for GH_MARKUP_1095 workarounds
  • README.adoc: prepare for GH_MARKUP_1095 workarounds
  • docs/asciidoc-vars.conf: Revert "docs/asciidoc-vars.conf: define our attributes in a different syntactic fashion" This reverts commit 300942904bef0921bba382103c9c4b96cc1c5f04.
  • docs/asciidoc-vars.conf: Revert "docs/asciidoc-vars.conf: add a debug NOTE" This reverts commit 07a39b950b40857c8d8e5c806551e1c40278d3bb.
  • README.adoc: refer to top_srcdir first, it WILL be defined after the include
  • docs/asciidoc-vars.conf: add a debug NOTE
  • docs/asciidoc-vars.conf: define our attributes in a different syntactic fashion
  • README.adoc: avoid a blank line between document header and include::docs/asciidoc-vars.conf
  • docs/asciidoc-vars.conf: reshuffle and make it a single block of markup as far as asciidoc is concerned
  • README.adoc: move renderer-dependent attribute definitions into includable docs/asciidoc-vars.conf
  • docs/asciidoc-vars.conf: add an includable asciidoc file with renderer-dependent attribute definitions
  • docs/ChangeLog.txt, docs/Makefile.am, docs/man/Makefile.am, docs/man/index.txt, docs/man/nutupsdrv.txt, docs/man/upsd.txt, docs/release-notes.txt, docs/user-manual.txt: docs: in asciidoc markup (and relevant Makefile rules) require that the trailing slash is part of (top_)srcdir and (top_)builddir attributes, so empty values are non-toxic
  • Makefile.am: separate EXTRA_DIST for *.adoc and other filename patterns [#1953]
  • docs/history.txt: add "Backwards and Forwards Compatibility" chapter evicted from README.adoc

2.116. 2023-09-12 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: add (Eaton) IPM
  • docs/Makefile.am: adjust for BSD make implementation
  • .gitignore: GitIgnore .adoc.tmp leftovers, if present [#1953] Probably meaning a broken build, though…
  • .gitignore: GitIgnore old NEWS file by name [#1953]
  • NEWS.adoc, UPGRADING.adoc, docs/Makefile.am, docs/release-notes.txt: docs/release-notes.txt: include UPGRADING as a chapter - it is also release-related info [#1953]

2.117. 2023-09-11 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS.adoc: revise asciidoc markup for old-release entries [#1953]
  • NEWS.adoc: highlight documentation/recipe changes per #1953
  • docs/Makefile.am: specify "builddir" path to generated docinfo.xml, and just ship a copy [follow-up from #2046 and probably before]

2.118. 2023-09-11 Jim Klimov <jimklimov@gmail.com>

  • NEWS.adoc: change asciidoc link tag

2.119. 2023-09-11 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/Makefile.am: do not refer to generatable "../*.adoc-parsed" files via hardcoded ".."
  • .gitignore, NEWS.adoc, docs/ChangeLog.txt, docs/Makefile.am, docs/documentation.txt, docs/release-notes.txt, docs/user-manual.txt: Introduce buildable (HTML/PDF) release-notes and ChangeLog documents [#1953]
  • .gitignore, Makefile.am, NEWS.adoc, docs/Makefile.am, docs/user-manual.txt: Use *.adoc-parsed extension for post-processed asciidoc files used in rendering to HTML/PDF artifacts [#1953]
  • Makefile.am, NEWS ⇒ NEWS.adoc, autogen.sh, docs/Makefile.am: Convert NEWS ⇒ NEWS.adoc (basic section structure) and render it as release-notes (HTML, PDF) [#1953]
  • docs/Makefile.am: implement DOCBUILD_FILTER_GITHUB_LINKS [#1953]
  • .editorconfig, .gitignore, INSTALL.nut ⇒ INSTALL.nut.adoc, Makefile.am, TODO ⇒ TODO.adoc, UPGRADING ⇒ UPGRADING.adoc, docs/Makefile.am, docs/developer-guide.txt, docs/nut.dict, docs/security.txt, docs/user-manual.txt, lib/.gitignore, lib/Makefile.am, lib/{README ⇒ README.adoc}, scripts/Makefile.am, scripts/augeas/.gitignore, scripts/augeas/Makefile.am, scripts/augeas/{README ⇒ README.adoc}, scripts/ufw/.gitignore, scripts/ufw/Makefile.am, scripts/ufw/{README ⇒ README.adoc}, tools/nut-scanner/.gitignore, tools/nut-scanner/Makefile.am, tools/nut-scanner/{README ⇒ README.adoc}: Rename asciidoc-ready documentation sources to *.adoc [#1953 et al] Follows up from #226, #669 and facilitates #1953
  • UPGRADING: suggest --enable-option-checking=fatal for packagers
  • docs/docinfo.xml.in: populate remaining "refremark" fields up to (prospective) NUT v2.8.1 release [#2046]
  • docs/docinfo.xml.in, docs/docinfo.xml.sh: Revert "docs/docinfo.xml.sh: reference the NEWS file (GitHub URL for interactive PDFs) [#2046]" This reverts commit fa8721d98ee3031daed234d50643074e65a9c3a1 and changes for docinfo.xml.in applying it. Referencing the NEWS files for each release proved problematic: the revremark tag does not expect nested tags (like <a href> or even <p>).
  • docs/docinfo.xml.in: populate "refremark" fields [#2046]
  • docs/docinfo.xml.sh: reference the NEWS file (GitHub URL for interactive PDFs) [#2046]

2.120. 2023-09-11 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update nut.dict

2.121. 2023-09-10 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/docinfo.xml.in: update to list releases 2.6.1-2.8.0 missed before [#2046] First use of docinfo.xml.sh - looks decent
  • docs/.gitignore, docs/Makefile.am, docs/docinfo.xml.in, docs/docinfo.xml.sh, docs/maintainer-guide.txt: Introduce docs/docinfo.xml.sh to help maintain docinfo.xml.in (currently limited to ensuring presence of existing tags) [#2046]
  • tools/gitlog2changelog.py.in: bump ©
  • configure.ac, docs/docinfo.xml.in: use current NUT_SOURCE_GITREV for doc revision history if available
  • configure.ac: update comments
  • docs/docinfo.xml.in: update "current version (snapshot)" comment
  • docs/developer-guide.txt: update author list
  • docs/maintainer-guide.txt: update release procedure
  • docs/developers.txt, docs/nut.dict: docs/developers.txt: fix section-level warning, and add AppVeyor CI and CircleCI sections
  • docs/new-drivers.txt: cosmetix fix (indent)
  • docs/hid-subdrivers.txt, docs/nut.dict: docs/hid-subdrivers.txt: add a "screenshot" of rexx usage

2.122. 2023-09-07 Jim Klimov <jim@jimklimov.com>

  • drivers/cyberpower-mib.c: Update cyberpower-mib.c Bump version after #2041

2.123. 2023-09-06 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/cyberpower-mib.c: restore upsAdvanceControlUpsSleep as "shutdown.return" [follow-up from #2029]

2.124. 2023-09-05 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/main.c: comment why we do not solve VAR_SENSITIVE for override/default right now [#1891]
  • NEWS: formatting fix
  • drivers/snmp-ups.c, NEWS: clearer messages for skipped mib2nut mappings New message example: 0.001836 [D2] load_mib2nut: skip the "tripplite" entry from the mapping table which is not "ietf" (and which in turn is not "auto")
  • drivers/snmp-ups.c: add a TODO for multi-MIB approach [#2036]
  • drivers/blazer.c: fix typo in comment

2.125. 2023-09-04 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/nutdrv_qx.c: dial back down the batt.volt.high guesstimation to 130/120 of the nominal (back from experimental 150/120) [#1652]

2.126. 2023-09-02 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/blazer_ser.c, drivers/blazer_usb.c, drivers/nutdrv_qx.c: drivers/blazer_{ser,usb}.c, drivers/nutdrv_qx.c: re-bump driver versions since master versions moved while the PR #1652 was queued

2.127. 2022-09-14 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: comment that _GNU_SOURCE may be needed for strptime() detection

2.128. 2022-09-06 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/main.c: retain "driver.parameter.override.XXX" (and ".default.XXX") for troubleshooting [#1279]
  • drivers/libhid.c: log if we hit the "paranoia check" with inconsistent Max vs Min [#1512]

2.129. 2023-09-01 Jim Klimov <jimklimov+nut@gmail.com>

  • data/driver.list.in: Add APC SmartUPS 750 (SMT750I) reports [#1261]

2.130. 2023-08-31 Jim Klimov <jimklimov+nut@gmail.com>

  • data/driver.list.in: Add APC SmartUPS X 750 (USB) reports [#1261]
  • data/driver.list.in: Add APC SmartUPS SUA1000 (SNMP) reports [#1740]
  • data/driver.list.in: Add UltraMax 1000SC reports [nut#1634]
  • data/driver.list.in: Update PowerCool 1200 report nuances [#1539]
  • data/driver.list.in: Add UPSonic IRT-3K 2U [#441]
  • data/driver.list.in: Add Ippon Smart Power Pro II 1200/1600/… series [#701]

2.131. 2023-08-30 Jim Klimov <jimklimov+nut@gmail.com>

  • data/driver.list.in: Update Riello SNMP HCL names (no vendor in model name usually)
  • data/driver.list.in: Update Riello SER/USB/SNMP HCL per vendor report [#1878]
  • data/driver.list.in: Add FSP Fortron UPS Champ 1000VA, 2000VA and 3000VA Towers [nut-ddl#22, nut#1691, nut#1741, nut#1872] Closes: #1691 Closes: #1741 Closes: #1872
  • data/driver.list.in: Add APC Smart-UPS 3000 [nut-ddl#24]

2.132. 2023-08-30 Jim Klimov <jimklimov@gmail.com>

  • NEWS: fix for cyberpower-mib instcmd definitions [#2029]

2.133. 2023-08-30 Ross Williams <ross@ross-williams.net>

  • drivers/cyberpower-mib.c: Revert "cyberpower-mib: fix instant command declarations" This reverts commit 8bcf255b624e6ba6c89a2a3eeab37658d9cb8cb4. Cyberpower snmp_info_t got updated to conform with pre 5d97d07 instant commands layout, but got merged after it. Reverting 8bcf255 so that command values are correctly in su_info_t->dfl.

2.134. 2023-08-25 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/libshut.c: libshut_open(): calculate desc→wDescriptorLength differently (closer to what libusbX.c do and NUT v2.7.4 did); bump driver version [#2022]
  • drivers/libshut.c: libshut_open(): populate curDevice→Device to be on par with USB drivers (remember a copy of arg_device_path here)
  • drivers/libshut.c: libshut_open(): be sure that arg_device_path is not null
  • NEWS: fix for MGE SHUT broken by changes in 2.8.0 [#2022]
  • drivers/usbhid-ups.c: upsdrv_initups(): only report "Initializing an USB-connected UPS with library…" when not in SHUT_MODE [#2022]
  • drivers/libhid.c: HIDGetEvents(): be sure to not overflow sizeof(buf)
  • drivers/hidparser.h, drivers/libhid.c, drivers/libhid.h, drivers/mge-hid.c, drivers/usbhid-ups.c: Reword "#if(n)def SHUT_MODE" clauses, comment their "#else/#endif" parts [#2022]
  • drivers/hidparser.c, drivers/mge-hid.c, drivers/usbhid-ups.c: A few cosmetic fixes (typos, indents…)

2.135. 2023-08-17 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nutdrv_qx-subdrivers.txt, docs/nut.dict: fix some typos and update the dictionary [#2005]

2.136. 2023-08-13 Tomasz Fortuna <bla@thera.be>

  • NEWS, docs/nut.dict, docs/nutdrv_qx-subdrivers.txt: drivers/nutdrv_qx.c: Add documentation file. Document various possible transmissions. Might be required to construct testcases one day - adding new UPS shouldn’t cause regressions in older ones.

2.137. 2023-08-14 Jim Klimov <jimklimov+nut@gmail.com>

  • server/upsd.c: setuptcp(): when informing about possible IPv6/IPv4 "ANY" address listener conflict, consult actual state in "canhaveAnyV6" and not the possibility via "serverAnyV6!=null" [#2013]
  • server/upsd.c: setuptcp(): update big comment about "LISTEN *" nuances to match current logic; drop GitHub reference [#2013 review for #2012]
  • configure.ac: explicitly check for inet_ntop() support along with both AF_INET and AF_INET6 (we have IPv4 and IPv6 capability everywhere, right?) [#2012]
  • NEWS, UPGRADING: finish full sentences with a period [#2012]
  • server/upsd.c: setuptcp(): drop the trickery to get IPv4 first just to see if we can, then release it, then get IPv6 and then IPv4 again [#2013 review for #2012]
  • server/upsd.c: setuptcp(): drop commented-away optional sleep() [#2012]
  • server/upsd.c: simplify LISTEN * handling to not fiddle with optionality of require_IPV6_V6ONLY for one use-case [#2013 review, #2012]

2.138. 2023-08-13 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, UPGRADING, conf/upsd.conf.sample, docs/config-notes.txt, docs/man/upsd.conf.txt, docs/security.txt, scripts/augeas/nutupsdconf.aug.in: Revise doc changes about LISTEN
  • support per PR #2013 discussion Notably: * move from "would" to "will" verbiage; * specify IPv6 listening first, IPv4 next, as it goes in code; * lean towards trying to listen on two sockets separately always (unless the OS refuses to avoid IPv4-mapped IPv6 addressing).

2.139. 2023-08-08 Tomasz bla Fortuna <bla@thera.be>

  • drivers/nutdrv_qx.c: Support a quirk in Vultech V2000 UPS. This UPS seems to use null bytes within status bits. This might mean "unsupported". We will treat them as zeroes.

2.140. 2023-08-13 Jim Klimov <jimklimov@gmail.com>

  • NEWS: cyberpower-mib.c supports more data points now [#1982]
  • drivers/cyberpower-mib.c: bump version for new entries

2.141. 2023-08-12 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, drivers/apcsmart-old.c, drivers/apcsmart.c: drivers/apcsmart(-old).c: do not abort on bad caps, skip them like before [#2015] Closes: #2015

2.142. 2023-08-05 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, UPGRADING, conf/upsd.conf.sample, docs/config-notes.txt, docs/man/upsd.conf.txt, docs/security.txt, scripts/augeas/nutupsdconf.aug.in, server/upsd.c: server/upsd.c and docs/config examples: handle "LISTEN *" deterministically (for both IPv4 and IPv6 if we can) [#2012]

2.143. 2023-08-06 Craig Holyoak <craig@helmsdeep.org>

  • drivers/cyberpower-mib.c: Moved additional ups.status to ups.alarm

2.144. 2023-08-05 Jim Klimov <jimklimov+nut@gmail.com>

  • server/upsd.c, NEWS, UPGRADING: setuptcp(): when asked to LISTEN on IPv6 addresses, try to disable IPv4-mapping support [#2012]
  • server/upsd.c: refactor server_free() with a new stype_free() [#2012]
  • server/upsd.c: setuptcp(): warn if we bound to one address for a name and end the loop while there seem to be more resolved addresses for it [#2012]
  • server/upsd.c: server_load(): log if defaulting to localhost (IPv4/IPv6) due to lack of LISTEN directive [#2012]
  • NEWS: typo fix
  • server/upsd.c, NEWS, UPGRADING: listen_add(): firstaddr should remain first [#2012]
  • drivers/nutdrv_qx.c: convert to ARMAC_READ_SIZE as a macro

2.145. 2023-08-04 Jim Klimov <jimklimov+nut@gmail.com>

  • common/state.c: in state_delinfo_olderthan() do upsdebugx(6,…) that we are deleting an entry because it is too old [#2007]
  • common/state.c: update comment for st_tree_node_compare_timestamp() [#2007]
  • drivers/apcupsd-ups.c: fix use of INVALID_FD_SOCK() macro over complex expression [#2007]
  • docs/Makefile.am: spellcheck LICENSE-DCO file [#1995 follow-up]
  • NEWS: move apcupsd fixes mis-placed into 2.8.0 notes block [#2007]
  • NEWS: announce support for state entry timestamping [#2010]
  • tests/.gitignore, tests/Makefile.am, tests/nuttimetest.c: Introduce nuttimetest (sanity-check difftime*() methods, etc.) [#2007, #1777]
  • configure.ac: fix broken test for clock_gettime(CLOCK_MONOTONIC,ts) [#1777 follow-up]
  • common/common.c: fix build scope for calls to timespec_load() and use of got_monoclock in upsnotify() [#1777 follow-up]
  • drivers/nutdrv_qx.c: cast signed/unsigned int comparison

2.146. 2023-08-03 Jim Klimov <jimklimov@gmail.com>

  • drivers/nutdrv_qx.c: Update drivers/nutdrv_qx.c Fix debug printout

2.147. 2023-08-03 Jim Klimov <jimklimov+nut@gmail.com>

  • common/state.c: initialize "lastset" in "state_setinfo()" when adding a new value
  • NEWS: use dstate_delinfo_olderthan() to clean up obsoleted readings AFTER refreshing data from apcupsd daemon [#2007]
  • drivers/apcupsd-ups.c: use dstate_delinfo_olderthan() to clean up obsoleted readings AFTER refreshing data from apcupsd daemon [#2007]
  • drivers/dstate.c, drivers/dstate.h: drivers/dstate.{c,h}: introduce dstate_delinfo_olderthan()
  • drivers/apcupsd-ups.c: refactor getdata() return code paths [#2007]
  • common/state.c, include/state.h: introduce state_delinfo_olderthan()
  • common/state.c, include/state.h: introduce st_tree_timespec_t and state_get_timestamp() and st_tree_node_compare_timestamp() to track age of state entries
  • common/common.c, include/common.h: introduce difftimespec() for completeness
  • common/common.c: clarify "nsec" as "numsec" (not "nanosec") in difftimeval()
  • NEWS: fix check for POLL_INTERVAL_MIN [#2007, #797 fallout]
  • NEWS: fix markup for "new devices" in 2.7.4
  • drivers/apcupsd-ups.c: fix check for POLL_INTERVAL_MIN [#2007, #797 fallout]
  • tools/nut-ddl-dump.sh: suggest posting the file to nut-ddl repo
  • tools/nut-ddl-dump.sh: update generated markup

2.148. 2023-08-02 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-ddl-dump.sh: generate the report with use of DEVICE:COMMENT: and DEVICE:COMMENT-BLOCK:FIXME:(UPSRW\|UPSCMD): sections (and place them after upsc dump) Related-to: https://github.com/networkupstools/nut-ddl/issues/32
  • tools/nut-ddl-dump.sh: update scripting style (quotes, comments, etc)

2.149. 2023-07-31 Tomasz Fortuna <bla@thera.be>

  • NEWS, data/driver.list.in, drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: improve Armac subdriver Based on a debug output from a newer device (*/PF1) we’ve improved understanding on how: - those devices encode the length of a chunk of data. - how the end of transmission can be marked / detected. Changed: - Empty buffer before sending command to clear any residual data. - Detect end of message by end of line character \r (0x0d). - Refactor "6" into a READ_SIZE constant. - Limit bytes_available nibble to available READ_SIZE.

2.150. 2023-07-31 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, drivers/cyberpower-mib.c, drivers/cyberpower-mib.h, drivers/snmp-ups.c: drivers/cyberpower-mib.c, NEWS: extend support to devices which report the shorter Vendor OID as their sysOID [#1997] Closes: #1997

2.151. 2023-07-30 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/features.txt: update notes about networked devices and about Windows builds
  • docs/user-manual.txt, docs/features.txt: bump manufacturer count
  • docs/nut.dict: nut.dict: bump for nut-website changes
  • docs/nut.dict: nut.dict: bump for nut-website changes
  • docs/nut.dict: nut.dict: bump for nut-website changes

2.152. 2023-07-30 Jim Klimov <jim@jimklimov.com>

  • COPYING: Update COPYING about LICENSE-DCO file Follow-up to #1995

2.153. 2023-07-18 Jim Klimov <jimklimov+nut@gmail.com>

  • .github/pull_request_template.md, docs/developers.txt, docs/nut.dict: docs/developers.txt: add a chapter on DCO (Signed-Off-By) [#1994]
  • LICENSE-DCO: Introduce LICENSE-DCO into the source codebase [#1994]

2.154. 2023-07-09 Jim Klimov <jimklimov+nut@gmail.com>

2.155. 2023-07-07 Craig Holyoak <cholyoak@redlands.qld.edu.au>

  • drivers/cyberpower-mib.c: Added more variables from the CyberPower MIB

2.156. 2023-07-03 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/security.txt: fix ASCIIDOC markup [#1976]
  • docs/download.txt: chunked-HTML chapter for "security.txt" moved due to daisychain years ago
  • scripts/python/Makefile.am: no need to (re)define Makefile variable MSGFMT - already handled by autotools [#1977]

2.157. 2023-07-02 Jim Klimov <jimklimov@gmail.com>

  • scripts/python/Makefile.am: refactor gettext translations to grep up source (text) file instead the output
  • scripts/python/Makefile.am: refactor gettext translations
  • scripts/python/Makefile.am: avoid POT-Creation-Date in gettext translations

2.158. 2023-07-02 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/Makefile.am: be sure target dirs for MSGFMT exist - regardless of ABS paths
  • scripts/python/Makefile.am: be sure target dirs for MSGFMT exist
  • docs/config-prereqs.txt: be sure to use pip3 for python3 examples
  • scripts/python/Makefile.am: fix msgfmt call syntax for non-GNU makes

2.159. 2023-07-01 Jim Klimov <jimklimov+nut@gmail.com>

  • …/python/app/locale/fr/LC_MESSAGES/NUT-Monitor.mo, scripts/python/app/locale/fr/fr.po: scripts/python/app/locale/fr/*: set custom Project-Id-Version same as in other translations
  • …/python/app/locale/fr/LC_MESSAGES/NUT-Monitor.mo, …/python/app/locale/it/LC_MESSAGES/NUT-Monitor.mo, …/python/app/locale/ru/LC_MESSAGES/NUT-Monitor.mo: scripts/python/app/locale/*/LC_MESSAGES/NUT-Monitor.mo: update binary translation files
  • configure.ac, docs/config-prereqs.txt, docs/nut.dict, scripts/python/Makefile.am: scripts/python/Makefile.am, configure.ac, docs/config-prereqs.txt: use gettext msgfmt to compile binary translation files

2.160. 2023-06-30 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/security.txt, docs/nut.dict: add a chapter on checksum file verification [#1963]
  • docs/security.txt: add maintainer notes on updating nut-key.gpg [#1963]
  • docs/security.txt, docs/nut.dict: update "verifySourceSig" chapter with new GPG key set for "Jim Klimov …" DE0184DA7043DCF7 [#1963]
  • docs/security.txt: clarify that GPG tool output varied over eons
  • AUTHORS, NEWS, README, data/html/header.html.in, data/html/index.html, docs/FAQ.txt, docs/asciidoc.conf, docs/documentation.txt, docs/download.txt, docs/features.txt, docs/hid-subdrivers.txt, docs/history.txt, docs/man/adelsystem_cbi.txt, docs/man/al175.txt, docs/man/apcsmart-old.txt, docs/man/apcsmart.txt, docs/man/apcupsd-ups.txt, docs/man/asem.txt, docs/man/bcmxcp.txt, docs/man/bcmxcp_usb.txt, docs/man/belkin.txt, docs/man/belkinunv.txt, docs/man/bestfcom.txt, docs/man/bestfortress.txt, docs/man/bestuferrups.txt, docs/man/bestups.txt, docs/man/blazer-common.txt, docs/man/clone.txt, docs/man/dummy-ups.txt, docs/man/etapro.txt, docs/man/everups.txt, docs/man/gamatronic.txt, docs/man/generic_gpio.txt, docs/man/generic_modbus.txt, docs/man/genericups.txt, docs/man/hosts.conf.txt, docs/man/huawei-ups2000.txt, docs/man/isbmex.txt, docs/man/ivtscd.txt, docs/man/libupsclient-config.txt, docs/man/liebert-esp2.txt, docs/man/liebert.txt, docs/man/macosx-ups.txt, docs/man/masterguard.txt, docs/man/metasys.txt, docs/man/mge-shut.txt, docs/man/mge-utalk.txt, docs/man/microdowell.txt, docs/man/microsol-apc.txt, docs/man/netxml-ups.txt, docs/man/nut-driver-enumerator.txt, docs/man/nut-ipmipsu.txt, docs/man/nut-recorder.txt, docs/man/nut-scanner.txt, docs/man/nut.conf.txt, docs/man/nutdrv_atcl_usb.txt, docs/man/nutdrv_qx.txt, docs/man/nutdrv_siemens_sitop.txt, docs/man/nutupsdrv.txt, docs/man/oneac.txt, docs/man/optiups.txt, docs/man/phoenixcontact_modbus.txt, docs/man/pijuice.txt, docs/man/powercom.txt, docs/man/powerman-pdu.txt, docs/man/powerpanel.txt, docs/man/rhino.txt, docs/man/richcomm_usb.txt, docs/man/riello_ser.txt, docs/man/riello_usb.txt, docs/man/safenet.txt, docs/man/skel.txt, docs/man/snmp-ups.txt, docs/man/sockdebug.txt, docs/man/socomec_jbus.txt, docs/man/solis.txt, docs/man/tripplite.txt, docs/man/tripplite_usb.txt, docs/man/tripplitesu.txt, docs/man/ups.conf.txt, docs/man/upsc.txt, docs/man/upscmd.txt, docs/man/upscode2.txt, docs/man/upsd.conf.txt, docs/man/upsd.txt, docs/man/upsd.users.txt, docs/man/upsdrvctl.txt, docs/man/upsdrvsvcctl.txt, docs/man/upsimage.cgi.txt, docs/man/upslog.txt, docs/man/upsmon.conf.txt, docs/man/upsmon.txt, docs/man/upsrw.txt, docs/man/upssched.conf.txt, docs/man/upssched.txt, docs/man/upsset.cgi.txt, docs/man/upsset.conf.txt, docs/man/upsstats.cgi.txt, docs/man/upsstats.html.txt, docs/man/usbhid-ups.txt, docs/man/victronups.txt, docs/new-clients.txt, docs/nut-names.txt, docs/security.txt, docs/snmp.txt, docs/support.txt, docs/user-manual.txt, drivers/apcsmart.c, drivers/blazer.c, drivers/blazer.h, drivers/blazer_ser.c, drivers/blazer_usb.c, drivers/delta_ups-mib.c, drivers/eaton-pdu-marlin-mib.c, drivers/hpe-pdu-mib.c, drivers/libhid.c, drivers/libusb0.c, drivers/libusb1.c, drivers/nut_libusb.h, drivers/optiups.c, drivers/riello.c, drivers/riello.h, drivers/riello_ser.c, drivers/riello_usb.c, indent.sh, scripts/Aix/nut-aix.spec.in, scripts/Solaris/pkginfo.in, scripts/Windows/build-mingw-nut.sh, scripts/perl/Nut.pm, scripts/python/app/locale/NUT-Monitor.pot, …/app/locale/fr/LC_MESSAGES/NUT-Monitor.mo, scripts/python/app/locale/fr/fr.po, …/app/locale/it/LC_MESSAGES/NUT-Monitor.mo, scripts/python/app/locale/it/it.po, …/app/locale/ru/LC_MESSAGES/NUT-Monitor.mo, scripts/python/app/locale/ru/ru.po, scripts/python/app/ui/aboutdialog1.ui, scripts/python/app/ui/gui-1.3.glade, scripts/python/app/ui/gui-1.3.glade.h, server/netget.c, server/netmisc.c, tools/nut-ddl-dump.sh, tools/nut-usbinfo.pl: Wholesale update of website URL to "https://www.networkupstools.org"
  • drivers/generic_gpio_common.h, drivers/generic_gpio_libgpiod.h: drivers/generic_gpio*.h: style (whitespace) fixes
  • drivers/apcsmart.c, drivers/apcsmart.h, drivers/generic_gpio_libgpiod.c, drivers/generic_gpio_libgpiod.h: drivers/generic_gpio_libgpiod.{c,h}, drivers/apcsmart.{c,h}: move DRIVER_NAME and DRIVER_VERSION from header to C source file as in other drivers
  • drivers/adelsystem_cbi.c, drivers/al175.c, drivers/apcsmart-old.c, drivers/apcsmart.h, drivers/apcupsd-ups.c, drivers/asem.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/belkin.c, drivers/belkinunv.c, drivers/bestfcom.c, drivers/bestfortress.c, drivers/bestuferrups.c, drivers/bestups.c, drivers/blazer_ser.c, drivers/blazer_usb.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dummy-ups.c, drivers/etapro.c, drivers/everups.c, drivers/gamatronic.c, drivers/generic_gpio_libgpiod.h, drivers/generic_modbus.c, drivers/genericups.c, drivers/huawei-ups2000.c, drivers/isbmex.c, drivers/ivtscd.c, drivers/liebert-esp2.c, drivers/liebert.c, drivers/macosx-ups.c, drivers/masterguard.c, drivers/metasys.c, drivers/mge-utalk.c, drivers/microdowell.c, drivers/microsol-apc.c, drivers/netxml-ups.c, drivers/nut-ipmipsu.c, drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, drivers/nutdrv_siemens_sitop.c, drivers/oneac.c, drivers/optiups.c, drivers/phoenixcontact_modbus.c, drivers/pijuice.c, drivers/powercom.c, drivers/powerman-pdu.c, drivers/powerpanel.c, drivers/rhino.c, drivers/richcomm_usb.c, drivers/riello_ser.c, drivers/riello_usb.c, drivers/safenet.c, drivers/skel.c, drivers/snmp-ups.c, drivers/socomec_jbus.c, drivers/solis.c, drivers/tripplite.c, drivers/tripplite_usb.c, drivers/tripplitesu.c, drivers/upscode2.c, drivers/usbhid-ups.c, drivers/victronups.c: Bump all driver versions before NUT v2.8.1 release [#1951] Follow-up after core driver changes (main.c etc.) with driver.state #1767, driver reload command #1903, driver inter-instance communications via socket #1922 and others. Also convert remaining single-digit X.Y versions to X.<Y\+1>0 double-digits.

2.161. 2023-06-29 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/nut-scanner.txt, docs/man/snmp-ups.txt: clarify that secLevel is required to use non-trivial authentication [#734]

2.162. 2023-06-26 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/maintainer-guide.txt: stress the release git tag rituals [#1971]

2.163. 2023-06-18 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut-names.txt: reference docs/new-drivers.txt by name for device status data definitions

2.164. 2023-06-17 Blaz Zakrajsek <zakrajsek.blaz@gmail.com>

  • drivers/liebert-hid.c: Apply code review fixes - Replace non-standard variable names for Full charge capacity and Design capacity - Prefix with experimental

2.165. 2023-06-16 Blaz Zakrajsek <zakrajsek.blaz@gmail.com>

  • drivers/liebert-hid.c: Improve liebert-hid driver - Add additional properties by analyzing the HID descriptor of the PowerWalker VI 1200 SHL - Existing properties were kept as they are to avoid breakage with other devices using the same driver

2.166. 2023-06-14 Jim Klimov <jimklimov@gmail.com>

  • clients/upssched.c: add enter/exit log tracing of sock_read() [#1964]

2.167. 2023-06-13 Jim Klimov <jimklimov@gmail.com>

  • NEWS: upssched CPU burn fixed [#1965, #1964]
  • NEWS, docs/man/upssched.txt, clients/upssched.c: warn that enabled debug remains noisy for daemon part too [#1965]
  • clients/upssched.c: start_daemon() loop (POSIX builds): generally throttle in case we have empty sock_read()s [#1964]
  • clients/upssched.c: if we consistently get read()==0, abort eventually (even if no formal errors are reported) [#1964]
  • clients/upssched.c: do not close STDERR of the daemon (to re-open as /dev/null) when nut_debug_level!=0 (follow-up from [#1879, #1889])
  • clients/upssched.c: log-trace when the process (daemon or CLI) exits

2.168. 2023-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upssched.c: improve logging of client connection life cycle
  • tests/NIT/nit.sh: typo fix

2.169. 2023-06-08 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/download.txt: update references to NUT client for VMWare ESXi

  • docs/download.txt: update references to NUT client for VMWare ESXi

    • fix asciidoc markup [#1961]
  • NEWS: update with reference to NUT client for VMware ESXi" project on GitHub [#1961]
  • docs/download.txt: update references to NUT client for VMware ESXi And link to NUT Wiki for further setup suggestions

2.170. 2023-06-05 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/new-drivers.txt, docs/nut-names.txt: no need for custom anchor for _status_data, change link style instead [#1957]
  • docs/man/upslog.txt: refer to documentation on supported variable names [#1957]
  • docs/new-drivers.txt: add anchor for _status_data [#1957]

2.171. 2023-06-02 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, UPGRADING: make note that ChangeLog file markup will differ from that in older NUT releases [#1955]
  • tools/gitlog2changelog.py.in: update TextWrapper settings to not break up file paths Follows up from #1945

2.172. 2023-06-01 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: update with OpenPGP [#1410]
  • NEWS, docs/nut.dict: NEWS: published new maintainer GPG key DE0184DA7043DCF7 [#1410]

2.173. 2023-06-01 Xavier Delaruelle <xavier.delaruelle@cea.fr>

  • tools/gitlog2changelog.py.in: tools/gitlog2changelog.py: fix bitwise AND into regular AND Several if conditions where using bitwise AND whereas the intent was to do a regular AND test.

2.174. 2023-05-26 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/documentation.txt: refer to NUT GitHub Wiki
  • docs/documentation.txt: refer to HCL from near DDL
  • docs/developers.txt: reword a bit about IDE support

2.175. 2023-05-24 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: bump for IntelliJ

2.176. 2023-05-23 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/developers.txt: typo fix
  • docs/developers.txt: add a mention of IntelliJ IDEA
  • docs/developers.txt: fix asciidoc table markup; update a few comments for Windows development environments
  • Jenkinsfile-dynamatrix: withEnvOptional() was refactored from "infra" to a standalone step

2.177. 2023-05-19 Xavier Delaruelle <xavier.delaruelle@cea.fr>

  • tools/gitlog2changelog.py.in: tools/gitlog2changelog.py: apply Flake8 suggestions Apply on gitlog2changelog.py most code change suggestions from Flake8 Python style guide enforcement tool.
  • tools/gitlog2changelog.py.in: tools/gitlog2changelog.py: apply Black suggestions Apply on gitlog2changelog.py code change suggestions from Black Python code formatter.
  • tools/gitlog2changelog.py.in: tools/gitlog2changelog.py: fix expected git log format Update gitlog2changelog.py script to ensure git log format is not influenced by user git configuration.

2.178. 2023-05-19 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/developers.txt, docs/nut.dict: docs/developers.txt: chapter on VSCode setup
  • docs/developers.txt: update notes for IDE setup for debug symbols
  • docs/nut.dict: docs/developers.txt: update notes for IDE (specifically NetBeans on Windows) setup
  • docs/developers.txt: update notes for IDE (specifically NetBeans on Windows) setup

2.179. 2023-05-13 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/Makefile.am: typo fix to not override man8_MANS definition

2.180. 2023-05-12 Jim Klimov <jim@jimklimov.com>

  • docs/man/sockdebug.txt: Update sockdebug.txt Fix markup (and a progname mention), add original code authors.

2.181. 2023-05-11 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/sockdebug.txt: fix formatting; clarify standard state path handling (POSIX builds) [#1936]
  • docs/man/index.txt: mention new sockdebug[8] man page
  • clients/upssched.c: start_daemon(): transplant STDIN_FILENO/STDOUT_FILENO/STDERR_FILENO handling instead of hardcoded numbers, from common.c [#1879, #1881]
  • drivers/upsdrvquery.c: upsdrvquery_read_timeout(): only log subsequent sleep-time diffs if we retried a sleep
  • drivers/upsdrvquery.c: upsdrvquery_read_timeout(): fix retry-delays to 0.1sec (100msec, 100000usec)
  • drivers/upsdrvquery.c: clearer parentheses and markup
  • drivers/upsdrvquery.c: upsdrvquery_prepare(): fix time subtraction
  • drivers/upsdrvquery.c: upsdrvquery_oneshot(): bump the sleep for upsdrvquery_read_timeout() PING/PONG
  • drivers/upsdrvquery.c: upsdrvquery_read_timeout(): more tracing of time tracking
  • drivers/upsdrvquery.c: use difftimeval() and better-precision struct timeval
  • common/common.c, include/common.h: introduce a difftimeval()
  • drivers/upsdrvquery.c: fix multipliers around tv_usec (10e6 not 10e3)
  • drivers/upsdrvquery.c: upsdrvquery_read_timeout(): accept shorter delays, Windows does not guarantee a minimum sleep it seems
  • drivers/upsdrvquery.c: fix whitespace
  • server/sockdebug.c: address clang warnings

2.182. 2023-05-10 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/upsdrvquery.c: fix whitespace
  • drivers/upsdrvquery.c: upsdrvquery_prepare(): fix finishing quickly after a PONG
  • drivers/upsdrvquery.c: enable a timeout and PING/PONG when preparing the connection
  • docs/man/sockdebug.txt: update for unified ability to "make sockdebug" and no longer required fully-qualified path to socket in POSIX builds
  • docs/sock-protocol.txt: update for unified ability to "make sockdebug" and no longer required fully-qualified path to socket in POSIX builds
  • drivers/upsdrvquery.c: use PING after NOBROADCAST to minimize delays while playing safe [#1928]
  • drivers/upsdrvquery.c: whitespace fixes
  • server/sockdebug.c: fall back to dflt_statepath() when not using a full path to socket
  • server/Makefile.am, NEWS, UPGRADING: install sockdebug if configured --with-dev
  • docs/man/Makefile.am, docs/man/sockdebug.txt, docs/nut.dict: Introduce docs/man/sockdebug.txt
  • Makefile.am: add a way to "make sockdebug" regardless of target platform

2.183. 2023-04-24 Jim Klimov <jimklimov+nut@gmail.com>

  • conf/upsset.conf.sample, docs/man/upsset.conf.txt, docs/nut.dict: docs/man/upsset.conf.txt, conf/upsset.conf.sample: document CGI securing syntax for modern Apache Thanks to Phil Stracchino <phils at caerllewys.net> for suggestions: https://alioth-lists.debian.net/pipermail/nut-upsuser/2023-April/013262.html
  • drivers/upsdrvctl.c: when starting to send_all_drivers() or send_one_driver(), reset exec_error to 0 [#1927]
  • drivers/main.c, drivers/upsdrvctl.c: drivers/upsdrvctl.c, drivers.main.c: use upsdrvquery_oneshot() caller-provided timeouts [#1929] Closes: #1929
  • drivers/upsdrvquery.c, drivers/upsdrvquery.h: drivers/upsdrvquery.c: upsdrvquery_oneshot(): support optional caller-provided timeouts [#1929]
  • drivers/upsdrvquery.c: upsdrvquery_request(): report how long we wait (and support indefinite waits) [#1914]
  • docs/new-drivers.txt, docs/nut.dict: docs/new-drivers.txt: upsdrv_shutdown() must not exit() anymore [#1923]
  • drivers/dummy-ups.c: do not ignore return of getcwd() [#1921]
  • NEWS: Update about reload ability [#1903, #1914, #1924] and new use of driver.killpower instcmd [#1917, #1923]
  • drivers/upsdrvquery.c: typo fix
  • drivers/dummy-ups.c: handle "-x port=./path" or "C:\somepath" (WIN32) [#1921] Closes: #1921
  • drivers/main.c: try to do_forceshutdown via socket protocol with a running driver first [#1923] Closes: #1923
  • drivers/al175.c, drivers/apcupsd-ups.c, drivers/asem.c, drivers/bcmxcp.c, drivers/blazer.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dummy-ups.c, drivers/generic_gpio_common.c, drivers/generic_modbus.c, drivers/genericups.c, drivers/huawei-ups2000.c, drivers/isbmex.c, drivers/ivtscd.c, drivers/liebert.c, drivers/macosx-ups.c, drivers/main.c, drivers/netxml-ups.c, drivers/nut-ipmipsu.c, drivers/nutdrv_qx.c, drivers/phoenixcontact_modbus.c, drivers/powercom.c, drivers/powerman-pdu.c, drivers/riello_ser.c, drivers/riello_usb.c, drivers/safenet.c, drivers/skel.c, drivers/snmp-ups.c, drivers/socomec_jbus.c, drivers/usbhid-ups.c: drivers/*: Avoid exit() and fatalx() in upsdrv_shutdown() handlers; set_exit_flag() instead [#1923]
  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: clarify in logged messages that we are reloading or restarting daemons
  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: avoid re-definition of the driver if we can just reload it [#1924] Closes: #1924
  • drivers/upsdrvquery.c: upsdrvquery_request(): drop received unrecognized queued replies [#1914]
  • drivers/upsdrvquery.c, drivers/upsdrvquery.h: drivers/upsdrvquery.{c,h}: add a way to request new ReadFile() operation on WIN32 [#1914]
  • drivers/upsdrvquery.c: update messages [#1914]
  • drivers/upsdrvquery.c: rectify timeout processing precision [#1914]

2.184. 2023-04-23 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/upsdrvquery.c: upsdrvquery_oneshot(): do not wait for NOBROADCAST to flush, we now support not-bailing on unexpected lines [#1920]
  • drivers/upsdrvquery.c: upsdrvquery_read_timeout(): support zeroed-out "tv" as disable of wait
  • drivers/upsdrvquery.c: upsdrvquery_prepare(): support zeroed-out "tv" as disable of wait
  • drivers/upsdrvctl.c: enable "-c reload-or-error" on WIN32 [#1914, #1903]
  • drivers/upsdrvquery.c, drivers/upsdrvquery.h: drivers/upsdrvquery.{c,h}: refactor to pass udq_pipe_conn_t around, and complete WIN32 fixes [#1914]
  • docs/developers.txt: expand with a few IDE notes on Windows
  • drivers/upsdrvquery.c: fix upsdrvquery_read_timeout() for WIN32 builds [#1903, #1914]
  • ci_build.sh: suggest follow-up to poor maintainer-clean handling in autotools
  • include/upsconf.h, common/upsconf.c, server/conf.c, server/upsd.c, drivers/main.c, drivers/upsdrvctl.c: change read_upsconf() API so it is not always fatal [#1903]
  • drivers/main.c, drivers/main.h: drivers/main.c: enable SIGCMD_RELOAD_OR_ERROR handling for WIN32 [#1914, #1903]
  • drivers/main.c: address compiler style warning
  • drivers/upsdrvquery.c: upsdrvquery_connect(): copy-paste fixes for WIN32 part [#1903, #1914]
  • drivers/main.c: address compiler style warning

2.185. 2023-04-22 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/nutupsdrv.txt, docs/man/upsdrvctl.txt, drivers/main.c, drivers/main.h, drivers/upsdrvctl.c: drivers/main.{c,h}, upsdrvctl sources and docs: add "reload-or-error" CLI handling [#1903, #1914] Handle SIGCMD_RELOAD_OR_ERROR commands to running drivers via upsdrvquery_oneshot()y
  • drivers/Makefile.am, drivers/upsdrvquery.c, drivers/upsdrvquery.h: drivers/upsdrvquery.{c,h}, drivers/Makefile.am: Introduce a socket protocol client for quickshot commands [#1903, #1914]
  • docs/man/nutupsdrv.txt: add placeholder for "-c reload-or-restart" CLI argument [#1903]
  • drivers/main.c: main_instcmd(): add placeholder for "driver.reload-or-restart" support [#1903, #1914]
  • drivers/main.c: main_instcmd(): set_reload_flag() by SIGCMD_* macros, not numbers [#1903, #1914]
  • drivers/main.c: add socket-protocol handling for "driver.reload-or-error" INSTCMD [#1903, #1914]

2.186. 2023-04-21 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/main.c: main(): register "driver.reload(-or-exit)" commands so upsd would accept them and upscmd can request them [#1903]
  • drivers/dstate.c: sock_arg(): if shared main_instcmd()/main_setvar() did recognize and somehow process the request, honour TRACKING if present [#1903, #1920]
  • drivers/main.c: un-hide nut_debug_level_args for mock-driver builds aka DRIVERS_MAIN_WITHOUT_MAIN now that it is referenced in main_setvar()⇒assign_debug_level() [#1903, #1285]
  • server/pipedebug.c: seems WIN32 needs fflush(stdout)
  • docs/sock-protocol.txt: clarify use of sockdebug in WIN32 builds
  • common/common.c: vupslog(): only print timestamps to stderr if xbit_test(upslog_flags, UPSLOG_STDERR) at all, not just that the debug is enabled; also mark upslog_start when we first call the method, even if debu is not currently verbose (may change at run time) [#1903]
  • common/common.c: vupslog(), nut_report_config_flags(): seems WIN32 needs fflush(stderr)
  • drivers/dstate.c: sock_arg() (NO)BROADCAST handling ⇒ POSIX/WIN32 preparation of string: satisfy platforms where snprintf is a macro [#1914]
  • drivers/main.c: main_instcmd()/main_setvar() POSIX/WIN32 preparation of string: satisfy platforms where snprintf is a macro [#1914]
  • drivers/main.c: un-hide assign_debug_level() for mock-driver builds aka DRIVERS_MAIN_WITHOUT_MAIN now that it is referenced in main_setvar() [#1903, #1285]
  • drivers/main.c: set_reload_flag (and SIGUSR1) are currently only for non-WIN32 builds [#1903, #1916]
  • server/pipedebug.c: whitespace fixes (indentations et al)
  • server/sockdebug.c, server/pipedebug.c: support -h/--help on CLI
  • docs/sock-protocol.txt: suggest also server/sockdebug for dev/testing
  • server/sockdebug.c: check return of fgets()
  • server/sockdebug.c: #include "nut_stdint.h" for PRI* macros

2.187. 2023-04-20 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/main.c: driver/main.c: main_instcmd() with basic "driver.reload" and "driver.reload-or-exit" support [#1903, #1914]
  • drivers/dstate.c, drivers/dstate.h, drivers/main.c, drivers/main.h: driver/(main|dstate).(c\|h): extend main_instcmd()/main_setvar() with knowledge of conn_t involved [#1914]\
  • NEWS, docs/nut.dict, docs/sock-protocol.txt, drivers/dstate.c, drivers/dstate.h: docs/sock-protocol.txt, drivers/dstate.{c,h}: extend driver-server socket protocol with (NO)BROADCAST option [#1914]
  • docs/man/nutupsdrv.txt, docs/man/upsdrvctl.txt, docs/man/upsmon.txt, docs/man/upssched.txt: docs: update about NUT_*PATH envvars support
  • docs/man/upssched.txt: mention UPSNAME and NOTIFYTYPE among supported envvars
  • clients/upssched.c: comment how checkconf() is the processing loop
  • clients/upssched.c: debugging does not impact backgrounding (update help text)
  • NEWS, clients/upsmon.c, clients/upssched.c, docs/man/nutupsdrv.txt, docs/man/upsd.txt, docs/man/upsdrvctl.txt, docs/man/upsmon.txt, docs/man/upssched.txt, drivers/main.c, drivers/upsdrvctl.c, server/upsd.c: upsd, upsdrvctl, drivers, upsmon, upssched progs and docs, NEWS: introduce NUT_DEBUG_LEVEL envvar support (if no "-D" option(s) among CLI args) [#1915] Closes: #1915
  • NEWS, docs/man/ups.conf.txt, drivers/main.c: drivers/main.c, NEWS: constrain INSTCMD "driver.killpower" by "driver.flag.allow_killpower" setting [#1917] Closes: #1917
  • drivers/dstate.c: if main_setvar()/main_instcmd() return STAT_*_INVALID, do not proceed to driver handler [#1914]
  • NEWS, drivers/main.c: drivers/main.c: add support for INSTCMD "driver.killpower" [#1917]
  • NEWS, drivers/main.c: drivers/main.c: introduce a way to show and set "driver.debug" level via socket protocol (upsrw etc.) [#1285] Closes: #1285
  • drivers/main.c: debug-trace (and so use) args to main_instcmd() and main_setvar() handlers [#1285, #1914]
  • drivers/dstate.c, drivers/main.c, drivers/main.h: drivers/main.{c,h}, drivers/dstate.c: introduce and handle shared main_instcmd() and main_setvar() handlers [#1285, #1914]
  • docs/sock-protocol.txt: update with some clarifications

2.188. 2023-04-20 Clappier Eric <ericclappier@eaton.com>

  • drivers/snmp-ups.c: Acquisition failed with daisychain epdu G3 with sensors (#1911) * Hot fix for infinite loop during discovery daisychain epdu G3 with sensors * Change log message in guesstimate_template_count function

2.189. 2023-04-20 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: report test case names at start of ther methods, to find error reports in log more easily

2.190. 2023-04-19 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/upsdrvctl.c: buildability for WIN32 (unused code warnings) [#1903]
  • drivers/upsdrvctl.c: fix main loop buildability for WIN32 [#1903]
  • drivers/upsdrvctl.c: set_signal_flag(): relax const-ness to save the signal
  • drivers/upsdrvctl.c: fix builds for WIN32 [#1903]
  • NEWS: clarify nut-driver-enumerator vs. debug_min edits [#1903]
  • scripts/systemd/nut-driver@.service.in: exec upsdrvctl to avoid another extra fork
  • scripts/Solaris/nut-driver.xml.in: fix refresh to send SIGUSR1 now [#1903]
  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: use systemd ExecReload for drivers now [#1903]
  • scripts/systemd/nut-driver@.service.in: fix ExecReload to send SIGUSR1 now [#1903]
  • configure.ac: set SYSTEMD_DAEMON_ARGS_DRIVER="-FF" to avoid excess forking (thanks to #1903)
  • drivers/main.c: fix WIN32 buildability
  • drivers/upsdrvctl.c: help() exits here, so leave just fatalx() with diagnosis
  • drivers/upsdrvctl.c: avoid name shadowing after including main.h (for #1903)
  • drivers/main.c: main(): rectify handling of "foreground" variants, fix a typo [#1903]
  • NEWS, docs/nut.dict: NEWS: update for signal support with drivers and upsdrvctl [#1903]
  • drivers/upsdrvctl.c: recycle drivers that aborted due to SIGCMD_RELOAD_OR_EXIT [#1903]
  • drivers/main.c: reload-or-exit: exit with 128\+SIGNUM on POSIX systems [#1903]
  • drivers/upsdrvctl.c: actually forward supported signals accumulated by a running upsdrvctl [#1903]
  • drivers/upsdrvctl.c: refactor reset_signal_flag() [#1903]
  • docs/man/upsdrvctl.txt: update for new signal-sending support [#1903]
  • drivers/main.c: handle_reload_flag(): log for which device (help mass-mgmt via upsdrvctl) [#1903]
  • drivers/upsdrvctl.c: error out for dangling CLI arguments
  • drivers/upsdrvctl.c: implement signal handling and "-c COMMAND" to pass on to drivers [#1903]
  • drivers/main.c, drivers/main.h: drivers/main.{c,h}: move SIGCMD_* definitions to header for re-use [#1903]
  • server/upsd.c, clients/upsmon.c: optargs: check other command options only if we did not have a hit earlier
  • drivers/main.c: do not need a "port=…" to handle a command/signal option (with -s TMPUPSNAME) [#1903]
  • drivers/main.c: optargs: only accept command/signal option once [#1903]
  • drivers/main.c: optargs: check other command options only if we did not have a hit earlier [#1903] In particular, avoid finding "reload" again in longer command names
  • drivers/main.c: set_reload_flag(), optargs: log the command signal posted/received [#1903]
  • drivers/main.c: set_reload_flag(): rearrange comments and log messages [#1903]
  • docs/man/upsdrvctl.txt, drivers/upsdrvctl.c: drivers/upsdrvctl.c: add "-FF" mode to match driver abilities [#1299]
  • docs/man/nutupsdrv.txt, drivers/main.c: drivers/main.c: refactor "background_flag" ⇒ "foreground" and add "-FF" mode to match upsd/upsmon [#1299]
  • docs/man/nutupsdrv.txt, drivers/main.c: drivers/main.c: add support for command-line "reload", "reload-or-exit" (reserved "reload-or-restart" not implemented/offered yet), and -P OLDPID options [#1903]
  • drivers/main.c: use macros to define SIGCMD_DATA_DUMP (moved from SIGUSR2 to SIGURG/SIGWINCH by default), SIGCMD_RELOAD, SIGCMD_RELOAD_OR_EXIT (and clarify difference from reserved SIGCMD_RELOAD_OR_RESTART) [#1903]
  • drivers/main.c: rename temporary "buffer" to "pidfnbuf" for a bit of readability
  • server/conf.c: parse_upsd_conf_args(): only warn about ignoring STATEPATH in favor of NUT_STATEPATH if the two strings are not equal [#1908]

2.191. 2023-04-18 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/main.c: hide nut_debug_level_args as for DRIVERS_MAIN_WITHOUT_MAIN [#1903]
  • docs/man/generic_gpio.txt: do not suggest non-standard "description", use "desc" instead [#1892]
  • drivers/generic_gpio_common.c, drivers/generic_gpio_libgpiod.c: fix "upsdebugx(LOG_DEBUG,…)" calls We debug with somewhat arbitrarily assigned verbosity numbers. The LOG_* definitions are from syslog (and equivalents for WIN32 event log).
  • drivers/main.c: log that a VAR_SENSITIVE value is not saved (and comment that override/default bypasses this) [#1892]
  • drivers/generic_gpio_common.c, tests/generic_gpio_utest.c: mfr/model vars are not "sensitive" and "desc(ription)" are not handled via addvar() at all [#1892]
  • drivers/main.c, NEWS: support SIGUSR2 to immediately dstate_dump() and move on [#1907]
  • server/conf.c: parse_upsd_conf_args(): prefer NUT_STATEPATH envvar to STATEPATH from file [#1908]
  • server/upsd.c: trace-log the statepath actually used [#1908]
  • server/sstate.c: sstate_connect(): trace-log the paths involved if failed to connect() to a driver pipe [#1908]
  • drivers/main.c: testvar_reloadable(): fix logic botched by refactoring [#1903]
  • drivers/main.c: test*_reloadable(): trace-log the verdict in all cases [#1903]
  • drivers/main.c: move reload_flag support in main loop to be more reactive and refactor as handle_reload_flag() [#1903]
  • drivers/main.c: refactor reload_flag support for existing flags (log that skipped) [#1903]
  • drivers/main.c: support SIGUSR1 ⇒ reload_flag=2 ⇒ driver may exit() if changed configs that can not be applied on the fly [#1903]
  • drivers/main.c: cover assign_debug_level() under DRIVERS_MAIN_WITHOUT_MAIN [#1903]
  • common/common.c: #if ⇒ #ifdef\+if [#1903]

2.192. 2023-04-17 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: AM_COND_IF macro supported since aclocal-1.11; fall back to raw vars for older tools
  • scripts/Solaris/nut-driver.xml.in: define basic SMF "refresh" support to send SIGHUP to a driver [#1903]
  • NEWS: Implemented basic support for ups.conf reloading in NUT drivers [#1903]
  • configure.ac: do fail checks due to unknown tokens with SYSTEMD_ANALYZE_PROGRAM [#1903, #1590]
  • configure.ac: do not make noise with SYSTEMD_ANALYZE_PROGRAM [#1903, #1590]
  • configure.ac: fix "end-user" square brackets for M4 markup [#1903]
  • configure.ac: for common.c::upsnotify(): detect actual support for systemd Type=notify for good measure [#1903, #1590]
  • configure.ac: for common.c::upsnotify(): detect support for systemd Type=notify-reload and enable it for nut-driver@.service if applicable [#1903]
  • configure.ac: for common.c::upsnotify(): detect support for HAVE_CLOCK_GETTIME and HAVE_CLOCK_MONOTONIC [#1903]
  • common/common.c: upsnotify(): support posting MONOTONIC_USEC when RELOADING/READY [#1903]
  • scripts/systemd/nut-driver@.service.in: typo fix in comment
  • scripts/systemd/nut-driver@.service.in: support ExecReload via "kill -SIGHUP" [#1903]
  • drivers/main.c: assign_debug_level(): update messages and comments, report if nut_debug_level_args overrides smaller/unset nut_debug_level_upsconf
  • drivers/main.c: fix do_global_args() and main_arg() to not ignore unmodified settings during reload [#1903]
  • drivers/main.c: actually read_upsconf() to handle reload (SIGHUP) [#1903]
  • drivers/main.c: always setup_signals() if we are not a one-shot run (fore- or back-ground)
  • drivers/main.c: upsdebugx() raising the flags due to signals (exit, reload) [#1903]
  • drivers/main.c: do_upsconf_args(): fix handling of "driver" value [#1903]
  • drivers/main.c: pepper test*_reloadable() and do_upsconf_args() with upsdebugx() [#1903]
  • drivers/main.c: testvar_reloadable(): handle known flags conservatively [#1903]
  • drivers/main.c: introduce (and honour) nut_debug_level_args [#1903]
  • drivers/main.c: refactor assign_debug_level()
  • drivers/main.c: do_global_args(), main_arg(): respect reload_flag [#1903]
  • drivers/main.c: move pollinterval handling from do_upsconf_args() to main_arg()
  • drivers/main.c: testvar_reloadable(), testval_reloadable(): clarify if the driver must be restarted to apply a value change [#1903]
  • drivers/main.c, drivers/main.h: drivers/main.{c,h}: make testvar_reloadable(), testval_reloadable(), testinfo_reloadable() a public API in case drivers would need to know [#1903]
  • drivers/main.c: add skeleton handling for reload_flag [#1903]
  • drivers/main.c, drivers/main.h: driver/main.{c,h}: extend internal API with addvar_reloadable() and vartab_t→reloadable field [#1903]

2.193. 2023-04-12 Jim Klimov <jimklimov@gmail.com>

  • scripts/usb_resetter/README.md: Update README.md Some more formatting/wording fixes
  • scripts/usb_resetter/README.md: Update README.md Reformatted line widths and code examples, incorporated PR discussion notes

2.194. 2023-04-04 Jim Klimov <jimklimov@gmail.com>

  • drivers/salicru-hid.c: Update salicru-hid.c Whitespace and alphabetic fixes, subdriver version bump

2.195. 2023-04-04 David Martinez <dmartinez.martin@atsistemas.com>

  • data/driver.list.in, drivers/salicru-hid.c, scripts/upower/95-upower-hid.hwdb: feat: Added support for Salicru SPS 3000 ADV RT2

2.196. 2023-04-01 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: adapt to newer website preparations

2.197. 2023-04-01 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/nutdrv_qx_voltronic.c: cover another path to "battery.voltage" with qx_multiply_battvolt()

2.198. 2023-03-31 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/nutdrv_qx.c: should we not use correct battery_voltage_reports_one_pack_considered every loop?

2.199. 2023-03-31 Jim Klimov <jimklimov@gmail.com>

  • NEWS: integration with usb_resetter documented [#1887]
  • docs/nut.dict: Update nut.dict

2.200. 2023-03-31 Jim Klimov <jimklimov+nut@gmail.com>

  • Makefile.am: MAINTAINERCLEANFILES\+=ar-lib
  • common/common.c: background(): use STDIN_FILENO/STDOUT_FILENO/STDERR_FILENO macros instead of hard-coded FD 0-1-2 numbers [#1879, #1881] Closes: #1879 Closes: #1881
  • include/common.h: define STDIN_FILENO/STDOUT_FILENO/STDERR_FILENO if absent on the platform
  • configure.ac: detect support of dup() and/or dup2() on the platform
  • .gitignore: GitIgnore ar-lib tool, if added by automake (see AM_PROG_AR in configure.ac)

2.201. 2023-03-31 Orsiris de Jong <ozy@netpower.fr>

  • scripts/usb_resetter/README.md: usb_resetter: add --list-hubs command example
  • docs/FAQ.txt: Add driver disconnected usb_resetter entry
  • scripts/usb_resetter/nut-driver.service: Add usb_resetter enabled nut-driver systemd service
  • scripts/usb_resetter/README.md: Add usb_resetter instructions

2.202. 2023-03-31 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: use m4_ifdef for optional AM_SILENT_RULES support
  • configure.ac: use AM_PROG_AR if available (quiesce autoreconf portability warning) Inspired by https://github.com/vlm/asn1c/pull/63/files
  • autogen.sh: add "-v" or "export (CI_)DEBUG=true" support

2.203. 2023-03-30 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: test C\+\+11 nuances that NUT uses and which fail with older gcc-4.x with intermediate levels of support
  • configure.ac: typo fix for "have_cxx11=no," verdict
  • clients/nutclient.cpp, clients/nutclient.h: clients/nutclient.h: declare NutException&Co destructors as "noexcept" to match some system headers std::except
  • autogen.sh: suggest what to do in case of m4 "ifdef" errors
  • docs/config-prereqs.txt: typo and markup fixes
  • docs/ci-farm-lxc-setup.txt: split container installation and setup into visible sub-chapters
  • docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc-setup.txt: clarify use of expired keys for ancient Debian releases

2.204. 2023-03-23 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, drivers/baytech-mib.c: drivers/baytech-mib.c: update baytech_outlet_status_info[] valid values [#1871]

2.205. 2023-03-22 Evgeny Klimov <jimklimov+nut@gmail.com>

  • drivers/upsdrvctl.c: avoid another warning (WIN32 builds)

2.206. 2023-03-21 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/upsdrvctl.c: fix build warnings
  • drivers/upsdrvctl.c: only check for child process PIDs on POSIX platforms
  • drivers/upsdrvctl.c: track if any of launched foreground-mode drivers exited, and then abort the whole bundle (so it can be consistently restarted)
  • drivers/upsdrvctl.c: fix some WIN32 code style
  • drivers/upsdrvctl.c: track started foregrounded driver PID(s) to stop when exiting on signal
  • drivers/upsdrvctl.c: fix logged message markup and TODO comments for foregrounded mode
  • docs/man/upsdrvctl.txt, NEWS: update info about upsdrvctl foregrounding mode support
  • drivers/upsdrvctl.c: update logged messages about foregrounding mode
  • drivers/upsdrvctl.c: do not exit the tool if foregrounding was requested
  • drivers/upsdrvctl.c: log when the tool is exiting
  • drivers/upsdrvctl.c: count the UPSes we would command; foregrounding behavior depends on that number
  • drivers/upsdrvctl.c: complete the fix for upsdrvctl explicit fore-/back-grounding mode [#1806 follow-up]
  • tests/NIT/nit.sh: double-quote the driverpath value so it is properly parsed

2.207. 2023-03-13 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/Makefile.am: clean away symlinked gpiotest sources
  • tests/Makefile.am, tests/.gitignore: refer to generic_gpio_libgpiod.c/generic_gpio_common.c differently for portability
  • tests/Makefile.am: relocate "endif" lines back, with a different way for sources of tests are always redistributed

2.208. 2023-03-14 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: fixup! NEWS: libdummy_mockdrv.la added [#1855]

2.209. 2023-03-13 Jim Klimov <jimklimov@gmail.com>

  • tests/Makefile.am: simplify recipe for gpiotest
  • NEWS: libdummy_mockdrv.la added [#1855]
  • drivers/generic_gpio_common.c, drivers/generic_gpio_common.h, tests/Makefile.am, tests/generic_gpio_utest.c: tests/generic_gpio_utest.c, tests/Makefile.am: avoid "include generic_gpio_common.c generic_gpio_liblocal.c generic_gpio_libgpiod.c" in test code
  • tests/generic_gpio_utest.c, tests/Makefile.am: avoid sourcing "main.c" and "dstate.c" right into test code
  • drivers/Makefile.am, drivers/main.c, drivers/main.h: drivers/main.{c,h} drivers/Makefile.am: introduce libdummy_mockdrv.la (and DRIVERS_MAIN_WITHOUT_MAIN)
  • tests/generic_gpio_utest.c, tests/Makefile.am: EXTRA_DIST and use for out-of-tree builds the generic_gpio_test.txt resource file
  • tests/Makefile.am: refer to "tests/" as include-dir for gpiotest
  • tests/generic_gpio_utest.c: add a declaration of ignore() to override the original main() from included main.c
  • drivers/dstate.c: sock_fail(): rename "struct passwd *user" to avoid clash with global varname in main.c (due to tests/generic_gpio_utest.c construction)
  • drivers/generic_gpio_common.h, tests/generic_gpio_liblocal.c, tests/generic_gpio_utest.c: Define NUT_GPIO_SUBTYPEBUF and NUT_GPIO_CHIPNAMEBUF for consistency, avoid local/global varname clashes for chipName
  • drivers/generic_gpio_libgpiod.c: rename "num_lines" to avoid global varname clash (in tests)
  • tests/Makefile.am, tests/generic_gpio_liblocal.c, tests/generic_gpio_utest.c, tests/generic_gpio_utest.h: Introduce tests/generic_gpio_utest.h
  • tests/Makefile.am: drivers/Makefile.am: relocate "endif" lines so sources of tests are always redistributed
  • drivers/generic_gpio_libgpiod.c: rename "(gpio)upsfd" method arguments to avoid shadowing global varnames
  • drivers/generic_gpio_common.c: rename "(gpio)upsfd" method arguments to avoid shadowing global varnames
  • drivers/generic_gpio_common.c, drivers/generic_gpio_common.h, drivers/generic_gpio_libgpiod.h: drivers/generic_gpio*.h: move "extern struct gpioups_t *gpioupsfd" to generic_gpio_common.h
  • tests/.gitignore: GitIgnore tests/gpiotest* artifacts

2.210. 2023-03-11 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: do not require --with-gpio=yes for builds --with-all even on Linux: only the newer distros support the tech
  • NEWS, UPGRADING, docs/configure.txt: clarify that libgpiod is for Linux released after \~2018
  • docs/config-prereqs.txt: add installation of (lib)gpio(d)-dev(el) where feasible
  • docs/configure.txt: update prereq note for GPIO drivers
  • configure.ac, m4/nut_check_libgpiod.m4: fix actual --with-gpio handling
  • drivers/Makefile.am: add generic_gpio*.h to dist_noinst_HEADERS
  • configure.ac: relocate all "NUT_ARG_WITH(build and install GPIO driver)" to other drivers, so they are nearby in configure --help
  • m4/nut_check_pkgconfig.m4: fix AS_HELP_STRING (program name; not optional)
  • configure.ac: relocate all "NUT_ARG_WITH(build and install … driver)" together, so they are nearby in configure --help

2.211. 2023-03-13 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/libusb0.c, drivers/libusb1.c: drivers/libusb{0,1}.c: suggest Zadig tool to handle UPS with WinUSB (for WIN32 builds)

2.212. 2023-03-11 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, UPGRADING, docs/configure.txt, docs/packager-guide.txt: mention new category of GPIO drivers
  • configure.ac: currently --with-gpio defaults are platform-dependent

2.213. 2023-03-07 modrisb <modrisb@apollo.lv>

  • drivers/generic_gpio_libgpiod.c: fixed debug print in common
  • tests/Makefile.am, tests/generic_gpio_liblocal.c, tests/generic_gpio_test.txt, tests/generic_gpio_utest.c: added tests for gpio
  • drivers/generic_gpio_libgpiod.c: libgpiod formatting
  • drivers/generic_gpio_libgpiod.c, m4/nut_check_libgpiod.m4: adding 2 missed commits

2.214. 2023-03-07 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: add rudimentary support for "./ci_build.sh spellcheck-interactive"
  • docs/developers.txt, docs/nut.dict: docs/developers.txt: add a chapter on IDEs

2.215. 2023-03-06 modrisb <modrisb@apollo.lv>

  • drivers/generic_gpio_common.c: 2n round of refactoring after test

2.216. 2023-03-06 Jim Klimov <jimklimov@gmail.com>

  • tools/nut-scanner/scan_xml_http.c: Update scan_xml_http.c

2.217. 2023-03-06 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/scan_ipmi.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_usb.c, tools/nut-scanner/scan_xml_http.c: nut-scanner: reformat "Cannot load … library" reports, fix varname for libneon

2.218. 2023-03-05 Jim Klimov <jimklimov@gmail.com>

  • drivers/libusb1.c: Update libusb1.c Change to conventional error-message format

2.219. 2023-03-05 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: become_user(): "pw" is not NUT_UNUSED_VARIABLE() anymore
  • drivers/libusb1.c: report text of libusb_error when libusb_kernel_driver_active() fails

2.220. 2023-03-05 modrisb <modrisb@apollo.lv>

  • drivers/generic_gpio_common.c: fixes after extensive rules& states calc tests

2.221. 2023-03-05 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: try to ensure a TMPDIR

2.222. 2023-03-04 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: become_user(): fix behavior with NULL arg
  • tools/nut-scanner/nutscan-init.c: pepper with upsdebugx(1,…) to track overview progress of library loading (or not)
  • tools/nut-scanner/nutscan-init.c: first search for contemporary libupsclient DLL on Windows
  • tools/nut-scanner/nutscan-init.c: fix searching for libneon and libnetsnmp on Windows
  • common/common.c: fix checking for DLLs in "../lib" relative to EXE location
  • common/common.c: be sure to check for DLLs in EXE location (even if it is not "." workdir)
  • drivers/main.c: use common nut_report_config_flags() to debug-log details of the driver build
  • common/common.c: reword stderr printout as upsdebugx(1,…) pattern
  • common/common.c: externalize (and rename) struct timeval upslog_start so other methods can use the same accounting

2.223. 2023-03-02 modrisb <modrisb@apollo.lv>

  • drivers/generic_gpio_common.c, drivers/generic_gpio_libgpiod.c: removed test code and finalized styling

2.224. 2023-03-01 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/scheduling.txt: align example timeouts in different paragraphs

2.225. 2023-03-01 modrisb <modrisb@apollo.lv>

  • drivers/generic_gpio_libgpiod.c: removed define for debug

2.226. 2023-03-01 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: extend search for RUN_AS_USER in upsmon.conf [#1859]
  • configure.ac: reshuffle for --enable-inplace-runtime=reenter support; detect sysconfdir/user/group in one place where we care for "inplace" mode [#1859]
  • configure.ac: fix re-entry of the script when handling --enable-inplace-runtime [#1859]
  • configure.ac: comment that in some systems, the upsd in PATH is a shell wrapper [#1859] e.g. in Debian packaging where it is tied into "MODE" of nut.conf

2.227. 2023-02-28 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/developers.txt: update coding style guide about braces after if/while/for/… even for a single line
  • clients/upssched.c: parse_at(): add upsdebugx() tracing [#1858]
  • clients/upsc.c, clients/upscmd.c, clients/upslog.c, clients/upsmon.c, clients/upsrw.c, server/upsd.c, tools/nut-scanner/nut-scanner.c: Fix help()/usage() in many programs to suggest "-h" and/or "-V" options
  • clients/upssched.c: enable command-line argument handling [#1863] Closes: #1863
  • clients/upssched.c: Revert "clients/upssched.c: main(): find use for argc" This reverts commit dca2315fa8fb9a80528726cbc235310f19aa948f. Not needed anymore, and actually added a bug (prog not remembered).
  • m4/ax_realpath.m4: comment about recursion involved [#1859]
  • configure.ac: disable UNITTEST_AX_REALPATH and the exit afterwards [#1859]
  • m4/ax_realpath.m4: AX_REALPATH(): quote reported pathnames consistently [#1859]
  • m4/ax_realpath.m4: AX_REALPATH(): report if resolved pathname differs from input value [#1859]
  • m4/ax_realpath.m4: AX_REALPATH(): try AX_REALPATH_SHELL_RECURSIVE even if file is not found initially; fix how we decide it is not found [#1859]
  • m4/ax_realpath.m4: AX_REALPATH_SHELL_RECURSIVE() AX_REALPATH_SHELL_ONELEVEL(): drop support for LVL (shell vars misbehave here so not interesting) [#1859]
  • m4/ax_realpath.m4: split AX_REALPATH_SHELL_RECURSIVE() into a loop and its called method [#1859]
  • m4/ax_realpath.m4: UNITTEST_AX_REALPATH(): relocate shell logic into AX_REALPATH_SHELL_RECURSIVE() [#1859]
  • m4/ax_realpath.m4: UNITTEST_AX_REALPATH(): reword a test description [#1859]
  • m4/ax_realpath.m4: UNITTEST_AX_REALPATH(): avoid using /tmp directly if possible [#1859]
  • m4/ax_realpath.m4: format messages in UNITTEST_AX_REALPATH() and UNITTEST_AX_REALPATH_EXPECT() in a friendlier fashion [#1859]
  • m4/ax_realpath.m4: refactor UNITTEST_AX_REALPATH() with UNITTEST_AX_REALPATH_EXPECT() helper [#1859]
  • configure.ac: TEMPORARY: add call to UNITTEST_AX_REALPATH and exit after it [#1859]
  • m4/ax_realpath.m4: introduce UNITTEST_AX_REALPATH [#1859]

2.228. 2023-02-27 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/ax_realpath.m4: add some error-checking for unresolved paths [#1859]
  • configure.ac, m4/ax_realpath.m4: configure.ac: refactor realpath_m4() into m4/ax_realpath.m4 [#1859]
  • configure.ac: introduce realpath_m4() [#1859]

2.229. 2023-02-27 modrisb <modrisb@apollo.lv>

  • m4/nut_check_libgpiod.m4: naming change for PKG_CONFIG - dev version
  • configure.ac, drivers/Makefile.am, m4/nut_check_libgpiod.m4: added m4 file for driver

2.230. 2023-02-27 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update docs/nut.dict

2.231. 2023-02-26 Jim Klimov <jimklimov@gmail.com>

  • INSTALL.nut: update instructions for parallel make all \+ check

2.232. 2023-02-26 modrisb <modrisb@apollo.lv>

  • docs/man/Makefile.am, docs/man/{gpio.txt ⇒ generic_gpio.txt}, drivers/Makefile.am, drivers/generic_gpio_common.c, drivers/generic_gpio_common.h, drivers/generic_gpio_libgpiod.c, drivers/generic_gpio_libgpiod.h: PR review #1 (no m4)

2.233. 2023-02-25 modrisb <modrisb@apollo.lv>

  • docs/man/gpio.txt, drivers/Makefile.am, drivers/{gpio.c ⇒ generic_gpio_common.c}, drivers/{gpio.h ⇒ generic_gpio_common.h}, drivers/generic_gpio_libgpiod.c, drivers/generic_gpio_libgpiod.h: renamed source code files

2.234. 2023-02-23 modrisb <modrisb@apollo.lv>

  • drivers/gpio.c, drivers/gpio.h: refactored to better split generic code from gpio library specific code
  • docs/man/gpio.txt, docs/nut.dict: man page spellcheck fixes

2.235. 2023-02-22 modrisb <modrisb@apollo.lv>

  • drivers/gpio.c: removed local test define
  • docs/man/Makefile.am, docs/man/gpio.txt, drivers/gpio.c: PR preparation fixes

2.236. 2023-02-22 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: nut_report_config_flags(): avoid warnings about unreachable code
  • common/common.c: nut_report_config_flags(): make it clear (and safe for in-place mode) when no CONFIG_FLAGS were customized for a NUT build

2.237. 2023-02-22 modrisb <modrisb@apollo.lv>

  • drivers/gpio.h: .h updates

2.238. 2023-02-22 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/nut_report_feature.m4: fix NUT_REPORT_TARGET() for multi-token values of CC_VERSION etc.

2.239. 2023-02-22 modrisb <modrisb@apollo.lv>

  • docs/man/gpio.txt, drivers/gpio.c: preparing for PR

2.240. 2023-02-22 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: fixup! configure.ac: report CC_VERSION (also into config.h)
  • m4/nut_report_feature.m4: fix printf() reporting of potentially "funny" strings
  • common/common.c: nut_report_config_flags(): report CC_VERSION if available
  • configure.ac: report CC_VERSION (also into config.h)
  • configure.ac, m4/nut_compiler_family.m4: minimize executions of "CC --version" etc, make it LANG-agnostic, cache as CC_VERSION etc.
  • common/common.c, configure.ac: configure.ac: actually, we should not forcefully export NUT_SOURCE_GITREV into config.h
  • common/common.c, configure.ac: configure.ac, common/common.c nut_report_config_flags(): track and report NUT_SOURCE_GITREV if available (even where nut_version.h imposes strict version)

2.241. 2023-02-22 modrisb <modrisb@apollo.lv>

  • docs/man/gpio.txt: added draft man page

2.242. 2023-02-20 modrisb <modrisb@apollo.lv>

  • drivers/gpio.h: initial for GPIO(2)
  • configure.ac, drivers/Makefile.am, drivers/gpio.c: initial for gpio driver support

2.243. 2023-02-12 Jim Klimov <jimklimov@gmail.com>

  • drivers/tripplite-hid.c: Update tripplite-hid.c Update subdriver version along with content bump

2.244. 2023-02-12 Jon Gilmore <jon@gilmore.cloud>

  • drivers/tripplite-hid.c, scripts/upower/95-upower-hid.hwdb: add support for minuteman device a0a0

2.245. 2023-02-13 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/main.c: options -a id and -s id are mutually exclusive and single-use only
  • configure.ac: --enable-inplace-runtime should not disregard sysconfdir which the build user may not read

2.246. 2023-02-11 Yifeng Li <tomli@tomli.me>

  • drivers/huawei-ups2000.c: huawei-ups2000: fix broken timeout recovery behavior in Issue #1846. Occasionally, the UPS takes longer than 1 second to respond and finish transmitting a message. This causes a timeout in modbus_read_registers(), and the driver is supposed to retry the request and recover from the failure. Unfortunately, when the driver retries, instead of getting the result of the current request, the leftover bytes from the previous read is received from the serial buffer, creating invalid messages. It causes all following reads to also fail, often with an "Invalid CRC" error, and the driver can never recovery from the failure. This commit fixes the bug by flushing the buffer using function modbus_flush() before invoking modbus_read_registers(). The libmodbus timeout value is also bumped to 2 seconds to avoid unnecessary timeouts and subsequent retries. Finally, the version number is also bumped to reflect the existence of this fix.

2.247. 2023-02-07 Jim Klimov <jimklimov+nut@gmail.com>

  • INSTALL.nut: fix link to Config Prereqs in generated HTML version

2.248. 2023-02-05 Jim Klimov <jimklimov+nut@gmail.com>

  • INSTALL.nut, docs/nut.dict: INSTALL.nut: update with "in-place" rebuilds chapter [#1826]

2.249. 2023-02-03 Jim Klimov <jimklimov+nut@gmail.com>

  • .github/FUNDING.yml: Introduce .github/FUNDING.yml metadata

2.250. 2023-02-02 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: add OSC and opencollective

2.251. 2023-02-01 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: rearrange progress message for "whether to build binaries with tighter systemd integration support"
  • configure.ac: quiesce python checks for modules

2.252. 2023-01-26 Jim Klimov <jimklimov+nut@gmail.com>

  • appveyor.yml: avoid redirect to /dev/null on Windows

2.253. 2023-01-24 Jim Klimov <jimklimov@gmail.com>

  • NEWS: bestfortress shutdown timeout fixed [#1820]

2.254. 2023-01-22 Jim Klimov <jimklimov@gmail.com>

  • drivers/bestfortress.c: Update bestfortress.c Fix prints of (s)size_t variables

2.255. 2023-01-20 Greg Troxel <gdt@lexort.com>

  • drivers/bestfortress.c: bestfortress: Switch logging to func Add a few comments about needed future work, but no code changes. Adjust to (surprising to me) non-POSIX file descriptor types.

2.256. 2023-01-15 Greg Troxel <gdt@lexort.com>

  • drivers/bestfortress.c: driver/bestfortress: Fix serious shutdown bug and improve shutdown code - Move setting "ups.shutdown.delay" earlier so that it is available for upsdrvctl shutdown. This results in using that delay, instead of 1s. - Change shutdown delay to 20s from 10s, because that seems more common, and 10s feels too tight. - Add logging about shutdown. When run with -k, ups.delay.shutdown has apparently not been initialized. Fall back to 20, rather than 1, and log better.
  • drivers/bestfortress.c: drivers/bestfortress: Rationalize and improve debugging - Define a debug logging plan - Add debug log calls - Adjust several existing calls This commit does not intend to modify behavior other than logging.

2.257. 2023-01-26 Jim Klimov <jimklimov+nut@gmail.com>

  • appveyor.yml: bolt ccache location to avoid wasting space on Appveyor for older vs newer layouts
  • appveyor.yml: avoid amperesand in YAML
  • ci_build.sh: in the end, query ccache compression stats if supported
  • appveyor.yml: stash another possible ccache location
  • appveyor.yml: in the end, query ccache compression stats if supported
  • appveyor.yml: set ccache config options
  • tests/NIT/nit.sh: have a sense of time in the log_*() messages When tests fail on CI farm, this should help see timeouts due to farm under too much stress vs. "real" reasonable problems.
  • ci_build.sh: separate [build] and [check] failures (and successes) in BUILD_TYPE=default-all-errors reports

2.258. 2023-01-23 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: suggest CI_REQUIRE_GOOD_GITIGNORE="false" in error message
  • ci_build.sh: fix condition and shorten the printed lines for install-sh warning
  • configure.ac: fix condition and shorten the printed lines for install-sh warning
  • ci_build.sh: try workarounds for old and broken install-sh [#1831]
  • configure.ac: suggest workarounds for old and broken install-sh, visibly just before the end [#1831]

2.259. 2023-01-22 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/Makefile.am: give delivery of GENERATED_USB_OS_FILES more chances to succeed
  • docs/Makefile.am, docs/man/Makefile.am, scripts/Solaris/Makefile.am: */Makefile.am: replace "mkdir -p" by MKDIR_P autotools macro
  • tools/Makefile.am: do not fail (just warn) if any of GENERATED_USB_OS_FILES are missing or empty [#1831]
  • autogen.sh: ensure that nut-usbinfo.pl runs if any of its products are missing, not just a few (and comment how to keep the list updated) [#1831]
  • tools/Makefile.am: streamline "rebuilds" of GENERATED_USB_OS_FILES if needed [#1831] An alternative solution to #1832
  • tools/Makefile.am: comment GENERATED_SNMP_FILES\+GENERATED_USB_FILES vs. GENERATED_USB_OS_FILES lifecycles [#1831]
  • scripts/augeas/Makefile.am: fix EXTRA_DIST for nutupsconf.aug.in [#1831]
  • scripts/Makefile.am, tools/Makefile.am: scripts/Makefile.am: fix EXTRA_DIST for upower/95-upower-hid.hwdb [#1831]
  • scripts/devd/Makefile.am: fix EXTRA_DIST for nut-usb.conf.in [#1831]
  • scripts/udev/Makefile.am: fix EXTRA_DIST for nut-usbups.rules.in [#1831]
  • scripts/hotplug/Makefile.am: fix EXTRA_DIST for libhid.usermap [#1831]
  • ci_build.sh: help find end of NUT_x_VARIANT=… failed build (before cleanup noise) in CI logs
  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: suggest MKDIRPROG hack for installing on NetBSD [#1834]
  • configure.ac, m4/nut_report_feature.m4: move KEEP_NUT_REPORT definition to before AC_OUTPUT [#1826]
  • UPGRADING: document --enable-keep_nut_report_feature and that the file can be installed [#1826, #1708]
  • docs/configure.txt: debug-report of CONFIG_FLAGS is now shorter
  • docs/configure.txt: document --enable-keep_nut_report_feature and that the file can be installed [#1826]
  • configure.ac: NUT_REPORT() the PACKAGE_VERSION (and GITREV if any) valid at the time of configure run [#1826]
  • configure.ac: report GITREV (if any) valid at the time of configure run
  • m4/nut_report_feature.m4, Makefile.am: install config.nut_report_feature.log if kept [#1826]
  • m4/nut_report_feature.m4: standardize indentation, more M4 AS_IFs [#1826]
  • drivers/richcomm_usb.c, drivers/nutdrv_atcl_usb.c, drivers/bcmxcp_usb.c: sync naming changes with drivers/libusb1.c [#1819, #1763, #1764]
  • drivers/libusb1.c: bump version for libusb_get_device_address() vs. libusb_get_port_number() [#1819]
  • tools/nut-scanner/scan_usb.c: sync naming and method changes with drivers/libusb1.c [#1819]
  • drivers/libusb1.c: align device_addr/devnum printing (back) with their int types [#1819]

2.260. 2023-01-21 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: fix systemd-tmpfiles detection from AC_CHECK_PROGS to AC_PATH_PROG for full pathname [#1822]
  • configure.ac: set --prefix, --sbindir or --bindir into CONFIG_FLAGS according to older binaries found (if not provided otherwise) [#1826, #1709]
  • configure.ac: do not pollute "SBINDIR" variable with tests for nut_enable_inplace_runtime, try PATH beside PREFIX, and generalize to try upsc if upsd is not found [#1826]
  • configure.ac: typo fix for CONFIG_FLAGS [#1826]
  • configure.ac: report determining CONFIG_FLAGS [#1709, #1826]
  • configure.ac: track NUT_VERSION_DEPLOYED which we inherit from with --enable-inplace-runtime [#1826]
  • configure.ac: update comments for systemd/nut-common-tmpfiles.conf.in
  • common/common.c: refactor nut_report_config_flags() to allow for longer option lists for purposes of "configure --enable-inplace-runtime" [#1826]
  • clients/Makefile.am, tools/nut-scanner/Makefile.am: Refactor nut_report_config_flags() from many programs into common.c [#1826, #1709] - bump libs version-info
  • clients/upsc.c, clients/upscmd.c, clients/upslog.c, clients/upsmon.c, clients/upsrw.c, common/common.c, drivers/main.c, include/common.h, server/upsd.c, tools/nut-scanner/nut-scanner.c: Refactor nut_report_config_flags() from many programs into common.c [#1826, #1709]
  • configure.ac: do not track in CONFIG_FLAGS that we --disable-runtime-support, and only track once that we --enable-runtime-support [#1826]
  • lib/libupsclient-config.in: comment that NUT_VERSION_MACRO in binaries may differ from PACKAGE_VERSION in the script [#1826]

2.261. 2023-01-20 Neil Romig <neilromig@gmail.com>

  • scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: Update nut-driver-enumerator.sh.in Remove backslash from grep expression at line 836 to avoid grep warning of stray backslash.

2.262. 2023-01-19 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: prepare nut-common-tmpfiles.conf.in subdir for @STATEPATH@/upssched, and update comments

2.263. 2023-01-18 Jim Klimov <jimklimov+nut@gmail.com>

  • autogen.sh, configure.ac, docs/config-prereqs.txt: Bump commented suggestions to automake-1.13 or newer Follow-up to #1821
  • scripts/python/module/PyNUT.py.in: update for dual Py2/Py3 citizenship
  • scripts/python/app/NUT-Monitor-py2gtk2.in, scripts/python/app/NUT-Monitor-py3qt5.in, scripts/python/module/PyNUT.py.in, scripts/python/module/README, scripts/python/module/test_nutclient.py.in: scripts/python/*: import definition and use-case of CheckUPSAvailable() from Fedora packaging patches Py2: https://src.fedoraproject.org/rpms/nut/blob/3c9fea3a359db592e3c7d25ff5c8050325b21dfe/f/nut-2.6.5-unreachable.patch Py3: https://src.fedoraproject.org/rpms/nut/blob/48685366900985696be8371d8deea6494ae36c43/f/nut-2.6.5-unreachable.patch by Michal Hlavinka
  • configure.ac, scripts/systemd/nut-driver-enumerator.service.in, scripts/systemd/nut-driver@.service.in, scripts/systemd/nut-monitor.service.in, scripts/systemd/nut-server.service.in: scripts/systemd/*.service.in: parameterize systemd-tmpfiles program location
  • scripts/systemd/nut-driver-enumerator.service.in, scripts/systemd/nut-driver@.service.in, scripts/systemd/nut-monitor.service.in, scripts/systemd/nut-server.service.in: scripts/systemd/*.service.in: ExecStartPre systemd-tmpfiles to facilitate install/upgrade with less fuss Inspired by Fedora Rawhide patches at https://src.fedoraproject.org/rpms/nut/blob/0a29e563e374f274f801270bce8eaab9159c7d16/f/nut-2.6.3-tmpfiles.patch
  • ci_build.sh: shuffle quotes in NUT_*_VARIANT=… reports for easier search in logs
  • ci_build.sh: make maintainer-clean less noisy in CI if V=0 (automake clean.m4 echoes unconditionally)
  • Makefile.am, clients/Makefile.am, common/Makefile.am, docs/Makefile.am, docs/man/Makefile.am, drivers/Makefile.am, include/Makefile.am, scripts/python/Makefile.am, server/Makefile.am, tests/Makefile.am, tests/NIT/Makefile.am, tools/nut-scanner/Makefile.am: */Makefile.am: use AM_V_at for optionally-quieter cleanup
  • ci_build.sh: for developer builds, disable silent rules to see all problems better
  • ci_build.sh: make cleanup less noisy
  • ci_build.sh: make verbose builds actually verbose
  • configure.ac: default to automake-"silent" rules for builds

2.264. 2023-01-17 Edgar Fuß <ef@math.uni-bonn.de>

  • drivers/libusb1.c: Use libusb_get_device_address(), not libusb_get_port_number() In USB device enumeration, when setting curDevice→Device, use libusb_get_device_address(), not libusb_get_port_number(). While there, rename bus to bus_num to avoid ambiguity. When printf()ing devnum (a size_t), use %zd, which is POSIX, not PRIuSIZE, which is not.

2.265. 2023-01-16 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/app/nut-monitor.appdata.xml: nut-monitor.appdata.xml: add launchable=nut-monitor.desktop Inspired by https://salsa.debian.org/debian/nut/-/blob/a009ca10a327d7db383f5d7726091050ceb4d60f/debian/patches/appdata-launchable.patch from @bigon but adjusted for general version-agnostic dispatcher (py2 or py3, whatever is installed for this end-user deployment)
  • tools/nut-scanner/scan_nut.c: simplify check for "port" similar to scan_avahi.c [#1815]
  • tools/nut-scanner/scan_avahi.c: comments similar to scan_nut.c
  • tests/NIT/nit.sh: verify that port number is suffixed by nut-scanner when needed [#1815]
  • tools/nut-scanner/scan_nut.c: comment about "nutclient" driver value
  • tools/nut-scanner/scan_nut.c: suffix non-standard port numbers to "port" in config [#1815]
  • tools/nut-scanner/scan_nut.c: use uint16_t port to align with upsclient.c [#1815]
  • tests/NIT/nit.sh: fix LD_LIBRARY_PATH for testcase_sandbox_nutscanner_list()
  • tests/NIT/nit.sh: simplify bail-out pattern for nut-scanner to match on more OSes
  • configure.ac: CONFIG_FLAGS: older ksh dislikes doublequotes inside backticks, all doublequoted outside ⇒ use $(…)

2.266. 2023-01-15 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: fix support for CONFIG_FLAGS with spaces
  • configure.ac: log the CLI options for restarted run when nut_enable_inplace_runtime
  • tests/NIT/nit.sh: testcase_sandbox_nutscanner_list(): excuse lack of libupsclient.so/dll in path
  • configure.ac, docs/configure.txt: configure.ac: consult CONFIG_FLAGS_DEPLOYED and CONFIG_FLAGS when --enable-inplace-runtime mode is used
  • drivers/main.c: report CONFIG_FLAGS always when debugging [#1789]
  • clients/upsc.c, clients/upscmd.c, clients/upslog.c, clients/upsmon.c, clients/upsrw.c, docs/configure.txt, drivers/main.c, server/upsd.c, tools/nut-scanner/nut-scanner.c: NUT programs should report CONFIG_FLAGS for help/version requests with debug enabled Related-to: #1789
  • configure.ac: lib/libupsclient-config is a SCRIPTFILE
  • lib/libupsclient-config.in: report CONFIG_FLAGS
  • lib/libupsclient-config.in: double-quote shell expansions

2.267. 2022-11-16 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac, m4/nut_report_feature.m4: m4/nut_report_feature.m4: report configure invocation args

2.268. 2023-01-15 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/scan_avahi.c: when bailing out of Avahi scan, do so comprehensibly for readers of error messages
  • tests/NIT/nit.sh: add rudimentary nut-scanner tests
  • tools/nut-scanner/nutscan-display.c: weave nutdevX numbering for different scan types when generating ups.conf with sanity-check warnings with a global var [#1810]

2.269. 2023-01-14 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/nutscan-display.c: nutscan_display_sanity_check_serial(): fix failsafe condition [#1810]
  • tools/nut-scanner/nutscan-display.c: nutscan_display_sanity_check_serial(): if not null, one device entry exists [#1810]
  • tools/nut-scanner/nutscan-display.c: nutscan_display_sanity_check_serial(): trace progress through logic [#1810]
  • tools/nut-scanner/nutscan-display.c: trace entry into the display methods [#1810]
  • NEWS, UPGRADING, docs/man/Makefile.am, docs/man/nut-scanner.txt, docs/man/nutscan.txt, docs/man/nutscan_add_option_to_device.txt, docs/man/nutscan_cidr_to_ip.txt, docs/man/nutscan_display_parsable.txt, docs/man/nutscan_display_sanity_check.txt, docs/man/nutscan_display_sanity_check_serial.txt, docs/man/nutscan_display_ups_conf.txt, …/nutscan_display_ups_conf_with_sanity_check.txt, docs/man/nutscan_free_device.txt, docs/man/nutscan_get_serial_ports_list.txt, docs/man/nutscan_init.txt, docs/man/nutscan_new_device.txt, docs/man/nutscan_scan_avahi.txt, docs/man/nutscan_scan_eaton_serial.txt, docs/man/nutscan_scan_ipmi.txt, docs/man/nutscan_scan_nut.txt, docs/man/nutscan_scan_snmp.txt, docs/man/nutscan_scan_usb.txt, docs/man/nutscan_scan_xml_http_range.txt, tools/nut-scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-display.c: nut-scanner: report bogus and duplicate serial numbers [#1810]
  • NEWS, docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: document notes about a build for Solaris 8 [#1736, #1738]
  • NEWS: mention instructions for CentOS 6 native NUT 2.8.x builds [#1804]

2.270. 2023-01-12 Jim Klimov <jimklimov+nut@gmail.com>

  • .editorconfig: Revert ".editorconfig: try to neuter additional IntelliJ IDEA formatter [#894]" This reverts commit f9b195a4650766ef81cc4daa35f2d6cee932c87a.
  • .editorconfig, AUTHORS, INSTALL.nut, NEWS, README, TODO, UPGRADING, docs/.editorconfig, docs/acknowledgements.txt, docs/cables/apc.txt, docs/cables/ge-imv-victron.txt, docs/cables/mgeups.txt, docs/cables/powerware.txt, docs/cables/repotec.txt, docs/config-prereqs.txt, docs/maintainer-guide.txt, docs/man/.editorconfig, docs/man/apcsmart.txt, docs/man/apcupsd-ups.txt, docs/man/asem.txt, docs/man/bcmxcp.txt, docs/man/bcmxcp_usb.txt, docs/man/belkinunv.txt, docs/man/bestfortress.txt, docs/man/blazer-common.txt, docs/man/blazer_usb.txt, docs/man/generic_modbus.txt, docs/man/liebert-esp2.txt, docs/man/macosx-ups.txt, docs/man/nut-ipmipsu.txt, docs/man/nut-scanner.txt, docs/man/nut_usb_addvars.txt, docs/man/nutdrv_qx.txt, docs/man/nutdrv_siemens_sitop.txt, docs/man/powerman-pdu.txt, docs/man/socomec_jbus.txt, docs/man/tripplite_usb.txt, docs/man/ups.conf.txt, docs/man/upsclient.txt, docs/man/upslog.txt, docs/nut.dict, docs/snmp-subdrivers.txt, docs/solaris-usb.txt, scripts/RedHat/README, scripts/Windows/DriverInstaller/README.txt, scripts/Windows/README, scripts/augeas/README, scripts/devd/README, scripts/hotplug/README, scripts/python/README, scripts/systemd/README, scripts/udev/README, scripts/ufw/README, tests/NIT/README, tools/nut-scanner/README: Apply .editorconfig driven cleanup to docs [#894]
  • docs/man/nut_usb_addvars.txt: update comment for allow_duplicates [#1756]
  • docs/man/nut_usb_addvars.txt: update comment for nut-scanner [#1790]
  • .editorconfig: exempt itself from trailing whitespace (possibly needed for block-comment definitions) [#894]
  • .editorconfig: try to neuter additional IntelliJ IDEA formatter [#894]
  • docs/developers.txt, docs/nut.dict: docs/developers.txt: mention editorconfig [#894]
  • .editorconfig: Elaborate on .editorconfig some more [#894]
  • .editorconfig: Elaborate on .editorconfig [#894]
  • .editorconfig: Introduce a basic .editorconfig file [#894]
  • configure.ac: drop double-quotes from NUT_REPORT*() args [#1708]
  • NEWS, docs/man/upsdrvctl.txt, drivers/upsdrvctl.c: drivers/upsdrvctl.c: add "-F"/"-B" args for drivers to be fore/back-grounded explicitly [#1759]
  • drivers/upsdrvctl.c: whitespace fix in usage()
  • docs/config-prereqs.txt: clarify lack of libusb-1.0 in CentOS 6
  • autogen.sh: ensure quieter perl on system with invalid locale

2.271. 2023-01-11 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac, m4/ax_check_compile_flag.m4: relax minimum autoconf to 2.63 (checked on CentOS6)
  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: update for CentOS6
  • scripts/systemd/nut-driver@.service.in, scripts/systemd/nut-monitor.service.in, scripts/systemd/nut-server.service.in: network-online.target dependency [#749]
  • UPGRADING, docs/nut.dict: UPGRADING: clarify improvements for "duplicate" USB device handling in NUT 2.8.1 [#1763, #1766, #1756, #1790]
  • drivers/libusb0.c, drivers/libusb1.c: drivers/libusb{0,1}.c: clarify expected/got byte amounts (fix typo) [#1797]
  • configure.ac: evaluate pkgconfigdir into a real pathname Have an needs further evaluation
  • configure.ac: report enabling SMF support (consistent vs. reporting systemd already) [#1708]
  • configure.ac: report installation paths for optional third-party integrations [#1708, #1668]
  • configure.ac: simplify reporting of Python site-packages location [#1787, #1708]
  • configure.ac: rearrange Python interpreter and path reporting [#1787, #1708]
  • m4/nut_report_feature.m4: introduce NUT_REPORT_PATH_INTEGRATIONS and NUT_REPORT_SETTING_PATH_INTEGRATIONS chapter [#1708]
  • m4/nut_check_python.m4: fix copy-paste typo in autoconf m4 markup [#1787]
  • m4/nut_check_python.m4: use stricter conditions to check if PYTHONx values are invalid [#1787]

2.272. 2023-01-10 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: report Python choices (if installing anything of it) [#1787]
  • m4/nut_check_python.m4: if resolved versioned interpreter filename is not a strict expected pattern, fall back to search [#1787]
  • m4/nut_check_python.m4: warn if using "PYTHON" via "/usr/bin/env" and not exact path [#1787]
  • m4/nut_check_python.m4: if major version is known and expected, try to resolve the versioned interpreter starting from any initial name (check sanity afterwards, not before) [#1787]
  • m4/nut_check_python.m4: add python 3.10 to searching list [#1787]
  • m4/nut_check_python.m4: use pythonX-config if available to find the interpreter path [#1787]
  • m4/nut_check_python.m4: add comments (and warning) about interpreter names without an exact version (2.* or 3.*) [#1787]
  • docs/configure.txt: warn about delivering for both Pythons if two are present [#1787]

2.273. 2023-01-09 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/configure.txt: warn about naming "relaxed" python interpreter versions [#1787]
  • m4/nut_check_python.m4: for args like --with-python=python3 try to find build environment dictated pathname first, fall back to "env" second [#1787] Note: this does not apply to --with-python="prog args" as a bit too complex for now
  • m4/nut_check_python.m4, docs/configure.txt: detect not-specified PYTHON2/PYTHON3 from PYTHON first (if version is suitable) [#1787]

2.274. 2023-01-11 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/apc-hid.c: comment 0xff86007c as "APCDelayBeforeReboot" vs "APCForceShutdown" uncertainty [#1796]
  • data/driver.list.in: update for APC CS500 (from 2004) [#1776]

2.275. 2023-01-10 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: copy-paste typo fix for CANBUILD_NIT_TESTS handling
  • NEWS, drivers/libusb0.c, drivers/libusb1.c, tools/nut-scanner/scan_usb.c: nut-scanner: report same USB matching values as seeked by libusb{0,1}.c [#1790]
  • NEWS, drivers/powercom.c: powercom driver should try harder to refresh data from device [#356]

2.276. 2023-01-09 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/nut_check_python.m4: if --with-python2/3 are not specified, use exact path from --with-python (if available) to match its site-packages [#1787]
  • docs/configure.txt: clarify that autogen.sh and configure may default to different PYTHON versions [#1787]
  • m4/nut_check_python.m4: actually fail if a Python version was required but not found [#1787]
  • configure.ac, m4/nut_check_python.m4: refactor with NUT_CHECK_PYTHON_DEFAULT [#1518]
  • docs/configure.txt: current configure script does not use "PYTHON{,2,3}" envvars [#1787]
  • docs/configure.txt: document python, pynut and nut_monitor related options and autogen.sh fuss about it [#1787]
  • docs/configure.txt: whitespace fixes
  • docs/configure.txt: hint for builds of git checkouts [#1750]

2.277. 2023-01-10 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/libusb0.c, drivers/libusb1.c: drivers/libusb{0,1}.c: bump version for allow_duplicates [#1756]

2.278. 2023-01-08 Greg Troxel <gdt@lexort.com>

  • conf/upsd.conf.sample: upsd.conf.sample: Clarify LISTEN/firewall comments

2.279. 2023-01-07 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: fix if/ifdef for configure-detected methods [#1590, #1739]
  • NEWS, clients/upsclient.h, clients/upsmon.c, clients/upsmon.h, conf/upsmon.conf.sample.in, docs/man/upsmon.conf.txt, docs/man/upsmon.txt, docs/nut.dict: upsmon: Introduce POLLFAIL_LOG_THROTTLE_MAX [#506]
  • clients/upsmon.c: cosmetic fixes
  • NEWS, docs/FAQ.txt, docs/config-notes.txt, docs/man/upsd.txt: fixup! scripts/systemd/nut-server.service.in, scripts/systemd/nut-monitor.service.in: provide an Alias for convenience (upsd, upsmon)
  • docs/configure.txt: document --with-libsystemd related options [#1590]
  • common/common.c: optionally define DEBUG_SYSTEMD_WATCHDOG to ignore upsnotify_reported_watchdog_systemd hush-flag when troubleshooting [#1590]
  • common/common.c: set WATCHDOG_PID along with MAINPID and re-enable not-posting the pings if expected PID is not ours [#1590]
  • common/common.c, m4/nut_check_libsystemd.m4: use sd_notify_barrier() if available after reporting MAINPID to systemd [#1590]
  • configure.ac, docs/man/upsd.txt: configure.ac: run systemd/nut-server.service both with a PID file and without forking [#1781]
  • scripts/systemd/nut-server.service.in, scripts/systemd/nut-monitor.service.in: use Restart=on-failure so that clean intentional exit (e.g. by signal handling) does not revive it [#1781]

2.280. 2023-01-06 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: upsnotify(): opportunistically post sd_notify() even if "WATCHDOG_PID" mismatches [#1590]
  • common/common.c: upsnotify(): log checking "WATCHDOG_USEC" and "WATCHDOG_PID" (once) [#1590]
  • common/common.c: upsnotify(): log setting MAINPID [#1590]
  • common/common.c: upsnotify(): hush watchdog-related logging further [#1590]
  • configure.ac, scripts/systemd/nut-driver@.service.in, scripts/systemd/nut-monitor.service.in, scripts/systemd/nut-server.service.in: Suggest default systemd NotifyAccess settings for upsd, upsmon and drivers [#1590]
  • common/common.c: upsnotify(): revise "snprintf needed more than…" messages [#1590]
  • configure.ac: comment a TODO: consider calling "systemd-notify" if have no sd_notify() [#1590]
  • configure.ac, scripts/systemd/nut-driver@.service.in, scripts/systemd/nut-monitor.service.in, scripts/systemd/nut-server.service.in: Suggest default systemd watchdog settings for upsd, upsmon and drivers [#1590]
  • NEWS, UPGRADING, docs/nut.dict: NEWS, UPGRADING: added libsystemd notification support [#1590]
  • NEWS, UPGRADING: cosmetic fixes
  • configure.ac, scripts/systemd/nut-driver@.service.in, scripts/systemd/nut-monitor.service.in, scripts/systemd/nut-server.service.in: configure.ac, scripts/systemd/*.in: optionally support Type=notify for upsd, upsmon and drivers [#1590]
  • scripts/systemd/nut-server.service.in, scripts/systemd/nut-monitor.service.in: provide an Alias for convenience (upsd, upsmon)
  • drivers/main.c: make use of new upsnotify() [#1590]
  • server/upsd.c: make use of new upsnotify() [#1590]
  • clients/upslog.c: make use of new upsnotify() [#1590]
  • clients/upsmon.c: make use of new upsnotify() [#1590]
  • common/common.c: parsepid(): handle NULL input reasonably on all platforms [#1590]

2.281. 2023-01-05 Jim Klimov <jimklimov+nut@gmail.com>

  • common/Makefile.am, common/common.c, include/common.h: common/common.c: add upsnotify() method into libcommon.la (but not libcommonclient) [#1590]
  • configure.ac, drivers/Makefile.am: use LIBI2C_LIBS to avoid pulling -li2c everywhere
  • configure.ac, docs/config-prereqs.txt, m4/nut_check_libsystemd.m4: m4/nut_check_libsystemd.m4, configure.ac: On systemd aware OSes, optionally integrate with sd_notify() [#1590]

2.282. 2023-01-06 Greg Troxel <gdt@lexort.com>

  • docs/man/upsmon.txt: Explain POWERDOWNFLAG Document that it is removed at successful startup

2.283. 2023-01-05 Greg Troxel <gdt@lexort.com>

  • docs/man/upsdrvctl.txt: docs/man: Clarify upsdrvctl shutdown
  • docs/man/bestfcom.txt, docs/man/bestfortress.txt, docs/man/bestups.txt: docs/man: Clarify Best driver support for Fortress LI660

2.284. 2023-01-06 Yifeng Li <tomli@tomli.me>

  • drivers/huawei-ups2000.c: huawei-ups2000.c: log error code/string for Modbus failures Currently, failures in modbus_read_registers() or modbus_write_registers() do not show any error code or message in the log, making it difficult to debug. This commit logs the error code, errno, and modbus_strerror() if an error occurs. Furthermore, the log level of a fatal warning has been changed from LOG_WARNING to LOG_ERR (LOG_WARNING was previously used due to an oversight).

2.285. 2023-01-06 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/libusb1.c: handle non-zero libusb port numbers as valid [#1774]

2.286. 2023-01-05 Greg Troxel <gdt@lexort.com>

  • MAINTAINERS: add pkgsrc

2.287. 2023-01-05 Edgar Fuß <ef@math.uni-bonn.de>

  • drivers/libusb1.c: Set curDevice→Device during USB enumeration During USB enumeration, set curDevice→Device. Try to use libusb1’s port number obtained by libusb_get_port_number(), but that seems useless at least on NetBSD. So, use devnum (the enumeration loop variable), which at least makes two identically looking USB UPSen distinguishable again. Maybe we want to add a Port property set to what libusb_get_port_number() reports? Previously missed during refactoring to libusb1.
  • drivers/nutdrv_qx_masterguard.c: Add experimental prefix missed in 7ef2874e81 drivers/nutdrv_qx_masterguard.c: Add "experimental." prefix in masterguard_claim(). Needed because that prefix had been added (in 7ef2874e81952fac532014a8840a217cf1d636b6) to the variable names in the masterguard_qx2nut[] table.

2.288. 2023-01-05 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS: mention update of NUT COPYING file [#1758]
  • NEWS, docs/man/nut_usb_addvars.txt, drivers/libusb0.c, drivers/libusb1.c: Introduce an allow_duplicates flag for common USB matching options [#1756]
  • drivers/libusb0.c, drivers/libusb1.c, drivers/usb-common.c: drivers/libusb{0,1}.c, drivers/usb-common.c: update comments in device matcher code
  • drivers/usb-common.h: update amount of supported possibly unique fields to try for device matching
  • drivers/libusb0.c, drivers/libusb1.c, drivers/usb-common.c: drivers/libusb{0,1}.c, drivers/usb-common.c: update comments in device matcher code

2.289. 2023-01-04 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS: announce new "driver.state" feature [#1767]
  • docs/nut-names.txt, drivers/adelsystem_cbi.c, drivers/bcmxcp_usb.c, drivers/blazer_usb.c, drivers/generic_modbus.c, drivers/main.c, drivers/nutdrv_qx.c, drivers/powerman-pdu.c, drivers/richcomm_usb.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usbhid-ups.c: driver/*.c: report reconnection attempts as a "driver.state" [#1767]
  • drivers/main.c: report where driver.state changes from init.* to just before regular work [#1767]
  • docs/nut-names.txt, docs/nut.dict, drivers/main.c: drivers/main.c, docs/nut-names.txt: introduce "driver.state" tracking [#1767]
  • docs/nut-names.txt: update with final RFC 9271 reference
  • docs/nut-names.txt: update WITH_UNMAPPED_DATA_POINTS [#1699, #1742]
  • drivers/richcomm_usb.c: hide from help() the USB matching settings that are not currently handled by the driver [#1768]
  • docs/man/richcomm_usb.txt: hide from docs the USB matching settings that are not currently handled by the driver [#1768]
  • docs/man/nut_usb_addvars.txt: document usb_set_altinterface setting (from libusb{0,1}.c)
  • NEWS: man pages refactored for USB matching options description [#1766]
  • docs/man/usbhid-ups.txt: refactor to include nut_usb_addvars.txt
  • docs/man/nut_usb_addvars.txt: update with reasoning for nut_usb_addvars settings from usbhid-ups.txt
  • docs/man/tripplite_usb.txt: refactor to include nut_usb_addvars.txt
  • docs/man/nut_usb_addvars.txt: update with references to lsusb and regex from tripplite_usb.txt
  • docs/man/richcomm_usb.txt, docs/man/riello_usb.txt: refactor to include nut_usb_addvars.txt [#1763]
  • docs/man/nutdrv_qx.txt: refactor to include nut_usb_addvars.txt
  • docs/man/nut_usb_addvars.txt: pick up "port" mention from nutdrv_qx.txt and expand on it
  • drivers/nutdrv_atcl_usb.c: report device_match_func() failure and refer to nutdrv_qx more prominently
  • docs/man/nutdrv_atcl_usb.txt: this driver uses a very custom device-matcher with only a vendor string
  • NEWS, drivers/Makefile.am, drivers/nutdrv_atcl_usb.c: Revert "drivers/nutdrv_atcl_usb.c: upsdrv_makevartable(): refer to nut_usb_addvars() [#1754]" This reverts commit 3b1b921669da9ca7f360cbcfa9645fa6816f66ed. This driver uses a very custom device-matcher.
  • docs/man/bcmxcp_usb.txt: mention lack of support for common nut_usb_addvars [#1764]
  • docs/man/Makefile.am, docs/man/blazer-common.txt, docs/man/nut_usb_addvars.txt, docs/nut.dict: Introduce docs/man/nut_usb_addvars.txt (initial content from blazer-common.txt with updated formatting)
  • NEWS: mention the fix for USB matching options fix for some drivers
  • drivers/riello_usb.c: upsdrv_makevartable(): refer to nut_usb_addvars() [#1754]
  • drivers/Makefile.am, drivers/richcomm_usb.c: drivers/richcomm_usb.c: upsdrv_makevartable(): refer to nut_usb_addvars() [#1754]
  • drivers/Makefile.am, drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: upsdrv_makevartable(): refer to nut_usb_addvars() [#1754]
  • drivers/blazer_usb.c, drivers/nutdrv_qx.c: upsdrv_makevartable(): cosmetic fixes
  • drivers/bcmxcp.h: fix include-fencing macros
  • configure.ac: make default POWERDOWNFLAG configurable [#529] - escape more for autotools
  • configure.ac, scripts/Makefile.am, scripts/RedHat/.gitignore, scripts/RedHat/ups, scripts/RedHat/ups.in, scripts/RedHat/upsd, scripts/RedHat/upsd.in, scripts/RedHat/upsmon, scripts/RedHat/upsmon.in: scripts/Redhat/*: drop older scripts with hardcoding, modernize .in templates for POWERDOWNFLAG and similar config options
  • configure.ac: revise configuration of NUT path location variables and their substitutions

2.290. 2023-01-03 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/belkinunv.txt: modernize about "upsmon -K" and POWERDOWNFLAG or explicit /etc/killpower [#529]
  • docs/FAQ.txt: modernize about "upsmon -K" and POWERDOWNFLAG or explicit /etc/killpower [#529]
  • NEWS, conf/upsmon.conf.sample.in, configure.ac, docs/configure.txt, docs/nut.dict: configure.ac and many others: make default POWERDOWNFLAG configurable [#529] Closes: #529
  • server/conf.c, server/conf.h, server/upsd.c: server/upsd.c, server/conf.c: remember debug level specified in command line args, may be useful in reload [#1761] Closes: #1761
  • clients/upsmon.c: do not report initial debug level twice
  • clients/upsmon.c: remember debug level specified in command line args, may be useful in reload [#1761]
  • clients/upsmon.c: "upsmon -K" should not die if daemon is running [#1680] Closes: #1680
  • clients/upsmon.c: debug-trace notification activity [#1760]

2.291. 2023-01-02 Jim Klimov <jimklimov+nut@gmail.com>

  • COPYING, docs/nut.dict: COPYING: update to acknowledge codebase picked up from BSD, curl and CC BY-SA sources over time
  • docs/man/ups.conf.txt, docs/man/upsdrvctl.txt, docs/man/upsdrvsvcctl.txt, drivers/upsdrvctl.c, scripts/systemd/nut-driver@.service.in: drivers/upsdrvctl.c, scripts/systemd/nut-driver@.service.in: add support for NUT_IGNORE_NOWAIT [#1753]
  • UPGRADING: highlight nut-common.tmpfiles(.in) ⇒ nut-common-tmpfiles.conf(.in) rename and other changes since NUT v2.8.0 release
  • autogen.sh, configure.ac, scripts/systemd/.gitignore, scripts/systemd/Makefile.am: Rename generated nut-common.tmpfiles(.in) ⇒ nut-common-tmpfiles.conf(.in) to install a *.conf pattern [#1754] Follow-up for #1030, #1037, #1117 May be related to #1712
  • NEWS, docs/nut.dict: NEWS: reference arcane installation know-how for Solaris 8 [#1736]
  • NEWS: Clarified documentation in codebase according to end-user feedback for NUT v2.8.1 release
  • INSTALL.nut: clarify that the instruction is for tarballs (hint for builds of git checkouts) [#1750]
  • docs/man/upsmon.txt: clarify that FSD latches until upsd is restarted [#1721]
  • docs/man/upsmon.txt: rearrange paragraphs with related content [#1721]
  • tools/nut-scanner/nutscan-init.c: adjust WIN32 shared library detection for SNMP and NEON [#1735] At least as of Appveyor CI builds and their DLL naming both on MSYS2 MinGW "semi-native" builds, and linux mingw (libneon).
  • tools/nut-scanner/nutscan-init.c: annotate blocks for shared library detection

2.292. 2022-12-28 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: testcase_upsd_allow_no_device(): give VERY laggy systems (e.g. build farm swapping) another chance
  • ci_build.sh: apply CCACHE PATH discovery to mingw builds
  • ci_build.sh: cosmetic fix
  • ci_build.sh: report PATH and CCACHE decisions in build host settings

2.293. 2022-12-26 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/augeas/Makefile.am: clean away nutupsconf.aug.in.AUTOGEN_WITHOUT if it appears
  • configure.ac: if default "python" was not found, use py2 or py3; avoid keeping "no" as an answer [#1736]
  • m4/nut_check_python.m4: recognize python-3.6 too
  • include/common.h: size_t
  • tests/NIT/nit.sh: avoid "sed -i" - safer approach [#1736]

2.294. 2022-12-25 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/gitlog2changelog.py.in: tools/gitlog2changelog.py: avoid prefixing file list to messages whose commit comment starts with equivalent list
  • tools/gitlog2changelog.py.in: tools/gitlog2changelog.py: support Python 3.6 (and older 3.x) regarding UTF-8 content of git changelog
  • drivers/belkin-hid.c, drivers/cps-hid.c, drivers/ever-hid.c, drivers/idowell-hid.c, drivers/liebert-hid.c, drivers/powercom-hid.c, drivers/tripplite-hid.c: drivers/*-hid.c: fence WITH_UNMAPPED_DATA_POINTS [#1699]
  • drivers/apc-ats-mib.c, drivers/apc-epdu-mib.c, drivers/apc-mib.c, drivers/apc-pdu-mib.c, drivers/compaq-mib.c, drivers/delta_ups-mib.c, drivers/eaton-ats16-nm2-mib.c, drivers/eaton-ats16-nmc-mib.c, drivers/eaton-ats30-mib.c, drivers/eaton-pdu-marlin-mib.c, drivers/eaton-pdu-nlogic-mib.c, drivers/emerson-avocent-pdu-mib.c, drivers/hpe-pdu-mib.c, drivers/hpe-pdu3-cis-mib.c, drivers/huawei-mib.c, drivers/raritan-px2-mib.c: drivers/*-mib.c: fence WITH_UNMAPPED_DATA_POINTS [#1699]
  • NEWS, configure.ac, docs/configure.txt, docs/hid-subdrivers.txt, docs/snmp-subdrivers.txt, scripts/subdriver/gen-snmp-subdriver.sh, scripts/subdriver/gen-usbhid-subdriver.sh: configure.ac, scripts/subdriver/gen-*.sh: introduce WITH_UNMAPPED_DATA_POINTS flag [#1699]
  • tools/gitlog2changelog.py.in: tools/gitlog2changelog.py: avoid prefixing file list to messages whose commit comment starts with equivalent list
  • tools/gitlog2changelog.py.in: tools/gitlog2changelog.py: support Python 3.6 (and older 3.x) regarding UTF-8 content of git changelog

2.295. 2022-12-22 Jim Klimov <jimklimov@gmail.com>

  • common/common.c, common/snprintf.c, configure.ac, drivers/mge-hid.c: configure.ac: fix AC_CHECK_FUNCS ⇒ AC_CHECK_DECLS where we care for includes [#1738]

2.296. 2022-12-22 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac, tests/.gitignore, tests/Makefile.am: configure.ac, tests/Makefile.am: introduce and check for REQUIRE_NUT_STRARG flag [#1736, #1737]
  • tests/nutlogtest.c: reword message so we see it even if libc printf("%s", NULL) does a null-dereference [#1736]
  • tests/NIT/nit.sh: avoid PYTHON=no [#1736]
  • tests/NIT/nit.sh: avoid "sed -i" [#1736]
  • tests/NIT/nit.sh: dumb down shell syntax for older Solaris interpreter [#1736]
  • tools/nut-usbinfo.pl: old typo fix (overlaid file variable and file name)
  • configure.ac, tools/nut-scanner/Makefile.am: if we HAVE_SEMAPHORE, some systems may need additional SEMLIBS [#1736]
  • tools/Makefile.am: avoid spurious error messages when PYTHON=no [#1736]
  • scripts/augeas/Makefile.am: avoid spurious error messages when PYTHON=no [#1736]
  • drivers/mge-hid.c: provide a fallback round() [#1736]
  • tests/getvaluetest.c: do not directly include stdint.h (not ubiquitous) [#1736]
  • drivers/pijuice.c: do not directly include stdint.h (not ubiquitous) [#1736]
  • drivers/eaton-pdu-marlin-helpers.c: do not directly include stdint.h (not ubiquitous) [#1736]
  • drivers/adelsystem_cbi.h: drivers/adelsystem_cbi.c: do not directly include stdint.h (not ubiquitous) [#1736]
  • common/strptime.c: do not always directly include stdint.h (not ubiquitous) [#1736]
  • drivers/riello.c, drivers/riello.h, drivers/riello_ser.c, drivers/riello_usb.c: drivers/riello*.{c,h}: do not directly include stdint.h (not ubiquitous) [#1736]
  • common/strnlen.c: untie from freeBSD specifics [#1736]
  • common/Makefile.am, common/strnlen.c, configure.ac: configure.ac, common/strnlen.c: Detect and provide a fallback strnlen() if needed [#1736]
  • common/common.c: fix pragmas for systems without a UINTPTR_MAX defined [#1736]
  • NEWS: autogen.sh support for CONFIG_SHELL [#1736]
  • autogen.sh: support CONFIG_SHELL envvar to embed into generated configure script (and syntax-check with it) [#1736]

2.297. 2022-12-21 Jim Klimov <jimklimov+nut@gmail.com>

  • autogen.sh: enhance report of failed syntax checks [#1736]
  • autogen.sh: dumb syntax down for xpg/ksh88 or older [#1736]
  • tools/nut-usbinfo.pl: dumb syntax down for perl 5.005 (Solaris 8 compat) [#1736]

2.298. 2022-12-20 Clappier, Eric <EricClappier@eaton.com>

  • drivers/eaton-pdu-nlogic-mib.c: Fix discovery issue with Eaton pdu nlogic

2.299. 2022-12-08 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: update dict

2.300. 2022-09-25 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/nutdrv_qx.c: qx_initbattery(): adjust initially known "battery.voltage" right away, if we know the batt.packs and that battery_voltage_reports_one_pack [#1279]

2.301. 2022-09-22 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/nutdrv_qx.c: qx_multiply_battvolt(): init temporary "s" to 0 (so if sscanf() somehow fails/skips, we have a non-toxic outcome)
  • drivers/nutdrv_qx.c: fix getval("battery_voltage_reports_one_pack") for the driver option flag [#1279]

2.302. 2022-09-21 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/nutdrv_qx.c, drivers/nutdrv_qx.h, drivers/nutdrv_qx_bestups.c, drivers/nutdrv_qx_hunnox.c, drivers/nutdrv_qx_mecer.c, drivers/nutdrv_qx_megatec-old.c, drivers/nutdrv_qx_megatec.c, drivers/nutdrv_qx_mustek.c, drivers/nutdrv_qx_q1.c, drivers/nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_voltronic.c, drivers/nutdrv_qx_zinto.c: drivers/nutdrv_qx*: rename multiply_battvolt() to qx_multiply_battvolt() to remain specific about the code source

2.303. 2022-09-19 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS: reflect extended default ranges for max battery voltage when guessing [#1279]
  • drivers/blazer_ser.c, drivers/blazer_usb.c: drivers/blazer_{usb,ser}.c: bump DRIVER_VERSION due to changes in blazer.c [#1279]
  • drivers/nutdrv_qx.c: qx_initbattery(): extend default batt.volt.high range when guessing battery.packs count [#1279]
  • drivers/blazer.c: blazer_packs(): extend default batt.volt.high range when guessing battery.packs count [#1279]
  • drivers/nutdrv_qx.c: qx_initbattery(): report if we autodetected number of battery packs [#1279]
  • drivers/nutdrv_qx.c: qx_initbattery(): extend default batt.volt.high range [#1279]
  • NEWS, docs/man/nutdrv_qx.txt, docs/nut.dict, drivers/nutdrv_qx.c, drivers/nutdrv_qx.h, drivers/nutdrv_qx_bestups.c, drivers/nutdrv_qx_hunnox.c, drivers/nutdrv_qx_mecer.c, drivers/nutdrv_qx_megatec-old.c, drivers/nutdrv_qx_megatec.c, drivers/nutdrv_qx_mustek.c, drivers/nutdrv_qx_q1.c, drivers/nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_voltronic.c, drivers/nutdrv_qx_zinto.c: nutdrv_qx: introduce a "battery_voltage_reports_one_pack" driver option [#1279]
  • drivers/nutdrv_qx.c: bump DRIVER_VERSION for issue #1279 changes

2.304. 2022-09-14 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: comment that _GNU_SOURCE may be needed for strptime() detection

2.305. 2022-09-06 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/nutdrv_qx.c: qx_initbattery(): initialize battery.packs and battery.voltage.low/high/nom if known always (not just if battery.charge or battery.runtime are not served) [#1279]
  • drivers/main.c: retain "driver.parameter.override.XXX" (and ".default.XXX") for troubleshooting [#1279]
  • drivers/libhid.c: log if we hit the "paranoia check" with inconsistent Max vs Min [#1512]

2.306. 2022-12-02 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsmon.c: refactor probing/signaling old instance into one handling/reporting codebase [#1721]
  • server/upsd.c: refactor probing/signaling old instance into one handling/reporting codebase [#1721]
  • clients/upsmon.c: generic report if we "Failed to signal the currently running daemon" [#1721]
  • server/upsd.c: generic report if we "Failed to signal the currently running daemon" [#1721]

2.307. 2022-12-01 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: clarify inability to find OS user info (vs. NUT user) [#1721]
  • docs/FAQ.txt, docs/config-notes.txt, docs/man/upsd.txt: docs/*.txt: clarify "upsd -c reload" vs. PID file (and systemd) [#1721]
  • conf/upsmon.conf.sample.in: clarify RUN_AS_USER as OS-defined account for upsmon [#1721]
  • conf/ups.conf.sample, conf/upsd.users.sample, conf/upsmon.conf.sample.in: conf/*.sample: standardize on "monuser" as example NUT-defined account for upsmon [#1721]
  • clients/upsmon.c: consider HAVE_SYSTEMD to report if PID file was missing [#1721]
  • server/upsd.c: consider HAVE_SYSTEMD to report if PID file was missing [#1721]
  • configure.ac: refactor definition of HAVE_SYSTEMD so we can use it in C code [#1721]
  • scripts/systemd/nut-server.service.in: re-document use of PID file, for reloads to work [#1721]

2.308. 2022-12-01 Jim Klimov <jim@jimklimov.com>

2.309. 2022-12-01 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: become_user(): cosmetic/messaging: discern starting as not-root vs. already the requested user [#1718] Closes: #1718
  • NEWS, UPGRADING: reference GitHub PR numbers for snmp-ups updates [#1715, #1716]

2.310. 2022-11-28 Tiph <titi__13@hotmail.com>

  • drivers/mge-hid.c: Update mge-hid.c fixed conversion issue

2.311. 2022-11-27 Florian Weimer <fweimer@redhat.com>

  • m4/ax_c_pragmas.m4: Fix several issues with the AX_C_PRINTF_STRING_NULL check Adjust quoting in the AX_C_PRINTF_STRING_NULL definition. Switch to strstr and include <string.h> instead of <strings.h>. Add missing braces and parentheses. Use double-quote for string literals. The test now reports success on glibc, as expected.
  • m4/ax_c_attribute.m4: Fix AX_C_ATTRIBUTE configure check to call the right function The function foo is defined in the C fragment, but the func function is undeclared. This avoids relying on an implicit function declaration, a C language feature that was removed in 1999.

2.312. 2022-11-25 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: comment about nut_inplace_user detection from *.pc files [#1714]
  • configure.ac: fix inplace sysconfdir detection [#1714]
  • configure.ac: clarify "checking requested X" ⇒ default/specified vs "checking setting X" ⇒ final value [#1714]
  • configure.ac: try to detect nut_inplace_group and nut_inplace_user from existing configs [#1714]
  • configure.ac: avoid changing permissions of */tmp and /dev/shm with nut-common.tmpfiles
  • configure.ac: use PIDPATH="/run" if it is so on the build system
  • NEWS, UPGRADING: document @ALTPIDPATH@ vs. @PIDPATH@ (and removal of @PIDPATH@/nut ambiguity) [#1712]
  • scripts/Aix/nut.init.in, scripts/HP-UX/postinstall.in, scripts/Solaris/nut-server.xml.in, scripts/Solaris/postinstall.in, scripts/Solaris/postremove.in, scripts/Solaris/svc-nut-monitor.in, scripts/Solaris/svc-nut-server.in: Reference init-script and packaging templates: eradicate "@PIDPATH@/nut" ambiguity in favor of "@ALTPIDPATH@" (and explicitly ensure "@PIDPATH@" where applicable) [#1712]
  • configure.ac: AC_SUBST(ALTPIDPATH)
  • configure.ac: report "$prefix"
  • m4/nut_report_feature.m4: fix detection of chapter "1" and other nuances
  • m4/nut_report_feature.m4: align reports with tabulation
  • configure.ac: use NUT_REPORT_TARGET [#1708]
  • m4/nut_report_feature.m4: add NUT_REPORT_TARGET [#1708]
  • m4/nut_report_feature.m4: fix comments
  • m4/nut_report_feature.m4: refactor NUT_REPORT_FILE() for second-level headings and less file-openings
  • configure.ac, docs/configure.txt: configure.ac: clarify that PIDPATH is for NUT directly (privileged daemons) [#123, #1712]
  • configure.ac: refactor to use NUT_REPORT_SETTING_PATH() to summarize separately from other toggles [#1708 follow-up]
  • m4/nut_report_feature.m4: add separate chapter for NUT_REPORT_PATH() and NUT_REPORT_SETTING_PATH() to populate it
  • .gitignore, Makefile.am, m4/nut_report_feature.m4: m4/nut_report_feature.m4: refactor to hold and append different summary chapters in different files [#1708 follow-up]
  • m4/nut_report_feature.m4: change markup of usage() comments to avoid m4 surprises
  • ci_build.sh: in case of success for default build, remind the chosen config.nut_report_feature.log settings
  • Makefile.am: install-win-bundle-thirdparty: fix indentations
  • configure.ac: use NUT_REPORT_SETTING() for various path tunables
  • configure.ac: fix generation of systemd/nut-common.tmpfiles Should have no "nut" subdir for STATEPATH and ALTPIDPATH Follow-up for #1030, #1037, #1117 May be related to #1712
  • configure.ac: NUT_REPORT_SETTING() for RUN_AS_USER and RUN_AS_GROUP
  • configure.ac: change AS_HELP_STRINGs and some other comments/messages for STATEPATH and PIDPATH to clarify

2.313. 2022-11-25 Arnaud Quette <ArnaudQuette@eaton.com>

  • NEWS, drivers/snmp-ups.c: snmp-ups: fix "Warning: excessive poll failures" Fix that long standing issue, which was tied to non-existent OIDs, not well handled in some part of the driver Closes: #743

2.314. 2022-11-25 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/nut_report_feature.m4: introduce NUT_REPORT_SETTING() …and comment arguments for NUT_REPORT_FEATURE()
  • NEWS, ci_build.sh: NEWS: add ./ci_build.sh inplace operation shortcut [#1714]
  • ci_build.sh: add support for INPLACE_RUNTIME=true
  • configure.ac: move checking for better default user/group based on current system circumstances down, to just before we use them
  • configure.ac: report if checking for better sysconfdir/user/group and how it went
  • NEWS: update for configure --enable-inplace-runtime [#1714]
  • docs/configure.txt, docs/nut.dict: docs/configure.txt: update for --enable-inplace-runtime [#1714]
  • configure.ac: impact default sysconfdir by --enable-inplace-runtime
  • configure.ac: change AS_HELP_STRINGs for hotplugdir, udevdir and devddir to report current defaults (not arbitrary suggestions)
  • configure.ac: introduce --enable-inplace-runtime and impact default RUN_AS_USER and RUN_AS_GROUP by that
  • configure.ac: move final processing of --with-user and --with-group to end of script
  • configure.ac: comment initial settings for RUN_AS_* and PIDPATH

2.315. 2022-11-24 Arnaud Quette <ArnaudQuette@eaton.com>

  • docs/nut.dict: Spelling dictionnary completion
  • NEWS, UPGRADING, docs/man/snmp-ups.txt, drivers/Makefile.am, drivers/{powerware-mib.c ⇒ eaton-ups-pwnm2-mib.c}, drivers/eaton-ups-pwnm2-mib.h, drivers/eaton-ups-pxg-mib.c, drivers/{powerware-mib.h ⇒ eaton-ups-pxg-mib.h}, drivers/snmp-ups.c: snmp-ups: split Eaton pw and pxgx_ups implementation To better manage the slight nuances (especially in ups.status), between Eaton UPSs, implementation file was split in 2 files, and mib name were renamed from pw to eaton_pw_nm2, and from pxgx_ups to eaton_pxg_ups Thanks to Quentin Renard (Eaton) for discovering the bug

2.316. 2022-11-22 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/hpe-pdu3-cis-mib.c: fix reference to WITH_UNMAPPED_DATA_POINTS This feature was only proposed, not yet implemented in main codebase
  • docs/nut.dict: update for #1713

2.317. 2022-11-22 Jim Klimov <jimklimov@gmail.com>

  • NEWS: added "hpe-pdu3-cis-mib" snmp-ups subdriver [#1713]

2.318. 2022-11-22 Arnaud Quette <ArnaudQuette@eaton.com>

  • data/driver.list.in, drivers/Makefile.am, drivers/hpe-pdu3-cis-mib.c, drivers/hpe-pdu3-cis-mib.h, drivers/snmp-ups.c: snmp-ups: add support for HPE G2 Metered & Switched PDU This support is unitary (no daisychain support yet). Also note that, due to SNMP v1 implementation limitations on this device, you should prefer SNMP v3 to get both read and write rights

2.319. 2022-11-21 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS: update for snmp-ups fix with wrong sysOID responses [#1710]

2.320. 2022-11-21 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/snmp-ups.c: Fix sysOID retrieval on non-compliant device Some SNMP agent (device) wrongly return the sysOID value as a string instead of an OID. This breaks the initial sysOID matching system of the driver

2.321. 2022-11-16 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, docs/nut.dict: NEWS: snmp-ups added "eaton-pdu-nlogic-mib" subdriver [#1698]

2.322. 2022-11-15 Jim Klimov <jimklimov@gmail.com>

  • Makefile.am: Update Makefile.am maintainer-clean the config.nut_report_feature.log

2.323. 2022-11-15 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/eaton-pdu-nlogic-mib.c: provide default (NULL) for "device.part"
  • appveyor.yml: publish config.nut_report_feature.log artifact
  • m4/nut_report_feature.m4: NUT_REPORT_COMPILERS: separate cosmetic colon from reported values
  • scripts/Windows/build-mingw-nut.sh: parameterize ARCH_PREFIX
  • scripts/Windows/build-mingw-nut.sh, ci_build.sh: --enable-keep_nut_report_feature in CI builds
  • ci_build.sh: --enable-keep_nut_report_feature in CI builds
  • m4/nut_report_feature.m4: make config.nut_report_feature.log contents more asciidoc-friendly
  • m4/nut_report_feature.m4: start config.nut_report_feature.log with title, not empty line
  • m4/nut_report_feature.m4, configure.ac: introduce --enable-keep_nut_report_feature
  • m4/nut_report_feature.m4, configure.ac: separate NUT_REPORT_COMPILERS from NUT_PRINT_FEATURE_REPORT
  • m4/nut_report_feature.m4: update headings in generated config.nut_report_feature.log sections
  • configure.ac: fix behavior for customized paths in systemdsystemunitdir/systemdshutdowndir/systemdtmpfilesdir
  • configure.ac: fix mis-diagnosed "--with-systemdsystemunitdir=yes was requested, but PKG_CONFIG…" when it was not requested in fact
  • .gitignore, m4/nut_report_feature.m4: m4/nut_report_feature.m4: Rename conf_nut_report_feature artifact to config.nut_report_feature.log
  • m4/nut_report_feature.m4: save compiler settings into "conf_nut_report_feature" too
  • docs/nut.dict: update for nut-website::projects.txt

2.324. 2022-11-15 Arnaud Quette <arnaud.quette@gmail.com>

  • drivers/eaton-pdu-nlogic-mib.c: Update eaton-pdu-nlogic-mib.c Fix a typo in data flags

2.325. 2022-11-09 Clappier, Eric <EricClappier@eaton.com>

  • data/driver.list.in: Add eaton (nLogic) pdu in driver.list
  • drivers/Makefile.am, drivers/eaton-pdu-nlogic-mib.c, drivers/eaton-pdu-nlogic-mib.h, drivers/snmp-ups.c: Integrate nLogic pdu (snmp)

2.326. 2022-11-15 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: update dict
  • docs/nut.dict: update for nut-website::projects.txt

2.327. 2022-11-12 Jim Klimov <jimklimov+nut@gmail.com>

  • appveyor.yml: disable required forced rebuilds of netsnmp (and debug of build-mingw-prereqs.sh) [#1475]

2.328. 2022-11-11 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/build-mingw-prereqs.sh: use curl if wget fails from sourceforge [#1475]
  • appveyor.yml: temporarily force rebuild of netsnmp
  • scripts/Windows/build-mingw-prereqs.sh: handle possibly missing SUDO differently [#1475]
  • appveyor.yml: use scripts/Windows/build-mingw-prereqs.sh [#1475]
  • scripts/Windows/build-mingw-prereqs.sh: Add scripts/Windows/build-mingw-prereqs.sh [#1475]
  • appveyor.yml: fix typo
  • appveyor.yml: fix comment for config.log artifact
  • appveyor.yml: try to ensure presence of net-snmp in MSYS2 MinGW builds [#1475]
  • scripts/Windows/README: update DLDIR and WSDIR definitions
  • scripts/Windows/README: update sudo suggestions for Windows MSYS2 builds [#1475]
  • scripts/Windows/README: update envvar setting suggestions for Windows MSYS2 builds [#1475]

2.329. 2022-11-10 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/README, docs/config-prereqs.txt: document missing bits for net-snmp in MSYS2 [#1475]
  • scripts/Windows/README: do not hardcode /usr/$ARCH when we have $PREFIX
  • docs/nut-names.txt: clarify "unmapped.x.y" not-quite-namespace

2.330. 2022-11-09 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/augeas/gen-nutupsconf-aug.py.in: skip a false-positive from Augeas driver options

2.331. 2022-11-06 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: update freeipmi -largp install for OpenBSD (6.4 \+ 6.5 checked)

2.332. 2022-11-03 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update nut.dict
  • NEWS: Update NEWS

2.333. 2022-11-02 Jim Klimov <jimklimov@gmail.com>

  • NEWS: we log uid/gid/chroot changes since 2.8.1 [#1694]

2.334. 2022-11-01 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: expand permissions for NUT_CONFPATH/*.conf if started as root (tested daemons cannot read them otherwise)
  • common/common.c: chroot_start(): log entering chroot jail (or inability to do so)
  • common/common.c: become_user(): log change of UID/GID (or inability to do so)

2.335. 2022-10-21 Yifeng Li <tomli@tomli.me>

  • docs/man/huawei-ups2000.txt: huawei-ups2000.txt: document another UPS2000-G-1KRTS. This is another newer "UPS2000-G" variant encountered by a user in the wild and reported [1] to me. [1] Personal communication, thanks for reporting.
  • docs/man/huawei-ups2000.txt: huawei-ups2000.txt: document another UPS2000-A-1KTTS. This commit adds UPS2000-A-1KTTS with another firmware version (V2R1C1SPC50) to the list of tested UPS models. Thanks @ultinous-dancsa for reporting it [1]. [1] https://github.com/networkupstools/nut/issues/1017#issuecomment-1020013055

2.336. 2022-10-20 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/nut_check_python.m4: clarify message for "Version reported … not suitable""
  • NEWS: fix for snmp-ups type error handling [#1682]
  • drivers/snmp-ups.c: apply comments from PR review to make code better understandable [#1682]

2.337. 2022-10-18 Clappier, Eric <EricClappier@eaton.com>

  • drivers/snmp-ups.c: Fix walk issue with snmpv3 ( add type error execption )

2.338. 2022-10-14 Jim Klimov <jimklimov@gmail.com>

  • drivers/snmp-ups.c: Update snmp-ups.c Avoid potential NULL pointer dereference in a debug printout

2.339. 2022-10-13 Clappier, Eric <EricClappier@eaton.com>

  • drivers/apc-epdu-mib.c: Fix bad traduction in code
  • drivers/apc-epdu-mib.c: Fix outlets display Add global current
  • drivers/snmp-ups.c: Fix index computed issue when OID is absent

2.340. 2022-10-13 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update nut.dict
  • AUTHORS: Update AUTHORS

2.341. 2022-10-12 zakx <zakx@users.noreply.github.com>

  • AUTHORS, data/driver.list.in, docs/man/snmp-ups.txt: Documentation update regarding Network-M2 card The Eaton Gigabit Network Card (Network-M2) is already well-supported by the powerware driver. This patch updates the documentation to reflect this.

2.342. 2022-10-12 Jim Klimov <jimklimov@gmail.com>

  • NEWS: apc-epdu-mib added for NUT v2.8.1

2.343. 2022-10-10 Clappier, Eric <EricClappier@eaton.com>

  • drivers/Makefile.am, drivers/apc-epdu-mib.c, drivers/apc-epdu-mib.h, drivers/snmp-ups.c: Add SNMP apc easy pdu support

2.344. 2022-10-05 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/README: update mingw libneon build instructions

2.345. 2022-09-25 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: make use of NUT_QUIET_INIT_SSL
  • NEWS, clients/upsclient.c, docs/man/upscli_init.txt: clients/upsclient.c, docs, NEWS: support NUT_QUIET_INIT_SSL envvar to hide "Init SSL without certificate database" message [#1662]
  • clients/upsclient.c: fix typo in message

2.346. 2022-09-19 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/eaton-pdu-pulizzi-mib.c: standardize on "guesstimate", "guesstimation" spelling
  • drivers/snmp-ups.c: standardize on "guesstimate", "guesstimation" spelling
  • drivers/blazer.c: standardize on "guesstimate", "guesstimation" spelling
  • docs/man/upscode2.txt, docs/nut.dict: docs/man/upscode2.txt, nut.dict: standardize on "guesstimate", "guesstimation" spelling

2.347. 2022-09-14 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh, docs/Makefile.am, docs/man/Makefile.am, indent.sh, scripts/subdriver/gen-snmp-subdriver.sh, scripts/subdriver/gen-usbhid-subdriver.sh, scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in, tools/nut-scanner/scan_snmp.c: Replace "egrep" by "grep -E" in shell code - modern systems frown on the former
  • configure.ac: move detection of TIME_WITH_SYS_TIME to before we use it This should help find strptime() in particular on systems that have both time.h and sys/time.h files, and one does not include the other (e.g. Arch Linux).
  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: detail Arch Linux package installation for a build agent
  • docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc-setup.txt: detail getting "pacman" and related tools on a Debian Linux host
  • tests/NIT/nit.sh: add a BASH way to check port availability
  • tests/NIT/nit.sh: typo fix looking in /proc/net/tcp
  • tests/NIT/nit.sh: cosmetic: fix indentations botched by IDEs

2.348. 2022-09-12 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/documentation.txt: refer to NUT Configuration Examples book
  • docs/nut.dict: update for nut-website::projects.txt refresh
  • NEWS, drivers/apc-hid.c, scripts/upower/95-upower-hid.hwdb: drivers/apc-hid.c, NEWS, 95-upower-hid.hwdb: Support VID:PID = 0x051d:0x0004 [#1429]

2.349. 2022-09-08 Jim Klimov <jimklimov+nut@gmail.com>

2.350. 2022-09-03 Jim Klimov <jim@jimklimov.com>

  • Jenkinsfile-dynamatrix: enable linux\+mingw cross builds as part of NUT baseline

2.351. 2022-09-02 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, drivers/powercom-hid.c: drivers/powercom-hid.c: fix UPS.Battery.ManufacturerDate to map to battery.mfr.date …(not battery.date which is the maintenance/replacement date) Closes: #1644
  • drivers/cps-hid.c: prefer mapping battery.mfr.date from UPS.Battery.ManufacturerDate if available [#437]
  • drivers/usbhid-ups.c: date_conversion_fun(): comment the PDC standard formula for reference
  • common/Makefile.am, common/strsep.c, configure.ac, include/str.h: Add fallback strsep() implementation (for Windows mingw builds) after PR #1639

2.352. 2022-09-01 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upslog.c: adjust to Windows branch after PR #1639

2.353. 2022-09-02 Jim Klimov <jimklimov+nut@gmail.com>

  • include/Makefile.am: fix merge error (duplicate code)

2.354. 2022-08-31 Jim Klimov <jimklimov+nut@gmail.com>

  • UPGRADING: refer to collectd PR about int/size_t/time_t adaptation for NUT API consumers
  • tools/nut-scanner/nut-scan.h: ensure useconds_t is defined
  • NEWS, UPGRADING: note public API header revision for NUT v2.8.1
  • include/parseconf.h: ensure size_t is defined
  • clients/upsclient.h: ensure time_t is defined
  • clients/Makefile.am, include/Makefile.am, tools/nut-scanner/Makefile.am: {tools/nut-scanner,include,clients}/Makefile.am: comment include_HEADERS as "Optionally deliverable as part of NUT public API"

2.355. 2022-08-21 Cy Schubert <cy@FreeBSD.org>

  • NEWS, clients/upslog.c, docs/man/upslog.txt: upslog: Add support for multiple UPSs upslog is a utility that logs UPS status at regular intervals, specified by the -i option. Unfortunately upslog supports only one UPS. For sites that need to monitor multiple UPSs the options are to cobble an rc script for each or doctor up the nut_upslog.in script to support cloning of the script. Unfortunately an rc script capable of being cloned would become the source of more PRs and would require significanly more tehcnical documentation that by itself might become confusing for the average system administrator. Therefore a new -m option is added to support multiple UPSs using the same invocation of upslog. The patch parses a -m option, polling each ups listed.

2.356. 2022-08-29 Cy Schubert <cy@FreeBSD.org>

  • clients/upslog.c: upslog: Messages should go to syslog Messages to stderr are unreliable when output to the console and mesg is n (0600). For example, the following will disallow console output to UID uucp. # mesg < /dev/console is n # mesg < /dev/ttyv0 is n # ls -l /dev/console /dev/ttyv0 crw------- 1 root wheel 0x7 Aug 29 14:03 /dev/console crw------- 1 root wheel 0x46 Aug 29 12:32 /dev/ttyv0 #

2.357. 2022-08-29 Jim Klimov <jimklimov@gmail.com>

  • drivers/usb-common.h: Update usb-common.h Detect configure script error: Neither HAVE_USB_H nor HAVE_LUSB0_USB_H is set for the WITH_LIBUSB_0_1 build
  • tools/nut-usbinfo.pl: Update nut-usbinfo.pl Detect configure script error: Neither HAVE_USB_H nor HAVE_LUSB0_USB_H is set for the WITH_LIBUSB_0_1 build
  • tools/nut-usbinfo.pl: Update nut-usbinfo.pl Typo fix for ifdef HAVE_USB_H (libusb-0.1 header)
  • drivers/usb-common.h: Update usb-common.h Typo fix for ifdef HAVE_USB_H (libusb-0.1 header)

2.358. 2022-08-29 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/hid-subdrivers.txt: remind about wire byte order vs. computer multi-byte word layout
  • docs/hid-subdrivers.txt: document USB HID report descrptor troubleshooting [#1618] Great thanks to @nbriggs for putting this together and practicing many times!
  • docs/hid-subdrivers.txt: mention disable_fix_report_desc troubleshooting [#1566]
  • docs/hid-subdrivers.txt: add chapter on "Updating a subdriver"
  • docs/hid-subdrivers.txt: update chapter on gen-usbhid-subdriver.sh
  • docs/nut.dict: Update nut.dict for hid-subdrivers.txt

2.359. 2022-08-29 Jim Klimov <jimklimov@gmail.com>

  • scripts/subdriver/gen-usbhid-subdriver.sh: Update gen-usbhid-subdriver.sh Old -x generic suggestion apparently became -x explore later in this timeline (also -d1 to dump and exit after one data collection loop, without requiring a valid NUT_STATEPATH).

2.360. 2022-08-28 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-usbinfo.pl: build against mingw-w64-x86_64-libusb-win32 as libusb-0.1 variant
  • drivers/usb-common.h: build against mingw-w64-x86_64-libusb-win32 as libusb-0.1 variant
  • m4/nut_check_libusb.m4: detect mingw-w64-x86_64-libusb-win32 as libusb-0.1 variant
  • scripts/subdriver/gen-usbhid-subdriver.sh: only ask for VENDORID and PRODUCTID interactively if not provided via CLI args
  • scripts/subdriver/gen-usbhid-subdriver.sh: update instructions
  • docs/nut.dict: add "sstate"
  • m4/nut_check_libusb.m4: when on Windows, prefer libusb-0.1 [#1507]
  • configure.ac, drivers/libusb0.c: fix detection of strlwr() and fallback strcasestr() implem

2.361. 2022-08-27 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: get_libname_in_dir(): check for exact filename match (not just common start of string)
  • drivers/usbhid-ups.c: cosmetic fixes
  • drivers/usbhid-ups.c: account interrupt_pipe_EIO_count for suggestions when reconnecting [#1295]
  • drivers/usbhid-ups.c: if reconnecting with use_interrupt_pipe mode, suggest to use pollonly [#1295]
  • drivers/usbhid-ups.c: only report "Closing comm_driver previous handle" when we do so, and invalidate it too [#1627]
  • drivers/dstate.c, server/sstate.c: server/sstate.c: log DATAOK/DATASTALE processing

2.362. 2022-08-28 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS: sstate should always PING a driver (even if last known as stale) [#1626]
  • server/sstate.c: sstate_dead(): always PING a driver (even if last known as stale) [#1626]

2.363. 2022-08-25 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update with key words from NUT for Windows effort for nut-website

2.364. 2022-08-25 Jim Klimov <jimklimov+nut@gmail.com>

2.365. 2022-08-24 Jim Klimov <jimklimov@gmail.com>

  • scripts/python/module/PyNUT.py.in: Update PyNUT.py.in Add a note on PyNUTError("Always a string") to file-heading changelog

2.366. 2022-08-24 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/module/test_nutclient.py.in: allow testing against UPSD on a remote host
  • scripts/python/module/test_nutclient.py.in: fail if we could RunUPSCommand/SetUPSVar/DeviceLogin when we should not have [#1589]
  • scripts/python/module/README: typo fixes
  • scripts/python/module/PyNUT.py.in, scripts/python/module/README: scripts/python/module/PyNUT.py.in: raise PyNUTError() from strings not byte arrays [#1589]

2.367. 2022-08-23 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/module/test_nutclient.py.in: ListClients-dummy-after: check b"dummy" (not a string) as dict key [#1589]
  • scripts/python/module/test_nutclient.py.in: thanks to "ex = str(sys.exc_info()[1])" we should check strings, not byte arrays [#1589]
  • scripts/python/module/test_nutclient.py.in: account unexpected failures to detect actual errors [#1589]
  • scripts/python/module/PyNUT.py.in: raise PyNUTError() with standard protocol strings; leave layman text to debug printouts [#1589]
  • scripts/python/module/PyNUT.py.in: raise PyNUTError() with standard protocol strings; leave layman text to debug printouts [#1589]

2.368. 2022-08-25 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/config-prereqs.txt: update to OpenBSD 6.5 due to JDK 11\+ for Jenkins agents, and update other OS instructions

2.369. 2022-08-24 Jim Klimov <jim@jimklimov.com>

  • NEWS: RFC 9271 published 2022-08-10

2.370. 2022-08-23 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/nut-scan.h: avoid including private "timehead.h" in public header [#1593]
  • tools/nut-scanner/nut-scan.h: prefer co-located "nutscan-*.h" in public header [#1593]
  • tools/nut-scanner/nut-scan.h, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c: tools/nut-scanner/nut-scan.h: avoid including private "nut_stdint.h" in public header [#1593]
  • scripts/Windows/build-mingw-nut.sh: report completion of configure/build/install phases
  • include/Makefile.am, clients/Makefile.am: rectify distributon of parseconf.h [#1593]
  • tools/nut-scanner/nut-scan.h: avoid including private "config.h" in public header [#1593] In-tree consumers of this file include "common.h" first which in turn includes "config.h" first.
  • tools/nut-scanner/nutscan-ip.c, tools/nut-scanner/nutscan-ip.h: tools/nut-scanner/nutscan-ip.{c,h}: avoid including private "common.h" in public header [#1593]
  • docs/new-drivers.txt, docs/nut.dict: docs/new-drivers.txt: update documentation for TYPE_FD_SER [#1593]
  • tools/nut-scanner/nut-scan.h: avoid including private "timehead.h" in public header [#1593]
  • tools/nut-scanner/nut-scan.h: prefer co-located "nutscan-*.h" in public header [#1593]
  • tools/nut-scanner/nut-scan.h, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c: tools/nut-scanner/nut-scan.h: avoid including private "nut_stdint.h" in public header [#1593]
  • include/Makefile.am, clients/Makefile.am: rectify distributon of parseconf.h [#1593]

2.371. 2022-08-21 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/Makefile.am: separate delivery of C+\+ headers - do it only if we deliver the libs [#1598]

2.372. 2022-08-23 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/nut-scan.h: avoid including private "config.h" in public header [#1593] In-tree consumers of this file include "common.h" first which in turn includes "config.h" first.
  • tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.{c,h}: avoid including private "common.h" in public header [#1593]
  • clients/nutclientmem.cpp: include config.h first
  • drivers/serial.c, drivers/serial.h: drivers/serial.{h,c}: relocate ser_flush_io() to ser_flush_in() to match logical relation and documentation ordering [#1593]

2.373. 2022-08-19 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: NUT_REPORT_FEATURE the HAVE_CXX11 and HAVE_CPPUNIT aspects

2.374. 2022-08-21 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: warn to have prepared a listening NUT_PORT before asking for individual test cases

2.375. 2022-08-20 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/Makefile.am: check-NIT-devel: become EXEEXT-aware
  • tests/NIT/nit.sh: report if skipping cppnit because absent

2.376. 2022-08-21 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: refactor with autogen_get_CONFIGURE_SCRIPT and configure_CI_BUILDDIR for better out-of-tree builds

2.377. 2022-08-23 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/nutclientmem.cpp: include config.h first

2.378. 2022-08-21 Jim Klimov <jimklimov+nut@gmail.com>

  • appveyor.yml: shorter lines in install proto area report
  • scripts/Windows/dllldd.sh: less ominous warning message
  • appveyor.yml: fix shell syntax for YAML transport
  • scripts/Windows/dllldd.sh: consult COMPILER_PATHS for C+\+ libs [#1603]
  • m4/nut_check_libnetsnmp.m4, tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: fix referencing of libnetsmp (static) build flags, so shared libnutscan.dll can be built [#1603]
  • ci_build.sh: pass PARMAKE_FLAGS to build-mingw-nut.sh
  • ci_build.sh: require successful autogen for cross-mingw builds
  • ci_build.sh: refactor with autogen_get_CONFIGURE_SCRIPT and configure_CI_BUILDDIR for better out-of-tree builds
  • tools/nut-scanner/Makefile.am: enable shared DLL builds for C+\+ libraries [#1603]
  • clients/Makefile.am: enable shared DLL builds for C+\+ libraries [#1603]
  • Jenkinsfile-dynamatrix: failure is no longer an option in linux\+mingw Windows cross-builds
  • appveyor.yml: "find" all filenames we would archive to 7z artifact from the install proto area
  • scripts/Windows/build-mingw-nut.sh: use different CXXFLAGS from CFLAGS (append vs external settings)

2.379. 2022-08-22 Jim Klimov <jimklimov@gmail.com>

  • clients/nutclient.cpp: Update nutclient.cpp include "config.h" first

2.380. 2022-08-21 Jim Klimov <jimklimov+nut@gmail.com>

  • appveyor.yml: archive any NUT-for-Windows*.7z tarballs
  • clients/Makefile.am: separate delivery of C+\+ headers - do it only if we deliver the libs [#1598]
  • common/snprintf.c: added a FIXME for dopr("%p") on some platforms
  • include/timehead.h: fence with "extern C"
  • clients/nutclientmem.cpp: avoid (mingw) conflict for C+\+ builds with fallback gmtime_r() etc that C\+ code does not even use [#1594]
  • clients/nutclient.cpp: avoid (mingw) conflict for C+\+ builds with fallback gmtime_r() etc that C\+ code does not even use [#1594]
  • clients/Makefile.am: add libnutclient.la to lib_LTLIBRARIES also on Windows now so it gets installed [#1594, #1598] Closes: #1598
  • clients/Makefile.am: bump semver of libnutclient due to added TcpClient::setDebugConnect(bool) [#1594]
  • clients/nutclient.cpp, clients/nutclient.h: clients/nutclient.cpp: internal::Socket::connect(): make debug noise optional
  • tests/NIT/nit.sh: warn to have prepared a listening NUT_PORT before asking for individual test cases

2.381. 2022-08-20 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/nutclient.cpp: Socket::connect(): add debug
  • tests/NIT/Makefile.am: check-NIT-devel: become EXEEXT-aware
  • tests/NIT/nit.sh: report if skipping cppnit because absent
  • tests/Makefile.am: Revert "tests/Makefile.am: make POSIX style short names aliases for HAVE_WINDOWS .exe targets" This reverts commit b3d36d9a81f42ca6e2cae15e04e54f5ce6ec80f6.
  • tests/Makefile.am: make POSIX style short names aliases for HAVE_WINDOWS .exe targets
  • clients/nutclient.cpp: Socket::connect(): add debug
  • clients/nutclient.cpp: port W32_NETWORK_CALL_OVERRIDE code from upsclient.c

2.382. 2022-08-19 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/nutclient.cpp: port connect() WIN32 code from upsclient.c

2.383. 2022-08-19 Jim Klimov <jimklimov@gmail.com>

  • appveyor.yml: Update appveyor.yml Add mingw-w64-x86_64-cppunit to check cppnit et al

2.384. 2022-08-19 Kubisz Mariusz <mmzk987@gmail.com>

  • drivers/blazer.c: Blazer: Accept the value of "idleload" equal to zero It allows setting the "idleload" parameter equal to zero

2.385. 2022-08-19 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/config-prereqs.txt: document how to get cppunit in Windows MSYS2 [#1594]
  • appveyor.yml: tarball built NUT binaries marked as x86_64 (maybe do i686 later?)
  • configure.ac: NUT_REPORT_FEATURE the HAVE_CXX11 and HAVE_CPPUNIT aspects
  • configure.ac, m4/nut_check_libnetsnmp.m4, tools/nut-scanner/Makefile.am: introduce WITH_SNMP_STATIC flag
  • drivers/riello_ser.c: fix whitespace in WIN32 codepath
  • server/conf.c: pedantically handle a case of VALID_FD
  • server/conf.c: pedantically handle a case of ERROR_FD
  • drivers/netxml-ups.c: pedantically handle a case of ERROR_FD
  • drivers/dstate.c: no need to cast sockfd to int anymore, we adhere to TYPE_FD (or fail build if not)
  • clients/nutclient.cpp: err on the safe side, check "ifdef" before we "define" WINAPI-compatibility macros
  • clients/nutclient.cpp: err on the safe side, check "ifdef" before we "define" WINAPI-compatibility macros
  • drivers/apcupsd-ups.c: convert to use of TYPE_FD_SOCK and its macros

2.386. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: avoid realpath() on platforms that lack it Part of this was merged to master earlier, except the header include

2.387. 2022-08-19 Jim Klimov <jimklimov+nut@gmail.com>

  • common/Makefile.am: only add wincompat.{c,h} to libcommon* if HAVE_WINDOWS in the build
  • clients/upssched.c: try_connect(): further reduce discrepancy of WIN/non-WIN codepaths
  • clients/upsmon.h: clients/upsmon.{c,h}: rename ST_CONNECTED to ST_CLICONNECTED - WIN32 cleanup
  • clients/upsmon.c, clients/upsmon.h: clients/upsmon.{c,h}: rename ST_CONNECTED to ST_CLICONNECTED ST_CONNECTED is defined for WIN32 DDE (Dynamic Data Exchange) in ddeml.h Renaming avoids the conflict in easiest manner
  • clients/upsmon.c, clients/upsmon.h: clients/upsmon.{c,h}: rename ST_CONNECTED to ST_CLICONNECTED ST_CONNECTED is defined for WIN32 DDE (Dynamic Data Exchange) in ddeml.h Renaming avoids the conflict in easiest manner

2.388. 2022-08-18 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: restructure error-catching in default BUILD_TYPE="" case

2.389. 2022-08-17 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: introduce CI_SKIP_CHECK support to help split CI jobs into stages
  • ci_build.sh: comment away DMF-specific check_gitignore() calls for now - they refer to BUILD_TGT not (yet) defined in this codepath
  • ci_build.sh: clarify report of "Using ccache via PATH…"

2.390. 2022-08-19 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS: group "NUT for Windows" bullet points

2.391. 2022-08-18 Jim Klimov <jim@jimklimov.com>

  • appveyor.yml: Update appveyor.yml Display ccache stats after tarballing, to see them better. And still after build in case tests fail. (TODO: on any outcome - postprocessing tag?) Do not shell-trace tarballing routine.

2.392. 2022-08-18 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/snmp-ups.c: err on the safe side with "long" value and "int" arg of nut_snmp_walk()
  • scripts/Windows/dllldd.sh: ignore zero-sized files under DESTDIR (bad copies etc)
  • scripts/Windows/dllldd.sh: one hit under DESTDIR suffices
  • scripts/Windows/build-mingw-nut.sh: tell DESTDIR to dllldd() search code
  • scripts/Windows/dllldd.sh: ignore some more known system DLLs
  • Makefile.am: tell scripts/Windows/dllldd.sh to check under DESTDIR [#1492]
  • Makefile.am: Revert "Makefile.am: install freshly built libups*.dll libnut*.dll into non-binary dirs from the bin [#1492]" This reverts commit b39e3a3d2d1652ef23e82bee2c2dc4d638751b5a.
  • scripts/Windows/dllldd.sh: rearrange to probe for each file in all possible locations; check under DESTDIR if provided
  • scripts/Windows/dllldd.sh: comment about not-searching for our own build products
  • m4/nut_check_python.m4: inform if python version was not suitable [#1583]
  • m4/nut_check_python.m4: take "no" for an answer [#1583]
  • m4/nut_check_python.m4: simplify PYTHON*_VERSION_REPORT to avoid brackets from m4 code [#1583]
  • m4/nut_check_python.m4: constrain python{,2,3} versions - check that what is found is in range [#1583]
  • scripts/Windows/dllldd.sh: typo fix
  • scripts/Windows/build-mingw-nut.sh: handle cgi-bin dir too
  • appveyor.yml: typo fix
  • Makefile.am: install freshly built libups*.dll libnut*.dll into non-binary dirs from the bin [#1492]
  • m4/nut_check_python.m4: inform if python version was not suitable [#1583]
  • m4/nut_check_python.m4: take "no" for an answer [#1583]
  • m4/nut_check_python.m4: simplify PYTHON*_VERSION_REPORT to avoid brackets from m4 code [#1583]
  • m4/nut_check_python.m4: try to fix Windows MSYS2 "buggy" path for python{,2,3} site-packages [#1584]
  • m4/nut_check_python.m4: comment about Windows MSYS2 "buggy" path for python{,2,3} site-packages [#1584]
  • m4/nut_check_python.m4: constrain python{,2,3} versions - check that what is found is in range [#1583]
  • Makefile.am: install-win-bundle-thirdparty: fix again detection of presence of cgiexecdir [#1492]
  • appveyor.yml: archive installed artifacts with 7z (zip format does not do sym/hard-links)
  • INSTALL.nut: update notes of NUT for Windows building/installing - that CI would publish at least archives
  • appveyor.yml: reword install step so cmd⇒bash likes it

2.393. 2022-08-18 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/snmp-ups.c: snmp-ups: fix alarm processing only walk the number of present alarms, instead of INT_MAX, to avoid potential blocking

2.394. 2022-08-18 Jim Klimov <jimklimov+nut@gmail.com>

  • INSTALL.nut: update notes of NUT for Windows building/installing - current state of the art
  • ci_build.sh, scripts/Windows/build-mingw-nut.sh: ci_build.sh \+ scripts/Windows/build-mingw-nut.sh: suggest use of INSTALL_WIN_BUNDLE to call "make install-win-bundle"
  • ci_build.sh: suggest use of "make install-win-bundle" in default BUILD_TYPE="" case
  • ci_build.sh: restructure error-catching in default BUILD_TYPE="" case
  • appveyor.yml: build meaningful base dirname into downloadable zip bundle

2.395. 2022-08-18 Jim Klimov <jimklimov@gmail.com>

  • appveyor.yml: Update appveyor.yml Hush back down the bundle-install
  • Makefile.am: Update Makefile.am Fix detection of cgiexecdir; comments on dirs involved here.
  • appveyor.yml: Update appveyor.yml
  • appveyor.yml: Update appveyor.yml archive config.log pass filename version differently

2.396. 2022-08-17 Jim Klimov <jimklimov+nut@gmail.com>

  • Makefile.am: install-win-bundle-thirdparty: cgiexecdir may be not installed (others too technically… but unlikely a valid situation) [#1492]
  • scripts/Windows/dllldd.sh: drop diff markup chars
  • Makefile.am: install-win-bundle-thirdparty: mute the big logic block [#1492]
  • Makefile.am: install-win-bundle-thirdparty: handle cgiexecdir if present [#1492]
  • Makefile.am: force-hardlink installed DLLs into secondary dirs (overwrite if older link/copy exists)
  • scripts/Windows/dllldd.sh: cripts/Windows/dllldd.sh: optimize by filtering away more well-known Windows-provided DLLs
  • scripts/Windows/dllldd.sh: refactor dllldddir() to only look at any DLL once (MSYS2 has a huge inter-dependency tree)
  • scripts/Windows/dllldd.sh: optimize to check if base dir for planned listing exists
  • scripts/Windows/dllldd.sh: not all shells seen auto-expand "{bin,lib}" notation
  • scripts/Windows/dllldd.sh: prefer objdump over ldd as more reliable (especially when many files are queried and one hit suffices for script logic)
  • scripts/Windows/dllldd.sh: optimize by feeding many PE files to same ldd/objdump command (where supported)
  • scripts/Windows/dllldd.sh: optimize by filtering away well-known Windows-provided DLLs
  • scripts/Windows/dllldd.sh: subshell dllldd() with C locale [#1492]
  • scripts/Windows/dllldd.sh: refactor dllldddir() [#1492]
  • appveyor.yml: make check and install quieter
  • appveyor.yml: "make install-win-bundle" and save artifacts with Bundle of binary files and FOSS dependencies of NUT for Windows [#1492, #1552]
  • scripts/Windows/build-mingw-nut.sh: refactor to "make install-win-bundle" target recipe [#1492]
  • Makefile.am: define "make install-win-bundle" target recipe [#1492]
  • scripts/Windows/build-mingw-nut.sh, scripts/Windows/dllldd.sh: scripts/Windows/dllldd.sh: transplant dllldddir() from build-mingw-nut.sh [#1492]
  • scripts/Windows/dllldd.sh: fallback support for MSYS2 path search [#1492]
  • scripts/Windows/build-mingw-nut.sh, scripts/Windows/dllldd.sh: Split scripts/Windows/dllldd.sh as a separately usable shell tool or lib [#1492]
  • appveyor.yml: introduce CI_SKIP_CHECK support to help split CI jobs into stages
  • ci_build.sh: introduce CI_SKIP_CHECK support to help split CI jobs into stages
  • ci_build.sh: comment away DMF-specific check_gitignore() calls for now - they refer to BUILD_TGT not (yet) defined in this codepath
  • appveyor.yml: try harder to save ccache for next builds
  • appveyor.yml: add after_build stage to report ccache stats
  • NEWS, docs/nut.dict: NEWS: Proclaim AppVeyor CI tests of NUT for Windows [#1552]
  • ci_build.sh: clarify report of "Using ccache via PATH…"
  • appveyor.yml: Assorted stats: "du" just the MSYS tree, without looking in other filesystems like /proc
  • appveyor.yml: dispose of "ps" in favor of "cmd" to invoke MSYS2 shell scripts (too much hassle with wording on stderr)

2.397. 2022-08-17 Jim Klimov <jimklimov@gmail.com>

  • appveyor.yml: no time! No time: it outputs /\^sys/ - fatal for powershell (or appveyor?) console scanner
  • appveyor.yml: try harder to avoid AppVeyor/Powershell induced faults
  • appveyor.yml: try to avoid AppVeyor/PowerShell complaints about presence of stderr output

2.398. 2022-08-17 Jim Klimov <jimklimov+nut@gmail.com>

  • appveyor.yml: pre-create /var/cache/pacman/pkg on newly made workers [#1552]
  • appveyor.yml: Only cache packages with appveyor.yml [#1552]
  • appveyor.yml: Introduce appveyor.yml to automate NUT for Windows builds [#1552]

2.399. 2022-08-16 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS: fall back to /usr/local/… if libltdl was not found by default [#1577]
  • m4/nut_check_libltdl.m4: fall back to /usr/local/… if no custom CFLAGS were specified and libltdl was not found by default [#1577]

2.400. 2022-08-14 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: consider --with-nut-scanner option [#1560]
  • docs/packager-guide.txt: add suggestions for nut-scanner [#1560]

2.401. 2022-08-16 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/module/README: typo fix
  • scripts/python/module/README: document GetUPSNames() [#746, #549]
  • scripts/python/module/README: clarify about "str" vs "byte" strings (hassle of Python 3) [#746]

2.402. 2022-08-15 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/module/PyNUT.py.in: refactor with GetUPSNames() for py2/py3 compatibility [#549, #746]
  • scripts/python/module/PyNUT.py.in: fix exception in SetRWVar(): strip EOL
  • tests/NIT/nit.sh: rearrange handling (and messaging) for DEBUG_SLEEP

2.403. 2022-08-13 Jim Klimov <jim@jimklimov.com>

  • NEWS, docs/nut.dict: NEWS: client/nutclient{,mem}.{cpp,h}: add listDeviceClients() and deviceGetClients(dev)
  • tests/cpputest-client.cpp: cover device login and getting list of clients
  • clients/nutclient.cpp, clients/nutclient.h, clients/nutclientmem.cpp, clients/nutclientmem.h: client/nutclient{,mem}.{cpp,h}: add listDeviceClients() and deviceGetClients(dev)

2.404. 2022-08-12 Jim Klimov <jim@jimklimov.com>

  • docs/net-protocol.txt: typo fix "LIST CLIENTS" ⇒ "LIST CLIENT" [#549]
  • NEWS, docs/nut.dict: NEWS: report fixed PyNUT::ListClients() [#549] and added DeviceLogin()
  • scripts/python/module/test_nutclient.py.in: report end of script aka PyNUT instance teardown
  • tests/NIT/nit.sh: test python DeviceLogin() and ListClients() methods with upsmon-role credentials
  • scripts/python/module/PyNUT.py.in: extend PASSWORD handling for values with spaces
  • scripts/python/module/test_nutclient.py.in: add DeviceLogin() method
  • scripts/python/module/README: add DeviceLogin() method
  • scripts/python/module/PyNUT.py.in: add DeviceLogin() method
  • scripts/python/module/PyNUT.py.in: bump version for fixed ListClients()
  • scripts/python/module/test_nutclient.py.in: confirm that ListClients() fails for unknown device
  • scripts/python/module/test_nutclient.py.in: report more visibly if we have a real result or an exception
  • scripts/python/module/test_nutclient.py.in: test ListClients() [#549]
  • scripts/python/module/PyNUT.py.in: fix ListClients() * to call the right protocol command Closes: #549 * handle the begin/end messages correctly to work at all * make ListClients() usable with "ups==None" * parse "CLIENT ups host" in correct order

2.405. 2022-08-14 Jim Klimov <jim@jimklimov.com>

  • scripts/python/app/NUT-Monitor-py3qt5.in: fix __find_icon_file()… …to look also for package-installed icons (in OS location) Thanks to @Perlovka for noticing and proposing a fix, and to @lukejr for confirming it as correct. Closes: #1567
  • scripts/Solaris/nut-driver.xml.in, scripts/Solaris/nut-server.xml.in, scripts/Solaris/svc-nut-server.in: scripts/Solaris/nut-server*, nut-driver.xml: create NUT_RUN_DIR before starting the driver (e.g. at boot) [#1564]
  • configure.ac, scripts/Solaris/Makefile.am: introduce WITH_SOLARIS_INIT and depend WITH_SOLARIS_SMF on whether we want packaging for Solaris/illumos [#1554]
  • NEWS: update for Solaris/illumos packaging and SMF service support [#1554, #1564]

2.406. 2022-08-14 Jim Klimov <jimklimov+nut@gmail.com>

  • UPGRADING: recommend packagers to "configure --with-all" by default
  • NEWS, UPGRADING: announce "configure --with-nut-scanner" [#1560]
  • configure.ac, tools/nut-scanner/Makefile.am: configure.ac: add --with-nut-scanner (also as part of --with-all) Closes: #1560
  • m4/nut_arg_with.m4: escape dashes into underscores for valid shell var names
  • configure.ac: clarify --with-all help message

2.407. 2022-08-14 Jim Klimov <jimklimov@gmail.com>

  • NEWS: snmp-ups updated for invalid negative values [#1558]

2.408. 2022-08-14 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/config-prereqs.txt: mention that "MinGW UCRT x64" environment seems to also work for NUT builds
  • docs/man/usbhid-ups.txt: update with known illumos support
  • docs/man/usbhid-ups.txt: add a toggle to disable_fix_report_desc [#1566]
  • drivers/apc-hid.c, drivers/cps-hid.c, drivers/usbhid-ups.c, drivers/usbhid-ups.h: usbhid-ups, cps-hid, apc-hid: add a toggle to disable_fix_report_desc [#1566]
  • NEWS: openssl-3.0.x supported with openssl-1.1.0 support code from NUT v2.8.0 [#1547]
  • include/common.h: update comments to document TYPE_FD* macros [#1556]
  • drivers/dstate.c: whitespace and typo fixes (cosmetic) [#1556]
  • UPGRADING: document changes for TYPE_FD* in headers (Windows branch) [#1556]
  • clients/upssched.c: start_daemon(): firther refactor to simplify code [#1556]
  • INSTALL.nut: refer to GitHub project regarding NUT for Windows [#5]

2.409. 2022-08-12 Jim Klimov <jimklimov+nut@gmail.com>

  • include/common.h, server/nut_ctype.h, server/stype.h, server/upsd.c: Introduce also TYPE_FD_SOCK for sockets [#1556]
  • clients/upssched.c, clients/upssched.h, common/common.c, drivers/apcsmart.c, drivers/belkinunv.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dstate.c, drivers/dstate.h, drivers/dummy-ups.c, drivers/libshut.c, drivers/main.c, drivers/main.h, drivers/serial.c, include/common.h, server/sstate.c, server/sstate.h, server/stype.h, server/upsd.c, server/upstype.h, tools/nut-scanner/scan_eaton_serial.c: Refactor TYPE_FD [#1556]

2.410. 2022-08-12 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/ietf-mib.c: snmp-ups: flag invalid negative values for IETF MIB

2.411. 2022-08-12 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/serial.c: refactor ser_set_*() and ser_get_*() to define once, implement per target (WIN32 or not)
  • include/common.h: separate definitions of TYPE_FD, ERROR_FD, VALID_FD() macros for usual file descriptors vs. types for serial port work [#1556]
  • common/common.c, drivers/belkinunv.c, drivers/libhid.h, drivers/libshut.h, drivers/serial.c, drivers/serial.h, include/common.h, server/upsd.c, tools/nut-scanner/scan_eaton_serial.c: Rename platform-abstracted serial/SHUT file descriptor macro TYPE_FD ⇒ TYPE_FD_SER [#1556]
  • server/upsd.c: ups_available(): fix reporting "Data stale" for an UPS that never connected (WIN32 only) [#1477]
  • server/upsd.c: mainloop(): report that we retry connecting to driver socket and what the outcome was (at all - WIN32)
  • server/upsd.c: mainloop(): report that we retry connecting to driver socket and what the outcome was more clearly
  • drivers/serial.c: convert from ERROR_FD equality to !VALID_FD()
  • tools/nut-scanner/scan_xml_http.c: fix whitespace
  • tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_snmp.c: ifdef-scope nut_usb_get_busses() vs nut_usb_busses for WIN32 or not
  • tools/nut-scanner/scan_eaton_serial.c: convert from ERROR_FD equality to VALID_FD()

2.412. 2022-08-11 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/nutscan-ip.h: fix type of include file/markup
  • server/upsd.c: fix whitespace
  • server/sstate.c: fix whitespace
  • drivers/belkinunv.c: convert from ERROR_FD equality to !VALID_FD()
  • drivers/apcsmart.c: convert from ERROR_FD equality to !VALID_FD()
  • INSTALL.nut: clarify that currently Win32 packages are not made regularly
  • common/snprintf.c: whitespace fix

2.413. 2022-07-29 Jim Klimov <jimklimov+nut@gmail.com>

  • .gitignore: GitIgnore configure-script test sources
  • .gitignore: GitIgnore coredumps

2.414. 2022-08-11 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: fix whitespace
  • configure.ac: initially set LIBREGEX_LIBS="" so it is defined
  • scripts/Windows/README: document current (unfinished) prerequisite cross-build for avahi
  • common/common.c: allow to find libraries via PATH (WIN32 only) [#1482]

2.415. 2022-08-10 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/README: uncomment iconv as useful for libgd directly
  • scripts/Windows/README: document hiccup with libgd in 32-bit mode
  • scripts/Windows/build-mingw-nut.sh: export valid CXX for good measure
  • scripts/Windows/README: move net-snmp instruction to be after openssl, to take advantage of its presence
  • scripts/Windows/README: clarify that xmlto (asciidoc) is needed for full libneon build, or how to skip installing docs
  • scripts/Windows/README: un-hide xz and libxml2 (needed for libneon) instructions
  • scripts/Windows/build-mingw-nut.sh: install WIN32 libs near relevant executable after all [#1482]

2.416. 2022-08-09 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Solaris/Makefile.am: do not install Solaris init files uninvited [#1488]

2.417. 2022-08-10 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: Update docs/nut.dict
  • NEWS: changed get_libname() behavior and extended use-case in nut-scanner for NUT v2.8.1
  • docs/nut.dict: Update docs/nut.dict
  • tools/nut-scanner/nutscan-init.c: fallback to plain "libusb" in either case (0.1 or 1.0 not found)
  • tools/nut-scanner/nutscan-init.c: fall back to nutscan_load_*() unresolved paths to library names, native implem of lt_dlopen() may do a better job [#805]

2.418. 2022-06-09 Jim Klimov <jimklimov@gmail.com>

  • tools/nut-scanner/nutscan-init.c: define SOEXT (shared object file extension) as a macro

2.419. 2022-08-10 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: get_libname(): prefer LD_LIBRARY_PATH_(32\|64) firstmost [#805]
  • common/common.c: get_libname(): prefer LD_LIBRARY_PATH first [#805]
  • common/common.c: fix whitespace
  • NEWS: changed get_libname() behavior and extended use-case in nut-scanner for NUT v2.8.1
  • tools/nut-scanner/nutscan-init.c: fall back to nutscan_load_*() unresolved paths to library names, native implem of lt_dlopen() may do a better job [#805] - for WIN32
  • tools/nut-scanner/nutscan-init.c: fall back to nutscan_load_*() unresolved paths to library names, native implem of lt_dlopen() may do a better job [#805]
  • tools/nut-scanner/nutscan-init.c: fallback to plain "libusb" in either case (0.1 or 1.0 not found)
  • scripts/Windows/build-mingw-nut.sh: we now allow to find libraries near the current NUT executable (../lib) on WIN32, so install all third-party deps there once [#1482]
  • common/common.c, include/common.h: common/common.c: allow to find libraries near the current NUT executable (../lib) on WIN32 with PATH_LIB [#1482]
  • common/common.c: allow to find libraries near the current NUT executable (../lib) on WIN32 [#1482]
  • common/common.c: get_libname(): prefer LD_LIBRARY_PATH_(32\|64) firstmost [#805]
  • common/common.c: get_libname(): prefer LD_LIBRARY_PATH first [#805]

    • for WIN32 (with ";" separator)
  • common/common.c: get_libname(): prefer LD_LIBRARY_PATH first [#805]
  • common/common.c: fix whitespace

2.420. 2022-08-09 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/build-mingw-nut.sh: typo fix
  • Jenkinsfile-dynamatrix: allow 32-bit builds for cross-windows-mingw-32
  • scripts/Solaris/Makefile.am: fix automake conditional syntax
  • clients/upssched.c: avoid type comparison warnings on 32-bit WIN32 builds [#1478]
  • common/strptime.c: avoid type range limit warnings on 31-bit builds
  • scripts/Windows/build-mingw-nut.sh: implement recursive find-and-copy of DLLs needed by NUT binaries into the nut_install tree [#1492]
  • scripts/Solaris/Makefile.am: do not install Solaris init files uninvited [#1488]
  • scripts/Windows/README: rearrange chapter on building NUT itself; mention ci_build.sh integration
  • scripts/Windows/README: document cross-building openssl for NUT and for libneon
  • scripts/Windows/README: clarify build vs install of zlib(-devel)
  • scripts/Windows/README: keep two blank lines between component-recipe chapters

2.421. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: fix word order
  • clients/upsmon.c: comment "use_pipe"
  • clients/upssched.c: sendcmd(): fix "pipefd" definition formatting Minimize diffs vs. Windows branch
  • common/common.c: update formatting and comments Minimize diffs vs. Windows branch
  • common/snprintf.c: comment #endif HAVE_* reasons
  • docs/man/ups.conf.txt: formatting fix (line per sentence)

2.422. 2022-07-29 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/scan_xml_http.c: fix some comments and whitespace
  • tools/nut-scanner/scan_usb.c: fix some comments and whitespace
  • tools/nut-scanner/scan_snmp.c: fix some comments
  • tools/nut-scanner/scan_nut.c: fix some whitespace
  • tools/nut-scanner/scan_ipmi.c: fix some whitespace
  • tools/nut-scanner/scan_avahi.c: fix some whitespace
  • tools/nut-scanner/nutscan-serial.c: fix some whitespace
  • server/upsd.c: fix some whitespace
  • include/str.h: fix some whitespace

2.423. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/usbhid-ups.c: fix some whitespace
  • drivers/snmp-ups.c: fix some whitespace
  • drivers/libshut.c: fix whitespace
  • drivers/libhid.h: fix whitespace
  • drivers/isbmex.c: fix whitespace
  • drivers/genericups.c: drop blank line
  • drivers/clone-outlet.c: fix some whitespace
  • drivers/blazer_usb.c: adjust whitespace

2.424. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsmon.c: main(): fix "cmd" definition formatting Minimize differences vs. Windows branch
  • clients/upsmon.c: fix some whitespace
  • clients/upsclient.c: fix some whitespace

2.425. 2022-08-01 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: testcase_upsd_allow_no_device(): noisy listing should not be default At least, it is likely the root cause of faults was the busy NUT_PORT and not some missing content in the config file, after all.

2.426. 2022-08-01 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/mge-mib.c: Fix case for EATON manufacturer This must be upper case to avoid duplicate discoveries Closes: IPMPROG-4489 (cherry picked from commit a10f5967154e6c6d2dfa53975de6f874b9966804)

2.427. 2022-07-30 Jim Klimov <jimklimov@gmail.com>

  • tests/NIT/nit.sh: isBusy_NUT_PORT() should not block tests when /proc/net/tcp{,6} is usable and says port is free
  • tests/NIT/nit.sh: isBusy_NUT_PORT() should not block tests when tools to check occupied ports are not available
  • tests/NIT/nit.sh: consult isBusy_NUT_PORT() to pick an available port
  • tests/NIT/nit.sh: add isBusy_NUT_PORT()
  • tests/NIT/nit.sh: typo fix in report_NUT_PORT()
  • tests/NIT/nit.sh: troubleshoot testcase_upsd_allow_no_device() - tell exit-code of upsd
  • tests/NIT/nit.sh: troubleshoot testcase_upsd_allow_no_device()
  • server/upsd.c: report "Found %d UPS defined in ups.conf" upon start

2.428. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsmon.c, clients/upssched.c, common/common.c, common/parseconf.c, include/common.h: Refactor fcntl(…, FD_CLOEXEC) as set_close_on_exec() where possible

2.429. 2022-06-16 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/blazer_usb.c, drivers/libshut.h, drivers/nut_libusb.h, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usbhid-ups.c: drivers/libusb.h, libshut.h, nutdrv_qx et al: rename *_communication_subdriver_s fields for function pointers "open" and "close" to "*_dev" - to avoid conflict with serial.h macros for WIN32 builds

2.430. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/generic_modbus.c: switch from non-standard "uint" to "uint16_t" (per context) which we do define
  • drivers/adelsystem_cbi.c: switch from non-standard "uint" to "uint16_t" (per context) which we do define

2.431. 2014-03-04 Emilien Kia <EmilienKia@Eaton.com>

  • clients/upsmon.h: Define a NOTIFY_DEFAULT flag, use it to initialize upsmon. (Part of change for Windows branch, to minimize differences with master) Also fixes NOTIFY_CAL to have same settings as everyone else.

2.432. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/adelsystem_cbi.c, drivers/adelsystem_cbi.h: drivers/adelsystem_cbi.{c,h}: avoid macro clash with WIN32 DEVICE_TYPE

2.433. 2022-06-16 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/tripplitesu.c: rename SHUTDOWN_* to TSU_SHUTDOWN_* to avoid WIN32 macro conflicts

2.434. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/mge-xml.c, drivers/netxml-ups.c, drivers/netxml-ups.h, drivers/nutdrv_qx.c, drivers/nutdrv_qx.h, drivers/nutdrv_qx_bestups.c, drivers/usbhid-ups.c, drivers/usbhid-ups.h: drivers/*.{h,c}: rename "CAL" in enums to "CALIB" to avoid name clash in WIN32 builds

2.435. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: refactor get_libname() so new get_libname_in_dir() may be used not only to loop search_paths[]

2.436. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: check for existence of realpath()

2.437. 2022-07-29 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/al175.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c, drivers/gamatronic.c, drivers/optiups.c, drivers/powercom.c, drivers/powerp-bin.c, drivers/powerp-txt.c, drivers/snmp-ups.c, drivers/tripplite_usb.c, drivers/upsdrvctl.c, server/netssl.c, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: Fix "%j*" and "%z*" printing to PRI[xidu](SIZE\|MAX): avoid dangling "" concatenation in format strings

2.438. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • include/nut_stdint.h: be consistent - define PRI[di] (both) for MAX and SIZE

2.439. 2022-05-26 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/belkin.c, drivers/bestups.c, drivers/huawei-ups2000.c, drivers/ivtscd.c, drivers/libshut.h, drivers/masterguard.c, drivers/nutdrv_qx_masterguard.c, drivers/oneac.c, drivers/optiups.c, drivers/powerp-txt.c, drivers/rhino.c, drivers/tripplitesu.c, drivers/usbhid-ups.c: drivers: fix headers to printf with PRIuSIZE formatting token

2.440. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/nutclient.cpp, clients/upsclient.c, common/common.c, drivers/libhid.c, drivers/libusb1.c, drivers/main.c, drivers/nutdrv_siemens_sitop.c, drivers/upscode2.c, include/nut_stdint.h, server/upsd.c, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/scan_xml_http.c: Fix "%ji", "%jd" and "%ju" printing to PRI[du]MAX

2.441. 2022-05-24 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsc.c, clients/upsclient.c, clients/upscmd.c, clients/upsmon.c, clients/upsrw.c, clients/upssched.c, clients/upsset.c, common/common.c, drivers/al175.c, drivers/apcsmart.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c, drivers/belkin.c, drivers/bestfortress.c, drivers/bestups.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dstate.c, drivers/dummy-ups.c, drivers/gamatronic.c, drivers/huawei-ups2000.c, drivers/isbmex.c, drivers/ivtscd.c, drivers/libhid.c, drivers/libshut.c, drivers/libusb0.c, drivers/libusb1.c, drivers/liebert-esp2.c, drivers/masterguard.c, drivers/metasys.c, drivers/mge-utalk.c, drivers/microsol-common.c, drivers/netxml-ups.c, drivers/nutdrv_qx.c, drivers/nutdrv_qx_masterguard.c, drivers/nutdrv_siemens_sitop.c, drivers/oneac.c, drivers/optiups.c, drivers/powercom.c, drivers/powerp-bin.c, drivers/powerp-txt.c, drivers/rhino.c, drivers/snmp-ups.c, drivers/solis.c, drivers/tripplite.c, drivers/tripplite_usb.c, drivers/tripplitesu.c, drivers/upscode2.c, drivers/upsdrvctl.c, include/nut_stdint.h, server/netssl.c, server/sockdebug.c, server/upsd.c, tests/getvaluetest.c, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: Fix "%zx", "%zd", "%zi" and "%zu" printing to PRI[xiu]SIZE that is named more standards-like

2.442. 2022-07-29 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/al175.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c, drivers/gamatronic.c, drivers/optiups.c, drivers/powercom.c, drivers/powerp-bin.c, drivers/powerp-txt.c, drivers/snmp-ups.c, drivers/tripplite_usb.c, drivers/upsdrvctl.c, server/netssl.c, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: Fix "%j*" and "%z*" printing to PRI[xidu](SIZE\|MAX): avoid dangling "" concatenation in format strings
  • tools/nut-scanner/scan_xml_http.c: fix some comments and whitespace
  • tools/nut-scanner/scan_usb.c: move "Clear any existing error" up where it makes sense
  • tools/nut-scanner/scan_usb.c: fix some comments and whitespace
  • tools/nut-scanner/scan_snmp.c: fix some comments
  • tools/nut-scanner/scan_nut.c: fix some whitespace
  • tools/nut-scanner/scan_ipmi.c: fix some whitespace
  • tools/nut-scanner/scan_avahi.c: fix some whitespace
  • tools/nut-scanner/nutscan-serial.c: fix some whitespace
  • server/upsd.c: fix some whitespace
  • server/netssl.c: typo fixes "inialize" ⇒ "initialize", and some whitespace

2.443. 2022-05-20 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/halt.c: mark some NUT_UNUSED_VARIABLEs

2.444. 2022-06-14 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/ax_c_pragmas.m4: avoid strcasestr() which is not ubiquitous

2.445. 2022-07-29 Jim Klimov <jimklimov+nut@gmail.com>

  • include/str.h: fix some whitespace

2.446. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/usbhid-ups.c: fix some whitespace

2.447. 2022-06-16 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/tripplitesu.c: rename SHUTDOWN_* to TSU_SHUTDOWN_* to avoid WIN32 macro conflicts

2.448. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/snmp-ups.h: be sure to include "nut_stdint.h"

2.449. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/snmp-ups.c: fix some whitespace
  • drivers/serial.h: include "common.h" for possibly fallback suseconds_t

2.450. 2022-05-20 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/serial.h: include config.h first

2.451. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/mge-xml.c, drivers/netxml-ups.c, drivers/netxml-ups.h, drivers/nutdrv_qx.c, drivers/nutdrv_qx.h, drivers/nutdrv_qx_bestups.c, drivers/usbhid-ups.c, drivers/usbhid-ups.h: drivers/*.{h,c}: rename "CAL" in enums to "CALIB" to avoid name clash in WIN32 builds

2.452. 2014-02-20 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/mge-hid.c: Fix "no OFF status in "ups.status" although UPS is switched off" and "OB status in "ups.status" although power supply is present" in mge-hid driver. Fix problem up from Schleicher.

2.453. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/libshut.c: fix whitespace
  • drivers/libhid.h: fix whitespace
  • drivers/isbmex.c: fix whitespace
  • drivers/genericups.c: drop blank line

2.454. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/generic_modbus.c: switch from non-standard "uint" to "uint16_t" (per context) which we do define

2.455. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/dummy-ups.c: update comments

2.456. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/dstate.c: rename (arg_)extrafd to not shadow a global var name

2.457. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/clone-outlet.c: fix some whitespace
  • drivers/blazer_usb.c: adjust whitespace

2.458. 2022-06-16 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/blazer_usb.c, drivers/libshut.h, drivers/nut_libusb.h, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usbhid-ups.c: drivers/libusb.h, libshut.h, nutdrv_qx et al: rename *_communication_subdriver_s fields for function pointers "open" and "close" to "*_dev" - to avoid conflict with serial.h macros for WIN32 builds

2.459. 2022-06-18 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/apcupsd-ups.c: align fcntl() error-checking with upsd.c precedent

2.460. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/adelsystem_cbi.c: switch from non-standard "uint" to "uint16_t" (per context) which we do define
  • drivers/adelsystem_cbi.c, drivers/adelsystem_cbi.h: drivers/adelsystem_cbi.{c,h}: avoid macro clash with WIN32 DEVICE_TYPE

2.461. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: fix word order
  • docs/man/ups.conf.txt: formatting fix (line per sentence)
  • configure.ac: typo fix (cosmetic)

2.462. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • common/strerror.c: include stdio.h for snprintf()
  • common/strerror.c: avoid build error if EDEADLK==EDEADLOCK

2.463. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • common/snprintf.c: comment #endif HAVE_* reasons

2.464. 2022-05-26 Jim Klimov <jimklimov+nut@gmail.com>

  • include/proto.h, common/setenv.c: be sure to include "config.h"

2.465. 2022-05-24 Jim Klimov <jimklimov+nut@gmail.com>

  • common/parseconf.c: include "config.h" first

2.466. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: refactor get_libname() so new get_libname_in_dir() may be used not only to loop search_paths[]

2.467. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: check for existence of realpath()

2.468. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: refactor confpath() and dflt_statepath()
  • common/common.c: check_unix_socket_filename(): optimize use of len and max
  • common/common.c: update formatting and comments Minimize diffs vs. Windows branch

2.469. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • common/atexit.c: mark NUT_UNUSED_VARIABLE if we !HAVE_ON_EXIT

2.470. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upssched.c: sendcmd(): fix "pipefd" definition formatting Minimize diffs vs. Windows branch
  • clients/upsmon.c: main(): fix "cmd" definition formatting Minimize differences vs. Windows branch
  • clients/upsmon.c: comment "use_pipe"
  • clients/upssched.c: clients/upssched.c send_to_one(): reword message for "write failed … disconnecting"

2.471. 2014-03-04 Emilien Kia <EmilienKia@Eaton.com>

  • clients/upsmon.h: Define a NOTIFY_DEFAULT flag, use it to initialize upsmon. (Part of change for Windows branch, to minimize differences with master) Also fixes NOTIFY_CAL to have same settings as everyone else.

2.472. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsmon.c: fix some whitespace

2.473. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsmon.c, clients/upssched.c, common/common.c, common/parseconf.c, include/common.h: Refactor fcntl(…, FD_CLOEXEC) as set_close_on_exec() where possible

2.474. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsclient.c: fix some whitespace

2.475. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • include/nut_stdint.h: be consistent - define PRI[di] (both) for MAX and SIZE

2.476. 2022-05-26 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/belkin.c, drivers/bestups.c, drivers/huawei-ups2000.c, drivers/ivtscd.c, drivers/libshut.h, drivers/masterguard.c, drivers/nutdrv_qx_masterguard.c, drivers/oneac.c, drivers/optiups.c, drivers/powerp-txt.c, drivers/rhino.c, drivers/tripplitesu.c, drivers/usbhid-ups.c: drivers: fix headers to printf with PRIuSIZE formatting token

2.477. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/nutclient.cpp, clients/upsclient.c, common/common.c, drivers/libhid.c, drivers/libusb1.c, drivers/main.c, drivers/nutdrv_siemens_sitop.c, drivers/upscode2.c, include/nut_stdint.h, server/upsd.c, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/scan_xml_http.c: Fix "%ji", "%jd" and "%ju" printing to PRI[du]MAX

2.478. 2022-05-24 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsc.c, clients/upsclient.c, clients/upscmd.c, clients/upsmon.c, clients/upsrw.c, clients/upssched.c, clients/upsset.c, common/common.c, drivers/al175.c, drivers/apcsmart.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c, drivers/belkin.c, drivers/bestfortress.c, drivers/bestups.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dstate.c, drivers/dummy-ups.c, drivers/gamatronic.c, drivers/huawei-ups2000.c, drivers/isbmex.c, drivers/ivtscd.c, drivers/libhid.c, drivers/libshut.c, drivers/libusb0.c, drivers/libusb1.c, drivers/liebert-esp2.c, drivers/masterguard.c, drivers/metasys.c, drivers/mge-utalk.c, drivers/microsol-common.c, drivers/netxml-ups.c, drivers/nutdrv_qx.c, drivers/nutdrv_qx_masterguard.c, drivers/nutdrv_siemens_sitop.c, drivers/oneac.c, drivers/optiups.c, drivers/powercom.c, drivers/powerp-bin.c, drivers/powerp-txt.c, drivers/rhino.c, drivers/snmp-ups.c, drivers/solis.c, drivers/tripplite.c, drivers/tripplite_usb.c, drivers/tripplitesu.c, drivers/upscode2.c, drivers/upsdrvctl.c, include/nut_stdint.h, server/netssl.c, server/sockdebug.c, server/upsd.c, tests/getvaluetest.c, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: Fix "%zx", "%zd", "%zi" and "%zu" printing to PRI[xiu]SIZE that is named more standards-like

2.479. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • autogen.sh: suggest how to re-checkout workspace with desired EOL settings

2.480. 2022-07-24 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/README: try to link net-snmp shared (does not help though)
  • scripts/Windows/README: document the mess of static-only netsnmp builds
  • m4/nut_check_libnetsnmp.m4: if we fail to find init_snmp() on mingw, retry with static-linking assumption for net-snmp
  • ci_build.sh: be sure to use fresh configure script for cross-mingw builds too
  • ci_build.sh: fix indentation

2.481. 2022-07-23 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/README: document libmodbus
  • scripts/Windows/build-mingw-nut.sh: propagate correct PKG_CONFIG_PATH
  • scripts/Windows/build-mingw-nut.sh: avoid installing augeas lenses into system location autoconf fudges paths for DESTDIR if they are there
  • scripts/Windows/README: document latest state of experiment with fontconfig for libgd (fails due to ICU so far)
  • scripts/Windows/README: update libgd build with freetype prerequisites
  • scripts/Windows/README: suggest ccache
  • scripts/Windows/README: update libgd build with zlib and libpng prerequisites
  • scripts/Windows/README: update with libgd build
  • scripts/Windows/README: update some more comments

2.482. 2022-07-22 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/README: reference mailing list details from 2016 about more prereq builds
  • scripts/Windows/README: update setting envvars for prereq builds
  • scripts/Windows/README: update some notes

2.483. 2022-07-23 Yifeng Li <tomli@tomli.me>

  • drivers/huawei-ups2000.c: huawei-ups2000.c: rename NULL macros, close #1474. Originally, in the struct array ups2000_cmd[], a REG_NONE macro was used as a short-hand for a nonexistent register value. Unfortunately it was in conflict with a Windows NT macro of the same name (previously not found because it was only tested on Unix systems). Thus, this commit renames it to REG_NULL. To avoid visual confusions with the function pointer field (which also uses C’s NULL for its nonexistence), this commit also replaces it with a new macro FUNC_NULL, which is a simple alias to C’s NULL. It’s not exactly the best practice, a "UPS2000_" prefix should’ve been used in principle. However, using it in this case creates exceedingly long lines and makes the struct array definition more difficult to read, which defeats the very purpose of defining these macros to begin with. Considering that it’s only an one-off use, it’s unlikely to cause further problems.

2.484. 2022-07-22 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: stop_daemons() before exit-handling to not cause end-of-life error code
  • tests/NIT/nit.sh: stop_daemons(): forget daemon PIDs to avoid mix-ups
  • tests/NIT/nit.sh: stop_daemons(): do not trigger an error by term/exit code from stopped daemons

2.485. 2022-07-21 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: when starting UPSD, log_debug() which PID_UPSD we track (troubleshoot)
  • tests/NIT/nit.sh: in stop_daemons() wait for killed daemons to return an exit-code
  • tests/NIT/nit.sh: introduce best-effort report_NUT_PORT() to where we fail if UPSD is not running

2.486. 2022-07-22 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/build-mingw-nut.sh: avoid installing PyNUT into OS paths while testing

2.487. 2022-07-21 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: when starting UPSD, log_debug() which PID_UPSD we track (troubleshoot)
  • tests/NIT/nit.sh: in stop_daemons() wait for killed daemons to return an exit-code
  • tests/NIT/nit.sh: introduce best-effort report_NUT_PORT() to where we fail if UPSD is not running

2.488. 2022-07-21 Jim Klimov <jimklimov@gmail.com>

  • ci_build.sh: log BITS* vars
  • ci_build.sh: cross-windows-mingw: guess bitness from *FLAGS if no BITS are exported explicitly
  • scripts/Windows/build-mingw-nut.sh: avoid concatenating *FLAGS into invalid strings
  • ci_build.sh: log BITS* vars

2.489. 2022-07-20 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: log ARCH* vars

2.490. 2022-07-19 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: testcase_sandbox_start_upsd_after_drivers(): avoid hardcoded wait time in favor of more flexibility
  • tests/NIT/nit.sh: testcase_upsd_allow_no_device(): avoid hardcoded wait time in favor of more flexibility
  • Makefile.am: make distcheck should test installability of NUT-Monitor and PyNUT (even if as a co-bundle)
  • scripts/python/.gitignore: GitIgnore scripts/python/NUT-Monitor wrapper if generated
  • configure.ac: only require --with-pynut from --with-all (if Python is detected); do not require --with-nut_monitor (GUI) here
  • ci_build.sh: do not choke on absence of desktop-related modules in Python - just install (no fatal sanity check)
  • ci_build.sh: do not choke on absence of desktop-related modules in Python
  • m4/nut_check_python.m4: use better portable quoting

2.491. 2022-07-17 Jim Klimov <jimklimov@gmail.com>

  • scripts/python/Makefile.am, scripts/python/app/README: scripts/python: distribute and reference from README the screenshots from NUT-Monitor site
  • NEWS, UPGRADING, configure.ac, scripts/python/Makefile.am: configure.ac, scripts/python/Makefile.am: handle make install for NUT-Monitor and/or PyNUT [#1462]
  • m4/nut_check_python.m4: avoid square brackets, m4 interpreter makes them difficult
  • m4/nut_check_python.m4: discover site-packages location for discovered interpreter(s)
  • scripts/python/Makefile.am: distribute the module/README
  • scripts/python/module/README: Update scripts/python/module/README as of NUT v2.8.0 release
  • scripts/python/module/README: Add scripts/python/module/README This is a rough translation of https://www.lestat.st/informatique/projets/pynut Pardon my French ;)
  • scripts/python/app/screenshots/nut-monitor-1.png, scripts/python/app/screenshots/nut-monitor-2.png, scripts/python/app/screenshots/nut-monitor-3.png: Add scripts/python/app/screenshots from original project wiki
  • scripts/python/app/nut-monitor.appdata.xml: update localization info
  • scripts/python/Makefile.am: Revert "scripts/python/Makefile.am: EXTRA_DIST the app/ui/gui-1.3.glade.h sources" This reverts commit d2ede1a4d5d0e89eae31d931818570772895b325. Not sure ATM what the file is actually for, who uses or generates it.
  • scripts/python/Makefile.am: EXTRA_DIST the app/ui/gui-1.3.glade.h sources
  • scripts/python/Makefile.am: EXTRA_DIST the translation sources
  • scripts/python/Makefile.am: EXTRA_DIST the Russian translation (follow-up for #806)
  • scripts/python/Makefile.am: refactor file-set variable naming to facilitate both EXTRA_DIST and make install
  • Makefile.am: EXTRA_DIST autogen.sh since we have other bits to regenerate the configure script anyway
  • scripts/python/Makefile.am: EXTRA_DIST the "dispatcher" script and applet manifest Regression in #1354 for NUT v2.8.0 release Closes: #1462

2.492. 2022-07-19 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: fix back the CMDERR handling

2.493. 2022-07-18 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: convert many tests that did OUT="upsc ..." to runcmd()
  • tests/NIT/nit.sh: testcase_sandbox_start_drivers_after_upsd(): report what was received from upsc query as device data
  • tests/NIT/nit.sh: runcmd(): set defaults for RUNCMD_QUIET_ERR and RUNCMD_QUIET_OUT, and avoid printing a blank line when there is nothing captured in the string
  • tests/NIT/nit.sh: testcase_upsd_allow_no_device(): use runcmd() to retry connection hiccups
  • tests/NIT/nit.sh: introduce runcmd()

2.494. 2022-07-18 Jim Klimov <jimklimov@gmail.com>

  • tests/NIT/nit.sh: testcase_sandbox_start_drivers_after_upsd(): log_warn() if we had to wait for a driver to become usable

2.495. 2022-07-18 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: report which NUT_PORT was used in "upsc" failed queries (help catch conflicting test runs)
  • tests/NIT/nit.sh: account FAILED_FUNCS to help troubleshoot the test script (or tested code)
  • tests/NIT/nit.sh: testcase_sandbox_start_drivers_after_upsd(): wait longer for driver start (and valid upsc response)
  • tests/NIT/nit.sh: log the exit-code of "upsc" failed queries
  • tests/NIT/nit.sh: report which NUT_PORT we started with

2.496. 2022-07-18 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update docs/nut.dict
  • docs/nut.dict: Update docs/nut.dict
  • NEWS: fixed man-page building for single-driver builds fixes a regression of NUT 2.8.0

2.497. 2022-07-17 Jim Klimov <jimklimov@gmail.com>

  • NEWS, configure.ac, docs/man/Makefile.am: configure.ac, docs/man/Makefile.am: fix man-page building when just a few drivers are built by name Regression for custom-builders in NUT 2.8.0 release Closes: #1467
  • NEWS: prioritize NUT v2.8.1 release as a regression-fixer for 2.8.0 (move not-urgent "expected" work to 2.8.2 tentatively)
  • NEWS: fix usbhid-ups reaction to libusb ENOMEM in NUT v2.8.0 [#1422]
  • NEWS: fix regression in dummy-ups for some platforms in NUT v2.8.0 [#1420]
  • NEWS: stop/restart drivers more aggressively in NUT v2.8.1 [#1424]
  • docs/config-prereqs.txt: update libusb availability note for OmniOS
  • NEWS: device support for huawei-ups2000 improved in NUT v2.8.1 [#1448]
  • NEWS: fix regression in cyberpower-mib tables in NUT v2.8.0 [#1432]
  • NEWS: report-desc fix for cps-hid 0x0601 [#1497]
  • NEWS: regression fix for upscode in 2.8.0 release [#1495, #1455]

2.498. 2022-07-14 Austin Sabel <austin.sabel@gmail.com>

  • drivers/cps-hid.c: apply report fix to model CP1500PFCLCDa

2.499. 2022-07-14 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upssched.c: wrap call to signal(SIGALRM, SIG_IGN) with pragmas to ignore "-Wstrict-prototypes" (some platform headers do not declare SIG_IGN as a function prototype)

2.500. 2022-07-14 Jim Klimov <jimklimov@gmail.com>

  • common/common.c: allow to use NUT_ALTPIDPATH envvars also on Windows (with similar logic for NUT_STATEPATH fallback)

2.501. 2022-07-14 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/Makefile.am: revise use of libupsclient_la_SOURCES in favor of pre-built libcommonclient.la

2.502. 2022-07-14 Jim Klimov <jimklimov@gmail.com>

  • drivers/riello.c, drivers/riello.h, drivers/riello_ser.c, drivers/riello_usb.c: drivers/riello*.{c,h}: update links to PDF protocol documentation Closes: #1481
  • server/upsd.c: avoid meaningful work in upsdebug*() macro call [#1455]
  • drivers/upscode2.c: avoid meaningful work in upsdebug*() macro call [#1455]

2.503. 2022-07-14 Jim Klimov <jimklimov+nut@gmail.com>

  • .gitattributes: constrain EOL for binary files

2.504. 2022-07-13 Jim Klimov <jimklimov+nut@gmail.com>

  • .gitattributes: use a different syntax for "* text eol=auto"
  • scripts/Windows/Installer/NUT-Installer.xml: fix end-of-line chars
  • common/common.c: allow to use NUT_CONFPATH and NUT_STATEPATH envvars also on Windows
  • Jenkinsfile-dynamatrix: introduce dynacfgPipeline.axisCombos_(NOT_)WINDOWS_CROSS and a recipe to build on cross-mingw workers
  • scripts/Windows/README: refer to docs/config-prereqs.txt for native WIN32 builds
  • ci_build.sh, scripts/Windows/README: introduce BUILD_TYPE=cross-windows-mingw(-64|-32\|)

2.505. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/blazer_usb.c, drivers/libshut.h, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usb-common.h, drivers/usbhid-ups.c: usb, shut headers and drivers: update from ERROR_* macros to LIBUSB_ERROR_* macros (avoid conflict on WIN32) Also define LIBUSB_ERROR_INTERRUPTED, LIBUSB_ERROR_NOT_SUPPORTED and LIBUSB_ERROR_OTHER tokens for libusb-0.1 and SHUT builds for completeness

2.506. 2022-07-13 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/Makefile.am: separate libnutscan_la_LDFLAGS version-info from other options, and highlight that SERLIBS may belong elsewhere
  • clients/Makefile.am: separate libupsclient_la_LDFLAGS version-info from other options
  • clients/Makefile.am: fix relative path that should point to top_srcdir
  • configure.ac, server/upsd.c: forfeit use of DATADIR in favor of NUT_DATADIR to avoid confusion

2.507. 2022-05-23 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: --disable-force-nut-version-header for builds without a BUILD_TYPE, to help iterate faster
  • configure.ac, include/Makefile.am: introduce @FORCE_NUT_VERSION@
  • ci_build.sh: allow to pass CI_CCACHE_SYMLINKDIR="-" to avoid guessing one
  • ci_build.sh: better detect ccache symlink directory

2.508. 2022-05-20 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: allow use of ccache in default builds without BUILD_TYPE
  • ci_build.sh: detect relevant CI_CCACHE_SYMLINKDIR variants

2.509. 2022-07-13 Jim Klimov <jimklimov@gmail.com>

  • docs/config-prereqs.txt: fix markup to pass xmllint
  • tools/nut-scanner/Makefile.am: fix build on non-Windows platforms

2.510. 2022-03-23 Yifeng Li <tomli@tomli.me>

  • drivers/huawei-ups2000.c: huawei-ups2000.c: ups2000_read_serial(): documenting the useless range-check.
  • drivers/huawei-ups2000.c: huawei-ups2000.c: remove useless CRC range check After crc16() has been modified to accept a size_t length, it’s unnecessary to check whether the input length is greater than UINT16_MAX. Also, the check on whether ident_response_len is at least as long as the IDENT_RESPONSE_CRC_LEN is useless, since this condition is already implied by the previous check in step 2, it’s thus removed.
  • drivers/huawei-ups2000.c: huawei-ups2000.c: crc16(): use size_t instead of uint16_t. This removes the unnecessary casts in between. Also, size_t is semantically more correct than uint16_t.
  • drivers/huawei-ups2000.c: huawei-ups2000.c: ups2000_device_identification(): remove superfluous casts in crc16 calculations The initial code didn’t cast to uint16_t and was certainly a bug, but to fix that, only a single cast is needed, not three casts.
  • drivers/huawei-ups2000.c: huawei-ups2000.c: crc16(): remove superfluous casts to uint16_t when bit-shifting The initial code didn’t cast to uint16_t and was certainly a bug, but to fix that, only a single cast is needed, not three casts.

2.511. 2022-07-11 Yifeng Li <tomli@tomli.me>

  • docs/man/huawei-ups2000.txt: huawei-ups2000.txt: document UPS2000-G-1KRTS. This commit adds UPS2000-G-1KRTS to the list of tested UPS models. Thanks @sumsethan for reporting it [1]. [1] https://github.com/networkupstools/nut/issues/1066#issuecomment-1180005297
  • docs/nut.dict: nut.dict: add developer name "Hirschler" to the dict. Fix spellcheck regression in 7bfc617c1f6de1d57fe2c06d1a94a9cd97838497.

2.512. 2022-06-16 Michael Hirschler <michael.vhirsch@gmail.com>

  • docs/documentation.txt: adds link describing NUT on Fedora 36

2.513. 2022-06-18 Yifeng Li <tomli@tomli.me>

  • docs/nut.dict: nut.dict: add CH341/UART related terms to dict.
  • docs/man/huawei-ups2000.txt: huawei-ups2000.txt: document UPS2000G/CH341 variant.

2.514. 2022-06-20 Yifeng Li <tomli@tomli.me>

  • drivers/huawei-ups2000.c: huawei-ups2000.c: update comment header with info about docs.

2.515. 2022-06-18 Yifeng Li <tomli@tomli.me>

  • drivers/huawei-ups2000.c: huawei-ups2000.c: support newer UPS2000G/CH341 variants. We received a report of the existence of a new hardware variant from the bug tracker [1]. This UPS unit has the model number UPS2000-G-3KRTS just like a model we’ve previously tested, and it has the same V2R1C1SPC50 firmware, which was tested by us as well (although not on UPS2000-G-3KRTS but on UPS2000-A-2KTTS). However, there are two obvious hardware differences. First, this unit reports itself as "UPS2000G" via the protocol instead, which is a new value not found in the datasheet or previously encountered by us. Previously, even a "UPS2000G" model reports itself as the "UPS2000A". Another difference is the use of WCH CH341 serial-to-USB converter chip instead of the MaxLinear/Exar RX21V1410 chip. Bus 002 Device 005: ID 1a86:5523 QinHeng Electronics CH341 in serial mode, usb to serial port converter The production label on the UPS says 2021-12-04. So it’s likely a newer hardware revision or variant. Was it redesigned to improve USB serial compatibility? Or my personal guess, due to chip shortage? Who knows. Nevertheless, once the "UPS2000G" model string is added to the supported list, it was reported that the driver correctly functions without doing anything else. Thus, from a software perspective there’s no difference. Thanks GitHub user @Qinka for reporting it. [1] https://github.com/networkupstools/nut/issues/1066#issuecomment-1158417669

2.516. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: Update nut.dict
  • docs/config-prereqs.txt: fix typos
  • docs/config-prereqs.txt: install aspell-en for MSYS2
  • docs/config-prereqs.txt: suggest a way to install DLLs into proto area after an MSYS2 build
  • drivers/adelsystem_cbi.c, drivers/adelsystem_cbi.h: drivers/adelsystem_cbi.{c,h}: avoid macro clash with WIN32 DEVICE_TYPE
  • drivers/adelsystem_cbi.c: switch from non-standard "uint" to "uint16_t" (per context) which we do define
  • drivers/generic_modbus.c: switch from non-standard "uint" to "uint16_t" (per context) which we do define
  • configure.ac, drivers/huawei-ups2000.c, include/timehead.h: include/timehead.h: fallback gmtime_r() variants
  • include/timehead.h: implement a (non thread-safe currently) fallback from missing localtime_r() via localtime()
  • configure.ac, drivers/mge-hid.c, include/timehead.h: Fallback from missing localtime_r() to present localtime_s() where available
  • docs/config-prereqs.txt: warn about antivirus interaction with native Windows builds
  • common/strerror.c: include stdio.h for snprintf()
  • common/strerror.c: avoid build error if EDEADLK==EDEADLOCK
  • common/atexit.c: mark NUT_UNUSED_VARIABLE if we !HAVE_ON_EXIT
  • scripts/Windows/README: stash some URLs to dependencies not detailed further yet
  • .gitattributes: Introduce .gitattributes
  • autogen.sh: suggest how to re-checkout workspace with desired EOL settings
  • docs/config-prereqs.txt: MSYS2 baseline request includes implementations of autotools
  • docs/config-prereqs.txt: update suggestions for "pure" mingw installation on Windows

2.517. 2022-06-23 Marshall Whittaker <marshallwhittaker@gmail.com>

  • docs/nut.dict: Updated dictionary.
  • data/driver.list.in: Added SKE SK600 to supported device list.

2.518. 2022-06-23 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: getfullpath(): change buf size to MAX_PATH and limit strncat() safely
  • drivers/dstate.c: rename (arg_)extrafd to not shadow a global var name
  • clients/nutclient.cpp, clients/upsclient.c, common/common.c, drivers/libhid.c, drivers/libusb1.c, drivers/main.c, drivers/nutdrv_siemens_sitop.c, drivers/upscode2.c, include/nut_stdint.h, server/upsd.c, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/scan_xml_http.c: Replace %jd and %ju with PRI[du]MAX
  • drivers/libusb0.c: common/common.c: fallback strcasestr(): avoid double-free on some platforms
  • tools/nut-scanner/nutscan-init.c: look for (WIN32) libupsclient-6 according to version-info
  • common/common.c: update search_paths[] to include "." on WIN32 for now
  • common/common.c: refactor get_libname() so new get_libname_in_dir() may be used not only to loop search_paths[]

2.519. 2022-06-21 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: get_libname(): debug trace when skipping an absent dirname
  • include/wincompat.h: ensure that we have a PATH_MAX defined
  • tools/nut-scanner/nutscan-init.c: if we build WITH_SNMP_STATIC then assume nutscan_avail_snmp==1
  • configure.ac: whitespace fix
  • clients/upsset.c: rectify includes for WIN32 builds
  • ci_build.sh: set default defines in C(XX)FLAGS for WIN32 builds

2.520. 2022-06-19 Marshall Whittaker <marshallwhittaker@gmail.com>

  • docs/man/nutdrv_qx.txt: Noted that SKE devices work with the nutdrv_qx driver.

2.521. 2022-06-18 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/riello_ser.c: make it build for WIN32
  • drivers/blazer_ser.c: warn in WIN32 build start-up messages that actual serial port setup may be not happening yet
  • drivers/apcupsd-ups.c: port bits of networking code from upsd.c for WIN32 build
  • drivers/apcupsd-ups.c: getdata() for WIN32: only CloseHandle() when we close() the p.fd, to err on the safe side and be similar to other codebase
  • drivers/apcupsd-ups.c: align fcntl() error-checking with upsd.c precedent

2.522. 2022-06-16 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/Makefile.am: move apcupsd-ups and skel to NUTSW_DRIVERLIST [#1446]
  • drivers/Makefile.am: move apcupsd-ups and skel to NUTSW_DRIVERLIST [#1446]
  • drivers/apcupsd-ups.c: use INVALID_SOCKET for catching socket() problems
  • drivers/apcupsd-ups.c: getdata(): fix fcntl() vs CreateEvent() in WIN32 model
  • NEWS, UPGRADING, configure.ac, drivers/Makefile.am: Separate NUT software-only drivers from serial ones Closes: #1446
  • NEWS, UPGRADING, configure.ac, drivers/Makefile.am: Separate NUT software-only drivers from serial ones [#1446]
  • drivers/apcupsd-ups.c: rectify includes for WIN32 build
  • drivers/blazer_usb.c, drivers/libshut.h, drivers/nut_libusb.h, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usbhid-ups.c: drivers/libusb.h, libshut.h, nutdrv_qx et al: rename *_communication_subdriver_s fields for function pointers "open" and "close" to "*_dev" - to avoid conflict with serial.h macros for WIN32 builds
  • drivers/apcsmart.c: only define ECANCELED if not avoidable
  • drivers/clone-outlet.c: only declare last_connfail in non-WIN32 builds
  • drivers/apcsmart.c: use VALID_FD()
  • drivers/clone-outlet.c: use VALID_FD()
  • drivers/clone.c: use VALID_FD()
  • drivers/blazer_ser.c: currently neuter big part of upsdrv_initups() on WIN32 to avoid build errors
  • scripts/Windows/build-mingw-nut.sh: quote path variable expansions
  • include/wincompat.h: define TIOCM_RI the best we can (someone should check it works for real HW)
  • drivers/tripplitesu.c: rename SHUTDOWN_* to TSU_SHUTDOWN_* to avoid WIN32 macro conflicts
  • drivers/dummy-ups.c: do not rely on fstat(int,…) in WIN32

2.523. 2022-06-15 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: unblock serial (and other?) driver building with WIN32 target

2.524. 2022-06-15 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: nut.dict: update for WIN32 changes
  • NEWS: Note revival of Windows build effort with NUT v2.8.x era codebase
  • INSTALL.nut, docs/nut.dict: nut.dict: update for WIN32 docs updates

2.525. 2022-06-14 Jim Klimov <jimklimov@gmail.com>

  • common/wincompat.c, drivers/huawei-ups2000.c, scripts/Windows/wininit.c: scripts/Windows/wininit.c common/wincompat.c: change the fix for empty translation unit to one that does not emit other warnings :)
  • drivers/blazer_usb.c, drivers/nutdrv_qx.c, drivers/tripplite_usb.c: drivers/usb.c: address fallout for LIBUSB_ERROR_ renaming
  • configure.ac: fix strdup() check (include stdlib.h to have free())
  • configure.ac: fix str*() check program codes

2.526. 2022-06-14 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/build-mingw-nut.sh: require clean builds without warnings
  • tools/nut-scanner/scan_snmp.c: do not cast snmp_errno as a function ptr when we build WITH_SNMP_STATIC
  • tools/nut-scanner/scan_snmp.c: hush compiler warnings about unused DL vars when we build WITH_SNMP_STATIC
  • tools/nut-scanner/scan_snmp.c: hush compiler warnings about function pointer vs. void* Per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83584 the standards do not actually forbid this (and dlsym internally relies on it), just this is not a defined behavior and might not work on all platforms.
  • tools/nut-scanner/scan_snmp.c: avoid unused label for WITH_SNMP_STATIC builds
  • drivers/serial.c: mark NUT_UNUSED_VARIABLE(port) when "no locking method is available"
  • tools/nut-scanner/nutscan-init.c: fix WIN32 stub of do_upsconf_args()
  • tools/nut-scanner/scan_nut.c: fix WIN32 builds (unused variable in its scope)
  • drivers/upsdrvctl.c: fix handling of signals vs commands to stop a driver
  • include/common.h, drivers/serial.c: drop PRINT_FD() as invalid
  • common/strptime.c: comment away fallback strncasecmp()
  • common/Makefile.am, common/strptime.c, configure.ac, include/timehead.h: configure.ac: detect if we HAVE_STRPTIME and optionally fall back to NetBSD implementation (from MSYS2)
  • configure.ac, drivers/serial.h: consider if we HAVE_SYS_SELECT_H at all
  • clients/message.c: avoid NPE, make use of argc
  • tools/nut-scanner/nutscan-ip.c: revise includes etc.
  • m4/nut_func_getnameinfo_argtypes.m4: adapt to WIN32 (mingw) arg4\+6
  • drivers/dstate.c, drivers/dstate.h, drivers/main.c, drivers/main.h: drivers/dstate.c, main.{c,h}: make set_exit_flag() reusable
  • clients/upssched.c: fix non-WIN32 (only) use of some variables in sendcmd()
  • clients/upssched.c: fix WIN32 "fd" reporting and use (int vs HANDLE)
  • clients/upssched.c: fix use of close() for WIN32 builds

2.527. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upssched.c: reconcile size_t buflen/ssize_t ret in WIN32 build

2.528. 2022-06-14 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/dstate.h: include "wincompat.h" in WIN32 builds to have HANDLE defined
  • drivers/dstate.c: mark NUT_UNUSED_VARIABLE(extrafd) in WIN32 variant of dstate_poll_fds()
  • drivers/dstate.c: fix WIN32 reporting of pipename vs sockfn
  • drivers/dstate.c: fix WIN32 "fd" reporting and use (int vs HANDLE)
  • drivers/dstate.c: whitespace fix
  • drivers/dstate.c: avoid duplicate import with WIN32 builds
  • scripts/Windows/wininit.c: SvcMain(): mark NUT_UNUSED_VARIABLE argc/argv
  • configure.ac, drivers/libusb0.c, include/str.h: configure.ac, drivers/libusb0.c: implement a fallback strcasestr() if needed and possible
  • m4/ax_c_pragmas.m4: avoid strcasestr() which is not ubiquitous
  • drivers/libusb0.c: avoid unused "busses" variable
  • server/upsd.c: ups_available(): call VALID_FD() for portability

2.529. 2022-06-13 Jim Klimov <jimklimov+nut@gmail.com>

  • server/upsd.c: main(): no oldpid in WIN32 builds
  • server/upsd.c: check_perms(): NUT_UNUSED_VARIABLE(fn) on WIN32
  • server/upsd.c: mainloop(): fix visibility of nfds for all platforms
  • server/netssl.c: fix includes for WIN32 builds
  • common/common.c: optimize check_unix_socket_filename() and make it more portable
  • clients/upsmon.c: oldpid is not used in WIN32 builds
  • clients/upslog.c: set_print_now_flag() is not used in WIN32 builds
  • drivers/nutdrv_atcl_usb.c: do not check return value of sleep() on WIN32 (is void)
  • common/wincompat.c, configure.ac, scripts/Windows/build-mingw-nut.sh: configure.ac, build-mingw-nut.sh: fix inet_ntop() detection for WIN32 builds
  • drivers/main.c: fix WIN32 builds regarding user/group tweaks and signal handling
  • tools/nut-scanner/nutscan-ip.c: be sure to include "nut_stdint.h"
  • drivers/snmp-ups.h: be sure to include "nut_stdint.h"
  • drivers/blazer_usb.c, drivers/libshut.h, drivers/nutdrv_qx.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usb-common.h, drivers/usbhid-ups.c: usb, shut headers and drivers: update from ERROR_* macros to LIBUSB_ERROR_* macros (avoid conflict on WIN32) Also define LIBUSB_ERROR_INTERRUPTED, LIBUSB_ERROR_NOT_SUPPORTED and LIBUSB_ERROR_OTHER tokens for libusb-0.1 and SHUT builds for completeness
  • common/common.c: avoid realpath() on platforms that lack it
  • configure.ac: check for existence of realpath()
  • common/common.c: fix up some NUT_UNUSED_VARIABLE()s
  • common/common.c, include/common.h: common/common.{c,h}: fix up select_read()/select_write() with WIN32 builds
  • common/common.c: include dirent.h in WIN32 builds also
  • drivers/mge-xml.c, drivers/netxml-ups.c, drivers/netxml-ups.h, drivers/nutdrv_qx.c, drivers/nutdrv_qx.h, drivers/nutdrv_qx_bestups.c, drivers/usbhid-ups.c, drivers/usbhid-ups.h: drivers/*.{h,c}: rename "CAL" in enums to "CALIB" to avoid name clash in WIN32 builds
  • clients/upsmon.c, clients/upssched.c, common/common.c, common/parseconf.c, include/common.h: Refactor fcntl(…, FD_CLOEXEC) as set_close_on_exec() where possible
  • configure.ac: disable format warnings for mingw builds

2.530. 2022-06-14 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/.gitignore: GitIgnore Windows build area (per script for mingw)

2.531. 2022-06-09 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/README, scripts/Windows/build-mingw-nut.sh: scripts/Windows/README: document use of a SOURCEMODE and some other settings

2.532. 2022-06-09 Jim Klimov <jimklimov@gmail.com>

  • tools/nut-scanner/Makefile.am, tools/nut-scanner/nutscan-init.c, tools/nut-scanner/scan_snmp.c: tools/nut-scanner: adjust ltdl names or contents to WIN32 builds
  • tools/nut-scanner/Makefile.am: link net-snmp statically on (MinGW) WIN32 builds
  • scripts/Windows/README, scripts/Windows/build-mingw-nut.sh: scripts/Windows/build-mingw-nut.sh \+ README: add libtool (libltdl) for nut-scanner
  • scripts/Windows/build-mingw-nut.sh: install client dlls in sbin (for upsmon)
  • scripts/Windows/README, scripts/Windows/build-mingw-nut.sh: scripts/Windows/build-mingw-nut.sh: install dependency DLLs near drivers
  • scripts/Windows/build-mingw-nut.sh: avoid installing systemd files in Windows :)
  • scripts/Windows/README: note the verified build environment
  • scripts/Windows/README: suggest a build command from scratch
  • scripts/Windows/README: flesh out dependency installation for libusb(-compat-0.1) and libsnmp
  • scripts/Windows/README: suggest to "sudo" make install the dependencies built as mere user
  • scripts/Windows/README: fix example build commands considering $ARCH etc defined above
  • scripts/Windows/README: suggest to "export" HOST_FLAG and beyond, to define ARCH once and inherit from it in another single copy-pasted command

2.533. 2022-06-08 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/build-mingw-nut.sh: show all build errors, and do not require any features (do best-effort)
  • scripts/Windows/README: note that ./build-mingw-nut.sh takes care of envvars
  • configure.ac, drivers/apcupsd-ups.c, server/upsd.h: server/upsd.h: fix absent poll.h
  • common/common.c: fix undefined LOG_ERROR
  • scripts/Windows/build-mingw-nut.sh: adapt to NUT v2.8.0(.1) dist tarballs, etc.

2.534. 2022-05-26 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/genericups.c: include "wincompat.h" where needed, to have respective macros defined
  • include/proto.h, common/setenv.c: be sure to include "config.h"
  • drivers/belkin.c, drivers/bestups.c, drivers/ivtscd.c, drivers/libshut.h, drivers/masterguard.c, drivers/nutdrv_qx_masterguard.c, drivers/oneac.c, drivers/optiups.c, drivers/powerp-txt.c, drivers/rhino.c, drivers/tripplitesu.c, drivers/usbhid-ups.c: drivers: fix headers to printf with PRIuSIZE formatting token
  • include/common.h: be sure to see fcntl() definitions on WIN32 MSYS2

2.535. 2022-05-24 Jim Klimov <jimklimov+nut@gmail.com>

  • common/parseconf.c: include "config.h" first
  • common/wincompat.c, configure.ac, include/wincompat.h: wincompat.{c,h}, configure.ac: introduce HAVE_INET_NTOP
  • common/wincompat.c, scripts/Windows/wininit.c: common/wincompat.c, wininit.c: avoid defining errno as "extern int" for little reason
  • common/wincompat.c: mark with NUT_UNUSED_VARIABLE()
  • clients/upsc.c, clients/upsclient.c, clients/upscmd.c, clients/upsmon.c, clients/upsrw.c, clients/upssched.c, clients/upsset.c, common/common.c, common/wincompat.c, drivers/al175.c, drivers/apcsmart.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c, drivers/belkin.c, drivers/bestfortress.c, drivers/bestups.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dstate.c, drivers/dummy-ups.c, drivers/gamatronic.c, drivers/huawei-ups2000.c, drivers/isbmex.c, drivers/ivtscd.c, drivers/libhid.c, drivers/libshut.c, drivers/libusb0.c, drivers/libusb1.c, drivers/liebert-esp2.c, drivers/masterguard.c, drivers/metasys.c, drivers/mge-utalk.c, drivers/microsol-common.c, drivers/netxml-ups.c, drivers/nutdrv_qx.c, drivers/nutdrv_qx_masterguard.c, drivers/nutdrv_siemens_sitop.c, drivers/oneac.c, drivers/optiups.c, drivers/powercom.c, drivers/powerp-bin.c, drivers/powerp-txt.c, drivers/rhino.c, drivers/snmp-ups.c, drivers/solis.c, drivers/tripplite.c, drivers/tripplite_usb.c, drivers/tripplitesu.c, drivers/upscode2.c, drivers/upsdrvctl.c, include/nut_stdint.h, server/netssl.c, server/sockdebug.c, server/upsd.c, tests/getvaluetest.c, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: Fix "%zx", "%zd", "%zi" and "%zu" printing to PRI[xiu]SIZE that is named more standards-like
  • clients/upsc.c, clients/upsclient.c, clients/upscmd.c, clients/upsmon.c, clients/upsrw.c, clients/upssched.c, clients/upsset.c, common/common.c, drivers/al175.c, drivers/apcsmart.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c, drivers/belkin.c, drivers/bestfortress.c, drivers/bestups.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dstate.c, drivers/dummy-ups.c, drivers/gamatronic.c, drivers/huawei-ups2000.c, drivers/isbmex.c, drivers/ivtscd.c, drivers/libhid.c, drivers/libshut.c, drivers/libusb0.c, drivers/libusb1.c, drivers/liebert-esp2.c, drivers/masterguard.c, drivers/metasys.c, drivers/mge-utalk.c, drivers/microsol-common.c, drivers/netxml-ups.c, drivers/nutdrv_qx.c, drivers/nutdrv_qx_masterguard.c, drivers/nutdrv_siemens_sitop.c, drivers/oneac.c, drivers/optiups.c, drivers/powercom.c, drivers/powerp-bin.c, drivers/powerp-txt.c, drivers/rhino.c, drivers/snmp-ups.c, drivers/solis.c, drivers/tripplite.c, drivers/tripplite_usb.c, drivers/tripplitesu.c, drivers/upscode2.c, drivers/upsdrvctl.c, server/netssl.c, server/sockdebug.c, server/upsd.c, tests/getvaluetest.c, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: Fix "%zd", "%zi" and "%zu" printing to PRI(s)size
  • include/wincompat.h: only define EAFNOSUPPORT if absent
  • include/wincompat.h: only define ETIMEDOUT if absent
  • include/wincompat.h: use value for include-guard as elsewhere
  • common/wincompat.c: include "config.h" first
  • common/wincompat.c, include/nut_stdint.h: common/wincompat.ci, nut_stdint.h: wrap some long lines, fix formatting chars Fix PRI(s)size for WIN32 builds
  • common/wincompat.c: avoid GNU extension syntax
  • configure.ac, include/common.h: ensure we have a "suseconds_t" always

2.536. 2022-05-24 Jim Klimov <jim@jimklimov.com>

  • drivers/cyberpower-mib.c: Update cyberpower-mib.c Closes: #1427

2.537. 2022-05-23 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: allow to pass CI_CCACHE_SYMLINKDIR="-" to avoid guessing one
  • ci_build.sh: --disable-force-nut-version-header for builds without a BUILD_TYPE, to help iterate faster
  • configure.ac, include/Makefile.am: introduce @FORCE_NUT_VERSION@
  • m4/nut_check_headers_windows.m4: Revert "m4/nut_check_headers_windows.m4: try to allow builds with MINGW32 (despite CYGWIN or CEGCC) as native-Windows" This reverts commit 76bf1ee94f39b619d1c7325b16d36072c427390e.
  • ci_build.sh: better detect ccache symlink directory
  • docs/config-prereqs.txt: update Windows MSYS2 with notes on ccache
  • docs/config-prereqs.txt: update Windows MSYS2 with more libneon packaging
  • docs/config-prereqs.txt: update Windows MSYS2 with recommended PATH settings

2.538. 2022-05-20 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: allow use of ccache in default builds without BUILD_TYPE
  • m4/nut_check_headers_windows.m4: NUT_CHECK_HEADER_WINDOWS(): try CFLAGS="-I/usr/include/w32api …"
  • m4/nut_check_headers_windows.m4: try to allow builds with MINGW32 (despite CYGWIN or CEGCC) as native-Windows
  • drivers/upsdrvctl.c: avoid duplicate variable declaration
  • scripts/Windows/halt.c: mark some NUT_UNUSED_VARIABLEs
  • scripts/Windows/wininit.c: include config.h first and avoid "empty translation unit" on non-WIN32 builds
  • drivers/serial.h: include config.h first
  • drivers/serial.h: hack TIOCM_ST value that may be missing from termios.h on Windows MSYS2
  • docs/config-prereqs.txt: add more suggested Windows MSYS2 dependencies
  • docs/config-prereqs.txt: add a NOTE about suggested pick of Windows MSYS2 dependencies
  • docs/config-prereqs.txt: update links in Windows chapter
  • ci_build.sh: detect relevant CI_CCACHE_SYMLINKDIR variants
  • INSTALL.nut: add a chapter on Windows build enviromnent variants, and separate further config notes with a heading
  • docs/config-prereqs.txt: add a chapter on Windows build enviromnent variants (MSYS2 etc)

2.539. 2022-05-19 Federico Mena Quintero <federico@gnome.org>

  • docs/config-notes.txt: Fix link to the blazer_usb manual page There’s no man page for blazer[8]; I think blazer_usb is the intended one, since all the links in that set are to the USB drivers.

2.540. 2022-05-19 Thierry Duvernoy <tduvernoy@free.fr>

  • drivers/usbhid-ups.c: Indentation correction and improvement of reconnection debug messages

2.541. 2022-05-19 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: recognize CI_OS_NAMEs for Windows MSYS2 and mingw variants

2.542. 2022-05-19 Jim Klimov <jimklimov@gmail.com>

  • docs/man/usbhid-ups.txt: Update usbhid-ups.txt Rephrase English wording for waitbeforereconnect keyword

2.543. 2022-05-18 Thierry Duvernoy <tduvernoy@free.fr>

  • docs/man/usbhid-ups.txt: usbhid-ups documentation correction
  • docs/man/usbhid-ups.txt: Documentation spell checking correction
  • docs/nut.dict: Adding waitbeforereconnect to nut.dict for spell check
  • docs/man/usbhid-ups.txt, drivers/usbhid-ups.c: Adding waitbeforereconnect parameter to usbhid-ups (default 0 second)

2.544. 2022-05-17 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/libshut.h, drivers/usb-common.h: drivers/libshut.h \+ usb-common.h: fix "alll" typos
  • server/upsd.c: set_exit_flag(): sig is not UNUSED
  • server/pipedebug.c: fix CRLF after merge
  • include/Makefile.am: fix whitespace after merge
  • drivers/clone.c: fix whitespace and comments after merge
  • drivers/clone-outlet.c: fix whitespace and comments after merge
  • drivers/apcsmart.c: refactor TYPE_FD use
  • docs/man/upsmon.conf.txt: fix whitespace
  • common/common.c: merge mess fix (report startup success on all platforms)
  • drivers/main.c: set_exit_flag() should be static
  • clients/upsmon.c: merge mess fix (lost in translation)
  • common/wincompat.c: try to avoid empty translation unit
  • scripts/Windows/Makefile.am: add MAINTAINERCLEANFILES
  • server/netssl.c: merge mess fix
  • server/upsd.c: merge mess fix
  • tools/nut-scanner/scan_nut.c: merge mess fix
  • drivers/richcomm_usb.c: merge mess fix
  • drivers/usbhid-ups.h: must not include libshut.h directly
  • drivers/libusb1.c: merge mess fix
  • drivers/libshut.h: drivers/libshut.h \+ usb-common.h: fix "alll" typos
  • drivers/main.c: merge mess fix
  • drivers/serial.c: merge fix for "First implementation of termios functions"
  • clients/upssched.c: fix merge inversion
  • drivers/libshut.h, include/nut_stdint.h: include/nut_stdint.h: fix merge markers
  • configure.ac: typo fix
  • clients/Makefile.am: avoid endif reminder-comments
  • drivers/libshut.h, drivers/usb-common.h: drivers/libshut.h \+ usb-common.h: fix "alll" typos

2.545. 2015-12-29 Arnaud Quette <arnaud.quette@free.fr>

  • docs/config-notes.txt: Add a complementary note on Windows and serial ports
  • conf/ups.conf.sample, docs/man/ups.conf.txt: Document serial port naming on Windows Addressing serial port on Windows system requires to express the port in ups.conf in a special way Reference: https://github.com/networkupstools/nut/issues/198

2.546. 2014-03-05 Emilien Kia <EmilienKia@Eaton.com>

  • scripts/Windows/Installer/NUT-Installer.xml: Modify version in Windows installer description file.

2.547. 2014-03-04 Emilien Kia <EmilienKia@Eaton.com>

  • scripts/Windows/Installer/NUT-Installer.xml: Add Windows registry entry for NUT installation path.
  • docs/man/upsmon.conf.txt, docs/man/upsmon.txt: Add upsmon default flag for Windows notice in documentation.
  • conf/upsmon.conf.sample.in: Update upsmon config to note that Windows only writes to syslog on Windows by default.
  • clients/upsmon.h: Use only NOTIFY_SYSLOG as default notify flag in upsmon for Windows. Define a NOTIFY_DEFAULT flag. Set it accordingly to platform. Use it to initialize upsmon.

2.548. 2014-02-28 Emilien Kia <EmilienKia@Eaton.com>

  • scripts/Windows/Installer/NUT-Installer.xml: Fix Windows Installer file list. Use splitted Blazer driver html man pages (ser & usb).

2.549. 2014-02-20 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/mge-hid.c: Fix "no OFF status in "ups.status" although UPS is switched off" and "OB status in "ups.status" although power supply is present" in mge-hid driver. Fix problem up from Schleicher.

2.550. 2014-01-13 Emilien Kia <EmilienKia@Eaton.com>

  • drivers/upsdrvctl.c: Fix Windows driver starting model and add comments.
  • drivers/upsdrvctl.c: Add basic Windows wait for launch process. Wait for process return or timeout Look at returned code.

2.551. 2013-11-13 Charles Lepple <clepple+nut@gmail.com>

  • drivers/blazer_ser.c: windows_port: remove conflict markers from blazer_ser.c

2.552. 2013-10-04 Frédéric BOHE <fredericbohe@eaton.com>

  • clients/upssched.c: Fix Linux compilation

2.553. 2013-10-04 Frederic BOHE <fredericbohe@eaton.com>

  • include/common.h, server/sstate.c, server/upsd.c: Fix weird difftime behavior

2.554. 2013-10-03 Frederic BOHE <fredericbohe@eaton.com>

  • INSTALL.nut, clients/Makefile.am, clients/message.c, clients/nutclient.cpp, clients/upsclient.c, clients/upslog.c, clients/upsmon.c, clients/upssched.c, common/snprintf.c, drivers/clone.c, drivers/libhid.h, drivers/libshut.h, drivers/serial.c, drivers/serial.h, drivers/snmp-ups.h, drivers/usbhid-ups.c, drivers/usbhid-ups.h, include/common.h, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: Try to get rid of warnings
  • .gitignore, scripts/Windows/.gitignore, scripts/Windows/Installer/.gitignore, scripts/Windows/Installer/ImageFiles/Others/.gitignore: Update gitignore for Windows
  • drivers/Makefile.am: Remove useless link to intl which break compilation on Linux
  • clients/Makefile.am, common/Makefile.am, common/wincompat.c, drivers/Makefile.am, drivers/apcsmart.c, drivers/dstate.c, drivers/netxml-ups.c, drivers/riello_usb.c, drivers/serial.c, drivers/serial.h, drivers/upsdrvctl.c, scripts/Windows/Installer/NUT-Installer.xml, scripts/Windows/wininit.c, server/sstate.c, server/upsd.c, tools/nut-scanner/Makefile.am, tools/nut-scanner/nutscan-serial.c, tools/nut-scanner/scan_eaton_serial.c: Fix compilation on Windows

2.555. 2013-09-27 unknown <C9983617@GREFRWHP6009826.euro.ad.etn.com>

  • clients/Makefile.am: Fix upsclient link after rebase

2.556. 2013-09-26 Frédéric BOHE <fredericbohe@eaton.com>

  • Makefile.am, clients/upsclient.c, clients/upsmon.c, clients/upsmon.h, clients/upssched.c, common/Makefile.am, common/common.c, common/wincompat.c, docs/Makefile.am, docs/configure.txt, drivers/apc-mib.c, drivers/apcsmart.c, drivers/bcmxcp_usb.c, drivers/belkinunv.c, drivers/bestuferrups.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dstate.c, drivers/genericups.c, drivers/isbmex.c, drivers/main.c, drivers/nut-libfreeipmi.c, drivers/serial.c, drivers/serial.h, drivers/upsdrvctl.c, include/common.h, include/wincompat.h, scripts/Windows/README, scripts/Windows/wininit.c, server/conf.c, server/netssl.c, server/sstate.c, server/upsd.c, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-init.c, tools/nut-scanner/scan_avahi.c, tools/nut-scanner/scan_ipmi.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_usb.c, tools/nut-scanner/scan_xml_http.c: More changes after rebase
  • scripts/Windows/DriverInstaller/nutscan-usb.h: Some fixes after rebase

2.557. 2012-12-09 Arnaud Quette <arnaud.quette@free.fr>

  • scripts/Windows/Makefile.am: Forgotten build and distribution rules
  • include/common.h, include/wincompat.h: Fix MingGW-w64 compilation
  • scripts/Windows/README, scripts/Windows/build-mingw-nut.sh: Automated Windows cross compilation Preliminary support for automated Windows cross compilation, using MingGW-w64. A script is provided, with 32 and 64 bits compilation options, along with a documentation file

2.558. 2012-10-15 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c: Fix invalid memory allocation (fix a crash at exit time in upsmon)

2.559. 2012-09-18 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/wininit.c: update error logs
  • scripts/Windows/Installer/NUT-Installer.xml: Typo in installer dialog box
  • common/wincompat.c: Fix communication with named pipe

2.560. 2012-09-17 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upssched.c: Fix upssched regression due to CVE-2012-2944
  • common/common.c, common/wincompat.c: Fix Event Viewer regression Also, more consistent named pipe management

2.561. 2012-08-09 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • INSTALL.nut, docs/images/eaton-logo.png, scripts/Windows/Installer/NUT-Installer.xml: Merge from trunk [SVN:3692] to [SVN:3713] (upgrade to 2.6.5)

2.562. 2012-08-08 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsmon.c, common/common.c, common/wincompat.c, drivers/dstate.c, drivers/main.c, drivers/upsdrvctl.c, include/common.h, scripts/Windows/Installer/NUT-Installer.xml, scripts/Windows/wininit.c, server/upsd.c: Get rid of console event and PID management Processes can now be stopped via named pipe. Processes can now check previous instances via named mutex.

2.563. 2012-08-06 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/wininit.c: typo in comments
  • clients/upsmon.c, common/common.c, scripts/Windows/wininit.c: Fix UPS shutdown Now upsmon stop NUT service before shuting down the OS. When the service stops (with PD flag), it calls "upsdrvctl shutdown".

2.564. 2012-08-02 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c: Disconnect named pipe correctly

2.565. 2012-07-27 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c, drivers/genericups.c, include/wincompat.h: Fix w32_setcomm and w32_getcomm for genericups
  • clients/upsclient.c, include/common.h, server/upsd.c, tools/nut-scanner/nutscan-ip.c: Adding Windows 2000 and older support

2.566. 2012-07-25 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/NUT-Installer.xml: Update installer script with oldmge-shut instead of newmge-shut

2.567. 2012-07-23 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/apc-mib.c, drivers/apcsmart.c, drivers/netxml-ups.c, drivers/nut-ipmipsu.c, drivers/nut-libfreeipmi.c, server/Makefile.am, server/ssl.c: Merge from trunk [SVN:3645] to [SVN:3690]
  • common/wincompat.c, drivers/genericups.c, drivers/genericups.h, drivers/serial.c, include/wincompat.h: Porting genericups driver Not tested on real hardware

2.568. 2012-06-04 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c, docs/man/upsd.users.txt, drivers/apc-mib.c, drivers/apcsmart.c, drivers/dummy-ups.h, drivers/netvision-mib.c, include/wincompat.h: Merge from trunk [SVN:3541] to [SVN:3644] (upgrade to 2.6.4)

2.569. 2012-05-14 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • server/Makefile.am: Keep same sockdebug’s binary name for all OS.
  • configure.ac: Add general Windows conditional (by Arnaud Quette)

2.570. 2012-05-11 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • server/Makefile.am, server/pipedebug.c: Add pipedebug program pipedebug has the same goal as socketdebug for the WIN32 side.

2.571. 2012-05-09 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/Makefile.am, clients/message.c, clients/upsmon.c, scripts/Windows/Installer/NUT-Installer.xml: Add an external wall-like application. In order to avoid weird behavior of MessageBox with MB_SERVICE_NOTIFICATION flag at exit time; I added an external application in charge of displaying the message boxes (much like the wall command).

2.572. 2012-05-03 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c: Fix journal event truncation.

2.573. 2012-05-02 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/NUT-Installer.xml: Add more DLLs in bin directory These are used by netxml-ups driver and nut-scanner tool.
  • scripts/Windows/Installer/BuildInstaller.bat: Make sure upssched.conf is DOS compatible
  • conf/upsd.conf.sample: Update comments for IPv6 on Windows platforms
  • scripts/Windows/Installer/NUT-Installer.xml: Add libneon-27.dll and libnetsnmp-30.dll in bin directory These are used respectively by netxml and snmp-ups drivers.

2.574. 2012-04-26 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/NUT-Installer.xml: libupsclient-1.dll is needed in "bin" too
  • scripts/Windows/Installer/NUT-Installer.xml: Add nut-scanner files and libupsclient-1.dll to the MSI installer
  • scripts/Windows/Installer/BuildInstaller.bat: echo a comment

2.575. 2012-04-24 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • tools/nut-scanner/scan_nut.c: Merge from trunk [SVN:3511] to [SVN:3539]

2.576. 2012-04-23 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/serial.h: Completely skip termios.h with WIN32 The latest MinGW raise errors on termios.h, so we skip it for now.

2.577. 2012-04-17 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsmon.c: Make the message box of notify non-blocking

2.578. 2012-04-06 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/Makefile.am, m4/nut_check_socketlib.m4: Fix conditional Makefile for WIN32
  • clients/Makefile.am: Conditional Makefile for WIN32

2.579. 2012-04-03 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • configure.ac: This doesn’t make it through past merges.

2.580. 2012-03-30 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • tools/nut-scanner/nutscan-init.c: This is needed for non WIN32 too.
  • common/common.c: Special case when sending signal 0

2.581. 2012-03-26 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c: Small correction to error messages.

2.582. 2012-03-16 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • tools/nut-scanner/scan_nut.c: Fix indentation
  • tools/nut-scanner/nutscan-init.c: Add #ifdef WIN32 for do_upsconf_args definition

2.583. 2012-03-08 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsclient.c, common/common.c, drivers/safenet.c, include/wincompat.h, server/conf.c: Clean up
  • drivers/blazer_usb.c, drivers/libusb0.c, drivers/usbhid-ups.c: Add comments about EPROTO and EOVERFLOW
  • server/upsd.c: typo in comments
  • drivers/blazer_usb.c, drivers/libusb0.c, drivers/usbhid-ups.c, include/wincompat.h: Better handling of ETIMEDOUT

2.584. 2012-02-16 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • configure.ac: Cleaner regex addtion por apcsmart driver (by Arnaud Quette)

2.585. 2012-02-09 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/blazer_usb.c, drivers/mge-mib.c, drivers/richcomm_usb.c, drivers/usb-common.h, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/scan_avahi.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_usb.c, tools/nut-scanner/scan_xml_http.c: Merge from trunk: [SVN:3320] to [SVN:3435]

2.586. 2012-01-20 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upscmd.c, clients/upsrw.c, common/wincompat.c, drivers/dstate.c, include/wincompat.h: Add getpwuid and getpass functions.

2.587. 2012-01-19 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upslog.c, clients/upsmon.c, clients/upssched.c, common/wincompat.c, include/wincompat.h: Add filter_path function This allows blank characters both in data files name and command path
  • scripts/Windows/wininit.c: Cleaner initialization of variables

2.588. 2012-01-16 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c, include/wincompat.h: Fix commands with blank in their path
  • clients/upssched.c, clients/upssched.h: Fix porting of upssched
  • drivers/dstate.c: Remove useless code

2.589. 2012-01-05 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • include/Makefile.am: Fix "make distcheck-light" (by Arnaud Quette)

2.590. 2011-11-29 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c: Fix blazer_ser driver (from Paul Fertser)
  • common/wincompat.c: Don’t leave one liner alone after if.

2.591. 2011-11-15 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/Makefile.am, clients/upsclient.c, common/Makefile.am, common/wincompat.c, conf/upsmon.conf.sample.in, docs/Makefile.am, drivers/apc-mib.c, drivers/apcsmart-old.h, drivers/apcsmart.c, drivers/mge-mib.c, drivers/netvision-mib.c, drivers/nut-ipmipsu.c, drivers/snmp-ups.c, server/Makefile.am, server/ssl.c, server/upsd.c, tools/nut-scanner/nutscan-ip.c, tools/nut-scanner/nutscan-ip.h, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: Merge from trunk [SVN:3060] to [SVN:3318]

2.592. 2011-08-11 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsmon.c: Correct handling of timeout

2.593. 2011-08-08 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/DriverInstaller/wdi-simple.c: Print an error message when driver’s installation has failed.
  • scripts/Windows/DriverInstaller/README.txt: Add some more hints on how to compile wdi-simple.exe
  • drivers/serial.c: This seems to be the correct way to set and reset DTR and RTS with Win32 API
  • scripts/Windows/Installer/NUT-Installer.xml: The stock msys-regex-1.dll is crashing. So now we bundle libregex-1.dll which is a binary compiled from sources

2.594. 2011-07-04 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/BuildInstaller.bat, scripts/Windows/Installer/NUT-Installer.xml: Change from libgnurx-0.dll to msys-regex-1.dll for the sake of coherency (use only msys DLLs)
  • scripts/Windows/DriverInstaller/wdi-simple.c: Add a notification to unplug and re-plug the device… …so that Windows uses the newly installed driver.

2.595. 2011-06-30 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/common.c: Add the error message associated with GetLastError to the error string. This may be helpful for support.
  • common/wincompat.c: Make sure serial functions set errno to an actual error code (which might not be the most relevant one, but it’s better than nothing)
  • drivers/libusb0.c: Make sure errno is set to an actual error code (thanks to David Bolen)
  • drivers/usbhid-ups.c: Revert [SVN:3108]. Correct errno management should be enough
  • clients/upsmon.c: Change timeout from seconds to milliseconds (from David Bolen)

2.596. 2011-06-29 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/usb-common.h, drivers/usbhid-ups.c: Add WIN32 specific error case for detecting disconnection
  • drivers/dstate.c: Fix timeout being in seconds instead of milliseconds

2.597. 2011-06-24 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/main.c: Merge from trunk [SVN:3002] to [SVN:3057]
  • drivers/bcmxcp_usb.c: Correct configuration value for usb_set_configuration

2.598. 2011-05-25 Arnaud Quette <arnaud.quette@free.fr>

  • m4/nut_type_socklen_t.m4: Fix Winsock2 testing and result publication

2.599. 2011-05-25 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/DriverInstaller/README.txt, scripts/Windows/DriverInstaller/nutscan-usb.h, scripts/Windows/DriverInstaller/wdi-simple.c, scripts/Windows/Installer/BuildInstaller.bat, scripts/Windows/Installer/NUT-Installer.xml, scripts/Windows/Makefile.am, scripts/Windows/wininit.c: Converting some files to Unix-style line endings
  • drivers/blazer_usb.c, drivers/usb-common.h: merge from trunk [SVN:2990] to [SVN:2997]

2.600. 2011-05-24 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • m4/nut_check_socketlib.m4: convert end of line to unix style
  • scripts/Windows/Installer/NUT-Installer.xml: Add files in the project’s root (README, INSTALL…)
  • m4/nut_check_socketlib.m4: nut_check_socketlib.m4 has been removed from trunk, …but Win32 still needs it for winsock

2.601. 2011-05-23 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/NUT-Installer.xml: Remove useless empty directories

2.602. 2011-05-20 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/Makefile.am, m4/nut_check_libusb.m4: This doesn’t make it through the previous merge from trunk

2.603. 2011-05-17 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/DriverInstaller/README.txt, scripts/Windows/DriverInstaller/nutscan-usb.h, scripts/Windows/DriverInstaller/wdi-simple.c: Add source files and a note on how to compile the automatic driver installer.
  • scripts/Windows/Installer/NUT-Installer.xml: Add a check box for launching the automatic libUSB drivers installation
  • conf/upsmon.conf.sample.in: Add hints to configure SHUTDOWNCMD and POWERDOWNFLAG

2.604. 2011-05-16 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/NUT-Installer.xml: [Installer] Include documentation in HTML format

2.605. 2011-05-11 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsmon.c: forgot to change wait duration.
  • clients/upsmon.c, clients/upsmon.h, common/wincompat.c, include/common.h, include/wincompat.h, scripts/Windows/wininit.c, server/upsd.c, server/upsd.h: Using named pipe for a better port of signals.

2.606. 2011-05-03 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/wininit.c: Add a call to "upsdrvctl shutdown" if POWERDOWNFLAG is set when service exits.

2.607. 2011-05-02 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsmon.c: Makes the call to "wall" function non blocking,

    1. …or else the automatic power-fail shutdown is blocked waiting for the MessageBox to be clicked.

2.608. 2011-04-07 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/NUT-Installer.xml: Update NUT version (by Praveen Kumar)
  • scripts/Windows/wininit.c: More generic wrong MODE handling \+ log same message as Linux version.

2.609. 2011-04-06 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/upsdrvctl.c: fix "upsdrvctl shutdown" command
  • scripts/Windows/wininit.c: NUT is automatically started during system startup

2.610. 2011-03-28 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/apcsmart.c, drivers/dstate.c, include/nut_stdint.h: Merge with trunk

2.611. 2011-03-23 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • INSTALL.nut: Add information on installation

2.612. 2011-03-22 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/NUT-Installer.xml: commit again a small typo
  • …/ImageFiles/Images/NUT_wix_horizontal.bmp, …/ImageFiles/Images/NUT_wix_vertical.bmp: Correctly sized banner for Windows installer

2.613. 2011-03-22 Praveen Kumar <praveenkumar-guest@alioth.debian.org>

  • …/Installer/ImageFiles/Binary/bannrbmp.ibd, …/Windows/Installer/ImageFiles/Binary/dlgbmp.ibd, …/ImageFiles/Images/NUT_wix_horizontal.bmp, …/ImageFiles/Images/NUT_wix_vertical.bmp, …/Installer/ImageFiles/Others/DeRegister.bat, …/ImageFiles/{Binary/New.ibd ⇒ icons/New.ico}, …/ImageFiles/{Binary/Up.ibd ⇒ icons/Up.ico}, …/{Binary/completi.ibd ⇒ icons/completi.ico}, …/{Binary/custicon.ibd ⇒ icons/custicon.ico}, …/{Binary/exclamic.ibd ⇒ icons/exclamic.ico}, …/ImageFiles/{Binary/info.ibd ⇒ icons/info.ico}, …/{Binary/insticon.ibd ⇒ icons/insticon.ico}, …/{Binary/removico.ibd ⇒ icons/removico.ico}, …/{Binary/repairic.ibd ⇒ icons/repairic.ico}, …/Installer/ImageFiles/libusb/libusb_win32.exe, scripts/Windows/Installer/NUT-Installer.xml: Removed binary files (DLL & ibd) and Updated with icons and .bmp images… …for NUT windows Installer.

2.614. 2011-03-18 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/NUT-Installer.xml: Remove regex2.dll dependency.
  • scripts/Windows/Installer/BuildInstaller.bat: MinGW bin directory and MSYS bin directory are now configurable
  • scripts/Windows/Installer/BuildInstaller.bat, …/Installer/ImageFiles/Others/libgnurx-0.dll, …/Windows/Installer/ImageFiles/Others/msys-1.0.dll, …/Installer/ImageFiles/Others/msys-crypto-1.0.0.dll, …/Installer/ImageFiles/Others/msys-ssl-1.0.0.dll, …/Windows/Installer/ImageFiles/Others/regex2.dll: Remove DLL from the SVN repository. They are now gathered from the build system when creating the installer .
  • scripts/Windows/Installer/NUT-Installer.xml: small typo

2.615. 2011-03-16 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Installer/BuildInstaller.bat, …/Windows/Installer/ImageFiles/Binary/New.ibd, scripts/Windows/Installer/ImageFiles/Binary/Up.ibd, …/Installer/ImageFiles/Binary/bannrbmp.ibd, …/Installer/ImageFiles/Binary/completi.ibd, …/Installer/ImageFiles/Binary/custicon.ibd, …/Windows/Installer/ImageFiles/Binary/dlgbmp.ibd, …/Installer/ImageFiles/Binary/exclamic.ibd, …/Windows/Installer/ImageFiles/Binary/info.ibd, …/Installer/ImageFiles/Binary/insticon.ibd, …/Installer/ImageFiles/Binary/removico.ibd, …/Installer/ImageFiles/Binary/repairic.ibd, …/Installer/ImageFiles/Others/DeRegister.bat, …/Installer/ImageFiles/Others/StartService.bat, …/Installer/ImageFiles/Others/StopService.bat, …/Installer/ImageFiles/Others/libgnurx-0.dll, …/Installer/ImageFiles/Others/msys-1.0.dll, …/ImageFiles/Others/msys-crypto-1.0.0.dll, …/Installer/ImageFiles/Others/msys-ssl-1.0.0.dll, …/Windows/Installer/ImageFiles/Others/regex2.dll, …/Installer/ImageFiles/emptyDir/cgi-bin/temp.txt, …/Installer/ImageFiles/emptyDir/html/temp.txt, …/Installer/ImageFiles/emptyDir/include/temp.txt, …/Installer/ImageFiles/emptyDir/man1/temp.txt, …/Installer/ImageFiles/emptyDir/man3/temp.txt, …/ImageFiles/emptyDir/pkgconfig/temp.txt, …/Installer/ImageFiles/emptyDir/run/temp.txt, …/Installer/ImageFiles/icons/powernut_Stop.ico, …/Installer/ImageFiles/icons/powernut_logo.ico, …/Installer/ImageFiles/libusb/libusb_win32.exe, scripts/Windows/Installer/NUT-Installer.xml: Windows scripts and support files for NUT Windows installer using WIX (from Praveen Kumar)
  • scripts/Windows/wininit.c: Handle properly the "none" MODE in nut.conf
  • scripts/Windows/wininit.c: Fix a crash if configuration files are wrong in non-service mode
  • scripts/Windows/wininit.c: Add some console output when running in non-service mode

2.616. 2011-02-24 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/libusb0.c, drivers/libusb1.c: Correctly manage time-out in libusb

2.617. 2011-02-22 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/wininit.c: Add a Sleep before running upsmon… …or else we are spamed with communication errors. Try to properly close all handles.

2.618. 2011-02-15 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • include/common.h, scripts/Windows/wininit.c: Let nut.exe calls its children through their relatives paths

2.619. 2011-02-14 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/wininit.c: Extent print_event capabilities

2.620. 2011-02-09 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsmon.c: Add date to notification

2.621. 2011-02-07 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c: small typo
  • common/wincompat.c: Prefer upsdebugx to upslogx for low level output

2.622. 2011-02-02 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/dstate.c: clean-up printf calls
  • common/common.c, drivers/upsdrvctl.c: Fix "upsdrvctl start" path issue

2.623. 2011-02-01 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Makefile.am: Fix "make distckeck-light" in Windows environment

2.624. 2011-01-31 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/Makefile.am, common/common.c: Fix compilation on buildbot

2.625. 2011-01-28 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsmon.c: upslog_with_errno does not call exit() nor return, … …so let the memory be freed at the end of the function (fix a double free)
  • drivers/mge-xml.c: Fix warning in mge-xml.c
  • drivers/libshut.c, drivers/libshut.h: Fix warnings in libshut.c.

2.626. 2011-01-27 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/isbmex.c: Porting isbmex driver
  • drivers/main.c: Fix warnings in main.c
  • clients/upsmon.c: Fix another race condition in notify.
  • clients/upsmon.c: Fix possible race in notify.
  • clients/upsmon.h: Fix warning in upsmon.h
  • common/wincompat.c: Fix warning in wincompat.c
  • configure.ac: Disable Hotplug and udev support on Windows (useful when cross-compiling)
  • common/common.c, include/common.h: Cleaner warning fix in common.c
  • clients/upsclient.c, common/wincompat.c, drivers/libhid.c, drivers/mge-xml.c, drivers/netxml-ups.c, include/wincompat.h: Add strtok_r implementation and remove last "#define strtok_r"

2.627. 2011-01-26 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • docs/configure.txt, nut-autoreconf: Merge from trunk
  • drivers/main.h, drivers/serial.c: More clean-up of wincompat
  • common/common.c: Fix a warning
  • drivers/main.h, include/wincompat.h: Clean-up : put compatibility macros in wincompat.h
  • clients/upsmon.c: upsmon does not fork in WIN32

2.628. 2011-01-19 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/common.c: Compilation fix (from Arjen de Korte)

2.629. 2011-01-18 Arjen de Korte <adkorte-guest@alioth.debian.org>

  • common/common.c: Prefer to use static variables locally over global variables (to prevent namespace conflicts)

2.630. 2011-01-18 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/common.c, scripts/Windows/wininit.c: Safer relative path management
  • scripts/Windows/wininit.c: Fix service access to configuration path

2.631. 2011-01-13 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • Makefile.am, clients/upsc.c, clients/upsclient.c, clients/upscmd.c, clients/upslog.c, clients/upsmon.c, clients/upsrw.c, common/inet_aton.c, common/state.c, common/wincompat.c, docs/configure.txt, docs/images/eaton-logo.png, docs/man/upsd.users.txt, drivers/dstate.c, drivers/dstate.h, drivers/dummy-ups.h, drivers/serial.h, drivers/upsdrvctl.c, include/common.h, include/wincompat.h, nut-autoreconf, scripts/Windows/wininit.c, server/conf.c, server/ssl.c, server/sstate.c, server/upsd.c, server/upsd.h, server/user.c: Merge from the trunk → porting the IPv6 code to Windows [re-added lost man files, and edited out conflict markers. -CFL]

2.632. 2011-01-07 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsclient.c: Fix client disconnection
  • scripts/Windows/wininit.c: code cleanup
  • common/common.c, common/wincompat.c, drivers/mge-utalk.c, drivers/serial.h, include/wincompat.h: Fix latency bug for mge-utalk.

2.633. 2010-12-22 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • include/common.h, server/upsd.c: Make datapath relative too

2.634. 2010-12-21 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Makefile.am: Fix winevent.h generation on clean compile (by Paul Fertser)
  • scripts/Windows/Makefile.am: Forgot to remove now useless winevent.dll reference
  • configure.ac, scripts/Windows/Makefile.am: Do not use an external DLL anymore. It seems that linking the resources directly into the binary makes the event log happy. (thanks to Paul Fertser for its help)

2.635. 2010-12-20 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/wincompat.c, configure.ac, include/common.h: Add usleep() implementation for systems that lack it (patch from Paul Fertser) This is needed e.g. on Debian which ships a really ancient version of mingw runtime.
  • common/common.c, include/common.h: Use paths relative to the .exe file’s binary for configuration and PID files.

2.636. 2010-12-17 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsclient.c, common/common.c, common/wincompat.c, drivers/belkinunv.c, drivers/bestfcom.c, drivers/bestuferrups.c, drivers/blazer_ser.c, drivers/ivtscd.c, drivers/mge-utalk.c, drivers/powercom.c, drivers/safenet.c, drivers/serial.c, drivers/serial.h, drivers/upscode2.c, include/common.h, include/wincompat.h, server/upsd.c: First implementation of termios functions
  • configure.ac: forgot this for automatic winevent.h and winevent.dll generation
  • common/common.c: Simplify timeout calculation

2.637. 2010-12-16 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/Makefile.am: Automatic generation of winevent.h and winevent.dll
  • scripts/Windows/Makefile, scripts/Windows/Makefile.am: Update halt.c compilation

2.638. 2010-12-10 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/common.c: Fix timeout calculation
  • clients/upsrw.c: upsrw is now working
  • clients/upscmd.c: upscmd is now working

2.639. 2010-12-09 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/common.c, drivers/belkinunv.c, drivers/bestfcom.c, drivers/bestfortress.c, drivers/bestuferrups.c, drivers/blazer_ser.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dummy-ups.c, drivers/genericups.c, drivers/genericups.h, drivers/ivtscd.c, drivers/mge-utalk.c, drivers/microdowell.c, drivers/powercom.c, drivers/powercom.h, drivers/safenet.c, drivers/serial.c, drivers/serial.h, drivers/upscode2.c, include/common.h: More work on serial drivers. Still some TODOs to address but all drivers are compiling now. Successfully tested mge-shut driver.

2.640. 2010-12-01 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • scripts/Windows/wininit.c: Start upsmon as a single process.
  • clients/upsmon.c: upsmon uses a message box instead of wall
  • server/nut_ctype.h, server/upsd.c: Fix upsd clients read

2.641. 2010-11-29 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/Makefile.am: Reverting useless previous commit: [SVN:2705]

2.642. 2010-11-26 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/Makefile.am: Add regex library for drivers (by Arnaud Quette)
  • common/common.c, common/wincompat.c, configure.ac, drivers/dstate.c, drivers/dstate.h, drivers/main.c, drivers/upsdrvctl.c, include/common.h, include/wincompat.h, scripts/Makefile.am, scripts/Windows/Makefile.am, {common ⇒ scripts/Windows}/winevent.mc, scripts/Windows/wininit.c, server/sstate.c, server/upsd.c, server/upstype.h: Change the "full services" approach to a more POSIX one. We now have only one Windows service in charge of starting/stopping the relevant NUT processes. It’s a Windows replacement for the init script. This service is also a proxy for processes to write to Windows event log. So only one service has to be registered to be able to log event.

2.643. 2010-11-19 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/upsclient.c: Remove useless header

2.644. 2010-11-16 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/common.c, drivers/main.c: Better use of NUT framework for previous commit
  • common/common.c, drivers/main.c, include/common.h, server/upsd.c: We need to register one driver service per ups in upsd.conf. So these drivers need to have different names and command line arguments.

2.645. 2010-11-05 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/common.c, drivers/dstate.c, drivers/main.c, include/common.h, server/upsd.c: More factorization and fix a bug in drivers services stop

2.646. 2010-11-05 Charles Lepple <clepple+nut@gmail.com>

  • server/Makefile.am: Finish removing hard-coded paths to winsock2 library (as in [SVN:2674])

2.647. 2010-11-05 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • configure.ac: This 3 lines has been duplicated instead of being removed.
  • clients/Makefile.am, common/Makefile.am, configure.ac, m4/nut_check_socketlib.m4, m4/nut_type_socklen_t.m4: Correct integration of WinSock library (by Arnaud Quette)

2.648. 2010-11-04 Arjen de Korte <adkorte-guest@alioth.debian.org>

  • configure.ac, drivers/Makefile.am, m4/nut_check_libusb.m4: Checking whether or not we should use the regex library… …should be done for all USB connected devices (since we use this in the matcher function). In that case it is much cleaner to add this check in nut_check_libusb.m4. This also fixes the wrong use of AC_SEARCH_LIBS, that already adds -lregex to LIBS (which means all binaries are linked against this library).

2.649. 2022-05-14 Thierry Duvernoy <tduvernoy@free.fr>

  • drivers/usb-common.h: Completing libusb #define error declarations

2.650. 2010-11-04 Arnaud Quette <arnaud.quette@free.fr>

  • configure.ac, drivers/Makefile.am, drivers/megatec.c, drivers/megatec_usb.c: Add regex library check and flags

2.651. 2010-11-03 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/dstate.c, drivers/main.c: Make drivers run as service by default
  • m4/nut_type_socklen_t.m4: MinGW socklen detection (by Arnaud Quette)

2.652. 2022-05-13 Jim Klimov <jimklimov@gmail.com>

  • drivers/upsdrvctl.c: if we had to SIGKILL a driver, and succeeded, remove its PID file
  • drivers/main.c: if an old PID file was found, say about it before killing that PID (avoid questionable "kill: No such process" with no further context)
  • .circleci/config.yml: reduce the workload, do not run "default-all-errors" every time (fightwarn-all includes it anyway now)
  • drivers/upsdrvctl.c: SIGKILL a driver instance if SIGTERM did not [#1423]
  • .circleci/config.yml: comment to elaborate on individual vs shared ccache
  • .circleci/config.yml: comment away not-working tests (alldrv)
  • drivers/main.c: SIGKILL a sibling driver instance if several SIGTERMs did not [#1423]
  • ci_build.sh: fix fightwarn-all for systems without a clang-cpp in PATH
  • .circleci/config.yml: BREW_MORE packages for alldrv test
  • .circleci/config.yml: rename build scenarios to reveal their aspect
  • .circleci/config.yml: allow to BREW_MORE packages in some scenarios
  • NEWS, docs/nut.dict: NEWS: reflect fixes and CI for MacOS

2.653. 2010-11-03 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • common/common.c, include/common.h, server/upsd.c: Factorization of service code

2.654. 2010-10-29 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • server/upsd.c: Add Uninstall facility to upsd

2.655. 2010-10-28 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • server/upsd.c: upsd behaves like a service by default now
  • common/common.c, common/wincompat.c: Remove C+\+ style comments
  • common/common.c, common/wincompat.c, common/winevent.mc, include/common.h, include/wincompat.h: Map syslog to Windows’s event log.

2.656. 2010-10-20 Arnaud Quette <arnaud.quette@free.fr>

  • clients/upsc.c, clients/upsclient.c, clients/upscmd.c, clients/upslog.c, clients/upsmon.c, clients/upsrw.c, clients/upssched.c, common/common.c, common/inet_aton.c, common/wincompat.c, configure.ac, drivers/dstate.h, drivers/libusb0.c, drivers/libusb1.c, drivers/serial.h, drivers/usb-common.c, include/common.h, server/ssl.c, server/sstate.c, server/upsd.c, server/upsd.h, server/user.c: Rename DATADIR to NUT_DATADIR to avoid conflict with MinGW objidl.h header

2.657. 2010-10-20 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • drivers/dstate.c: Better handling of multiple connection on drivers
  • server/sstate.c, server/upsd.c: Remove unneeded debug printf
  • common/common.c: Remove hack from confpath function. You have to declare a NUT_CONFPATH environnement variable in your Windows settings
  • common/wincompat.c, include/wincompat.h: Set again eol property to native
  • common/inet_aton.c, drivers/dstate.c, include/common.h, server/upsd.c: Fix errors appeared when merging from regular 2.4.3 to svn trunk
  • drivers/Makefile.am: Remove hard coded path to libws2_32
  • clients/Makefile.am, common/Makefile.am, {clients ⇒ common}/wincompat.c, {clients ⇒ include}/wincompat.h, server/Makefile.am: Move wincompat.[ch] to common

2.658. 2010-10-20 Charles Lepple <clepple+nut@gmail.com>

  • clients/wincompat.c, clients/wincompat.h: Fix executable bits

2.659. 2010-10-18 Frederic Bohe <fbohe-guest@alioth.debian.org>

  • clients/wincompat.c, clients/wincompat.h: Set eol-style to native
  • clients/Makefile.am, clients/upsc.c, clients/upsclient.c, clients/upscmd.c, clients/upslog.c, clients/upsmon.c, clients/upsrw.c, clients/upssched.c, clients/wincompat.c, clients/wincompat.h, common/common.c, common/state.c, drivers/Makefile.am, drivers/apcsmart.h, drivers/bcmxcp_usb.c, drivers/belkin.h, drivers/blazer_usb.c, drivers/dstate.c, drivers/dstate.h, drivers/dummy-ups.c, drivers/libhid.c, drivers/libusb0.c, drivers/libusb1.c, drivers/main.c, drivers/main.h, drivers/megatec.c, drivers/megatec_usb.c, drivers/mge-xml.c, drivers/netxml-ups.c, drivers/richcomm_usb.c, drivers/serial.c, drivers/serial.h, drivers/upsdrvctl.c, drivers/usb-common.c, drivers/usbhid-ups.c, include/common.h, server/Makefile.am, server/conf.c, server/ssl.c, server/sstate.c, server/sstate.h, server/stype.h, server/upsd.c, server/upsd.h, server/upstype.h, server/user.c: Initial commit (preliminary investigation)

2.660. 2022-05-12 Thierry Duvernoy <tduvernoy@free.fr>

  • drivers/usbhid-ups.c: Adding insufficient memory libusb error handling to reconnect UPS instead of doing nothing. For example, this error appears after 1 to 8 hours on an Eaton MGE 1500 UPS (0463:ffff) and causes many "Can’t retrieve Report 0a: Resource temporarily unavailable" errors, followed by a passage of UPS in ups.tatus "OL OFF" (Online Off) which immediately cuts off computer power supply !!! Trying to reconnect solves this prohibitive problem

2.661. 2022-05-12 Jim Klimov <jimklimov+nut@gmail.com>

  • .circleci/config.yml: set CANBUILD_NIT_TESTS=yes since CircleCI VMs are single-run/single-user environments
  • .circleci/config.yml: add CI_BUILDDIR: "obj" scenario
  • ci_build.sh: handle CANBUILD_NIT_TESTS envvars and NUT_BUILD_CAPS=NIT… labels [follow-up to #1383]
  • .circleci/config.yml: add BUILD_TYPE: "fightwarn-all" scenario
  • .circleci/config.yml: use different BUILD_TYPEs to test more nuances
  • .circleci/config.yml: parameterize BUILD_TYPE

2.662. 2022-05-11 Jim Klimov <jimklimov+nut@gmail.com>

  • .circleci/config.yml: report ccache stats before and after build to be sure it is used well
  • .circleci/config.yml: use parameterized "osx-xcode" job to run some more scenarios - conservative about gcc-XXX versions
  • .circleci/config.yml: update TODO comments
  • .circleci/config.yml: use parameterized "osx-xcode" job to run some more scenarios
  • .circleci/config.yml: convert "osx-xcode" job to parameterized
  • .circleci/config.yml: use automatically maintained built-in CIRCLE_JOB envvar
  • .circleci/config.yml: rearrange the "job" definition for xcode to use envvars block, so it can be generalized
  • .circleci/config.yml: do not push PATH to ci_build.sh now that we have CI_CCACHE_SYMLINKDIR
  • .circleci/config.yml: comment away homebrew-libtool experiments
  • .circleci/config.yml: update TODO comments

2.663. 2022-05-10 Jim Klimov <jimklimov+nut@gmail.com>

  • .circleci/config.yml: use initial LDFLAGS="-L/usr/local/lib" explicitly
  • .circleci/config.yml: promote installed libtool to the system - hide the debug
  • .circleci/config.yml: promote installed libtool to the system - find its files for info
  • .circleci/config.yml: promote installed libtool to the system
  • ci_build.sh: avoid losing tmp/lib in BUILD_TYPE=default-all-errors loops
  • drivers/macosx-ups.c: avoid shadowing with hardcoded max_capacity_value when we have a possibly-detected one CC: @clepple
  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: add a chapter on MacOS with Homebrew
  • .circleci/config.yml: hotfix "warning: sem_init is deprecated"
  • drivers/macosx-ups.c: avoid (bogus) uninitialized-use warnings by pre-initializing
  • drivers/macosx-ups.c: do not compare int and float
  • drivers/macosx-ups.c: comment and whitespace fixes
  • drivers/macosx-ups.c: do not shadow global device_name with device_name_buf
  • ci_build.sh: hotfix "directory not found for option …/tmp/lib"
  • .circleci/config.yml: hotfix -Wno-poison-system-directories
  • .circleci/config.yml: install more prerequisites
  • .circleci/config.yml: refactor to use CI_CCACHE_SYMLINKDIR
  • ci_build.sh, docs/config-prereqs.txt, docs/nut.dict: ci_build.sh: refactor to let override CI_CCACHE_SYMLINKDIR easily
  • drivers/dummy-ups.c: use better portable st_mtime [fallout of #1383, fix #1415]
  • drivers/dummy-ups.c: use better portable st_mtime [fallout of #1383, fix #1415]

2.664. 2022-05-10 Jim Klimov <jimklimov@gmail.com>

  • .circleci/config.yml: Add .circleci/config.yml [#1419, #917, #869]

2.665. 2022-05-09 Jim Klimov <jimklimov@gmail.com>

  • docs/solaris-usb.txt, scripts/Solaris/Makefile.am, …/{reset-ups-usb-solaris.sh ⇒ reset-ups-usb-solaris.sh.sample}: scripts/Solaris/Makefile.am: distribute example reset-ups-usb-solaris.sh …and rename the file accordingly to avoid end-user confusion
  • docs/solaris-usb.txt, scripts/Solaris/reset-ups-usb-solaris.sh: docs/solaris-usb.txt: move reset-ups-usb-solaris.sh to scripts/Solaris/ …and add some comments and sanity-checks
  • docs/nut.dict, docs/solaris-usb.txt: docs/solaris-usb.txt: document use of cfgadm to disconnect and recycle the USB layer

2.666. 2022-05-10 Abel Gómez <abgolla@gmail.com>

2.667. 2022-05-08 Abel Gómez <abgolla@gmail.com>

  • data/driver.list.in, drivers/salicru-hid.c, scripts/upower/95-upower-hid.hwdb: Add support for Salicru SPS 850 ADV T

2.668. 2022-05-05 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/developers.txt: clarify that python and perl are needed but optional for running autogen.sh
  • docs/download.txt: clarify that python and perl are needed but optional for running autogen.sh

2.669. 2022-04-29 Jim Klimov <jimklimov+nut@gmail.com>

  • data/driver.list.in: driver.list.in: Add HCL info for CyberPower Systems CPJ500 (USB) Closes: #1403
  • data/driver.list.in: mark devices supported by "*_usb" drivers with "USB" port comment, where lacking
  • data/driver.list.in: mark "usbhid-ups" devices with "USB" port comment, where lacking
  • data/driver.list.in: mark "snmp-ups" as supported by public protocol (3\+)
  • data/driver.list.in: mark "usbhid-ups" as supported by public protocol (3\+)
  • data/driver.list.in: revise CPS "BR1000ELCD" support level

2.670. 2020-12-28 Charles Lepple <clepple+nut@gmail.com>

2.671. 2022-04-04 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: prepare for next iterations after release of NUT v2.8.0
  • configure.ac: prepare for next iterations after release of NUT v2.8.0
  • configure.ac: cut the release of NUT v2.8.0
  • tools/nut-scanner/Makefile.am, clients/Makefile.am: bump "version-info" for NUT v2.8.0 Development since 2.7.4 release included changes to code structure, fought warnings, and might impact ABI/API by the changes to arguments (specific integer types and size_t vs. architecture-dependent choice).
  • configure.ac: cut the release of NUT v2.8.0
  • tools/nut-scanner/Makefile.am, clients/Makefile.am: bump "version-info" for NUT v2.8.0 Development since 2.7.4 release included changes to code structure, fought warnings, and might impact ABI/API by the changes to arguments (specific integer types and size_t vs. architecture-dependent choice).

2.672. 2022-04-26 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/nut.dict: update dict
  • docs/download.txt: link to distro packaging wiki page on NUT github
  • docs/download.txt: update links to distro packaging recipes and their results
  • docs/download.txt: deprecate buildbot tarballs
  • drivers/libusb0.c, drivers/libusb1.c: drivers/libusb{0,1}.c: report why we could not open any HID devices Closes: #477

2.673. 2022-04-23 Jim Klimov <jimklimov@gmail.com>

  • data/driver.list.in: driver.list.in: Add HCL info for PowerWalker VI 750T/HID (USB) Closes: #774
  • data/driver.list.in: driver.list.in: Add HCL info for PowerWalker VI 2200 SH and 650 SHL (USB) Closes: #646
  • data/driver.list.in: driver.list.in: Add HCL info for PowerWalker VI 2200 SHL (USB) Closes: #756
  • data/driver.list.in: driver.list.in: Add HCL info for PowerWalker VI 650 SH (USB) Closes: #473
  • data/driver.list.in: driver.list.in: Add HCL info for PowerWalker Basic VI 1000 SB (USB) Closes: #818
  • data/driver.list.in: driver.list.in: Add HCL info for PowerWalker VI 3000 SCL (USB) Closes: #971
  • data/driver.list.in: driver.list.in: Add HCL info for PowerWalker VI 1200 SHL (USB) Closes: #1270
  • data/driver.list.in: driver.list.in: Add HCL info for UPS Phasak model 9465, renamed as P6N (USB) Closes: #1187
  • data/driver.list.in: driver.list.in: Add HCL info for Online-UPS Xanto S700 [#1279]
  • data/driver.list.in: driver.list.in: Add HCL info for Santak MT*-PRO / Castle C*K (Serial) Closes: #1039
  • data/driver.list.in: driver.list.in: Add HCL info for Digitus DN-170040, DN-170041, and Voltronic Power GalleonX9-RT LCD-1-3K (USB) Closes: #1251
  • data/driver.list.in: driver.list.in: Add HCL info for Kebo UPS-650VA (USB) from DDL
  • data/driver.list.in: driver.list.in: Add HCL info for Kebo UPS-1000D (USB) Closes: #981
  • data/driver.list.in: driver.list.in: Add HCL info for Aviem Pro 2000VA (USB) Closes: #827
  • data/driver.list.in: driver.list.in: Add HCL info for Digitus DN-170076 (USB) Closes: #948
  • data/driver.list.in: driver.list.in: Add HCL info for Ippon Back Basic 850 Euro (USB) Closes: #802
  • data/driver.list.in: driver.list.in: Add HCL info for Energy Technologies DPK1/1-3 (Serial) Closes: #762
  • data/driver.list.in: driver.list.in: Add HCL info for V7 UPS1RM2U1500-1E UPS 1500VA Rack Mount 2U (USB) Closes: #716
  • data/driver.list.in: driver.list.in: Add HCL info for Advice PRS850 and PRV700 Pro (USB) from DDL
  • data/driver.list.in: driver.list.in: Add HCL info for Advice Top V Pro 6-10K (USB) Closes: #744
  • data/driver.list.in: driver.list.in: Add HCL info for Tecnoware UPS ERA PLUS 1100 (USB) Closes: #747
  • data/driver.list.in: driver.list.in: Add HCL info for Elsist UPS Nemo2.0 160 (USB) Closes: #719
  • data/driver.list.in: driver.list.in: Add HCL info for Powercom Raptor 2000 and RPT-600AP (USB) Closes: #633
  • data/driver.list.in: driver.list.in: Add HCL info for Eaton 9PX 2000 RT (USB) Closes: #540
  • data/driver.list.in: driver.list.in: Add HCL info for Salicru SPS ONE (USB) Closes: #554
  • data/driver.list.in: driver.list.in: Add HCL info for APC SMC2200BI-BR (USB) Closes: #557
  • data/driver.list.in: driver.list.in: Update comment for APC Back-UPS Pro 1000, Model BX1000M (USB) [nut#139]
  • data/driver.list.in: driver.list.in: Add HCL info for Liebert PowerSure PSA 500 series (USB) Closes: #601
  • docs/man/usbhid-ups.txt: document some caveats with CyberPower UPSes [issues #520, #1394]
  • data/driver.list.in: driver.list.in: Update for CyberPower Systems OR1500ERM1U [#1338]
  • data/driver.list.in: driver.list.in: Update comment for CyberPower Systems PR1500RT2U [#1191]
  • data/driver.list.in: driver.list.in: Add HCL info for CyberPower Systems CP850PFCLCD (USB) Closes: #605
  • data/driver.list.in: driver.list.in: Add HCL info for CyberPower Systems BL1250U (USB) Closes: #1012
  • data/driver.list.in: driver.list.in: Add HCL info for CyberPower Systems RT650EI (USB) Closes: #453
  • data/driver.list.in: driver.list.in: Add HCL info for CyberPower Systems CP1500PFCLCD (USB) Closes: #520
  • data/driver.list.in: driver.list.in: Add HCL info for CyberPower Systems BR1000ELCD (USB) Closes: #552
  • data/driver.list.in: driver.list.in: Add HCL info for CyberPower Systems UT2200E (USB) Closes: #556
  • data/driver.list.in: driver.list.in: Add HCL info for CyberPower Systems OR500LCDRM1U (USB) Closes: #578
  • data/driver.list.in: driver.list.in: Add HCL info for CyberPower Systems EC850LCD (USB) Closes: #622
  • data/driver.list.in: driver.list.in: Add HCL info for Guardian LCD 1500 AP (IGA1500LCD) (Serial) Closes: #449
  • data/driver.list.in: driver.list.in: Add HCL info for Ablerex MARS MS3000RT (Serial) Closes: #449
  • data/driver.list.in: driver.list.in: Add HCL info for APC AP9584 Serial-to-USB kit Closes: #181
  • data/driver.list.in: driver.list.in: Update comment for Tripp_Lite SMX500RT1U (USB) [#584]
  • data/driver.list.in: driver.list.in: Add HCL info for Huawei UPS2000 series (modbus) [#954 #1066 #1198 #1017]
  • data/driver.list.in: driver.list.in: Add HCL info for DEXP MIX 850VA (USB) Closes: #721
  • data/driver.list.in: driver.list.in: Add HCL info for CPC, ARES and Powercool models with hunnox protocol (USB) Closes: #537
  • data/driver.list.in: driver.list.in: Add HCL info for Greencell Micropower 600 (USB) Closes: #1080
  • data/driver.list.in: driver.list.in: Add HCL info for Crown CMU-SP1200IEC (USB) Closes: #1014
  • data/driver.list.in: driver.list.in: Add HCL info for DigiTECH 650VA (USB) Closes: #674
  • data/driver.list.in: driver.list.in: Add HCL info for Hunnox devices (and new protocol subdriver) (USB) [#638]
  • data/driver.list.in: driver.list.in: Add HCL info for nJoy Aten PRO 3000 (SNMP) Closes: #1281

2.674. 2022-04-25 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: add wc
  • docs/nut.dict: add uniq

2.675. 2022-04-25 Jim Klimov <jimklimov+nut@gmail.com>

  • Jenkinsfile-dynamatrix: add a CI_BUILDDIR=obj into docs scenario; name "out-of-tree builds" as such

2.676. 2022-04-24 Jim Klimov <jimklimov+nut@gmail.com>

  • Jenkinsfile-dynamatrix: run some tests with CI_BUILDDIR
  • .gitignore, ci_build.sh: ci_build.sh: prepare for CI_BUILDDIR=obj
  • ci_build.sh: introduce CI_BUILDDIR to handle out-of-tree builds other than distcheck
  • docs/man/Makefile.am, docs/man/index.txt, docs/man/nutupsdrv.txt, docs/man/upsd.txt, docs/nut.dict: docs/man/nutupsdrv.txt \+ index.txt \+ upsd.txt: use /srv/libvirt/abuild/jenkins-nut-doc/workspace/nut-website/nut/docs//linkman-*.txt for included data
  • docs/man/Makefile.am: refactor LINKMAN_INCLUDE_CONSUMERS
  • docs/man/Makefile.am: introduce A2X_VERBOSE
  • docs/nut-qa.txt, docs/nut.dict: docs/nut-qa.txt: mention "make check-NIT-devel" helper target
  • docs/man/victronups.txt: update link to cable pinout Closes: #1371
  • configure.ac: fix enableval vs withval
  • drivers/bcmxcp_usb.c, drivers/blazer_usb.c, drivers/nutdrv_qx.c, drivers/richcomm_usb.c, drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usb-common.c, drivers/usb-common.h, drivers/usbhid-ups.c: drivers/usb-common.{h,c} and USB-capable drivers: introduce warn_if_bad_usb_port_filename() Closes: #1368
  • ci_build.sh: disable check-NIT by default in CI runs for now

2.677. 2022-04-23 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/main.c: simplify detection of PROGNAME="lt-DRIVERNAME" making it more reliable for some platforms

2.678. 2022-04-18 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/cyberpower-mib.c: update cyberpower_power_status[] with new values [#1377]

2.679. 2022-04-23 Jim Klimov <jimklimov@gmail.com>

  • data/driver.list.in: Update driver.list.in

2.680. 2022-04-23 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: fix nut_enable_check_NIT
  • ci_build.sh: "--enable-check-NIT" and "--enable-maintainer-mode" for developer builds without a BUILD_TYPE
  • ci_build.sh: "--enable-check-NIT" for CI builds
  • tests/NIT/nit.sh: fix renaming typo
  • tests/NIT/nit.sh: remove mktemp-ed TESTDIR when we exit
  • tests/NIT/nit.sh: refactor with TESTDIR
  • clients/upssched.c, common/common.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dstate.c, include/common.h, server/sockdebug.c, server/sstate.c: check_unix_socket_filename() to meaningfully abort when our paths are too long
  • docs/man/clone.txt, docs/man/dummy-ups.txt: docs/man/clone.txt \+ dummy-ups.txt: clarify the dependency caveats Clone drivers do not require to run after upsd, but may need to start after the "real" driver whose socket thay leech onto.
  • tests/NIT/nit.sh: limit how long we wait for UPS1/UPS2 to begin responding
  • configure.ac, docs/configure.txt, docs/nut-qa.txt, tests/NIT/Makefile.am: tests/NIT/Makefile.am \+ configure.ac: introduce --enable-check-NIT
  • docs/man/dummy-ups.txt: re-wrap long lines and reword
  • docs/man/dummy-ups.txt: highlight that upsrw can not define new variables
  • docs/man/dummy-ups.txt: update notes for dummy-once mode ability to re-read file only if it changes
  • docs/man/dummy-ups.txt: update notes for dummy-once mode
  • docs/man/clone.txt, docs/man/dummy-ups.txt: docs/man/dummy-ups.txt \+ clone.txt: cross-link two man pages to remind about similar use-cases

2.681. 2022-04-23 Jim Klimov <jimklimov@gmail.com>

  • data/driver.list.in: driver.list.in: Add HCL info for nJoy Keen 600 (USB) Closes: #867

2.682. 2022-04-22 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: testcase_sandbox_upsc_query_timer(): do not waste time if we did get the answer we want
  • tests/NIT/nit.sh: testcase_sandbox_upsc_query_timer(): for slower testers out there, wait one more cycle
  • tests/NIT/nit.sh: ignore message from NSS builds Those tend to add lines like Init SSL without certificate database so we should better grep for expected char sequence

2.683. 2022-04-22 Paweł Rapkiewicz <pawel.rapkiewicz@gmail.com>

  • data/driver.list.in, drivers/ever-hid.c, scripts/upower/95-upower-hid.hwdb: Confirm support for ECO Pro AVR CDS series EVER UPS This commit confirms that EVER UPS line ECO Pro AVR CDS is supported by NUT, from nowon, nut-scanner will recognize EVER Ups as follows: [nutdev1] driver = "usbhid-ups" port = "auto" vendorid = "2E51" productid = "0000" product = "ECO PRO AVR CDS" serial = "XXXXXXXXXXXXXXXXXXXXXXXXX" vendor = "EVER" bus = "003"

2.684. 2022-04-22 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: add testgroup_sandbox_cppnit_simple_admin() to troubleshoot dummy-ups data propagation
  • tests/NIT/nit.sh: testcase_sandbox_start_drivers_after_upsd(): wait for UPS1 and UPS2 to respond
  • tests/cpputest-client.cpp: allow up to 10 seconds for SET VAR to propagate into read-back value
  • tests/.gitignore: GitIgnore tests/cppnit binary and logs
  • docs/nut.dict: Update nut.dict
  • tests/NIT/nit.sh: refactor test cases into smaller routines and groups, and allow to select NIT_CASE optionally
  • tests/NIT/nit.sh: refactor stop_daemons()
  • Makefile.am, tests/Makefile.am, tests/NIT/Makefile.am: tests/NIT/Makefile.am: extend with check-NIT-devel for iterating
  • drivers/dstate.c: log start of processing in sock_arg()
  • drivers/dstate.c: whitespace fix
  • tests/NIT/nit.sh: allow to tweak NUT_DEBUG_MIN
  • tests/cpputest-client.cpp: trace values read back after setting
  • tests/cpputest-client.cpp: rename "s1" original value reading
  • scripts/python/Makefile.am: clean *.pyc and pycache/ if present

2.685. 2022-04-21 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/dummy-ups.c: fix dummy-once mode for relative path in port
  • tests/NIT/nit.sh: name the "dummy.seq" so it loops by default
  • drivers/main.c: better fix for handling of libtool-named binaries
  • tests/NIT/nit.sh: if "Error: Driver not connected" retry with UPSD started after drivers are running
  • drivers/main.c: fix the handling of libtool-named binaries
  • tests/NIT/nit.sh: "sed -i" requires an extension (may be empty, in BSD must be a separate CLI token, in others must be same token - not empty is ok for all)
  • tests/NIT/nit.sh: "sed -i" requires an extension (may be empty, in BSD must be a separate CLI token)
  • drivers/dummy-ups.c: cover exhaustive case(enum) with pragmas for diametral warnings
  • tests/NIT/nit.sh: extend with mode=… for dummy-ups [#1385]
  • NEWS, UPGRADING, docs/man/dummy-ups.txt, drivers/dummy-ups.c: dummy-ups: do re-read a "dummy-once" file, though only if it changes while the driver runs r the commit message for your changes. Lines starting
  • NEWS, UPGRADING, docs/man/dummy-ups.txt, drivers/dummy-ups.c: dummy-ups: separate MODE_DUMMY_ONCE from MODE_DUMMY_LOOP Closes: #1385
  • docs/man/dummy-ups.txt: small rewording
  • drivers/dummy-ups.c: refactor "mode" from random defines to an enum
  • include/str.h, common/str.c: add str_ends_with()
  • tests/NIT/nit.sh: make sure ups.status is not pre-defined empty in test sandbox
  • tests/cpputest-client.cpp: test_auth_user(): bail out if "ups.status" reply is empty
  • tests/NIT/nit.sh: report DEBUG_SLEEP mode more usefully
  • tests/NIT/nit.sh: spell out 127.0.0.1 and ::1 if detected supported on local system - do not rely on ping CLI alone
  • tests/NIT/nit.sh: spell out 127.0.0.1 and ::1 if detected supported on local system

2.686. 2022-04-20 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: report issues more usefully for troubleshooting CI
  • tests/NIT/Makefile.am: use more portable clumsier code
  • drivers/main.c: accept "lt-PROGNAME" to run libtool-wrapped builds during development
  • tests/NIT/nit.sh: Avoid dummies with TIMER flip-flops for cppnit if we can
  • tests/Makefile.am: do not run "cppnit" as part of TESTS, only give a recipe to build it
  • clients/nutclient.h, tests/Makefile.am, tests/NIT/nit.sh, tests/cpputest-client.cpp: NutActiveClientTest: introduce C+\+ NutActiveClientTest for NIT and similar uses
  • tests/NIT/nit.sh: log OVERALL results before DEBUG_SLEEP
  • tests/NIT/nit.sh: refactor upsd.users passwords as shell vars to ease reuse
  • tests/NIT/nit.sh: check that test_nutclient.py was generated before running it; export NUT_PORT just once
  • tests/NIT/nit.sh: embed weak randomization of NUT_PORT At least this little magic is better than a hardcoded number: if several CI executors run make check at once on same host, they now have a decent chance to not collide (not guaranteed though)
  • tests/NIT/nit.sh: let caller customize NUT_PORT
  • Makefile.am, configure.ac, tests/Makefile.am, tests/NIT/.gitignore, tests/NIT/Makefile.am: Add tests/NIT/Makefile.am for straightforward integration of the test suite
  • configure.ac, tests/Makefile.am: configure.ac: fix detection of cppunit on some platforms Note for posterity: CFLAGS go before source, LDFLAGS+LIBS after source, in g+\+ cmdline
  • Makefile.am: fix "make check-docs" and siblings from root dir
  • Makefile.am: let "make check-NIT" from root dir
  • tests/NIT/README, tests/NIT/nit.sh: tests/NIT: warn in docs/comments that starting pwd should be the BUILDDIR
  • tests/Makefile.am: help check-NIT pass in distcheck (cleaner)
  • tests/NIT/README, tests/NIT/nit.sh: tests/NIT/README: update a bit
  • tests/Makefile.am: help check-NIT pass in distcheck
  • docs/nut-qa.txt: mention NUT NIT and update links to Ubuntu QART
  • tests/NIT/nit.sh: make some debug noise optional
  • tests/NIT/nit.sh: typo fix for SRCDIR
  • tests/NIT/nit.sh: sanity checks for BUILDDIR
  • tests/NIT/nit.sh: bail out quickly if got no daemons to run
  • tests/Makefile.am: call NIT suite
  • tests/NIT/nit.sh: document DEBUG_SLEEP a bit

2.687. 2022-04-19 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/.gitignore, tests/NIT/README, tests/NIT/nit.sh: NIT: NUT Integration Tests (usable PoC) [another take at issue #3]
  • clients/upsrw.c, docs/man/upsrw.txt: upsrw: accept "-l" for listing Closes: #1382
  • scripts/python/module/test_nutclient.py.in: test_nutclient.py.in: allow to override NUT_PORT, NUT_USER, NUT_PASS
  • conf/ups.conf.sample: update with info from docs/man/ups.conf.txt

2.688. 2022-04-18 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/nutclient.cpp: clients/nutclient.{cpp,h}: deviceMaster()/devicePrimary(): add fallback handling with the other keyword [#840, #1374]
  • clients/nutclient.cpp, clients/nutclient.h, clients/nutclientmem.cpp, clients/nutclientmem.h, docs/man/libnutclient_misc.txt: add PRIMARY handling [#840] Closes: #1374
  • clients/nutclient.cpp, clients/nutclient.h, docs/man/libnutclient_tcp.txt: clients/nutclient.{cpp,h} docs/man/libnutclient_tcp.txt: fix timeout from long to time_t Closes: #1376
  • clients/upsc.c, clients/upsclient.c, clients/upsclient.h, clients/upscmd.c, clients/upsimage.c, clients/upslog.c, clients/upsmon.h, clients/upsrw.c, clients/upsset.c, clients/upsstats.c, docs/man/upscli_connect.txt, drivers/dummy-ups.c: clients/upsclient.{c,h} and many clients \+ dummy-ups: fix port from int to uint16_t Closes: #1379
  • docs/man/libnutclient_variables.txt: fix English
  • clients/upsclient.h: fix whitespace
  • clients/upsclient.c, clients/upsclient.h, docs/man/upscli_readline.txt, docs/man/upscli_sendline.txt: clients/upsclient.{c,h} docs/man/upscli_{read,send}line.txt: fix timeout from long to time_t Closes: #1373
  • clients/nutclient.cpp, clients/nutclient.h, docs/man/libnutclient_tcp.txt, docs/nut.dict: clients/nutclient.{cpp,h}: fix port type from unsigned short to uint16_t Closes: #1375
  • docs/man/Makefile.am: $(<F) is not POSIX compliant, while $(@F) is, go figure [#1362 follow-up]

2.689. 2022-04-17 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/Makefile.am: abstract filenames into LINKMAN_INCLUDE_GENERATED macro

2.690. 2022-04-16 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/Makefile.am: DOCBUILD_BEGIN: work around older BSD make not seeing sources not present in builddir It seems to resolve single-source documents well, but fails to find the upsd.txt which depends on linkman*-names.txt and build a proper relative path to it.
  • docs/man/Makefile.am: ensure linkman-drivertool*names.txt are in builddir
  • docs/man/Makefile.am: ensure linkman-drivertool*names.txt are in A2X_OUTDIR
  • docs/man/Makefile.am: avoid spurious regeneration of linkman-drivertool*names.txt whenever we reference them
  • docs/man/Makefile.am: generate linkman-drivertool*names.txt independent of current dir being srcdir
  • ci_build.sh: "cat" the "git diff"

2.691. 2022-04-15 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/libnutclient_general.txt, docs/man/libnutclient_misc.txt, docs/man/libnutclient_tcp.txt, docs/man/libnutclient_variables.txt, docs/man/libupsclient-config.txt, docs/nut.dict: docs/man/libnutclient*.txt: wrap long lines, minor rephrase, bullet points
  • docs/man/libnutclient_commands.txt, docs/man/libnutclient_devices.txt: docs/man/libnutclient_devices.txt, libnutclient_commands.txt: synopsis for strarr
  • docs/man/libnutclient_devices.txt: wrap long lines, minor rephrase, bullet points
  • docs/man/libnutclient_commands.txt: wrap long lines, minor rephrase, bullet points; added optional param arg in API
  • docs/man/upscli_strerror.txt: fix return type modifier to const
  • docs/man/upscli_add_host_cert.txt, docs/man/upscli_cleanup.txt, docs/man/upscli_disconnect.txt, docs/man/upscli_fd.txt, docs/man/upscli_get.txt, docs/man/upscli_init.txt, docs/man/upscli_list_next.txt, docs/man/upscli_readline.txt, docs/man/upscli_sendline.txt, docs/man/upscli_splitaddr.txt: docs/man/upscli*.txt: wrap long lines, minor rephrase
  • docs/man/nutscan_init.txt, docs/man/nutscan_new_device.txt, docs/man/nutscan_scan_usb.txt: docs/man/nutscan*.txt: document methods with (void) arg list as such
  • docs/man/Makefile.am, docs/man/index.txt, docs/man/nutscan.txt, docs/man/nutscan_add_device_to_device.txt, docs/man/nutscan_add_option_to_device.txt, docs/man/nutscan_cidr_to_ip.txt, docs/man/nutscan_display_parsable.txt, docs/man/nutscan_display_ups_conf.txt, docs/man/nutscan_free_device.txt, docs/man/nutscan_get_serial_ports_list.txt, docs/man/nutscan_init.txt, docs/man/nutscan_new_device.txt, docs/man/nutscan_scan_avahi.txt, docs/man/nutscan_scan_eaton_serial.txt, docs/man/nutscan_scan_ipmi.txt, docs/man/nutscan_scan_nut.txt, docs/man/nutscan_scan_snmp.txt, docs/man/nutscan_scan_usb.txt, docs/man/nutscan_scan_xml_http.txt, docs/man/nutscan_scan_xml_http_range.txt: docs/man/nutscan_scan_xml_http_range.txt: document the method which got extended from original nutscan_scan_xml_http() doing just a local broadcast
  • docs/man/nutscan_scan_ipmi.txt: document the method which now is implemented
  • docs/man/nutscan.txt, docs/man/nutscan_add_device_to_device.txt, docs/man/nutscan_add_option_to_device.txt, docs/man/nutscan_cidr_to_ip.txt, docs/man/nutscan_free_device.txt, docs/man/nutscan_get_serial_ports_list.txt, docs/man/nutscan_init.txt, docs/man/nutscan_new_device.txt, docs/man/nutscan_scan_avahi.txt, docs/man/nutscan_scan_eaton_serial.txt, docs/man/nutscan_scan_nut.txt, docs/man/nutscan_scan_snmp.txt, docs/man/nutscan_scan_usb.txt, docs/man/nutscan_scan_xml_http.txt: docs/man/nutscan*.txt: wrap long lines, minor rephrase, fix timeouts to useconds_t
  • docs/nut.dict: spellcheck drivertool
  • docs/man/apcsmart-old.txt, docs/man/apcsmart.txt, docs/man/asem.txt, docs/man/bcmxcp_usb.txt, docs/man/liebert-esp2.txt, docs/man/macosx-ups.txt, docs/man/microsol-apc.txt, docs/man/nut.conf.txt, docs/man/nutdrv_atcl_usb.txt, docs/man/nutdrv_qx.txt, docs/man/nutdrv_siemens_sitop.txt, docs/man/oneac.txt, docs/man/optiups.txt, docs/man/upscode2.txt, docs/man/usbhid-ups.txt: docs/man/*.txt: reformat AUTHOR(S) and INTERNET RESOURCES blocks to common style
  • docs/man/upsdrvsvcctl.txt: list Jim Klimov as the AUTHOR
  • docs/man/nut-driver-enumerator.txt: list Jim Klimov as the AUTHOR
  • docs/man/snmp-ups.txt: list AUTHORS as a bulleted list and add Jim Klimov
  • docs/man/snmp-ups.txt: wrap long lines and reword a bit
  • docs/man/optiups.txt: wrap long lines
  • docs/man/phoenixcontact_modbus.txt: wrap long lines
  • docs/man/belkinunv.txt: add link to protocol description copy on NUT site
  • docs/support.txt: mention github instead of subversion
  • docs/man/.gitignore, docs/man/Makefile.am, docs/man/index.txt, docs/man/nutupsdrv.txt, docs/man/upsd.txt: docs/man/index.txt, upsd.txt, nutupsdrv.txt: generate the up-to-date list of drivers, current for each iteration
  • docs/man/index.txt, docs/man/nutupsdrv.txt, docs/man/upsd.txt: docs/man/upsd.txt, nutupsdrv.txt, index.txt: move common nutupsdrv[8] from the bulk of driver list
  • docs/man/nutupsdrv.txt, docs/man/upsd.txt: docs/man/upsd.txt, nutupsdrv.txt: generate current list of drivers
  • docs/man/index.txt: generate current list of drivers, separate "Driver Control" title
  • docs/man/nutupsdrv.txt, docs/man/upsd.txt: docs/man/upsd.txt, nutupsdrv.txt: reformat lists of drivers and tools to bullet lists
  • docs/Makefile.am: DOCBUILD_BEGIN: symlink images/ ONLY for PDF generation
  • ci_build.sh: add notes to Consider --enable-maintainer-mode
  • .gitignore: GitIgnore IDEA metadata files
  • docs/.gitignore: GitIgnore more intermediate XML files from docs generation

2.692. 2022-04-14 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/nutscan_display_parsable.txt, docs/man/nutscan_display_ups_conf.txt, docs/man/nutscan_free_device.txt, docs/man/nutscan_get_serial_ports_list.txt: docs/man/nutscan*.txt: fix formatting and typos
  • docs/man/upscli_get.txt, docs/man/upscli_init.txt, docs/man/upscli_list_start.txt: docs/man/upscli*.txt: fix sample source formatting
  • docs/man/upsmon.txt: reword a dangling sentence
  • docs/man/tripplite_usb.txt: fix formatting
  • docs/man/riello_ser.txt: fix formatting
  • docs/man/riello_usb.txt: fix formatting
  • docs/man/snmp-ups.txt: fix sample source formatting
  • docs/man/socomec_jbus.txt: fix formatting and typos
  • docs/man/Makefile.am, docs/nut.dict: docs/man/Makefile.am: list the socomec_jbus.txt
  • docs/man/pijuice.txt: fix formatting
  • docs/man/nutdrv_qx.txt: fix formatting
  • docs/man/nutdrv_atcl_usb.txt: fix formatting
  • docs/man/nut.conf.txt: fix sample source formatting
  • docs/man/mge-utalk.txt: fix formatting
  • docs/man/liebert-esp2.txt: fix formatting
  • docs/man/clone.txt: fix sample source formatting
  • docs/man/bestups.txt, docs/man/blazer-common.txt, docs/man/masterguard.txt: docs/man/blazer-common.txt, masterguard.txt, bestups.txt: fix formatting [#1361]
  • docs/man/adelsystem_cbi.txt: fix formatting
  • docs/sock-protocol.txt: fix formatting
  • docs/snmp-subdrivers.txt: small typo
  • docs/packager-guide.txt: reshuffle known names
  • docs/nut-qa.txt: list a few more tools we use
  • TODO, docs/nut-qa.txt: Fix remaining links to asciidoc.org
  • docs/nut-names.txt: fix table formatting
  • docs/new-clients.txt: fix sample source formatting
  • docs/net-protocol.txt: fix version table formatting
  • docs/FAQ.txt: fix formatting, extend some notes
  • docs/nut.dict: Update nut.dict
  • docs/developers.txt: fix formatting, extend some notes
  • docs/developer-guide.txt: fix formatting; update URL to evolution500.seq
  • docs/design.txt: fix formatting; note FIXMEs for documenting TRACKING support
  • docs/daisychain.txt: fix formatting
  • drivers/snmp-ups.h: update comment to clarify the meaning of SU_TYPE_DAISY_1 and SU_TYPE_DAISY_2
  • docs/configure.txt: fix formatting, add titles, extend some notes
  • docs/configure.txt: add a section on modbus drivers
  • docs/configure.txt: link to powerman project
  • docs/configure.txt: fix formatting, add driver type titles, extend some notes
  • docs/config-prereqs.txt: fix formatting, extend some notes

2.693. 2022-04-14 Jim Klimov <jimklimov@gmail.com>

  • docs/Makefile.am: A2X_COMMON_OPTS: use "--attribute=…" consistently
  • docs/Makefile.am: have "images/" in A2X_OUTDIR (fallout of #1152) Closes: #1365

2.694. 2022-04-14 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/solaris-usb.txt: drop suggestions about building special libusb-1.0/0.1 branches
  • docs/solaris-usb.txt: fix formatting, extend some notes
  • docs/solaris-usb.txt: add a NOTE for USB drivers ignoring port option [#1368]
  • docs/config-notes.txt: fix formatting, extend some notes and warnings, and service-driven life-cycle
  • docs/config-notes.txt: document ALLOW_NO_DEVICE for upsd.conf [#766, #837]
  • docs/config-notes.txt: reformat and extend the NOTE for USB drivers ignoring port option [#1368]
  • ci_build.sh, docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc-setup.txt: fix formatting, extend on Jenkins agent setup
  • ci_build.sh: use "gmake" for "./ci_build.sh spellcheck" if available and no particular MAKE was requested - fall back to "make" if "gmake" is not available

2.695. 2022-04-13 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/asciidoc.txt: update link to the Asciidoc Manual (and project now on github)

2.696. 2022-04-12 Jim Klimov <jimklimov@gmail.com>

  • Makefile.am: define dependencies between recipes for dist* and package; tarball, sig and checksum filenames

2.697. 2022-04-10 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/daisychain.txt, docs/man/adelsystem_cbi.txt, docs/man/al175.txt, docs/man/apcsmart-old.txt, docs/man/apcsmart.txt, docs/man/apcupsd-ups.txt, docs/man/asem.txt, docs/man/bcmxcp.txt, docs/man/bcmxcp_usb.txt, docs/man/belkin.txt, docs/man/belkinunv.txt, docs/man/bestfcom.txt, docs/man/bestfortress.txt, docs/man/bestuferrups.txt, docs/man/bestups.txt, docs/man/blazer-common.txt, docs/man/clone.txt, docs/man/dummy-ups.txt, docs/man/etapro.txt, docs/man/everups.txt, docs/man/gamatronic.txt, docs/man/generic_modbus.txt, docs/man/genericups.txt, docs/man/hosts.conf.txt, docs/man/huawei-ups2000.txt, docs/man/isbmex.txt, docs/man/ivtscd.txt, docs/man/libnutclient.txt, docs/man/libnutclient_commands.txt, docs/man/libnutclient_devices.txt, docs/man/libnutclient_general.txt, docs/man/libnutclient_misc.txt, docs/man/libnutclient_tcp.txt, docs/man/libnutclient_variables.txt, docs/man/libupsclient-config.txt, docs/man/liebert-esp2.txt, docs/man/liebert.txt, docs/man/macosx-ups.txt, docs/man/masterguard.txt, docs/man/metasys.txt, docs/man/mge-shut.txt, docs/man/mge-utalk.txt, docs/man/microdowell.txt, docs/man/microsol-apc.txt, docs/man/netxml-ups.txt, docs/man/nut-driver-enumerator.txt, docs/man/nut-ipmipsu.txt, docs/man/nut-recorder.txt, docs/man/nut-scanner.txt, docs/man/nut.conf.txt, docs/man/nutdrv_atcl_usb.txt, docs/man/nutdrv_siemens_sitop.txt, docs/man/nutscan.txt, docs/man/nutscan_add_device_to_device.txt, docs/man/nutscan_add_option_to_device.txt, docs/man/nutscan_cidr_to_ip.txt, docs/man/nutscan_display_parsable.txt, docs/man/nutscan_display_ups_conf.txt, docs/man/nutscan_free_device.txt, docs/man/nutscan_get_serial_ports_list.txt, docs/man/nutscan_init.txt, docs/man/nutscan_new_device.txt, docs/man/nutscan_scan_avahi.txt, docs/man/nutscan_scan_eaton_serial.txt, docs/man/nutscan_scan_ipmi.txt, docs/man/nutscan_scan_nut.txt, docs/man/nutscan_scan_snmp.txt, docs/man/nutscan_scan_usb.txt, docs/man/nutscan_scan_xml_http.txt, docs/man/nutupsdrv.txt, docs/man/oneac.txt, docs/man/optiups.txt, docs/man/phoenixcontact_modbus.txt, docs/man/pijuice.txt, docs/man/powercom.txt, docs/man/powerman-pdu.txt, docs/man/powerpanel.txt, docs/man/rhino.txt, docs/man/richcomm_usb.txt, docs/man/riello_ser.txt, docs/man/riello_usb.txt, docs/man/safenet.txt, docs/man/skel.txt, docs/man/snmp-ups.txt, docs/man/socomec_jbus.txt, docs/man/solis.txt, docs/man/tripplite.txt, docs/man/tripplite_usb.txt, docs/man/tripplitesu.txt, docs/man/ups.conf.txt, docs/man/upsc.txt, docs/man/upscli_add_host_cert.txt, docs/man/upscli_cleanup.txt, docs/man/upscli_connect.txt, docs/man/upscli_disconnect.txt, docs/man/upscli_get.txt, docs/man/upscli_init.txt, docs/man/upscli_list_next.txt, docs/man/upscli_list_start.txt, docs/man/upscli_readline.txt, docs/man/upscli_sendline.txt, docs/man/upscli_splitname.txt, docs/man/upsclient.txt, docs/man/upscmd.txt, docs/man/upscode2.txt, docs/man/upsd.conf.txt, docs/man/upsd.txt, docs/man/upsd.users.txt, docs/man/upsdrvctl.txt, docs/man/upsdrvsvcctl.txt, docs/man/upsimage.cgi.txt, docs/man/upslog.txt, docs/man/upsmon.conf.txt, docs/man/upsmon.txt, docs/man/upsrw.txt, docs/man/upssched.conf.txt, docs/man/upssched.txt, docs/man/upsset.cgi.txt, docs/man/upsset.conf.txt, docs/man/upsstats.cgi.txt, docs/man/upsstats.html.txt, docs/man/usbhid-ups.txt, docs/man/victronups.txt, docs/nut-names.txt, docs/packager-guide.txt: docs/man: be sure to keep a blank line after SYNOPSIS and other titles [#1362]
  • docs/FAQ.txt: clarify about nutdrv_qx
  • UPGRADING: detail about "OBSOLETION WARNING" for "Megatec Q*"
  • docs/man/bestups.txt, docs/man/blazer-common.txt, docs/man/masterguard.txt, drivers/bestups.c, drivers/blazer.c, drivers/masterguard.c: Report deprecation messages when starting older Qx drivers And document similarly in their man pages (bestups, blazer, masterguard)
  • docs/FAQ.txt, docs/nut.dict: docs/FAQ.txt: add more reasons and symptoms that a running driver disappears
  • docs/FAQ.txt, docs/nut.dict: docs/FAQ.txt: suggest checking Linux USB HID Quirk [#630]
  • ci_build.sh: use "gmake" for "./ci_build.sh spellcheck" if available and no particular MAKE was requested
  • docs/FAQ.txt, docs/nut.dict: docs/FAQ.txt: suggest how to pick drivers for bogus vendor IDs
  • drivers/usbhid-ups.c: bump version for #1356 and #1359
  • drivers/tripplite_usb.c: bump version for #584
  • drivers/mge-hid.c: bump version for #1357

2.698. 2022-04-09 Stuart Henderson <sthen@users.noreply.github.com>

  • drivers/usbhid-ups.c: reinstate handling for STATUS(ONLINE) in usbhid-ups The recent onlinedischarge changes removed support for some STATUS(ONLINE) cases, affecting at least CP1300EPFCLCD - this brings them back.

2.699. 2022-04-08 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS: note Liebert/Phoenixtec vs MGE HID handling of VendorID 0x06da
  • drivers/mge-hid.c: mge_claim(): test that VendorID==PHOENIXTEC 0x06da has also Vendor or Product containing "AEG"
  • data/driver.list.in: update for "PowerWalker VFI 2000 TGS" via "usbhid-ups" [#564]
  • docs/man/usbhid-ups.txt: update for "some PowerWalker models"

2.700. 2022-04-08 Jim Klimov <jimklimov@gmail.com>

  • NEWS: tripplite_usb recognizes "3005" protocol for NUT v2.7.5

2.701. 2022-04-08 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS, docs/nut.dict: NEWS: improve PowerWalker VFI 2000 TGS support in NUT v2.7.5
  • drivers/liebert-hid.c, drivers/mge-hid.c: drivers/liebert-hid.c: get PowerWalker VFI 2000 TGS working, read values correctly This reverts commit c38b45a56a9d1283657d62a9fa1ed1af5daa1ba2 which added such support into mge-hid.c (at risk to proper support of earlier handled devices by various vendors), and transplants the new lines into liebert-hid.c See issue #560 for a HID walk from the device in question; data like that may help expand liebert-hid.c later (its table seems to map a lot less field names than mge-hid.c, but not sure if "true" Liebert/Phoenixtec HID devices support the rest).

2.702. 2022-04-07 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/usbhid-ups.c: instcmd(): do not risk NULL-dereference debugging about "using Path" with a NULL hidpath (just in case) [#1346]
  • drivers/usbhid-ups.c: instcmd(): do not risk NULL-dereference debugging about "using Path" too early [#1346]
  • drivers/usbhid-ups.c: instcmd(): wrap some long lines

2.703. 2022-04-07 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: update spellchecker
  • docs/nut.dict: update spellchecker

2.704. 2022-04-05 Jim Klimov <jimklimov@gmail.com>

  • docs/man/upsmon.conf.txt: fix markup (pluses make emphasis and xmllint goes upset)

2.705. 2022-04-04 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac, include/Makefile.am: avoid picking "vX.Y.Z-signed" tags more actively
  • configure.ac, include/Makefile.am: avoid picking "vX.Y.Z-signed" tags, only "vX.Y.Z" name denotes the release officially
  • configure.ac: fall back to exclude-only filter of "git describe" tags if autoconf/m4/shell messes up the "match" ones

2.706. 2023-06-01 Jim Klimov <jimklimov+nut@gmail.com>

2.707. 2022-04-04 Jim Klimov <jimklimov+nut@gmail.com>

  • INSTALL.nut: add another perspective on packages vs source builds; refer to config-prereqs.txt
  • INSTALL.nut: trim trailing spaces
  • README: trim trailing spaces
  • README: clarify use of github
  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: clarify pre-installation of python and perl
  • docs/config-prereqs.txt: clarify that non-GNU makes should work well

2.708. 2022-04-02 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/app/NUT-Monitor: fix typo, thank CI
  • UPGRADING: detail the Py2/Py3 packages
  • UPGRADING: make note of systemd and Py2/3 changes on top for packagers to see
  • NEWS: detail the split of NUT-Monitor and new wrapper script
  • scripts/python/app/README: update with sections; list Desktop menu integration and Kudos
  • scripts/python/app/.gitignore, scripts/python/app/NUT-Monitor, scripts/python/app/nut-monitor.desktop: Introduce new NUT-Monitor name-holder as a wrapping script to pick usable implementation
  • scripts/python/app/.gitignore: GitIgnore newly named variants of NUT-Monitor-py2gtk2 and NUT-Monitor-py3qt5
  • scripts/python/app/README: document how to get localized UI in dev/testing
  • scripts/python/app/README: document how to run UI app in-place
  • m4/nut_check_python.m4: extend list of some python interpreter filenames
  • configure.ac, scripts/python/Makefile.am, scripts/python/app/{NUT-Monitor.in ⇒ NUT-Monitor-py2gtk2.in}, scripts/python/app/nut-monitor-py2gtk2.desktop, scripts/python/app/nut-monitor.desktop, scripts/python/app/{ ⇒ ui}/gui-1.3.glade, scripts/python/app/{ ⇒ ui}/gui-1.3.glade.h: Rename NUT-Monitor UI app to NUT-Monitor-py2gtk2
  • configure.ac, scripts/python/Makefile.am, scripts/python/app/{NUT-Monitor.in ⇒ NUT-Monitor-py3qt5.in}, scripts/python/app/nut-monitor-py3qt5.desktop, scripts/python/app/nut-monitor.desktop: Rename modernized NUT-Monitor UI app to NUT-Monitor-py3qt5

2.709. 2022-02-21 Luke Dashjr <luke-jr+git@utopios.org>

  • scripts/python/Makefile.am, scripts/python/README, scripts/python/app/NUT-Monitor.in, scripts/python/app/README, scripts/python/app/gui-1.3.glade, scripts/python/app/gui-1.3.glade.h, scripts/python/app/nut-monitor.desktop, scripts/python/app/ui/aboutdialog1.ui, scripts/python/app/ui/dialog1.ui, scripts/python/app/ui/dialog2.ui, scripts/python/app/ui/window1.ui: NUT-Monitor: Port to Python3\+PyQt5

2.710. 2022-02-13 Luke Dashjr <luke-jr+git@utopios.org>

  • scripts/python/app/NUT-Monitor.in: NUT-Monitor: Run py2to3-3.10

2.711. 2022-04-01 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/python/README: clarify that test_nutclient.py requires an upsd running
  • scripts/python/module/PyNUT.py.in: fix typo (fallout of #840)
  • docs/config-prereqs.txt: fix typos in OpenIndiana chapter
  • NEWS, docs/net-protocol.txt, docs/nut.dict, server/netcmds.h: Add "PROTVER" as alias to "NETVER" for NUT v2.8.0 Closes: #1347

2.712. 2022-03-31 Jim Klimov <jimklimov+nut@gmail.com>

  • Makefile.am, docs/Makefile.am, docs/man/Makefile.am: {.,docs,docs/man}/Makefile.am: add "all-man" target to build all possible man pages (vs ones for enabled drivers), and weave this and check targets to parent makefiles
  • ci_build.sh: introduce shortcut for BUILD_TYPE=fightwarn-all
  • ci_build.sh: in BUILD_TYPE=default-all-errors report visibly when no failures happened
  • m4/nut_compiler_family.m4: treat /usr/pkg/include as -isystem
  • common/parseconf.c, common/str.c, drivers/apcsmart-old.c, drivers/apcsmart.c, drivers/mge-utalk.c, drivers/serial.c, drivers/snmp-ups.c, server/conf.c: Cast (size_t)(char) for isprint(), isspace(), isdigit(), toupper(), etc. who may be macros and use it as array subscript (due to sys/ctype_inline.h)

2.713. 2022-03-30 Jim Klimov <jimklimov+nut@gmail.com>

  • autogen.sh: suggest to export PYTHON=python-x.y
  • autogen.sh: detect more python-x.y filenames
  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: add chapter for NetBSD 9.2 builder setup
  • docs/config-prereqs.txt: drop bogus command (copy-paste typo)

2.714. 2022-03-29 Jim Klimov <jimklimov@gmail.com>

  • .github/pull_request_template.md: Update pull_request_template.md

2.715. 2022-03-28 Benjamin Berg <bberg@redhat.com>

  • scripts/upower/95-upower-hid.hwdb, scripts/upower/95-upower-hid.rules, tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: Use hwdb for UPower rules

2.716. 2022-03-28 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: recognize more "*bsd" CI_OS_NAME values
  • ci_build.sh: do not make noise about non-ubiquitous options to "uname" program
  • drivers/usbhid-ups.c: set the onlinedischarge variable based on flag presence
  • drivers/usbhid-ups.c: drop DEFAULT_ONLINEDISCHARGE to match "VAR_FLAG" semantics
  • docs/nut.dict: add onlinedischarge
  • NEWS: clarify that NUT 2.8.0 is new name for old planned NUT 2.7.5
  • NEWS: added usbhid-ups onlinedischarge for NUT v2.7.5
  • docs/man/usbhid-ups.txt: document onlinedischarge
  • drivers/usbhid-ups.c: fix var usage for upsname
  • drivers/usbhid-ups.c: fix format string for "onlinedischarge" help

2.717. 2022-03-26 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh: default to clang if also available when default gcc is too old

2.718. 2022-03-25 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/config-prereqs.txt: update openbsd tools for man-page builds
  • Jenkinsfile-dynamatrix: avoid failure-prone build toolkits for manpage tests
  • m4/nut_compiler_family.m4: avoid configure noise message
  • m4/ax_check_compile_flag.m4: extend to check conftest.err log about unsupported flags
  • Jenkinsfile-dynamatrix: define axisCombos_COMPILER_GCC_TOO_OLD near other compiler-related combos
  • Jenkinsfile-dynamatrix: fix scenarios with "non-fatal warnings" that had BUILD_WARNFATAL=yes anyway (copy-paste issue)

2.719. 2022-03-24 Jim Klimov <jimklimov+nut@gmail.com>

  • Jenkinsfile-dynamatrix: avoid even running axisCombos_GCC_TOO_OLD where we require fatal warnings
  • configure.ac: for very old GCC where we are not in control of warnings, make them non-fatal always (for "auto" level)
  • drivers/libhid.c: clang-3.4 does not know "-Wtautological-type-limit-compare" either
  • Jenkinsfile-dynamatrix: make use of dsbcStageTimeoutSettings

2.720. 2022-03-23 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: with nut_enable_warnings=auto, avoid fatal warnings with GCC 4.3 or older (no support for diags pragmas)
  • configure.ac: report initial nut_enable_warnings (default or argument)
  • configure.ac: pre-set nut_enable_warnings=auto by default (not hardcoded "medium")
  • ci_build.sh: set BUILD_WARNOPT and BUILD_WARNFATAL to "auto" for BUILD_TYPE="fightwarn"* shortcuts (survive antique compilers, default to medium/fatal normally)
  • ci_build.sh: comment BUILD_WARNOPT setting for BUILD_TYPE="fightwarn"* shortcuts
  • m4/nut_compiler_family.m4: enable back the "-isystem" tuning to not complain about packaged third-party headers
  • drivers/libhid.c: make use of HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_TAUTOLOGICAL_TYPE_LIMIT_COMPARE (clang-6.0.0 of OpenBSD 6.4)
  • m4/ax_c_pragmas.m4: introduce [HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_TAUTOLOGICAL_TYPE_LIMIT_COMPARE
  • configure.ac: specify AC_PREREQ([2.64])
  • m4/nut_check_libgd.m4: fix detection of gdImagePng() with additional link requirements
  • configure.ac: document practical requirement for AC_PREREQ(2.64)
  • NEWS, UPGRADING, docs/config-notes.txt, docs/man/upscmd.txt, docs/man/upsrw.txt: docs, NEWS, UPGRADING: rename 2.7.5 to 2.8.0 in text that appeared after 2.7.4
  • docs/net-protocol.txt: document "PRIMARY" as alias to "MASTER"
  • docs/net-protocol.txt: bump next release from 2.7.5 to 2.8.0
  • configure.ac: bump NUT_NETVERSION to 1.3 to match docs/net-protocol.txt

2.721. 2022-03-21 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/subdriver/gen-snmp-subdriver.sh: fix back markup for mib2nut_info_t lines Follow-up for #1327 Thanks to @aquette

2.722. 2022-03-19 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/nutdrv_qx.c: qx_ups_walk(): log the change of estimated remaining runtime
  • NEWS: nutdrv_qx: enhanced estimation of remaining battery runtime for NUT v2.7.5
  • drivers/nutdrv_qx.c: comment about source and data for estimated runtime corrections
  • drivers/nutdrv_qx.c: fix trailing whitespace
  • ci_build.sh: when parsing BUILD_TYPE=fightwarn, do not default NUT_SSL_VARIANTS and NUT_USB_VARIANTS to "auto" - so building just one variant at most, even if agent supports more
  • drivers/nutdrv_qx.c: snr_command(): adapt to usb_ctrl_charbuf

2.723. 2022-03-16 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/libhid.h, drivers/usbhid-ups.c: drivers/libhid.h, usbhid-ups.c: define HID_DEV_HANDLE_CLOSED usable for both SHUT and USB cases

2.724. 2022-03-15 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/libusb0.c, drivers/libusb1.c: drivers/libusb{0,1}.c: retry getting Manufacturer/Product/Serial a few times if failed on the first Kudos to Sam Varshavchik for proposing this code change in discussion https://github.com/networkupstools/nut/issues/414
  • drivers/usbhid-ups.c: try to close libusb handle before reconnecting (from discussion of issue #414)

2.725. 2022-03-16 Jim Klimov <jimklimov@gmail.com>

  • NEWS: added driver adelsystem_cbi for NUT v2.7.5
  • drivers/adelsystem_cbi.h: functions implemented in a header should be static
  • drivers/adelsystem_cbi.c: extend pragmas for covered/requred "default" case to work with clang-3.4

2.726. 2022-03-15 Jim Klimov <jimklimov@gmail.com>

  • ci_build.sh: if we only build USB variant(s), do not shy away from testing some SSL and whatever drivers we can

2.727. 2022-03-15 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/config-prereqs.txt: currently refrain from clang-13 in OI
  • docs/config-prereqs.txt: mark aspell as recommended (it is not big)
  • docs/config-prereqs.txt: update instructions for symlinks on OI
  • docs/config-prereqs.txt: fix typos in instructions for OpenIndiana, and update for new toolkits available in 2022

2.728. 2022-03-12 Jim Klimov <jimklimov@gmail.com>

  • ci_build.sh: add support for CI_CROSSBUILD_HOST and/or CI_CROSSBUILD_TARGET settings [#1294, #1289, #1334]
  • ci_build.sh: check for "gd" as one of names gdlib can go by
  • ci_build.sh: use PKG_CONFIG variable if provided (fall back to pkg-config from PATH, but only for this script itself) [#710]
  • drivers/salicru-hid.c: Update salicru-hid.c Cosmetic fixes
  • m4/nut_check_libnetsnmp.m4: improve checks for actually present priv/auth protocols [#1289] Great thanks to @eklinedi on GitHub for finding the issue and investigating ways to fix it
  • drivers/snmp-ups.h: net-snmp after v5.9.1 does not declare ONE_SEC that our code uses; stash the definiton
  • configure.ac, m4/ax_c_pragmas.m4, m4/ax_run_or_link_ifelse.m4, m4/nut_compiler_family.m4: Introduce m4/ax_run_or_link_ifelse.m4 to facilitate cross-builds [#1289]
  • ci_build.sh: report OS_* envvar values if passed by caller

2.729. 2022-03-12 juantonio <admin@ofi.linkpc.net>

  • drivers/salicru-hid.c: Add tested descriptors for Salicru Twin Pro 2

2.730. 2022-03-12 Jim Klimov <jimklimov@gmail.com>

  • ci_build.sh: expand a bit CI_OS_HINT detection on linux systems

2.731. 2022-03-11 Jim Klimov <jimklimov@gmail.com>

  • m4/nut_compiler_family.m4: quiesce -Wreserved-identifier (clang 13\+) that acts up on system headers
  • drivers/riello.c: riello_parse_re(): assign Pout#W and Pout#VA from pom_long not pom_word
  • drivers/belkinunv.c: instcmd(): find use for "r" to at least report failed cmds

2.732. 2022-03-11 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/config-prereqs.txt: rearrange packages to not require heavy ones by default dependency footprint (aspell, docs generation and libgd)
  • server/netuser.c: copy-paste typo fix
  • NEWS, UPGRADING: NEWS: rename pending NUT release from 2.7.5 to 2.8.0 (config files using new keywords are not backwards-compatible, not usable by old binaries)
  • NEWS: added battery.mfr.date APC HID UPS setting for NUT v2.7.5
  • NEWS, docs/nut.dict: NEWS: added socomec_jbus driver for NUT v2.7.5
  • server/netuser.c: net_master(): provide more details about client using deprecated commands
  • docs/net-protocol.txt: update for "PRIMARY" netcmd support (alias of "MASTER") [issue #840]
  • NEWS: update for "PRIMARY" netcmd support (alias of "MASTER") [issue #840]
  • scripts/python/module/PyNUT.py.in, server/netcmds.h, server/netuser.c, server/netuser.h: netcmds.h, netuser.{c,h}, PyNUT.py.in: deprecate protocol "MASTER" command in favor of "PRIMARY" [issue #840]
  • server/upsd.c: check_command(): instrument with upsdebugx()
  • server/netuser.c: net_login(): instrument with upsdebugx()
  • clients/upsmon.c: apply_for_primary(): request elevation by PRIMARY, fall back to MASTER (for older upsd builds)
  • NEWS, UPGRADING: NEWS: rename pending NUT release from 2.7.5 to 2.8.0 (config files using new keywords are not backwards-compatible, not usable by old binaries)

2.733. 2022-03-10 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/subdriver/gen-snmp-subdriver.sh: gen-snmp-subdriver.sh: put back indented CFILE markup (fix here-docs, instead of unmaintainable printf)
  • scripts/subdriver/gen-snmp-subdriver.sh: gen-snmp-subdriver.sh: fix valid chars HOSTNAME input (e.g. IP)

2.734. 2022-03-10 Jim Klimov <jimklimov@gmail.com>

  • scripts/subdriver/gen-snmp-subdriver.sh: Update gen-snmp-subdriver.sh Quote variable expansions; replace echo -n with a more portable printf

2.735. 2022-03-10 Arnaud Quette <ArnaudQuette@eaton.com>

  • scripts/subdriver/gen-snmp-subdriver.sh: SNMP subdriver generation script: minor reformatting
  • scripts/subdriver/gen-snmp-subdriver.sh: SNMP subdriver generation script: fixes and improvements

2.736. 2022-03-08 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/getvaluetest.c: check different methods to combine two "wire" bytes into a lenght word (follows up for #1320), hopefully all work the same on all architectures

2.737. 2022-03-08 Thanos Chatziathanassiou <tchatzi@arx.net>

  • docs/man/socomec_jbus.txt: some documentatyion fixes

2.738. 2022-03-08 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/nutdrv_qx.c: simplify back the bit-maths to cast into uint8_t following discussion in #1320
  • drivers/libusb0.c, drivers/libusb1.c: drivers/libusb{0,1}.c: simplify back the bit-maths to cast into uint8_t following discussion in #1320

2.739. 2022-03-07 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/tripplite_usb.c: fix (commented-away) hard_shutdown() to "unsigned char" and bit maths similar to soft_shutdown()
  • drivers/riello_usb.c: Get_USB_Packet(): cast bit maths to (unsigned char) to err on safe side
  • drivers/riello_usb.c: whitespace fix
  • drivers/nutdrv_qx.c: upsdrv_initups(): cast langid calculations to uint16_t (or wider) [similar to #1320]
  • drivers/libusb0.c, drivers/libusb1.c: drivers/libusb{1,0}.c: [follow-up from #1320]
  • drivers/libshut.c: shut_checksum(): address (usb_ctrl_charbuf)buf as (unsigned char) in bit maths
  • drivers/libshut.c: BYTESWAP(): cast "in" to (uint16_t) for bit maths and use a full-width mask
  • drivers/blazer_usb.c: upsdrv_initups(): address (usb_ctrl_charbuf)tbuf as (unsigned char) in bit maths

2.740. 2022-08-06 Jim Klimov <jimklimov+nut@gmail.com>

  • ci_build.sh, scripts/Windows/README: ci_build.sh: refactor BUILD_TYPE=cross-windows-mingw* support

2.741. 2022-08-05 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/Windows/README: document custom cross-build of libneon
  • scripts/Windows/README: define ARCH-dependent PKG_CONFIG_PATH by default
  • scripts/Windows/README: comments about building in WSL2-provided Ubuntu environment
  • scripts/Windows/README: clarify comments for pthread custom build (not needed with modern mingw delivery)
  • scripts/Windows/README: document the mess of static-only netsnmp builds (typo fix)
  • scripts/Windows/README: fix prompt markup to friendlier copy-paste; use variables for ARCHLESS-download and ARCH-build locations

2.742. 2022-08-01 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/NIT/nit.sh: testcase_upsd_allow_no_device(): noisy listing should not be default At least, it is likely the root cause of faults was the busy NUT_PORT and not some missing content in the config file, after all.

2.743. 2022-07-30 Jim Klimov <jimklimov@gmail.com>

  • tests/NIT/nit.sh: isBusy_NUT_PORT() should not block tests when /proc/net/tcp{,6} is usable and says port is free
  • tests/NIT/nit.sh: isBusy_NUT_PORT() should not block tests when tools to check occupied ports are not available
  • tests/NIT/nit.sh: consult isBusy_NUT_PORT() to pick an available port
  • tests/NIT/nit.sh: add isBusy_NUT_PORT()
  • tests/NIT/nit.sh: typo fix in report_NUT_PORT()
  • tests/NIT/nit.sh: troubleshoot testcase_upsd_allow_no_device() - tell exit-code of upsd
  • tests/NIT/nit.sh: troubleshoot testcase_upsd_allow_no_device()
  • server/upsd.c: report "Found %d UPS defined in ups.conf" upon start

2.744. 2022-07-31 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update nut.dict Add MinGW spelling for a quote

2.745. 2022-07-29 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/al175.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c, drivers/gamatronic.c, drivers/optiups.c, drivers/powercom.c, drivers/powerp-bin.c, drivers/powerp-txt.c, drivers/snmp-ups.c, drivers/tripplite_usb.c, drivers/upsdrvctl.c, server/netssl.c, tools/nut-scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: Fix "%j*" and "%z*" printing to PRI[xidu](SIZE\|MAX): avoid dangling "" concatenation in format strings
  • tests/NIT/nit.sh: fix CRLF/LF handling for UPSC multiline output parsing [#1477]
  • include/wincompat.h: suggest why inet_ntop() may be not detected on WIN32 (antivirus)
  • .gitignore: GitIgnore configure-script test sources
  • .gitignore: GitIgnore coredumps
  • server/upsd.c: whitespace/comment fixes
  • configure.ac: suggest why inet_ntop() may be not detected on WIN32 (antivirus)
  • common/wincompat.c: extend fallback inet_ntop() to support IPv6
  • server/upsd.c: improve tracing and range-handling of polled FDs for WIN32
  • docs/config-prereqs.txt: make note of MSYS2 terminal pre-sets
  • server/sstate.c: update some comments
  • server/sstate.c: use VALID_FD more liberally
  • server/sstate.c: comment where sstate_connect() continued for both platforms
  • server/netssl.c: fix some whitespace

2.746. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/usbhid-ups.c: fix some whitespace
  • drivers/libusb1.c: Fix "%ji", "%jd" and "%ju" printing to PRI[du]MAX
  • drivers/isbmex.c: fix whitespace
  • drivers/genericups.h: adjust formatting style
  • drivers/dstate.h: comment why we include "main.h" (also dstate is for drivers anyway, should not conflict)
  • drivers/clone.c: update some comments
  • drivers/clone.c: use VALID_FD more liberally
  • drivers/clone-outlet.c: update some comments
  • drivers/clone-outlet.c: use VALID_FD more liberally
  • drivers/belkinunv.c: adjust whitespace
  • drivers/apcupsd-ups.c: getdata(): fd_flags should be "int" not "long"

2.747. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/man/ups.conf.txt: formatting fix (line per sentence) with Windows
  • common/snprintf.c: drop duplicate variable declarations
  • common/common.c: make noise about unimplemented select_write() on WIN32
  • common/common.c: comment about call of dflt_statepath() from altpidpath()
  • common/common.c: do not clutter xmalloc()/xcalloc() with memset(0) on non-WIN32 platforms Very unsure if this is needed on WIN32 either, assuming callers of these methods know the difference and that they do work as advertised on the platform
  • common/common.c: simplify writepid() code style
  • clients/upssched.c: sendcmd(): fix "pipefd" definition formatting
  • clients/upsmon.c: main(): fix "cmd" definition formatting
  • clients/upsmon.c: comment "use_pipe"
  • .gitattributes: treat *.hwdb files as in Unix/Linux format only
  • clients/upsmon.c: simplify runparent(): it is completely non-WIN32
  • clients/upslog.c: refactor CLI arg processing for WIN32

2.748. 2022-02-06 Dimitris Economou <dimitris.s.economou@gmail.com>

  • clients/upssched.c: Re-apply on Windows branch: fix enc size write on pipeifd, fix parent select on child’s pipefd, and later commits in the series Committed-By: Jim Klimov <jimklimov\+nut@gmail.com>

2.749. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsmon.c: simplify an #ifdef WIN32 block
  • include/common.h: move WIN32 additions inside the "#ifdef __cplusplus" braces

2.750. 2022-07-26 Evgeny Klimov <klimov@provys.com>

  • clients/Makefile.am: Link libupsclient with libcommon on all platforms Restores the achievements of commit fdcd1efaa4b5c911ce7d409f9153c7255cd43a54 vs. contents of Windows branch that split off from master before it.

2.751. 2022-07-29 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/nut_check_libltdl.m4: improve detection of "libltdl-7.dll" on WIN32 MSYS2

2.752. 2022-07-28 Jim Klimov <jimklimov+nut@gmail.com>

  • docs/config-prereqs.txt: add libltdl for WIN32 MSYS2

2.753. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • common/common.c: refactor confpath() and dflt_statepath()

2.754. 2022-07-29 Jim Klimov <jimklimov+nut@gmail.com>

  • server/netssl.c: typo fixes "inialize" ⇒ "initialize", and some whitespace
  • tools/nut-scanner/scan_usb.c: move "Clear any existing error" up where it makes sense

2.755. 2022-07-27 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: typo fix (cosmetic)

2.756. 2022-03-02 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/snmp-ups.h: make sure WITH_SNMP_LKP_FUN_DUMMY is defined

2.757. 2022-02-27 Nita Vesa <werecatf@outlook.com>

  • drivers/apc-hid.c, drivers/usbhid-ups.c: APC HID UPS: Add ability to set battery battery.mfr.date Some APC UPSes allow for setting battery.mfr.date, so it can be easily referenced later, even if there were no stickers or papers left to refer to. This patch has been tested to work with APC Back-UPS ES 550G.

2.758. 2022-03-02 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/mge-xml.c: mge_drycontact_info(): avoid shadowing global variable
  • docs/config-prereqs.txt: suggest updating JDK certs for OpenBSD (actually applies to others too)
  • docs/config-prereqs.txt: suggest gcc/clang versioned symlinks for building NUT CI in openbsd
  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: clarify how to update openbsd /etc/installurl
  • docs/config-prereqs.txt: bash was suggested among "comfortable environment packages" and busybox is missing for openbsd
  • docs/config-prereqs.txt: suggest comfortable environment packages for openbsd
  • docs/config-prereqs.txt: fix openbsd example wording

2.759. 2022-02-28 Nick Briggs <nicholas.h.briggs@gmail.com>

  • drivers/libusb0.c: Cast to unsigned type when interpreting HID descriptor length bytes (libusb 0.1) The libusb 0.1 interface definition declares a (signed) char type for control messages. The HID descriptor length contained within a control message is intended to be interpreted as a pair of unsigned bytes so we must cast to uint8_t when doing the arithmetic rather than trip over the sign bit. Closes #1261, closes #1312.

2.760. 2022-02-27 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: extend daisychain initialization to use optional mapping function Note: ported sub-set of "snmp-ups.[ch] : add support for extended fun/nuf l2s/s2l conversions and use it for daisychain initialization" without the actual 2x2 "fun/nuf l2s/s2l" support here.

2.761. 2022-02-27 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/snmp-ups.c: daisychain_init(): add debug trace
  • drivers/eaton-pdu-marlin-helpers.c: marlin_device_count_fun(): add debug trace

2.762. 2021-11-17 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: su_find_strval(): mark NUT_UNUSED_VARIABLE(oid2info) when not WITH_SNMP_LKP_FUN

2.763. 2022-02-27 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: whitespace fix

2.764. 2017-10-11 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: snmp-ups.c : publish device.count==1 too

2.765. 2021-10-13 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: su_find_strval() should consider #if WITH_SNMP_LKP_FUN

2.766. 2019-09-25 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/snmp-ups.c: Fix false positive when communication is lost

2.767. 2022-02-27 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: resync comments and use of SU_FLAG_SEMI_STATIC

2.768. 2022-02-25 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: break long lines

2.769. 2022-02-27 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: avoid stringop-truncation warning: make sure string is finite

2.770. 2021-11-11 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: avoid stringop-truncation warning

2.771. 2021-11-17 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-helpers.c: include config.h first

2.772. 2021-11-25 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/powerware-mib.c: Eaton SNMP: also publish ups.load for 3phase Though there is output.Lx.power.percent, for 3phase, it’s desirable to also have the standard ups.load

2.773. 2022-01-12 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/mge-xml.c: Eaton NMC: fix the non publication of real/power with 3ph power and realpower for 3ph Lx were not publishing values when they were 0

2.774. 2021-11-22 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/mge-xml.c: Eaton XML/PDC: add External Battery Module count

2.775. 2021-11-15 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/eaton-pdu-marlin-mib.c, drivers/powerware-mib.c: Fix regression on Eaton EMP002 temperature reading (SNMP) Following the recent addition of the "String reformating function" (su_find_strval()), a regression appeared on a corner case: when flagging a data with ST_FLAG_STRING, while the SNMP OID is an int, and when there is a fun_vp2s() conversion function, a double conversion is applied, resulting in no value published. This was limited to one data (temperature.unit)

2.776. 2021-06-14 Clappier, Eric <EricClappier@Eaton.com>

  • drivers/powerware-mib.c, drivers/snmp-ups.c: Add missing outlet objects for master

2.777. 2021-02-01 Clappier, Eric <EricClappier@Eaton.com>

  • drivers/eaton-pdu-marlin-mib.c, drivers/powerware-mib.c: Fix dry contacts status for EMP02

2.778. 2022-02-27 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups-helpers.c, drivers/snmp-ups.c: Move su_temperature_read_fun() from drivers/snmp-ups.c to snmp-ups-helpers.c

2.779. 2021-01-26 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/eaton-pdu-marlin-mib.c: snmp-ups: fix regression on Eaton ePDU Fix a regression that caused a mis-determination of the SNMP base OID index (0 or 1, should be 1). This in turn caused a mis-iteration over the outlets, from 0 to N-1 instead of 1 to N, which resulted in the missing Nth outlet (last outlet of the PDU). This also caused some data refresh issues

2.780. 2020-12-16 Clappier, Eric <EricClappier@Eaton.com>

  • drivers/eaton-pdu-marlin-mib.c, drivers/snmp-ups.c: Add ambient.n.parent.serial for marlin epdu Regarding dropped code from snmp-ups.c - per discussion in https://github.com/42ity/nut/pull/117 this was not a typo: > It is an intentional change for oid read value issue. > This allows to actually retrieve an indirection value > (when an Oid points at an Oid, like stood)

2.781. 2020-12-15 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/eaton-pdu-marlin-mib.c: snmp-ups: Restore legacy Eaton ePDU switchability info Use a hack to also have switchability for both the unit and its outlets on legacy Eaton G2 ePDU

2.782. 2020-12-15 Clappier, Eric <EricClappier@Eaton.com>

  • drivers/eaton-pdu-marlin-mib.c, drivers/powerware-mib.c: Change uid and modbus address name according nut nomenclature

2.783. 2020-12-14 Clappier, Eric <EricClappier@Eaton.com>

  • drivers/powerware-mib.c: Add modbus_address and uuid in snmp-ups/pw driver

2.784. 2019-11-07 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/powerware-mib.c: SNMP Eaton Gb Network Card: various data completion * fix reading of input.voltage, related to the ending ".0", * fix existing commands handling, * add support for the load segment (managed outlets), including status information and commands

2.785. 2019-09-19 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-pdu-marlin-mib.c, drivers/powerware-mib.c: SNMP Eaton EMP002: handle sensor presence Sensor may not be present (or connected). However, the values (temperature, humidity, …) are still available, but should not be considered

2.786. 2022-02-27 Jim Klimov <jim@jimklimov.com>

  • drivers/powerware-mib.c: update comments and implem for dummy eaton_sensor_temperature_unit_fun()/su_temperature_read_fun() from 42ity/nut
  • drivers/eaton-pdu-marlin-mib.c: update comments and implem for dummy eaton_sensor_temperature_unit_fun()/su_temperature_read_fun() from 42ity/nut
  • drivers/eaton-pdu-marlin-mib.c, drivers/powerware-mib.c, drivers/snmp-ups.c, drivers/snmp-ups.h: drivers/snmp-ups.{c,h}: adjust su_temperature_read_fun() API to that used in NUT master branch
  • drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin-helpers.h: drivers/eaton-pdu-marlin-helpers.{c,h}: adjust eaton_sensor_temperature_unit_fun() API to that used in NUT master branch

2.787. 2019-09-19 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-pdu-marlin-helpers.c: SNMP Eaton ePDU: always return celsius for temperature since the value reading is always adapted to celsius

2.788. 2016-05-25 Jim Klimov <jim@jimklimov.com>

  • drivers/powerware-mib.c: powerware-mib - renamed "ietf_*" and "eaton_*" lookups to have "pw_*" prefix

2.789. 2019-09-12 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin-mib.c, drivers/powerware-mib.c, drivers/snmp-ups.c, drivers/snmp-ups.h: Typo fix: sorry Mr Fahrenheit And thanks to Jim Klimov for the review!
  • drivers/eaton-pdu-marlin-mib.c: Fix compilation warning

2.790. 2019-09-09 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/powerware-mib.c: SNMP Eaton Gb Network Card: support for EMPDT1H1C2

2.791. 2022-02-27 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-helpers.c: fix whitespace

2.792. 2017-10-11 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-helpers.c: eaton-pdu-marlin-helpers.c : in device_count helper do not assume a trailing comma (as last char) as an extra device

2.793. 2019-09-09 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin-helpers.h, drivers/eaton-pdu-marlin-mib.c: SNMP Eaton ePDU: support for EMPDT1H1C2
  • drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: support for daisychained ambient sensor

2.794. 2022-02-27 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: align comments around outlet.%i.name with FTY version

2.795. 2017-10-11 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : preferred templated outlet.%i.name goes last in MIB

2.796. 2018-08-07 Jim Klimov <jim@jimklimov.com>

  • drivers/powerware-mib.c: powerware-mib.c : fix fallout from "snmp-ups: support newer Genepi management cards" (unused variable warning)

2.797. 2018-08-07 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/powerware-mib.c: snmp-ups: support newer Genepi management cards * duplicate some OIDs, with refinement to point at the first index (i.e ".0" or ".1.0") since otherwise the agent doesn’t respond to queries. This could be fixed at the snmp-ups level later
  • fixed "ups.type" (power topology of the UPS) which was pointing at the output.source or ups.mode

2.798. 2022-02-27 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: align with "snmp-ups: Simplify the mapping structure" changes for input.phases⇒input.count

2.799. 2017-11-17 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-ats16-nmc-mib.c, drivers/eaton-pdu-marlin-mib.c, drivers/mge-mib.c, drivers/mge-xml.c, drivers/powerware-mib.c: Modify "open" to "opened" for dry contacts status While "open" is the best adjective for the opposite of "closed", and thus suitable for GPI status, this may lead to confusion with the GPO actions "open|close" Vs the GPI status "opened\|closed". These last are also not inapropriate, since they can refer to the fact that the GPI state has change due to some external action or event

2.800. 2017-11-03 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-ats16-nm2-mib.c, drivers/eaton-ats16-nmc-mib.c, drivers/mge-mib.c, drivers/mge-xml.c, drivers/powerware-mib.c: Add support for dry contacts to Eaton ATS16 and UPS Add support for the 2 GPI accessible through EMP001 environmental sensor, connected to a UPS or ATS16. The same is already available for Eaton ePDU. This affect the snmp-ups driver (eaton_ats16 and pw/pxgx_ups MIBs), and the netxml-ups driver

2.801. 2022-02-25 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.h: avoid "#if" with possibly not-defined macro

2.802. 2018-08-02 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-pdu-marlin-mib.c: snmp-ups: Eaton feed color is semi static

2.803. 2018-06-26 Arnaud Quette <ArnaudQuette@Eaton.com>

  • docs/nut-names.txt, drivers/eaton-pdu-marlin-mib.c: snmp-ups: Eaton ePDU input.power.nominal is realpower Fix data name, since the published value is in Watts, so realpower, not power

2.804. 2017-10-30 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c/dmf: add outlet timers Add support for shutdown and start timers

2.805. 2022-02-25 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: relocate outlet.%i.load.off.delay etc like in FTY
  • drivers/eaton-pdu-marlin-mib.c: break long lines like in FTY
  • drivers/eaton-pdu-marlin-mib.c: break long lines

2.806. 2017-10-17 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-pdu-marlin-mib.c: snmp-ups: fix Eaton ePDU group phase handling Remove the not needed SU_FLAG_UNIQUE and the erroneous value lookup structure index
  • drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin-helpers.h, drivers/eaton-pdu-marlin-mib.c: snmp-ups: simplify Eaton ePDU group phase handling

2.807. 2017-10-11 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin-helpers.h: eaton-pdu-marlin-* : add support for extended fun/nuf l2s/s2l conversions

2.808. 2017-10-13 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : updated comments about input/feed relationship, and daisychain implications

2.809. 2017-10-13 Arnaud Quette <ArnaudQuette@Eaton.com>

  • drivers/eaton-pdu-marlin-mib.c: Problem: Need to fix published feed variables Solution: Attach 1 feed to the current input

2.810. 2017-10-13 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : fix OID and raise questions on input.power.nominal

2.811. 2017-10-11 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : Revised added OIDs with a single-group ePDU Also update line-breaks for readability and 80-col standard

2.812. 2017-10-09 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin-helpers.h, drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c / drivers/eaton-pdu-marlin-helpers.[ch] : Implement conversion func for "device.count" which returns a comma-separated list
  • drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin-helpers.h, drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c / drivers/eaton-pdu-marlin-helpers.[ch] : Implement conversion func for "outlet.group.%i.phase"
  • docs/nut-names.txt, drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : add basic listing of newly defined OIDs (not a full solution - some mapping functions are needed and revision of MIB data types)

2.813. 2017-08-30 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c: Fix typo in OID, noticed by aquette

2.814. 2017-08-24 Jim Klimov <jim@jimklimov.com>

  • drivers/eaton-pdu-marlin-mib.c, drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups / eaton-marlin : introduce WITH_SNMP_LKP_FUN to separate codebases that support these callbacks from those that currently do not
  • drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin-helpers.h: eaton-pdu-marlin-helpers.c/h fix
  • drivers/eaton-pdu-marlin-helpers.c: eaton-pdu-marlin-helpers.c : update comments for marlin_outlet_group_phase_fun()

2.815. 2017-08-23 Jim Klimov <jim@jimklimov.com>

  • drivers/Makefile.am, drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin-helpers.h: Expel the helper function that interacts with dstate from eaton-pdu-marlin-mib.c to eaton-pdu-marlin-helpers.c/.h

2.816. 2016-05-13 Jim Klimov <jim@jimklimov.com>

  • drivers/Makefile.am, drivers/apc-iem-mib.h, drivers/apc-mib.c, drivers/apc-mib.h: drivers/apc-iem-mib.h: split some macro definitions away from apc-mib.h and apc-mib.c and snmp-ups.c

2.817. 2017-10-11 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups.[ch] : introduce SU_FLAG_SEMI_STATIC

2.818. 2022-02-24 Jim Klimov <jimklimov@gmail.com>

  • docs/nut.dict: Update nut.dict Update for Adelsystem CBI

2.819. 2022-02-24 Jim Klimov <jimklimov+nut@gmail.com>

  • NEWS: Update synchronous=auto for NUT v2.7.5
  • drivers/dstate.c: send_to_all(): port do_synchronous auto⇒on fallback from send_to_one()
  • drivers/dstate.c: send_to_one()/send_to_all(): make the success-report less verbose (level 6)
  • drivers/dstate.c: send_to_one()/send_to_all(): make the reconnection WARNING more visible
  • conf/ups.conf.sample, docs/man/ups.conf.txt, drivers/dstate.c, drivers/main.c: driver/dstate.c, main.c: extend do_synchronous to have an "auto" mode (now by default) so reconnections would be sync
  • drivers/dstate.c: send_to_one(): log at level 0 if write failed (twice maybe) and so driver is disconnecting
  • drivers/dstate.c: send_to_one(): log more details if throttling down, and if it helped
  • drivers/snmp-ups.c: snmp_ups_walk(): log "walking device %d" at level 1 now, and without a dot-number (to avoid confusion)
  • drivers/dstate.c: send_to_one(): try to sleep and resend failed posting; log the faults (and successes) at level 1

2.820. 2022-02-23 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/dstate.c: send_to_all() send_to_one(): clarify "disconnecting" when logging that write failed
  • drivers/snmp-ups.c: update comment for snmp_ups_walk() for "single" device
  • drivers/snmp-ups.c: snmp_ups_walk(): for "unitary" (non-daisychain member) devices, walk a ".1" device only (should end up querying non-templated OIDs anyway) - avoid walking .0 partially and .1 again for same data
  • drivers/snmp-ups.c: snmp_ups_walk(): log walking an "unitary" device if not a daisy-chain, for balance
  • drivers/snmp-ups.c: snmp_ups_walk(): only log "Skipping daisychain device.0" when in daisy-chain context (skip anyway even for singular devices where we should also walk .1 anyway)
  • drivers/snmp-ups.c: update heading comments for daisychain related variables
  • drivers/snmp-ups.c: snmp_ups_walk(): only skip "device.0" if in daisy-chain mode
  • drivers/snmp-ups.c: update comment for current_device_number

2.821. 2022-02-22 Thanos Chatziathanassiou <tchatzi@arx.net>

  • docs/man/socomec_jbus.txt, drivers/Makefile.am, drivers/socomec_jbus.c: Added socomec_jbus implementation

2.822. 2022-02-22 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/snmp-ups.c: snmp_ups_walk(): fix taxonomy of "processing daisy-chain device" debug log

2.823. 2022-02-19 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/snmp-ups.c, server/upsd.c: drivers/snmp-ups.c upsdrv_updateinfo(); server/upsd.c driver_free() mainloop(): trace connection faults and reconnections better
  • drivers/dstate.c: send_to_one(): consistently use "buflen"
  • drivers/dstate.c: send_to_all/send_to_one: extend failed-send tracing

2.824. 2022-02-19 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: wrap long lines, add comments

2.825. 2022-02-22 Jim Klimov <jim@jimklimov.com>

  • scripts/subdriver/gen-snmp-subdriver.sh: generate "standard MIB items" into new MIB mappings Kudos to @aquette for the catch in PR review

2.826. 2022-02-21 Luke Dashjr <luke-jr+git@utopios.org>

  • scripts/python/Makefile.am, scripts/python/README, scripts/python/app/NUT-Monitor.in, scripts/python/app/README, scripts/python/app/gui-1.3.glade, scripts/python/app/gui-1.3.glade.h, scripts/python/app/nut-monitor.desktop, scripts/python/app/ui/aboutdialog1.ui, scripts/python/app/ui/dialog1.ui, scripts/python/app/ui/dialog2.ui, scripts/python/app/ui/window1.ui: NUT-Monitor: Port to Python3\+PyQt5

2.827. 2022-02-19 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/snmp-ups.c: su_setOID(): uncomment the fallback for "device.x.contact" not found as a "contact", and add another to strip "device.1." ⇒ "device." to allow setting non-templated values to daisy-chain master
  • drivers/snmp-ups.c, server/upsd.c: drivers/snmp-ups.c upsdrv_updateinfo(); server/upsd.c driver_free() mainloop(): trace connection faults and reconnections better
  • drivers/dstate.c: send_to_one(): consistently use "buflen"
  • drivers/dstate.c: send_to_all/send_to_one: extend failed-send tracing

2.828. 2022-02-19 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: upsdrv_initups(): check that there is no daisychain master entry before defining IETF-MIB fallback defaults for contact/location/description
  • drivers/snmp-ups.c: upsdrv_initups(): comment and log that IETF-MIB fallback defaults for contact/location/description are only read once (not updated while driver runs)
  • drivers/snmp-ups.c: su_ups_get(): fake current_device_number=1 to su_setinfo() when walking a daisy-chain with non-templated OID
  • drivers/snmp-ups.c: get_and_process_data(), su_ups_get(): add tracing logs to make sense of daisy-chain OID adaptations
  • drivers/snmp-ups.c: wrap long lines, add comments
  • drivers/snmp-ups.c: su_setinfo(): trace diags for different code-paths about daisy-chained OID decisions
  • drivers/snmp-ups.c: su_setinfo(): this is not the place to check for ".%i" after all

2.829. 2022-02-18 Jim Klimov <jim@jimklimov.com>

  • tools/nut-dumpdiff.sh: revise to also strip frequency measurements
  • tools/nut-dumpdiff.sh: revise to also strip (load|temperature\|humidity) measurements
  • docs/documentation.txt: document tools/nut-dumpdiff.sh helper
  • tools/nut-dumpdiff.sh: revise to strip just numeric measurements of (*.power|voltage\|current)
  • tools/nut-dumpdiff.sh: extend to not strip ALL numeric values but ones that are likely measurements
  • tools/Makefile.am, tools/nut-dumpdiff.sh: Add tools/nut-dumpdiff.sh helper
  • drivers/snmp-ups.c: su_setOID(): handle e.g. "device.contact" as either "device.0.contact" for "all devices" if OID is templated or NULL, or "device.1.contact" for "master device" in other cases
  • drivers/snmp-ups.c: su_setOID(): import (commented away - not deemed necessary so far) fallback for e.g. "device.x.contact" is not found as a "contact"
  • drivers/snmp-ups.c: su_setinfo(): fix comment
  • drivers/snmp-ups.c: fix "device.varname" for daisychain master units * su_setinfo(): should not expose master-specific data (like device.contact coming from IETF un-templated data points not aware about daisy chains) as if it were the data specific to every device in the chain; note that for defaulted data (like device.type="pdu" hardcoded with NULL OID) we still expose it across the board * su_setOID(): "upsrw … device.contact" should change the daisychain master device (for IETF un-templated data; but in this commit - always)

2.830. 2022-02-17 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: su_setOID(): fix mis-interpretation of "device*" as always a daisy-chain
  • drivers/snmp-ups.c: use "hard-coded" IETF MIB for read-only access to sysDescr also (only if mib2nut does not yet define a better value)
  • drivers/snmp-ups.c: use "hard-coded" IETF MIB for read-only access to sysContact and sysLocation only if mib2nut does not yet define a better value
  • drivers/emerson-avocent-pdu-mib.c: whitespace fix
  • drivers/eaton-pdu-marlin-mib.c: whitespace fix
  • drivers/apc-mib.c: drivers/apc-mib: whitespace fix
  • drivers/xppc-mib.c: whitespace fix
  • drivers/apc-ats-mib.c, drivers/apc-mib.c, drivers/baytech-mib.c, drivers/bestpower-mib.c, drivers/compaq-mib.c, drivers/cyberpower-mib.c, drivers/delta_ups-mib.c, drivers/eaton-ats16-nm2-mib.c, drivers/eaton-ats16-nmc-mib.c, drivers/eaton-pdu-genesis2-mib.c, drivers/eaton-pdu-marlin-mib.c, drivers/eaton-pdu-pulizzi-mib.c, drivers/eaton-pdu-revelation-mib.c, drivers/emerson-avocent-pdu-mib.c, drivers/hpe-pdu-mib.c, drivers/huawei-mib.c, drivers/ietf-mib.c, drivers/mge-mib.c, drivers/netvision-mib.c, drivers/powerware-mib.c, drivers/raritan-pdu-mib.c, drivers/raritan-px2-mib.c, drivers/xppc-mib.c: drivers/*-mib.c: define standard-MIB entries for device.description, contact, location (RW STRING)

2.831. 2016-09-16 Arnaud Quette <arnaud.quette@free.fr>

  • drivers/snmp-ups.h: snmp-ups: update todo list The addition of sysContact and sysLocation support is now addressed centrally
  • drivers/snmp-ups.c: snmp-ups: add sysContact and sysLocation support The generic MIB-2 provides system contact and location information that are now publish respectively as device.contact and device.location

2.832. 2022-02-18 Viktor Kuzmin <kvaster@gmail.com>

  • configure.ac: Fix individual drivers configuration

2.833. 2022-02-17 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adelsystem_cbi.c: handle covered-switch-default and switch-enum warnings
  • drivers/adelsystem_cbi.h: clean up, fix typos
  • drivers/adelsystem_cbi.c: clean up, fix typos
  • docs/man/Makefile.am, docs/man/adelsystem_cbi.txt: man page added

2.834. 2022-02-17 Jim Klimov <jim@jimklimov.com>

  • clients/upscmd.c, clients/upsrw.c: clients/upsrw.c, upscmd.c: fix sanity-check of tracking_id length (forgot the nul-byte)
  • scripts/systemd/nut-driver@.service.in: make sure drivers always try to start and connect - how ever many attempts that takes
  • scripts/systemd/nut-driver@.service.in: comment about "Before=nut-driver.target" constraint
  • scripts/systemd/nut-driver@.service.in: make sure drivers always try to start and connect

2.835. 2022-02-16 Jim Klimov <jim@jimklimov.com>

  • drivers/libhid.c: string_to_path(): report hid_lookup_usage() miss
  • drivers/libhid.c: fix misfire of fightwarn commit 58e5b49 (string_to_path(): range-check…) Closes: #1286
  • conf/upsd.conf.sample, conf/upsmon.conf.sample.in, docs/man/upsd.conf.txt, docs/man/upsmon.conf.txt: upsd and upsmon configuration sample files and man pages: add note about run-time config reload with DEBUG_MIN setting in sight

2.836. 2022-02-16 Jim Klimov <jimklimov+nut@gmail.com>

  • clients/upsmon.c: restructure config reload for debug_min to be more similar to that in upsd.c
  • clients/upsmon.c: whitespace fix

2.837. 2022-02-16 Jim Klimov <jim@jimklimov.com>

  • clients/upsmon.c: allow upsmon to reload config and apply its debug_min setting
  • common/common.c: writepid(): debug-trace creation of a PID file

2.838. 2022-02-16 Jim Klimov <jimklimov+nut@gmail.com>

  • scripts/systemd/nut-server.service.in: reload upsd without PID file [for #1299]
  • server/conf.c: allow upsd to reload config and apply its debug_min setting
  • clients/upsmon.c, docs/man/upsmon.txt: clients/upsmon.c: add "-P pid" arg handling, and report result of sendsignal(), like in upsd [for #1299, #123]
  • docs/man/upsd.txt, scripts/systemd/nut-server.service.in, server/upsd.c: upsd.c: add -FF option to stay foregrounded AND write the PID file, use it in systemd/nut-server.service [for #1299]
  • docs/man/upsd.txt, server/upsd.c: server/upsd.c: add "-P PID" arg for commands [for #1299]
  • common/common.c, include/common.h: include/common.h, common.c: refactor sendsignalfn() into parsepid() and sendsignalpid() reusable methods
  • server/upsd.c: warn about not saving a pid file
  • server/upsd.c: handle extended return values from sendsignalfn() to tell more about the error
  • common/common.c: sendsignalfn(): if we use sig==0 to probe that a process runs, no need to send that twice
  • common/common.c, include/common.h: include/common.h, common.c: extend sendsignalfn() return value for more error types

2.839. 2022-02-15 Jim Klimov <jim@jimklimov.com>

  • drivers/main.c: fix user:group separator in debug message
  • configure.ac: report default/detected RUN_AS_USER/RUN_AS_GROUP values in help; check if "nobody" group is not resolvable when "nogroup" us to use it as default RUN_AS_GROUP instead
  • drivers/main.c: report whether we succeeded or failed chown/chmod for sockname
  • docs/man/nutupsdrv.txt, docs/man/ups.conf.txt, drivers/main.c: drivers/main.c: support setting group name for socket file (ups.conf, CLI -g arg) Closes: #1296
  • drivers/dstate.c, drivers/dstate.h, drivers/main.c: drivers/main.c \+ dstate.{c,h}: refactor dstate_init() to return a copy of the "sockname" path used
  • drivers/main.c: re-word debug message for "-u name" overriding built-in or configured values
  • drivers/main.c: trace do_global_args() and main_arg() var/val stream
  • docs/hid-subdrivers.txt: describe tech for "Fixing report descriptors"
  • docs/hid-subdrivers.txt, docs/nut.dict, drivers/hidtypes.h: docs/hid-subdrivers.txt: document where USAGE_POW_ and USAGE_BAT_ macros come from
  • drivers/apc-hid.c: apc_fix_report_desc(): normalize indentations

2.840. 2022-02-14 Nick Briggs <nicholas.h.briggs@gmail.com>

  • drivers/apc-hid.c: Update APC HID driver version
  • drivers/apc-hid.c: Only indicate report descriptor fixed if it was actually changed.

2.841. 2022-02-14 Jim Klimov <jim@jimklimov.com>

  • docs/man/ups.conf.txt, drivers/main.c: drivers/main.c: allow to specify a user for each driver via ups.conf Closes: #1288
  • drivers/upsdrvctl.c: suggest "-d" when warning about passing debugging through to actual drivers
  • drivers/upsdrvctl.c: only warn about passing debugging through to actual drivers if (nut_debug_level_passthrough == 0)
  • docs/man/upsdrvctl.txt, drivers/upsdrvctl.c: drivers/upsdrvctl: add "-d" option to pass debug level to drivers Closes: #1036 (Note: that issue discusses other possible improvements around this subject, which are synergetic with this one)

2.842. 2022-02-13 Luke Dashjr <luke-jr+git@utopios.org>

  • scripts/python/app/NUT-Monitor.in: NUT-Monitor: Run py2to3-3.10

2.843. 2022-02-13 Nick Briggs <nicholas.h.briggs@gmail.com>

  • drivers/apc-hid.c, drivers/cps-hid.c, drivers/hidparser.c, drivers/hidparser.h, drivers/hidtypes.h: Fix incorrect limits for input and config voltages in APC report descriptor The Back-UPS XS 1400U has been observed to report input/config voltage limits that are appropriate for the North American 120V region even though the unit is operating in the European or other 220\+V region. This change diagnoses the the problem by checking if the logical maximum values for UPS.Input.Voltage and UPS.Input.ConfigVoltage are consistent with the UPS.Input.HighVoltageTransfer and if not, increases them. A similar problem was reported for CPS units in the EU region. - introduces #defines for all standard usages in power system and battery device pages. - moves cps-hid.c FindReport() to hidparser.c as FindObject_with_ID_Node(). - updates cps-hid.c to account for new defines/function name - adds apc_fix_report_desc() to implement change for APC UPS units

2.844. 2022-02-11 Jim Klimov <jim@jimklimov.com>

  • NEWS: added usbhid-ups "ever-hid" subdriver for NUT v2.7.5
  • docs/man/upsd.conf.txt: document DISABLE_WEAK_SSL
  • NEWS, docs/nut.dict: NEWS: announce "debug_min" options for daemons in NUT v2.7.5
  • NEWS: announce fore-/back-grounding options for daemons in NUT v2.7.5
  • docs/man/upsd.conf.txt: document optional "DEBUG_MIN" setting
  • conf/upsd.conf.sample: document optional "DEBUG_MIN" setting
  • conf/upsmon.conf.sample.in: document optional "DEBUG_MIN" setting
  • conf/ups.conf.sample: document optional "debug_min" setting
  • docs/man/upsmon.conf.txt: document optional "DEBUG_MIN" setting
  • docs/man/ups.conf.txt: document optional "debug_min" setting
  • server/conf.c, server/conf.h, server/upsd.c: server/upsd.c, conf.c: support "debug_min" from upsd.conf
  • clients/upsmon.c: support "debug_min" from upsmon.conf
  • drivers/main.c: comment typo fixes
  • docs/man/upslog.txt: fix typo "upsmon" ⇒ "upslog"
  • clients/upslog.c: align -F/-B options with drivers/main.c
  • scripts/systemd/nut-monitor.service.in: with daemon not backgrounding, "Type=forking" no longer applies
  • docs/man/upsd.txt: document -F/-B for fore/back-ground enforcement, and that -D only defaults to foregrounding now (can be overridden)
  • server/upsd.c: align -F/-B options with drivers/main.c
  • docs/man/upsmon.txt: document -F/-B for fore/back-ground enforcement, and that -D only defaults to foregrounding now (can be overridden)
  • clients/upsmon.c: align -F/-B options with drivers/main.c
  • docs/man/nutupsdrv.txt: document -F/-B for fore/back-ground enforcement, and that -D/-d only default to foregrounding now (can be overridden)
  • drivers/main.c: update comments

2.845. 2019-03-19 Jim Klimov <jim@jimklimov.com>

  • drivers/main.c: drivers/main.c : rearrange handling of configured nut_debug_level_global vs nut_debug_level_driver vs ultimately used nut_debug_level
  • drivers/main.c: driver/main.c : separate toggles for driver debugging and backgrounding

2.846. 2019-03-18 Jim Klimov <jim@jimklimov.com>

  • drivers/main.c: drivers/main.c : allow to configure debug_min=NUM to ease service debugging

2.847. 2022-02-11 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adelsystem_cbi.c, drivers/adelsystem_cbi.h: coding style changes

2.848. 2022-02-10 Jim Klimov <jim@jimklimov.com>

  • .github/pull_request_template.md: remind to update recipes for new man pages

2.849. 2022-02-11 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adelsystem_cbi.c: fix parameter hiding global variable

2.850. 2022-02-10 Jim Klimov <jim@jimklimov.com>

  • configure.ac: avoid noise about pkg-config not finding (lib)systemd.pc on systems where it is not installed
  • configure.ac: default to detection of systemdsystemunitdir (and systemdshutdowndir) - "auto" is not a final option
  • configure.ac, docs/configure.txt: configure.ac: default to detection of systemdsystemunitdir (and systemdshutdowndir), non-fatal if not found
  • configure.ac: fall back from pkg-config queries for "systemd" to try also "libsystemd" - fix calling "test"

2.851. 2022-02-10 Nick Geoghegan <nick@geoghegan.me>

  • drivers/riello_usb.c: Fixes formatting in riello_usb
  • drivers/riello_ser.c: Updates riello_ser to version 0.07

2.852. 2022-02-10 Jim Klimov <jim@jimklimov.com>

  • configure.ac: fall back from pkg-config queries for "systemd" to try also "libsystemd"
  • docs/man/Makefile.am: build and install nutdrv_siemens_sitop man pages

2.853. 2022-02-09 Nick Geoghegan <nick@geoghegan.me>

  • drivers/riello_usb.c: Fixes 530

2.854. 2022-02-09 Jim Klimov <jim@jimklimov.com>

  • drivers/nutdrv_qx_masterguard.c: rename non-standard dstate variables to "experimental.*" namespace Closes: NUT issue #1045
  • drivers/nutdrv_qx_masterguard.c: fix "ups.delay.return" ⇒ "ups.delay.start"
  • drivers/nutdrv_qx_masterguard.c: whitespace fixes (some long lines)
  • docs/packager-guide.txt: update for nut-linux-i2c and nut-macosx-ups platform-dependent package groups
  • docs/packager-guide.txt: fix title for pkg-nut-modbus
  • drivers/ever-hid.c: tag non-standard NUT variable/command names as "experimental.*" to help identify lacking mappings and rename some into standard data points
  • drivers/ever-hid.c, drivers/ever-hid.h: drivers/ever-hid.{c,h}: update © heading
  • drivers/ever-hid.c: print unsigned int as %u
  • drivers/ever-hid.c: mark NUT_UNUSED_VARIABLE(double value) where appropriate
  • drivers/ever-hid.c: use complete struct initializers for info_lkp_t tables; use sentinels; mark static
  • drivers/ever-hid.c: ever_alarms_fun(), ever_workmode_fun(): define "workmode" on top of function
  • drivers/ever-hid.c: fix switch/case whitespaces
  • drivers/ever-hid.c: fix trailing whitespaces
  • drivers/ever-hid.c: wrap some long lines for readability
  • drivers/ever-hid.c: adjust to upstream changes: config.h goes first, PID/VID are unsigned, got a fix_report_desc() default
  • drivers/everups.c: whitespace fixes; clarify this is a serial driver (as opposed to ever-hid.c for USB devices)

2.855. 2022-02-08 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adelsystem_cbi.h: check ifndef READALL_REGS
  • drivers/adelsystem_cbi.c: minor fix in upsdrv_updateinfo
  • drivers/adelsystem_cbi.c, drivers/adelsystem_cbi.h: fix warning for initializing structure with flexible array member

2.856. 2022-02-08 Jim Klimov <jim@jimklimov.com>

  • configure.ac: error out for unhandled --with-drivers=xxx names
  • configure.ac: improve handling of platform-dependent (linux-i2c, macosx) drivers - do not default to require them everywhere
  • configure.ac: move --with-drivers=… handling to before --with-all, and consult drivers/Makefile.am for list names to require certain dependencies
  • drivers/Makefile.am: parameterize POWERMAN_DRIVERLIST and IPMI_DRIVERLIST like others
  • configure.ac: move "--with-drivers=name[,name…]" handling to before we check for third-party dependencies
  • clients/upssched.c: sendcmd(): rectify enclen/buflen sanity checks and usage
  • clients/upssched.c: whitespace and comment fixes

2.857. 2022-02-07 Dimitris Economou <dimitris.s.economou@gmail.com>

  • clients/upssched.c: fix code alignemnt, casting sizeof with ssize_t

2.858. 2022-02-07 Jim Klimov <jim@jimklimov.com>

  • scripts/subdriver/gen-usbhid-subdriver.sh: gen-usbhid-subdriver.sh: suggest "fix_report_desc" in subdriver_t (follow-up to PR #1245)

2.859. 2022-02-06 Jim Klimov <jim@jimklimov.com>

  • docs/packager-guide.txt: mention ipmi and modbus drivers as separate packaging goals

2.860. 2022-02-06 Dimitris Economou <dimitris.s.economou@gmail.com>

  • clients/upssched.c: check zero bytes read from O_NDELAY socket
  • clients/upssched.c: fix enc size write on pipeifd, fix parent select on child’s pipefd
  • drivers/Makefile.am: adelsystem_cbi header filename fix

2.861. 2022-02-05 Jim Klimov <jim@jimklimov.com>

  • docs/nut.dict, docs/support.txt: docs/support.txt: detail abot GitHub issues and PRs, and IRC channel
  • drivers/al175.c, drivers/apc-ats-mib.c, drivers/apc-hid.c, drivers/apc-mib.c, drivers/apc-pdu-mib.c, drivers/apcsmart-old.c, drivers/apcsmart.h, drivers/apcupsd-ups.c, drivers/arduino-hid.c, drivers/asem.c, drivers/baytech-mib.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c, drivers/belkin-hid.c, drivers/belkin.c, drivers/belkinunv.c, drivers/bestfcom.c, drivers/bestfortress.c, drivers/bestpower-mib.c, drivers/bestuferrups.c, drivers/bestups.c, drivers/blazer_ser.c, drivers/blazer_usb.c, drivers/clone-outlet.c, drivers/clone.c, drivers/compaq-mib.c, drivers/cps-hid.c, drivers/cyberpower-mib.c, drivers/delta_ups-hid.c, drivers/delta_ups-mib.c, drivers/dummy-ups.c, drivers/eaton-ats16-nm2-mib.c, drivers/eaton-ats16-nmc-mib.c, drivers/eaton-ats30-mib.c, drivers/eaton-pdu-genesis2-mib.c, drivers/eaton-pdu-marlin-mib.c, drivers/eaton-pdu-pulizzi-mib.c, drivers/eaton-pdu-revelation-mib.c, drivers/emerson-avocent-pdu-mib.c, drivers/etapro.c, drivers/everups.c, drivers/explore-hid.c, drivers/gamatronic.c, drivers/generic_modbus.c, drivers/genericups.c, drivers/hpe-pdu-mib.c, drivers/huawei-mib.c, drivers/huawei-ups2000.c, drivers/idowell-hid.c, drivers/ietf-mib.c, drivers/isbmex.c, drivers/ivtscd.c, drivers/legrand-hid.c, drivers/libshut.c, drivers/libusb0.c, drivers/libusb1.c, drivers/liebert-esp2.c, drivers/liebert-hid.c, drivers/liebert.c, drivers/macosx-ups.c, drivers/masterguard.c, drivers/metasys.c, drivers/mge-hid.c, drivers/mge-mib.c, drivers/mge-utalk.c, drivers/microdowell.c, drivers/microsol-apc.c, drivers/netvision-mib.c, drivers/netxml-ups.c, drivers/nut-ipmipsu.c, drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, drivers/nutdrv_siemens_sitop.c, drivers/oneac.c, drivers/openups-hid.c, drivers/optiups.c, drivers/phoenixcontact_modbus.c, drivers/pijuice.c, drivers/powercom-hid.c, drivers/powercom.c, drivers/powerman-pdu.c, drivers/powerpanel.c, drivers/powervar-hid.c, drivers/powerware-mib.c, drivers/raritan-pdu-mib.c, drivers/raritan-px2-mib.c, drivers/rhino.c, drivers/richcomm_usb.c, drivers/riello_ser.c, drivers/riello_usb.c, drivers/safenet.c, drivers/salicru-hid.c, drivers/skel.c, drivers/snmp-ups.c, drivers/solis.c, drivers/tripplite-hid.c, drivers/tripplite.c, drivers/tripplite_usb.c, drivers/tripplitesu.c, drivers/upscode2.c, drivers/usbhid-ups.c, drivers/victronups.c, drivers/xppc-mib.c: drivers: bump versions for all drivers, they could have been refactored during fightwarn (so might add regressions) without regard to versioning
  • UPGRADING: NEWS: plea to package maintainers to share their customizations into common uptream
  • docs/documentation.txt, docs/nut.dict: documentation.txt: add a blog by James Ridgway
  • docs/documentation.txt: documentation.txt: update with a link to video by Techno Tim
  • docs/documentation.txt: developers.txt: "trac" is AWOL, update the link to github wiki copy
  • docs/developers.txt: developers.txt: "alioth" is AWOL, update the text
  • docs/download.txt: download.txt: "trac" and "alioth" are AWOL, update the links

2.862. 2022-02-05 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adelsystem_cbi.c: apply Jim’s modbus changes on PR #1239

2.863. 2022-01-23 Jim Klimov <jim@jimklimov.com>

  • ci_build.sh: fix CI_FAILFAST to abort after failed configure scripts

2.864. 2022-01-27 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: Revert "drivers/snmp-ups.c: replace strcmp("short string") with strncmp() (clang-3.4 warns about array out of bounds)" This reverts commit d2f7193af42e987f7948e072a963dc7bb1e25dc1. Currently the configure script should properly avoid the built-in strcmp() versions which upset current build compiler. Using the range-limited strncmp() has a downside of matching start-of-string.
  • drivers/snmp-ups.c: Revert "drivers/snmp-ups.c: fix strncmp() limits for "v1" and "v3" checks (copy-pasting typo)" This reverts commit d0d02d3a70c6544c8ea7868dd63738595f2ae657. Currently the configure script should properly avoid the built-in strcmp() versions which upset current build compiler. Using the range-limited strncmp() has a downside of matching start-of-string.
  • clients/upsclient.c, clients/upslog.c, clients/upsmon.c, clients/upsrw.c, clients/upssched.c, clients/upsset.c, common/state.c, common/upsconf.c, docs/developers.txt, docs/nut.dict, drivers/apcsmart-old.c, drivers/apcsmart.c, drivers/apcupsd-ups.c, drivers/belkin.c, drivers/belkinunv.c, drivers/bestups.c, drivers/clone-outlet.c, drivers/clone.c, drivers/dstate.c, drivers/gamatronic.c, drivers/huawei-ups2000.c, drivers/main.c, drivers/masterguard.c, drivers/mge-utalk.c, drivers/mge-xml.c, drivers/nutdrv_qx.c, drivers/nutdrv_qx_bestups.c, drivers/nutdrv_qx_blazer-common.c, drivers/nutdrv_qx_voltronic-qs-hex.c, drivers/nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_voltronic.c, drivers/oneac.c, drivers/powercom.c, drivers/powerman-pdu.c, drivers/powerp-txt.c, drivers/snmp-ups.c, drivers/tripplite_usb.c, drivers/upscode2.c, drivers/victronups.c, server/conf.c, server/netget.c, server/netlist.c, server/netset.c, server/user.c, tests/cpputest.cpp, tools/nut-scanner/nut-scanner.c, tools/nut-scanner/scan_snmp.c: Revert "Replace strcmp() and strcasecmp() use-cases for short fixed string args by strncmp() and strncasecmp() respectively" This reverts commit a0d5ad57956ebcb5878744acb7657e1356ba0ea8. Currently the configure script should properly avoid the built-in strcmp() versions which upset current build compiler. Using the range-limited strncmp() has a downside of matching start-of-string.
  • drivers/snmp-ups.c, tools/nut-scanner/scan_snmp.c: Revert "tools/nut-scanner/scan_snmp.c, drivers/snmp-ups.c: strcmp() shorter "SHA" and "AES" and check this is all of the string length" This reverts commit 57182d51b2954e6b7bb5199f658f38a89ce93648. Currently the configure script should properly avoid the built-in strcmp() versions which upset current build compiler. Using the range-limited strncmp() has a downside of matching start-of-string.

2.865. 2022-01-23 Jim Klimov <jim@jimklimov.com>

  • NEWS, UPGRADING: snmp-ups.h flags (bit-mask macros) changed for NUT v2.7.5
  • drivers/snmp-ups.h: mib2nut mappings with "zero" flag value are not illegal

2.866. 2022-01-18 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: mib2nut mappings with "zero" flag value are not illegal Do not yell about them like it’s a bug, after all.

2.867. 2022-01-23 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.h: redefine bit-flags macros so they do not overlap (and update some helper-masking macros) follows up on issue from PR #1177 and aligns with ultimately DMF (42ity fork) tested changes to help merge that later with less effort

2.868. 2021-11-22 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.h: update mask for SU_TYPE_DAISY() and comments for it and SU_DAISY

2.869. 2021-11-13 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: report if an snmp_info[] entry flag was not defined (is 0)
  • drivers/snmp-ups.h: redefine bit-flags macros so they do not overlap (and some helper-masking macros) [follow up on issue from PR #1177]

2.870. 2022-01-22 Jim Klimov <jim@jimklimov.com>

  • NEWS: Revert "NEWS: drop chapters for "PLANNED NEWS" for releases after v2.7.5" This reverts commit 8c0079973b995c598427db92cbf406ea75979d42 - those chapters are relevant in branch release-notes-for-2.7.6
  • NEWS: drop chapters for "PLANNED NEWS" for releases after v2.7.5
  • UPGRADING: highlight libusb-1.0 in NUT v2.7.5

2.871. 2022-01-21 Jim Klimov <jim@jimklimov.com>

  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: "libssl-dev" name is more popular nowadays than "openssl-dev" (Debian and family)
  • docs/nut.dict: update for Armac subdriver NEWS
  • data/driver.list.in: add PiJuice HAT (big) and pHAT (Zero)

2.872. 2022-01-20 Jim Klimov <jim@jimklimov.com>

  • tools/nut-scanner/scan_snmp.c, drivers/snmp-ups.c: strcmp() shorter "SHA" and "AES" and check this is all of the string length Alternative: move matching to end of stack
  • NEWS: prepare for nutdrv-qx armac merge in 2.7.5 timeline
  • NEWS: added usbhid-ups fix_report_desc() for NUT v2.7.5
  • NEWS: added powercom "nobt" option for NUT v2.7.5
  • drivers/nutdrv_qx.c: armac_command(): accomodate "usb_ctrl_charbuf" and formatting changes for libusb-1.0 support
  • drivers/nutdrv_qx.c: armac_command(): mark as static method
  • drivers/nutdrv_qx_ablerex.c: ablerex_process_status_bits(): mark as static method
  • drivers/nutdrv_qx.c: ablerex_command(): accomodate "usb_ctrl_charbuf" and formatting changes for libusb-1.0 support
  • ci_build.sh: make distcheck (pun intended) less noisy
  • ci_build.sh: comment a suggestion how to use BUILD_TYPE=fightwarn typically
  • ci_build.sh: make distcheck (pun intended) less noisy
  • ci_build.sh: comment a suggestion how to use BUILD_TYPE=fightwarn typically

2.873. 2022-01-20 Jim Klimov <jimklimov@gmail.com>

  • drivers/nutdrv_qx.c: armac_command(): use nut_usb_strerror(ret) Match updated libusb-1.0/0.1 API in NUT master
  • drivers/nutdrv_qx.c: Update nutdrv_qx.c Fix nut_usb_strerror(ret) for new libusb-1.0/0.1 support in master branch

2.874. 2022-01-19 Jim Klimov <jimklimov@gmail.com>

  • drivers/legrand-hid.c: Update legrand-hid.c Initialize "fix_report_desc", this file appeared from another PR merged before #1245

2.875. 2022-01-19 Jim Klimov <jim@jimklimov.com>

  • ci_build.sh: provision check_gitignore() calls for DMF branch build products
  • ci_build.sh: check_gitignore(): wrap long lines
  • ci_build.sh: check_gitignore(): add a FILE_GLOB support
  • ci_build.sh: optional_dist_clean_check(): copypasta error, GIT_ARGS not needed in this one
  • ci_build.sh: fix "MAKE distclean" operations back to not-quiet, they look weird as a half-muted wall of text
  • ci_build.sh: fix use of git status $GIT_ARGS consistently
  • drivers/snmp-ups.c: match_sysoid(): test for NULL mib2nut[i]→snmp_info (and skip if so)
  • drivers/snmp-ups.c: load_mib2nut(): imply that skipped value is not a "valid" name in the mapping table (name may be known, but with no snmp_info attached)

2.876. 2022-01-18 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.c: handle not-loaded snmp_info without segfaulting
  • drivers/snmp-ups.c: load_mib2nut(): better tracing of mib_name comparisons
  • drivers/snmp-ups.c: load_mib2nut(): test for NULL mib2nut[i]→snmp_info (and skip if so) before accounting mibSeen=TRUE and trying to match_model_OID()

2.877. 2022-01-18 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: delete duplicates after rebase
  • drivers/{adele_cbi.c ⇒ adelsystem_cbi.c}, drivers/{adele_cbi.h ⇒ adelsystem_cbi.h}: rename after rebase
  • drivers/{adelsystem_cbi.c ⇒ adele_cbi.c}, drivers/{adelsystem_cbi.h ⇒ adele_cbi.h}: rename for rebase

2.878. 2022-01-13 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adelsystem_cbi.c: try to reconnect on IVALID DATA and INVALID CRC from read_all_regs
  • drivers/adelsystem_cbi.c: try to reconnect on INVALID DATA and INVALID CRC errors
  • drivers/adele_cbi.c, drivers/adele_cbi.h, drivers/adelsystems_cbi.c, drivers/adelsystems_cbi.h: delete renamed driver files
  • drivers/Makefile.am, drivers/adelsystem_cbi.c, drivers/adelsystem_cbi.h: filename fixes
  • drivers/Makefile.am, drivers/adelsystems_cbi.c, drivers/adelsystems_cbi.h: adele changed to adelsystems
  • drivers/adele_cbi.c, drivers/adele_cbi.h: macro name changes
  • drivers/adele_cbi.c, drivers/adele_cbi.h: minor bug fixes
  • drivers/adele_cbi.h: modify regs_data memory, devreg enum rearrangement

2.879. 2022-01-12 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: some fixes in read_all_regs approach
  • drivers/adele_cbi.c, drivers/adele_cbi.h: read_all_regs aproach integrated

2.880. 2022-01-11 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: ghost alarms bug fix, other bug fixes

2.881. 2022-01-10 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: first testing release

2.882. 2022-01-09 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: alrm_t, alrm_ar_t data structures, construction of upsdrv_updateinfo in progress

2.883. 2022-01-08 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: structure device data, code get_dev_state, in progress

2.884. 2022-01-07 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.h: register status values and masks added

2.885. 2022-01-06 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: under construction

2.886. 2022-01-11 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: ghost alarms bug fix, other bug fixes

2.887. 2022-01-10 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: first testing release

2.888. 2022-01-09 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: alrm_t, alrm_ar_t data structures, construction of upsdrv_updateinfo in progress

2.889. 2022-01-08 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: structure device data, code get_dev_state, in progress

2.890. 2022-01-07 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.h: register status values and masks added

2.891. 2022-01-06 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/Makefile.am: Makefile.am modifications
  • drivers/adele_cbi.c, drivers/adele_cbi.h: under construction

2.892. 2022-01-18 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/{adelsystem_cbi.c ⇒ adele_cbi.c}, drivers/{adelsystem_cbi.h ⇒ adele_cbi.h}: rename for rebase

2.893. 2022-01-18 Jim Klimov <jim@jimklimov.com>

  • drivers/usbhid-ups.h: rename pDesc arg to match wording in usbhid-ups.c
  • drivers/hidparser.c, drivers/hidparser.h: drivers/hidparser.{c,h}: rename pDesc arg/var to avoid shadowing a global variable Pre-emptively: extern pDesc is defined in libhid.h which does not seem to be used in/along-with hidparser.{c,h} currently - but this collision may happen later (especially with code-copying around).
  • drivers/cps-hid.c: clean up trailing whitespaces
  • drivers/cps-hid.c: FindReport() cps_fix_report_desc(): rename pDesc arg to avoid shadowing a global variable
  • drivers/cps-hid.c: mark non-exported FindReport() as static
  • m4/nut_compiler_family.m4: enhance NUT_CHECK_COMPILE_FLAG() to run the whole toolchain for "build and run" when checking CLI option support
  • ci_build.sh: build_to_only_catch_errors_target(): CI_PARMAKE_VERBOSITY=silent should not hide warnings
  • ci_build.sh: do not silent-make initial clean-up (it is chatty anyway, so let us see the dirs processed)
  • ci_build.sh: comment verbosity (non-)tweaks for builds without a BUILD_TYPE
  • ci_build.sh: report around initial clean-up for clearer log reading
  • ci_build.sh: refactor with check_gitignore()
  • ci_build.sh: refactor ccache_stats()
  • ci_build.sh: refactor make-verbosity settings and adjust some for default builds to store less log

2.894. 2022-01-18 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/scan_usb.c: avoid SIGSEGV in libusb-1.0 when running as non-root and device fails to open (e.g. perms error)

2.895. 2022-01-17 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-scanner/nut-scanner.c: report in usage() if "library not detected" for a scan option

2.896. 2022-01-17 Jim Klimov <jim@jimklimov.com>

  • drivers/generic_modbus.c: address -Wmissing-field-initializers complaints for timeval with timeouts (memset to 0 instead)
  • drivers/generic_modbus.c: address -Wstrict-prototypes complaints
  • Jenkinsfile-dynamatrix: raise the bar for code quality non-regression, to fail on any (new) warnings in master branch and PRs to it
  • Jenkinsfile-dynamatrix: shut back the cppcheck-by-default
  • Jenkinsfile-dynamatrix: do not allow to disable delayedIssueAnalysis on "stable branches"
  • Jenkinsfile-dynamatrix: enable cppcheck slowBuild stages generally, not just for "fightwarn" branches

2.897. 2022-01-16 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: adjust test structure for both built-in ntohl/htonl and string built-ins (using explicit -Werror -Wno-… checks)
  • configure.ac: adjust test structure for built-in ntohl/htonl to be similar to that for string built-ins (using explicit -Werror)
  • ci_build.sh: do not lose original LDFLAGS

2.898. 2022-01-15 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: tweak LIBLTDL_CFLAGS same as LIBNETSNMP_CFLAGS for -Wno-shadow if needed for string methods or htonl() etc In some builds of the NUT CI farm dynamatrix (possibly ones without SNMP support), the nutscan-ip.c complains about "declaration shadows a local variable" — investigation of which leads into the macros expanded for common method names on those systems and/or compiler toolkit versions. This PR hopes to avoid that situation more extensively.

2.899. 2022-01-14 Jim Klimov <jim@jimklimov.com>

  • drivers/snmp-ups.h: treat DISABLE_MIB_LOADING more safely

2.900. 2022-01-14 Jim Klimov <jimklimov+nut@gmail.com>

  • tests/cpputest.cpp, tests/example.cpp, tests/nutclienttest.cpp: tests/*.cpp: mark overridden class methods as such
  • clients/nutclient.h, clients/nutclientmem.h: clients/nutclient.h \+ nutclientmem.h: mark overridden class methods as such

2.901. 2022-01-13 Jim Klimov <jimklimov+nut@gmail.com>

  • configure.ac: adjust test for built-in string functions (problematic on clang-3.4) to see any warnings and specifically for unreachable code there
  • ci_build.sh: relay more build-influencing envvars in the (Jenkins-logged) printout
  • drivers/nut-libfreeipmi.c: fix the range-check and message/comment it better
  • drivers/asem.c: macro ACCESS_DEVICE() ends with a brace; we HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_EXTRA_SEMI_STMT to keep the useless trailing ";" for readability
  • m4/ax_c_pragmas.m4: add HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_EXTRA_SEMI_STMT(_BESIDEFUNC)
  • drivers/asem.c: declare upsdrv_shutdown() as noreturn
  • drivers/nutdrv_qx.c: avoid including usb-common.h twice

2.902. 2022-01-13 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adelsystem_cbi.c: try to reconnect on IVALID DATA and INVALID CRC from read_all_regs
  • drivers/adelsystem_cbi.c: try to reconnect on INVALID DATA and INVALID CRC errors

2.903. 2022-01-13 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/ax_c_pragmas.m4: ask CLANG to reject unknown pragmas when checking for them
  • common/common.c: check for HAVE_PRAGMA_CLANG_DIAGNOSTIC_IGNORED_UNREACHABLE_CODE_RETURN support before use
  • m4/ax_c_pragmas.m4: test specifically for HAVE_PRAGMA_CLANG_DIAGNOSTIC_IGNORED_UNREACHABLE_CODE_RETURN(_BESIDEFUNC) support

2.904. 2022-01-13 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h, drivers/adelsystems_cbi.c, drivers/adelsystems_cbi.h: delete renamed driver files
  • drivers/Makefile.am, drivers/adelsystem_cbi.c, drivers/adelsystem_cbi.h: filename fixes
  • drivers/Makefile.am, drivers/adelsystems_cbi.c, drivers/adelsystems_cbi.h: adele changed to adelsystems
  • drivers/adele_cbi.c, drivers/adele_cbi.h: macro name changes
  • drivers/adele_cbi.c, drivers/adele_cbi.h: minor bug fixes
  • drivers/adele_cbi.h: modify regs_data memory, devreg enum rearrangement

2.905. 2022-01-12 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: some fixes in read_all_regs approach
  • drivers/adele_cbi.c, drivers/adele_cbi.h: read_all_regs aproach integrated

2.906. 2022-01-12 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/nut_compiler_family.m4: set default C/C+\+ standards to GNU dialects for GCC/CLANG
  • m4/nut_compiler_family.m4: set default C/C+\+ standards to avoid C90-non-compliance warnings noise (on compilers that can do better than that)
  • m4/nut_check_libnetsnmp.m4: fix a test from shell to autoscript
  • tools/nut-scanner/nut-scanner.c: only evaluate if NUT_HAVE_LIBNETSNMP_* when we build WITH_SNMP
  • common/common.c: use HAVE_PRAGMAS_FOR_GCC_DIAGNOSTIC_IGNORED_UNREACHABLE_CODE_RETURN
  • m4/ax_c_pragmas.m4: add HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_UNREACHABLE_CODE_RETURN(_BESIDEFUNC)
  • configure.ac, m4/nut_compiler_family.m4: m4/nut_compiler_family.m4 \+ configure.ac: refactor NUT_COMPILER_FAMILY_FLAGS_DEFAULT_STANDARD as a separate method to apply just before we set up warning-level support
  • docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: update dependency package naming for libusb-1.0 on Debian family
  • m4/nut_compiler_family.m4: set default C/C+\+ standards to GNU dialects for GCC/CLANG
  • m4/nut_compiler_family.m4: set default C/C+\+ standards to avoid C90-non-compliance warnings noise (on compilers that can do better than that)
  • ci_build.sh: comment why ./configure is not without args

2.907. 2022-01-11 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: ghost alarms bug fix, other bug fixes

2.908. 2022-01-10 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: first testing release

2.909. 2022-01-09 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: alrm_t, alrm_ar_t data structures, construction of upsdrv_updateinfo in progress

2.910. 2022-01-08 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: structure device data, code get_dev_state, in progress

2.911. 2022-01-07 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.h: register status values and masks added

2.912. 2022-01-06 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/Makefile.am: Makefile.am modifications
  • drivers/adele_cbi.c, drivers/adele_cbi.h: under construction

2.913. 2021-09-23 Jim Klimov <jim@jimklimov.com>

  • drivers/generic_modbus.c: drivers/generic_modbus.{c,h}: fix whitespace style (original fix from master branch)

2.914. 2022-01-12 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/generic_modbus.c: fix whitespace style (in PR-1239)

2.915. 2022-01-12 Arnaud Quette <ArnaudQuette@eaton.com>

  • drivers/mge-xml.c: Eaton NMC: fix the non publication of real/power with 3ph power and realpower for 3ph Lx were not publishing values when they were 0

2.916. 2022-01-11 Dave Williams <dave@opensourcesolutions.co.uk>

  • drivers/cps-hid.c: New HID fix strategy after consultation with CPS It appears both input and output LogMin and LogMax values are incorrect as the rated voltage (for EU models) is 170v to 270v which is outside the logical limits reported by the HID. The fix checks for the error (loosely) and then applies reasonable values (0v and 511v) to allow the actual input and output voltages to be reported rather than be constrained to the limits.

2.917. 2022-01-11 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/arduino-hid.c, drivers/delta_ups-hid.c, drivers/hidparser.c, drivers/idowell-hid.c, drivers/powervar-hid.c, drivers/salicru-hid.c: drivers/hidparser.c \+ *-hid.c: include "config.h" first

2.918. 2022-01-11 Jim Klimov <jimklimov@gmail.com>

2.919. 2022-01-11 Jim Klimov <jimklimov+nut@gmail.com>

  • drivers/generic_modbus.c: handle the two APIs for libmodbus timeout setting
  • m4/nut_check_libmodbus.m4: in tests for API, the AC_DEFINE must be used with exact macro names (not m4/shell variables)
  • m4/nut_check_libmodbus.m4: in tests for API, clarify if old API (timeval) can be used with variables from new API (uint32) set into the struct
  • m4/nut_check_libmodbus.m4: in tests for API, "new/old" comments were confused
  • m4/nut_check_libmodbus.m4: in tests for API, initialize modbus_t *ctx differently
  • m4/nut_check_libmodbus.m4: test actively for the modbus timeout API (count and type of args used)
  • m4/nut_check_libmodbus.m4: convert a code block from plain shell to autoscript
  • m4/nut_check_libmodbus.m4: test for presence of modbus_set_byte_timeout() and modbus_set_response_timeout()
  • m4/ax_c_pragmas.m4: detect support for (ignoring) "-Wsign-conversion"
  • m4/ax_c_pragmas.m4: add guards to call AX_C_PRINTF_STRING_NULL and AX_C_PRAGMAS logic only once
  • drivers/generic_modbus.c: bump DRIVER_VERSION for feature change (connection timeout handling)

2.920. 2022-01-10 Ablerexsoftware <Ablerex.software@ablerex.com.tw>

  • data/driver.list.in: update the driver.list.in

2.921. 2022-01-11 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: ghost alarms bug fix, other bug fixes

2.922. 2022-01-10 Jim Klimov <jimklimov@gmail.com>

  • docs/man/powercom.txt: Update powercom.txt Sentence restructure

2.923. 2022-01-10 Jim Klimov <jim@jimklimov.com>

  • .github/pull_request_template.md: pull_request_template.md: update and reshuffle check-list items
  • …/{PULL_REQUEST_TEMPLATE/nut-driver-PR.md ⇒ pull_request_template.md}: Move fancy-named PR template to plain .github/pull_request_template.md
  • drivers/salicru-hid.c, scripts/upower/95-upower-hid.rules: drivers/salicru-hid.c: add known compatibility for Salicru SLC TWIN (PRO2, PRO3, RT3) per reports in issue #1142
  • data/driver.list.in: add known compatibility for Salicru TWIN (PRO2, PRO3, RT3) per reports in issues #450 and #1142
  • .github/PULL_REQUEST_TEMPLATE/nut-driver-PR.md: Add .github/PULL_REQUEST_TEMPLATE/nut-driver-PR.md template

2.924. 2022-01-10 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: first testing release

2.925. 2022-01-10 Jim Klimov <jim@jimklimov.com>

  • data/driver.list.in: fix English typos in comment
  • docs/developers.txt: remind to update docs/acknowledgements.txt when adding vendor-backed support
  • docs/man/usbhid-ups.txt: fix reference to data/driver.list (typo in filename)

2.926. 2022-01-09 Rouben Tchakhmakhtchian <rouben@rouben.net>

  • docs/man/powercom.txt, drivers/powercom.c: Powercom driver (drivers/powercom.c) version bump from 0.17 to 0.18: * Implement configuration flag "nobt" to skip battery test during initialization * Cleanup old code to use testvar() for config parameter checks in upsdrv_initups() * Add nobt flag to sample config file in built-in doc Powercom driver man page (docs/man/powercom.txt) update to explain nobt flag

2.927. 2022-01-09 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: alrm_t, alrm_ar_t data structures, construction of upsdrv_updateinfo in progress

2.928. 2022-01-08 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.c, drivers/adele_cbi.h: structure device data, code get_dev_state, in progress

2.929. 2022-01-07 Jim Klimov <jimklimov+nut@gmail.com>

  • tools/nut-usbinfo.pl: be sure to have PATH_MAX defined (for usb.h that did not bother by itself)
  • drivers/usb-common.h: be sure to have PATH_MAX defined (for usb.h that did not bother by itself)

2.930. 2022-01-07 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/adele_cbi.h: register status values and masks added

2.931. 2022-01-06 Jim Klimov <jim@jimklimov.com>

  • Jenkinsfile-dynamatrix: Revert "Jenkinsfile-dynamatrix: be sure to reset slowBuild configs over dynacfgBase" This reverts commit 18cf19ebc7e01f30c3d84c7b3b8f69e961429ebb as the "design flaw" which that change worked around should now be (hopefully) fixed in the jenkins-fynamatrix library itselg.

2.932. 2022-01-06 Dimitris Economou <dimitris.s.economou@gmail.com>

  • drivers/Makefile.am: Makefile.am modifications
  • drivers/adele_cbi.c, drivers/adele_cbi.h: under construction

2.933. 2022-01-05 Jim Klimov <jim@jimklimov.com>

  • Jenkinsfile-dynamatrix: fix dynamatrixAxesCommonEnvCartesian cases to group the variables we apply as one bunch, not as several separate hits
  • Jenkinsfile-dynamatrix: define dynacfgPipeline.excludeCombos_DEFAULT (mismatched ARCHes only)
  • tools/nut-scanner/scan_avahi.c: avoid implicit case fallthrough
  • Jenkinsfile-dynamatrix: be sure to reset slowBuild configs over dynacfgBase
  • Jenkinsfile-dynamatrix: avoid running "cppcheck" several times per host

2.934. 2022-01-04 Jim Klimov <jim@jimklimov.com>

  • Jenkinsfile-dynamatrix: reinstate excludeCombos for autotools-only builds (fightwarn) to avoid unsupported ARCH-bits mix builds

2.935. 2022-01-02 Jim Klimov <jim@jimklimov.com>

  • Jenkinsfile-dynamatrix: fix "Default autotools driven build with default warning levels (gnu99/gnu\+\+11)" dynamatrixAxesVirtualLabelsMap mergeMode from "merge" to "replace" (want to only build listed scenarios, not everything possible in the matrix)

2.936. 2021-12-30 Jim Klimov <jim@jimklimov.com>

  • Jenkinsfile-dynamatrix: avoid using undefined (null) excludeCombos_DEFAULT
  • Jenkinsfile-dynamatrix: fix references to excludeCombos: … axisCombos_COMPILER_(NOT_)GCC

2.937. 2022-01-05 Jim Klimov <jimklimov+nut@gmail.com>

  • m4/nut_check_cppcheck.m4: relax required tool version for cppcheck*.xml generation
  • Makefile.am: fix dependencies for cppche