diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..eaf4170 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,38 @@ +kind: pipeline +name: default + +steps: + - name: Build Bullseye + image: debian:bullseye + volumes: + - name: finished_files + path: /deb_files + commands: + - apt update + - apt -y upgrade + - apt -y install --no-install-recommends build-essential equivs devscripts git rename + - git clean -f -d -x + - mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control + - dpkg-buildpackage -b -uc + - rename 's/\.deb/_bullseye\.deb/' ../*.deb + - mkdir -p /deb_files/bullseye/ + - cp ../*.deb /deb_files/bullseye/ + - find /deb_files/ + + - name: gitea_release + image: plugins/gitea-release + volumes: + - name: finished_files + path: /deb_files + settings: + api_key: + from_secret: GITEA_KEY + base_url: https://git.neulandlabor.de/ + files: + - /deb_files/bullseye/* + when: + event: tag + +volumes: + - name: finished_files + temp: {} diff --git a/AUTHORS b/AUTHORS index 949847d..c179b0c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -96,11 +96,6 @@ N: Lars Balker Rasmussen E: lbr@mjolner.dk D: Solaris and minor patches -N: Carlos Rodrigues -E: carlos.efr@mail.telepac.pt -W: http://students.fct.unl.pt/~cer09566/ -D: author of the "megatec" driver - N: David Santinoli E: david@santinoli.com W: http://www.santinoli.com @@ -175,3 +170,7 @@ D: pwmib support for snmp-ups N: Kjell Claesson E: Kjell.claesson@epost.tidanet.se D: Author of bcmxcp driver, 3-phase work. + +N: Giuseppe Corbelli +E: giuseppe.corbelli@copanitalia.com +D: Author of asem driver diff --git a/COPYING b/COPYING index 606347e..883d3b1 100644 --- a/COPYING +++ b/COPYING @@ -5,7 +5,7 @@ The files in the scripts/python/ directory are released under GNU General Public License (GPL) version 3, or (at your option) any later version. See - "LICENSE.GPL3" in the root of this distribution. + "LICENSE-GPL3" in the root of this distribution. The Perl client module (scripts/perl/Nut.pm) is released under the same license as Perl itself. That is to say either GPL version 1 or (at your option) diff --git a/ChangeLog b/ChangeLog index 4bd5b6f..669274b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,1091 +1,23389 @@ -2.4.3 +2022-04-04 Jim Klimov -2010-02-23 Arnaud Quette + * configure.ac: configure.ac: cut the release of NUT v2.8.0 + * clients/Makefile.am, tools/nut-scanner/Makefile.am: 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). - * [r2366] ChangeLog, configure.in, NEWS, UPGRADING: Final update for - 2.4.3 release +2022-04-26 Jim Klimov -2010-02-20 Arjen de Korte + * docs/nut.dict: docs/nut.dict: update dict + * docs/download.txt: docs/download.txt: link to distro packaging wiki + page on NUT github + * docs/download.txt: docs/download.txt: update links to distro + packaging recipes and their results + * docs/download.txt: 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 - * [r2365] m4/nut_check_ipv6.m4: Fix broken logic to enable IPv6 +2022-04-23 Jim Klimov + + * 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: 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 + +2022-04-25 Jim Klimov + + * docs/nut.dict: docs/nut.dict: add wc + * docs/nut.dict: docs/nut.dict: add uniq + +2022-04-25 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: add a + CI_BUILDDIR=obj into docs scenario; name "out-of-tree builds" as + such + +2022-04-24 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: run some tests with + CI_BUILDDIR + * .gitignore, ci_build.sh: ci_build.sh: prepare for CI_BUILDDIR=obj + * ci_build.sh: 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 {builddir}/linkman-*.txt for included + data + * docs/man/Makefile.am: docs/man/Makefile.am: refactor + LINKMAN_INCLUDE_CONSUMERS + * docs/man/Makefile.am: 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: docs/man/victronups.txt: update link to + cable pinout Closes: #1371 + * configure.ac: 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: ci_build.sh: disable check-NIT by default in CI runs + for now + +2022-04-23 Jim Klimov + + * drivers/main.c: drivers/main.c: simplify detection of PROGNAME="lt- + DRIVERNAME" making it more reliable for some platforms + +2022-04-18 Jim Klimov + + * drivers/cyberpower-mib.c: drivers/cyberpower-mib.c: update + cyberpower_power_status[] with new values [#1377] + +2022-04-23 Jim Klimov + + * data/driver.list.in: Update driver.list.in + +2022-04-23 Jim Klimov + + * configure.ac: configure.ac: fix nut_enable_check_NIT + * ci_build.sh: ci_build.sh: "--enable-check-NIT" and "--enable- + maintainer-mode" for developer builds without a BUILD_TYPE + * ci_build.sh: ci_build.sh: "--enable-check-NIT" for CI builds + * tests/NIT/nit.sh: tests/NIT/nit.sh: fix renaming typo + * tests/NIT/nit.sh: tests/NIT/nit.sh: remove mktemp-ed TESTDIR when + we exit + * tests/NIT/nit.sh: 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: 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: docs/man/dummy-ups.txt: re-wrap long lines + and reword + * docs/man/dummy-ups.txt: docs/man/dummy-ups.txt: highlight that + upsrw can not define new variables + * docs/man/dummy-ups.txt: 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: 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 + +2022-04-23 Jim Klimov + + * data/driver.list.in: driver.list.in: Add HCL info for nJoy Keen 600 + (USB) Closes: #867 + +2022-04-22 Jim Klimov + + * tests/NIT/nit.sh: 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: tests/NIT/nit.sh: + testcase_sandbox_upsc_query_timer(): for slower testers out there, + wait one more cycle + * tests/NIT/nit.sh: 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 + +2022-04-22 Paweł Rapkiewicz + + * 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" + +2022-04-22 Jim Klimov + + * tests/NIT/nit.sh: tests/NIT/nit.sh: add + testgroup_sandbox_cppnit_simple_admin() to troubleshoot dummy-ups + data propagation + * tests/NIT/nit.sh: tests/NIT/nit.sh: + testcase_sandbox_start_drivers_after_upsd(): wait for UPS1 and UPS2 + to respond + * tests/cpputest-client.cpp: 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: tests/NIT/nit.sh: refactor test cases into + smaller routines and groups, and allow to select NIT_CASE + optionally + * tests/NIT/nit.sh: 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: drivers/dstate.c: log start of processing in + sock_arg() + * drivers/dstate.c: drivers/dstate.c: whitespace fix + * tests/NIT/nit.sh: tests/NIT/nit.sh: allow to tweak NUT_DEBUG_MIN + * tests/cpputest-client.cpp: tests/cpputest-client.cpp: trace values + read back after setting + * tests/cpputest-client.cpp: tests/cpputest-client.cpp: rename "s1" + original value reading + * scripts/python/Makefile.am: scripts/python/Makefile.am: clean *.pyc + and __pycache__/ if present + +2022-04-21 Jim Klimov + + * drivers/dummy-ups.c: drivers/dummy-ups.c: fix dummy-once mode for + relative path in port + * tests/NIT/nit.sh: tests/NIT/nit.sh: name the "dummy.seq" so it + loops by default + * drivers/main.c: drivers/main.c: better fix for handling of libtool- + named binaries + * tests/NIT/nit.sh: tests/NIT/nit.sh: if "Error: Driver not + connected" retry with UPSD started after drivers are running + * drivers/main.c: drivers/main.c: fix the handling of libtool-named + binaries + * tests/NIT/nit.sh: 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: tests/NIT/nit.sh: "sed -i" requires an extension + (may be empty, in BSD must be a separate CLI token) + * drivers/dummy-ups.c: drivers/dummy-ups.c: cover exhaustive + case(enum) with pragmas for diametral warnings + * tests/NIT/nit.sh: 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: docs/man/dummy-ups.txt: small rewording + * drivers/dummy-ups.c: drivers/dummy-ups.c: refactor "mode" from + random defines to an enum + * common/str.c, include/str.h: include/str.h, common/str.c: add + str_ends_with() + * tests/NIT/nit.sh: tests/NIT/nit.sh: make sure ups.status is not + pre-defined empty in test sandbox + * tests/cpputest-client.cpp: tests/cpputest-client.cpp: + test_auth_user(): bail out if "ups.status" reply is empty + * tests/NIT/nit.sh: tests/NIT/nit.sh: report DEBUG_SLEEP mode more + usefully + * tests/NIT/nit.sh: 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: tests/NIT/nit.sh: spell out 127.0.0.1 and ::1 if + detected supported on local system + +2022-04-20 Jim Klimov + + * tests/NIT/nit.sh: tests/NIT/nit.sh: report issues more usefully for + troubleshooting CI + * tests/NIT/Makefile.am: tests/NIT/Makefile.am: use more portable + clumsier code + * drivers/main.c: drivers/main.c: accept "lt-PROGNAME" to run + libtool-wrapped builds during development + * tests/NIT/nit.sh: tests/NIT/nit.sh: Avoid dummies with TIMER flip- + flops for cppnit if we can + * tests/Makefile.am: 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: tests/NIT/nit.sh: log OVERALL results before + DEBUG_SLEEP + * tests/NIT/nit.sh: tests/NIT/nit.sh: refactor upsd.users passwords + as shell vars to ease reuse + * tests/NIT/nit.sh: tests/NIT/nit.sh: check that test_nutclient.py + was generated before running it; export NUT_PORT just once + * tests/NIT/nit.sh: 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: 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: Makefile.am: fix "make check-docs" and siblings from + root dir + * Makefile.am: 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: 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: tests/Makefile.am: help check-NIT pass in + distcheck + * docs/nut-qa.txt: docs/nut-qa.txt: mention NUT NIT and update links + to Ubuntu QART + * tests/NIT/nit.sh: tests/NIT/nit.sh: make some debug noise optional + * tests/NIT/nit.sh: tests/NIT/nit.sh: typo fix for SRCDIR + * tests/NIT/nit.sh: tests/NIT/nit.sh: sanity checks for BUILDDIR + * tests/NIT/nit.sh: tests/NIT/nit.sh: bail out quickly if got no + daemons to run + * tests/Makefile.am: tests/Makefile.am: call NIT suite + * tests/NIT/nit.sh: tests/NIT/nit.sh: document DEBUG_SLEEP a bit + +2022-04-19 Jim Klimov + + * 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: conf/ups.conf.sample: update with info from + docs/man/ups.conf.txt + +2022-04-18 Jim Klimov + + * 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: clients/nutclient{mem}.{cpp,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: + docs/man/libnutclient_variables.txt: fix English + * clients/upsclient.h: 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: docs/man/Makefile.am: `$( + + * docs/man/Makefile.am: docs/man/Makefile.am: abstract filenames into + LINKMAN_INCLUDE_GENERATED macro + +2022-04-16 Jim Klimov + + * docs/man/Makefile.am: 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: docs/man/Makefile.am: ensure linkman- + drivertool*names.txt are in builddir + * docs/man/Makefile.am: docs/man/Makefile.am: ensure linkman- + drivertool*names.txt are in A2X_OUTDIR + * docs/man/Makefile.am: docs/man/Makefile.am: avoid spurious + regeneration of linkman-drivertool*names.txt whenever we reference + them + * docs/man/Makefile.am: docs/man/Makefile.am: generate linkman- + drivertool*names.txt independent of current dir being srcdir + * ci_build.sh: ci_build.sh: "cat" the "git diff" + +2022-04-15 Jim Klimov + + * 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: + docs/man/libnutclient_devices.txt: wrap long lines, minor rephrase, + bullet points + * docs/man/libnutclient_commands.txt: + docs/man/libnutclient_commands.txt: wrap long lines, minor + rephrase, bullet points; added optional param arg in API + * docs/man/upscli_strerror.txt: 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: 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: 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: docs/man/upsdrvsvcctl.txt: list Jim + Klimov as the AUTHOR + * docs/man/nut-driver-enumerator.txt: docs/man/nut-driver- + enumerator.txt: list Jim Klimov as the AUTHOR + * docs/man/snmp-ups.txt: docs/man/snmp-ups.txt: list AUTHORS as a + bulleted list and add Jim Klimov + * docs/man/snmp-ups.txt: docs/man/snmp-ups.txt: wrap long lines and + reword a bit + * docs/man/optiups.txt: docs/man/optiups.txt: wrap long lines + * docs/man/phoenixcontact_modbus.txt: + docs/man/phoenixcontact_modbus.txt: wrap long lines + * docs/man/belkinunv.txt: docs/man/belkinunv.txt: add link to + protocol description copy on NUT site + * docs/support.txt: 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: 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: docs/Makefile.am: DOCBUILD_BEGIN: symlink images/ + ONLY for PDF generation + * ci_build.sh: 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 + +2022-04-14 Jim Klimov + + * 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: docs/man/upsmon.txt: reword a dangling + sentence + * docs/man/tripplite_usb.txt: docs/man/tripplite_usb.txt: fix + formatting + * docs/man/riello_ser.txt: docs/man/riello_ser.txt: fix formatting + * docs/man/riello_usb.txt: docs/man/riello_usb.txt: fix formatting + * docs/man/snmp-ups.txt: docs/man/snmp-ups.txt: fix sample source + formatting + * docs/man/socomec_jbus.txt: 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: docs/man/pijuice.txt: fix formatting + * docs/man/nutdrv_qx.txt: docs/man/nutdrv_qx.txt: fix formatting + * docs/man/nutdrv_atcl_usb.txt: docs/man/nutdrv_atcl_usb.txt: fix + formatting + * docs/man/nut.conf.txt: docs/man/nut.conf.txt: fix sample source + formatting + * docs/man/mge-utalk.txt: docs/man/mge-utalk.txt: fix formatting + * docs/man/liebert-esp2.txt: docs/man/liebert-esp2.txt: fix + formatting + * docs/man/clone.txt: 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: docs/man/adelsystem_cbi.txt: fix + formatting + * docs/sock-protocol.txt: docs/sock-protocol.txt: fix formatting + * docs/snmp-subdrivers.txt: docs/snmp-subdrivers.txt: small typo + * docs/packager-guide.txt: docs/packager-guide.txt: reshuffle known + names + * docs/nut-qa.txt: 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: docs/nut-names.txt: fix table formatting + * docs/new-clients.txt: docs/new-clients.txt: fix sample source + formatting + * docs/net-protocol.txt: docs/net-protocol.txt: fix version table + formatting + * docs/FAQ.txt: docs/FAQ.txt: fix formatting, extend some notes + * docs/nut.dict: Update nut.dict + * docs/developers.txt: docs/developers.txt: fix formatting, extend + some notes + * docs/developer-guide.txt: docs/developer-guide.txt: fix formatting; + update URL to evolution500.seq + * docs/design.txt: docs/design.txt: fix formatting; note FIXMEs for + documenting TRACKING support + * docs/daisychain.txt: docs/daisychain.txt: fix formatting + * drivers/snmp-ups.h: drivers/snmp-ups.h: update comment to clarify + the meaning of SU_TYPE_DAISY_1 and SU_TYPE_DAISY_2 + * docs/configure.txt: docs/configure.txt: fix formatting, add titles, + extend some notes + * docs/configure.txt: docs/configure.txt: add a section on modbus + drivers + * docs/configure.txt: docs/configure.txt: link to powerman project + * docs/configure.txt: docs/configure.txt: fix formatting, add driver + type titles, extend some notes + * docs/config-prereqs.txt: docs/config-prereqs.txt: fix formatting, + extend some notes + +2022-04-14 Jim Klimov + + * docs/Makefile.am: docs/Makefile.am: A2X_COMMON_OPTS: use "-- + attribute=..." consistently + * docs/Makefile.am: docs/Makefile.am: have "images/" in A2X_OUTDIR + (fallout of #1152) Closes: #1365 + +2022-04-14 Jim Klimov + + * docs/solaris-usb.txt: docs/solaris-usb.txt: drop suggestions about + building special libusb-1.0/0.1 branches + * docs/solaris-usb.txt: docs/solaris-usb.txt: fix formatting, extend + some notes + * docs/solaris-usb.txt: docs/solaris-usb.txt: add a NOTE for USB + drivers ignoring port option [#1368] + * docs/config-notes.txt: docs/config-notes.txt: fix formatting, + extend some notes and warnings, and service-driven life-cycle + * docs/config-notes.txt: docs/config-notes.txt: document + ALLOW_NO_DEVICE for upsd.conf [#766, #837] + * docs/config-notes.txt: 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: 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 + +2022-04-13 Jim Klimov + + * docs/asciidoc.txt: docs/asciidoc.txt: update link to the Asciidoc + Manual (and project now on github) + +2022-04-12 Jim Klimov + + * Makefile.am: Makefile.am: define dependencies between recipes for + dist* and package; tarball, sig and checksum filenames + +2022-04-10 Jim Klimov + + * 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: docs/FAQ.txt: clarify about nutdrv_qx + * UPGRADING: 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: 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: drivers/usbhid-ups.c: bump version for #1356 + and #1359 + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: bump version for + #584 + * drivers/mge-hid.c: drivers/mge-hid.c: bump version for #1357 + +2022-04-09 Stuart Henderson + + * 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. + +2022-04-08 Jim Klimov + + * NEWS: NEWS: note Liebert/Phoenixtec vs MGE HID handling of VendorID + 0x06da + * drivers/mge-hid.c: drivers/mge-hid.c: mge_claim(): test that + VendorID==PHOENIXTEC 0x06da has also Vendor or Product containing + "AEG" + * data/driver.list.in: data/driver.list.in: update for "PowerWalker + VFI 2000 TGS" via "usbhid-ups" [#564] + * docs/man/usbhid-ups.txt: docs/man/usbhid-ups.txt: update for "some + PowerWalker models" + +2022-04-08 Jim Klimov + + * NEWS: NEWS: tripplite_usb recognizes "3005" protocol for NUT v2.7.5 + +2022-04-08 Jim Klimov + + * 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). + +2022-04-07 Jim Klimov + + * drivers/usbhid-ups.c: 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: drivers/usbhid-ups.c: instcmd(): do not risk + NULL-dereference debugging about "using Path" too early [#1346] + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: instcmd(): wrap some + long lines + +2022-04-07 Jim Klimov + + * docs/nut.dict: docs/nut.dict: update spellchecker + * docs/nut.dict: docs/nut.dict: update spellchecker + +2022-04-05 Jim Klimov + + * docs/man/upsmon.conf.txt: docs/man/upsmon.conf.txt: fix markup + (pluses make emphasis and xmllint goes upset) + +2022-04-04 Jim Klimov + + * INSTALL.nut: INSTALL.nut: add another perspective on packages vs + source builds; refer to config-prereqs.txt + * INSTALL.nut: INSTALL.nut: trim trailing spaces + * README: README: trim trailing spaces + * README: 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: docs/config-prereqs.txt: clarify that non- + GNU makes should work well + +2022-04-02 Jim Klimov + + * scripts/python/app/NUT-Monitor: scripts/python/app/NUT-Monitor: fix + typo, thank CI + * UPGRADING: UPGRADING: detail the Py2/Py3 packages + * UPGRADING: UPGRADING: make note of systemd and Py2/3 changes on top + for packagers to see + * NEWS: NEWS: detail the split of NUT-Monitor and new wrapper script + * scripts/python/app/README: 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: scripts/python/app/README: document how + to get localized UI in dev/testing + * scripts/python/app/README: scripts/python/app/README: document how + to run UI app in-place + * m4/nut_check_python.m4: 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 + +2022-02-21 Luke Dashjr + + * 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 + +2022-02-13 Luke Dashjr + + * scripts/python/app/NUT-Monitor.in: NUT-Monitor: Run py2to3-3.10 + +2022-04-01 Jim Klimov + + * scripts/python/README: scripts/python/README: clarify that + `test_nutclient.py` requires an `upsd` running + * scripts/python/module/PyNUT.py.in: + scripts/python/module/PyNUT.py.in: fix typo (fallout of #840) + * docs/config-prereqs.txt: 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 + +2022-03-31 Jim Klimov + + * 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: ci_build.sh: introduce shortcut for + BUILD_TYPE=fightwarn-all + * ci_build.sh: ci_build.sh: in BUILD_TYPE=default-all-errors report + visibly when no failures happened + * m4/nut_compiler_family.m4: 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) + +2022-03-30 Jim Klimov + + * autogen.sh: autogen.sh: suggest to export PYTHON=python-x.y + * autogen.sh: 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: docs/config-prereqs.txt: drop bogus + command (copy-paste typo) + +2022-03-29 Jim Klimov + + * .github/pull_request_template.md: Update pull_request_template.md + +2022-03-28 Benjamin Berg + + * 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 + +2022-03-28 Jim Klimov + + * ci_build.sh: ci_build.sh: recognize more "*bsd" CI_OS_NAME values + * ci_build.sh: ci_build.sh: do not make noise about non-ubiquitous + options to "uname" program + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: set the onlinedischarge + variable based on flag presence + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: drop + DEFAULT_ONLINEDISCHARGE to match "VAR_FLAG" semantics + * docs/nut.dict: docs/nut.dict: add onlinedischarge + * NEWS: NEWS: clarify that NUT 2.8.0 is new name for old planned NUT + 2.7.5 + * NEWS: NEWS: added usbhid-ups onlinedischarge for NUT v2.7.5 + * docs/man/usbhid-ups.txt: docs/man/usbhid-ups.txt: document + onlinedischarge + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: fix var usage for + upsname + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: fix format string for + "onlinedischarge" help + +2022-03-26 Jim Klimov + + * ci_build.sh: ci_build.sh: default to clang if also available when + default gcc is too old + +2022-03-25 Jim Klimov + + * docs/config-prereqs.txt: docs/config-prereqs.txt: update openbsd + tools for man-page builds + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: avoid failure-prone + build toolkits for manpage tests + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: avoid + configure noise message + * m4/ax_check_compile_flag.m4: m4/ax_check_compile_flag.m4: extend to + check conftest.err log about unsupported flags + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: define + axisCombos_COMPILER_GCC_TOO_OLD near other compiler-related combos + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: fix scenarios with + "non-fatal warnings" that had BUILD_WARNFATAL=yes anyway (copy- + paste issue) + +2022-03-24 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: avoid even running + axisCombos_GCC_TOO_OLD where we require fatal warnings + * configure.ac: 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: drivers/libhid.c: clang-3.4 does not know + "-Wtautological-type-limit-compare" either + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: make use of + dsbcStageTimeoutSettings + +2022-03-23 Jim Klimov + + * configure.ac: configure.ac: with nut_enable_warnings=auto, avoid + fatal warnings with GCC 4.3 or older (no support for diags pragmas) + * configure.ac: configure.ac: report initial nut_enable_warnings + (default or argument) + * configure.ac: configure.ac: pre-set nut_enable_warnings=auto by + default (not hardcoded "medium") + * ci_build.sh: 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: ci_build.sh: comment BUILD_WARNOPT setting for + BUILD_TYPE="fightwarn"* shortcuts + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: enable back + the "-isystem" tuning to not complain about packaged third-party + headers + * drivers/libhid.c: 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: m4/ax_c_pragmas.m4: introduce + [HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_TAUTOLOGICAL_TYPE_LIMIT_COMPARE + * configure.ac: configure.ac: specify AC_PREREQ([2.64]) + * m4/nut_check_libgd.m4: m4/nut_check_libgd.m4: fix detection of + gdImagePng() with additional link requirements + * configure.ac: 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: docs/net-protocol.txt: document "PRIMARY" as + alias to "MASTER" + * docs/net-protocol.txt: docs/net-protocol.txt: bump next release + from 2.7.5 to 2.8.0 + * configure.ac: configure.ac: bump NUT_NETVERSION to 1.3 to match + docs/net-protocol.txt + +2022-03-21 Jim Klimov + + * scripts/subdriver/gen-snmp-subdriver.sh: scripts/subdriver/gen- + snmp-subdriver.sh: fix back markup for mib2nut_info_t lines + Follow-up for #1327 Thanks to @aquette + +2022-03-19 Jim Klimov + + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: qx_ups_walk(): log the + change of estimated remaining runtime + * NEWS: NEWS: nutdrv_qx: enhanced estimation of remaining battery + runtime for NUT v2.7.5 + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: comment about source and + data for estimated runtime corrections + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fix trailing whitespace + * ci_build.sh: 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: drivers/nutdrv_qx.c: snr_command(): adapt to + usb_ctrl_charbuf + +2022-03-16 Jim Klimov + + * 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 + +2022-03-15 Jim Klimov + + * 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: drivers/usbhid-ups.c: try to close libusb + handle before reconnecting (from discussion of issue #414) + +2022-03-16 Jim Klimov + + * NEWS: NEWS: added driver adelsystem_cbi for NUT v2.7.5 + * drivers/adelsystem_cbi.h: drivers/adelsystem_cbi.h: functions + implemented in a header should be static + * drivers/adelsystem_cbi.c: drivers/adelsystem_cbi.c: extend pragmas + for covered/requred "default" case to work with clang-3.4 + +2022-03-15 Jim Klimov + + * ci_build.sh: ci_build.sh: if we only build USB variant(s), do not + shy away from testing some SSL and whatever drivers we can + +2022-03-15 Jim Klimov + + * docs/config-prereqs.txt: docs/config-prereqs.txt: currently refrain + from clang-13 in OI + * docs/config-prereqs.txt: docs/config-prereqs.txt: mark aspell as + recommended (it is not big) + * docs/config-prereqs.txt: docs/config-prereqs.txt: update + instructions for symlinks on OI + * docs/config-prereqs.txt: docs/config-prereqs.txt: fix typos in + instructions for OpenIndiana, and update for new toolkits available + in 2022 + +2022-03-12 Jim Klimov + + * ci_build.sh: ci_build.sh: add support for CI_CROSSBUILD_HOST and/or + CI_CROSSBUILD_TARGET settings [#1294, #1289, #1334] + * ci_build.sh: ci_build.sh: check for "gd" as one of names gdlib can + go by + * ci_build.sh: 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: 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: 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: ci_build.sh: report OS_* envvar values if passed by + caller + +2022-03-12 juantonio + + * drivers/salicru-hid.c: Add tested descriptors for Salicru Twin Pro + 2 + +2022-03-12 Jim Klimov + + * ci_build.sh: ci_build.sh: expand a bit CI_OS_HINT detection on + linux systems + +2022-03-11 Jim Klimov + + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: quiesce + -Wreserved-identifier (clang 13+) that acts up on system headers + * drivers/riello.c: drivers/riello.c: riello_parse_re(): assign + Pout#W and Pout#VA from pom_long not pom_word + * drivers/belkinunv.c: drivers/belkinunv.c: instcmd(): find use for + "r" to at least report failed cmds + +2022-03-11 Jim Klimov + + * docs/config-prereqs.txt: docs/config-prereqs.txt: rearrange + packages to not require heavy ones by default dependency footprint + (aspell, docs generation and libgd) + * server/netuser.c: 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: 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: server/netuser.c: net_master(): provide more + details about client using deprecated commands + * docs/net-protocol.txt: docs/net-protocol.txt: update for "PRIMARY" + netcmd support (alias of "MASTER") [issue #840] + * NEWS: 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: server/upsd.c: check_command(): instrument with + upsdebugx() + * server/netuser.c: server/netuser.c: net_login(): instrument with + upsdebugx() + * clients/upsmon.c: 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) + +2022-03-10 Jim Klimov + + * 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) + +2022-03-10 Jim Klimov + + * scripts/subdriver/gen-snmp-subdriver.sh: Update gen-snmp- + subdriver.sh Quote variable expansions; replace `echo -n` with a + more portable `printf` + +2022-03-10 Arnaud Quette + + * 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 + +2022-03-08 Jim Klimov + + * tests/getvaluetest.c: 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 + +2022-03-08 Thanos Chatziathanassiou + + * docs/man/socomec_jbus.txt: some documentatyion fixes + +2022-03-08 Jim Klimov + + * drivers/nutdrv_qx.c: 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 + +2022-03-07 Jim Klimov + + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: fix (commented- + away) hard_shutdown() to "unsigned char" and bit maths similar to + soft_shutdown() + * drivers/riello_usb.c: drivers/riello_usb.c: Get_USB_Packet(): cast + bit maths to (unsigned char) to err on safe side + * drivers/riello_usb.c: drivers/riello_usb.c: whitespace fix + * drivers/nutdrv_qx.c: 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: + {nut_}libusb_open(): cast rdlen calculations to uint16_t (or wider) + [follow-up from #1320] + * drivers/libshut.c: drivers/libshut.c: shut_checksum(): address + (usb_ctrl_charbuf)buf as (unsigned char) in bit maths + * drivers/libshut.c: drivers/libshut.c: BYTESWAP(): cast "in" to + (uint16_t) for bit maths and use a full-width mask + * drivers/blazer_usb.c: drivers/blazer_usb.c: upsdrv_initups(): + address (usb_ctrl_charbuf)tbuf as (unsigned char) in bit maths + +2022-03-02 Jim Klimov + + * drivers/snmp-ups.h: drivers/snmp-ups.h: make sure + WITH_SNMP_LKP_FUN_DUMMY is defined + +2022-02-27 Nita Vesa + + * 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. + +2022-03-02 Jim Klimov + + * drivers/mge-xml.c: drivers/mge-xml.c: mge_drycontact_info(): avoid + shadowing global variable + +2022-02-28 Nick Briggs + + * 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. + +2022-02-27 Jim Klimov + + * drivers/snmp-ups.c: 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. + +2022-02-27 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: daisychain_init(): add + debug trace + * drivers/eaton-pdu-marlin-helpers.c: drivers/eaton-pdu-marlin- + helpers.c: marlin_device_count_fun(): add debug trace + +2021-11-17 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: su_find_strval(): mark + NUT_UNUSED_VARIABLE(oid2info) when not WITH_SNMP_LKP_FUN + +2022-02-27 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: whitespace fix + +2017-10-11 Jim Klimov + + * drivers/snmp-ups.c: snmp-ups.c : publish device.count==1 too + +2021-10-13 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: su_find_strval() should + consider #if WITH_SNMP_LKP_FUN + +2019-09-25 Arnaud Quette + + * drivers/snmp-ups.c: Fix false positive when communication is lost + +2022-02-27 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + resync comments and use of SU_FLAG_SEMI_STATIC + +2022-02-25 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + break long lines + +2022-02-27 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: avoid stringop-truncation + warning: make sure string is finite + +2021-11-11 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: avoid stringop-truncation + warning + +2021-11-17 Jim Klimov + + * drivers/eaton-pdu-marlin-helpers.c: drivers/eaton-pdu-marlin- + helpers.c: include config.h first + +2021-11-25 Arnaud Quette + + * 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 + +2022-01-12 Arnaud Quette + + * 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 + +2021-11-22 Arnaud Quette + + * drivers/mge-xml.c: Eaton XML/PDC: add External Battery Module count + +2021-11-15 Arnaud Quette + + * 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) + +2021-06-14 Clappier, Eric + + * drivers/powerware-mib.c, drivers/snmp-ups.c: Add missing outlet + objects for master + +2021-02-01 Clappier, Eric + + * drivers/eaton-pdu-marlin-mib.c, drivers/powerware-mib.c: Fix dry + contacts status for EMP02 + +2022-02-27 Jim Klimov + + * drivers/snmp-ups-helpers.c, drivers/snmp-ups.c: Move + su_temperature_read_fun() from drivers/snmp-ups.c to snmp-ups- + helpers.c + +2021-01-26 Arnaud Quette + + * 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 + +2020-12-16 Clappier, Eric + + * 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) + +2020-12-15 Arnaud Quette + + * 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 + +2020-12-15 Clappier, Eric + + * drivers/eaton-pdu-marlin-mib.c, drivers/powerware-mib.c: Change uid + and modbus address name according nut nomenclature + +2020-12-14 Clappier, Eric + + * drivers/powerware-mib.c: Add modbus_address and uuid in snmp-ups/pw + driver + +2019-11-07 Arnaud Quette + + * 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 + +2019-09-19 Arnaud Quette + + * 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 + +2022-02-27 Jim Klimov + + * drivers/powerware-mib.c: 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: 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 + +2019-09-19 Arnaud Quette + + * drivers/eaton-pdu-marlin-helpers.c: SNMP Eaton ePDU: always return + celsius for temperature since the value reading is always adapted + to celsius + +2016-05-25 Jim Klimov + + * drivers/powerware-mib.c: powerware-mib - renamed "ietf_*" and + "eaton_*" lookups to have "pw_*" prefix + +2019-09-12 Arnaud Quette + + * 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 + +2019-09-09 Arnaud Quette + + * drivers/powerware-mib.c: SNMP Eaton Gb Network Card: support for + EMPDT1H1C2 + +2022-02-27 Jim Klimov + + * drivers/eaton-pdu-marlin-helpers.c: drivers/eaton-pdu-marlin- + helpers.c: fix whitespace + +2017-10-11 Jim Klimov + + * 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 + +2019-09-09 Arnaud Quette + + * 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 + +2022-02-27 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + align comments around outlet.%i.name with FTY version + +2017-10-11 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : preferred + templated outlet.%i.name goes last in MIB + +2018-08-07 Jim Klimov + + * drivers/powerware-mib.c: powerware-mib.c : fix fallout from "snmp- + ups: support newer Genepi management cards" (unused variable + warning) + +2018-08-07 Arnaud Quette + + * 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 + +2022-02-27 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + align with "snmp-ups: Simplify the mapping structure" changes for + input.phases=>input.count + +2017-11-17 Arnaud Quette + + * 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 + +2017-11-03 Arnaud Quette + + * 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 + +2022-02-25 Jim Klimov + + * drivers/snmp-ups.h: drivers/snmp-ups.h: avoid "#if" with possibly + not-defined macro + +2018-08-02 Arnaud Quette + + * drivers/eaton-pdu-marlin-mib.c: snmp-ups: Eaton feed color is semi + static + +2018-06-26 Arnaud Quette + + * 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 + +2017-10-30 Arnaud Quette + + * drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c/dmf: add + outlet timers Add support for shutdown and start timers + +2022-02-25 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + relocate outlet.%i.load.off.delay etc like in FTY + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + break long lines like in FTY + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + break long lines + +2017-10-17 Arnaud Quette + + * 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 + +2017-10-11 Jim Klimov + + * drivers/eaton-pdu-marlin-helpers.c, drivers/eaton-pdu-marlin- + helpers.h: eaton-pdu-marlin-* : add support for extended fun/nuf + l2s/s2l conversions + +2017-10-13 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : updated + comments about input/feed relationship, and daisychain implications + +2017-10-13 Arnaud Quette + + * drivers/eaton-pdu-marlin-mib.c: Problem: Need to fix published feed + variables Solution: Attach 1 feed to the current input + +2017-10-13 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : fix OID + and raise questions on input.power.nominal + +2017-10-11 Jim Klimov + + * 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 + +2017-10-09 Jim Klimov + + * 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) + +2017-08-30 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: Fix typo in OID, noticed by aquette + +2017-08-24 Jim Klimov + + * 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() + +2017-08-23 Jim Klimov + + * 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 + +2016-05-13 Jim Klimov + + * 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 + +2017-10-11 Jim Klimov + + * drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups.[ch] : introduce + SU_FLAG_SEMI_STATIC + +2022-02-24 Jim Klimov + + * docs/nut.dict: Update nut.dict Update for Adelsystem CBI + +2022-02-24 Jim Klimov + + * NEWS: NEWS: Update synchronous=auto for NUT v2.7.5 + * drivers/dstate.c: drivers/dstate.c: send_to_all(): port + do_synchronous auto=>on fallback from send_to_one() + * drivers/dstate.c: drivers/dstate.c: send_to_one()/send_to_all(): + make the success-report less verbose (level 6) + * drivers/dstate.c: 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: drivers/dstate.c: send_to_one(): log at level 0 + if write failed (twice maybe) and so driver is disconnecting + * drivers/dstate.c: drivers/dstate.c: send_to_one(): log more details + if throttling down, and if it helped + * drivers/snmp-ups.c: 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: drivers/dstate.c: send_to_one(): try to sleep and + resend failed posting; log the faults (and successes) at level 1 + +2022-02-23 Jim Klimov + + * drivers/dstate.c: drivers/dstate.c: send_to_all() send_to_one(): + clarify "disconnecting" when logging that write failed + * drivers/snmp-ups.c: drivers/snmp-ups.c: update comment for + snmp_ups_walk() for "single" device + * drivers/snmp-ups.c: 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: drivers/snmp-ups.c: snmp_ups_walk(): log + walking an "unitary" device if not a daisy-chain, for balance + * drivers/snmp-ups.c: 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: drivers/snmp-ups.c: update heading comments for + daisychain related variables + * drivers/snmp-ups.c: drivers/snmp-ups.c: snmp_ups_walk(): only skip + "device.0" if in daisy-chain mode + * drivers/snmp-ups.c: drivers/snmp-ups.c: update comment for + current_device_number + +2022-02-22 Thanos Chatziathanassiou + + * docs/man/socomec_jbus.txt, drivers/Makefile.am, + drivers/socomec_jbus.c: Added socomec_jbus implementation + +2022-02-22 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: snmp_ups_walk(): fix + taxonomy of "processing daisy-chain device" debug log + +2022-02-19 Jim Klimov + + * 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: drivers/dstate.c: send_to_one(): consistently use + "buflen" + * drivers/dstate.c: drivers/dstate.c: send_to_all/send_to_one: extend + failed-send tracing + +2022-02-19 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: wrap long lines, add + comments + +2022-02-22 Jim Klimov + + * scripts/subdriver/gen-snmp-subdriver.sh: scripts/subdriver/gen- + snmp-subdriver.sh: generate "standard MIB items" into new MIB + mappings Kudos to @aquette for the catch in PR review + +2022-02-21 Luke Dashjr + + * 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 + +2022-02-19 Jim Klimov + + * drivers/snmp-ups.c: 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: drivers/dstate.c: send_to_one(): consistently use + "buflen" + * drivers/dstate.c: drivers/dstate.c: send_to_all/send_to_one: extend + failed-send tracing + +2022-02-19 Jim Klimov + + * drivers/snmp-ups.c: 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: 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: 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: 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: drivers/snmp-ups.c: wrap long lines, add + comments + * drivers/snmp-ups.c: drivers/snmp-ups.c: su_setinfo(): trace diags + for different code-paths about daisy-chained OID decisions + * drivers/snmp-ups.c: drivers/snmp-ups.c: su_setinfo(): this is not + the place to check for ".%i" after all + +2022-02-18 Jim Klimov + + * tools/nut-dumpdiff.sh: tools/nut-dumpdiff.sh: revise to also strip + frequency measurements + * tools/nut-dumpdiff.sh: tools/nut-dumpdiff.sh: revise to also strip + (load|temperature|humidity) measurements + * docs/documentation.txt: docs/documentation.txt: document tools/nut- + dumpdiff.sh helper + * tools/nut-dumpdiff.sh: tools/nut-dumpdiff.sh: revise to strip just + numeric measurements of (*.power|voltage|current) + * tools/nut-dumpdiff.sh: 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: 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: 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: drivers/snmp-ups.c: su_setinfo(): fix comment + * drivers/snmp-ups.c: 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) + +2022-02-17 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: su_setOID(): fix mis- + interpretation of "device*" as always a daisy-chain + * drivers/snmp-ups.c: 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: 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: drivers/emerson-avocent-pdu- + mib.c: whitespace fix + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + whitespace fix + * drivers/apc-mib.c: drivers/apc-mib: whitespace fix + * drivers/xppc-mib.c: 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) + +2016-09-16 Arnaud Quette + + * 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 + +2022-02-18 Viktor Kuzmin + + * configure.ac: Fix individual drivers configuration + +2022-02-17 Dimitris Economou + + * 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 + +2022-02-17 Jim Klimov + + * 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: 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: scripts/systemd/nut- + driver@.service.in: comment about "Before=nut-driver.target" + constraint + * scripts/systemd/nut-driver@.service.in: scripts/systemd/nut- + driver@.service.in: make sure drivers always try to start and + connect + +2022-02-16 Jim Klimov + + * drivers/libhid.c: drivers/libhid.c: string_to_path(): report + hid_lookup_usage() miss + * drivers/libhid.c: 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 + +2022-02-16 Jim Klimov + + * clients/upsmon.c: clients/upsmon.c: restructure config reload for + debug_min to be more similar to that in upsd.c + * clients/upsmon.c: clients/upsmon.c: whitespace fix + +2022-02-16 Jim Klimov + + * clients/upsmon.c: clients/upsmon.c: allow upsmon to reload config + and apply its debug_min setting + * common/common.c: common/common.c: writepid(): debug-trace creation + of a PID file + +2022-02-16 Jim Klimov + + * scripts/systemd/nut-server.service.in: scripts/systemd/nut- + server.service.in: reload upsd without PID file [for #1299] + * server/conf.c: 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: server/upsd.c: warn about not saving a pid file + * server/upsd.c: server/upsd.c: handle extended return values from + sendsignalfn() to tell more about the error + * common/common.c: 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 + +2022-02-15 Jim Klimov + + * drivers/main.c: drivers/main.c: fix user:group separator in debug + message + * configure.ac: 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: 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: drivers/main.c: re-word debug message for "-u name" + overriding built-in or configured values + * drivers/main.c: drivers/main.c: trace do_global_args() and + main_arg() var/val stream + * docs/hid-subdrivers.txt: 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: drivers/apc-hid.c: apc_fix_report_desc(): + normalize indentations + +2022-02-14 Nick Briggs + + * drivers/apc-hid.c: Update APC HID driver version + * drivers/apc-hid.c: Only indicate report descriptor fixed if it was + actually changed. + +2022-02-14 Jim Klimov + + * 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: drivers/upsdrvctl.c: suggest "-d" when warning + about passing debugging through to actual drivers + * drivers/upsdrvctl.c: 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) + +2022-02-13 Luke Dashjr + + * scripts/python/app/NUT-Monitor.in: NUT-Monitor: Run py2to3-3.10 + +2022-02-13 Nick Briggs + + * 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 + +2022-02-11 Jim Klimov + + * NEWS: NEWS: added usbhid-ups "ever-hid" subdriver for NUT v2.7.5 + * docs/man/upsd.conf.txt: 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: NEWS: announce fore-/back-grounding options for daemons in + NUT v2.7.5 + * docs/man/upsd.conf.txt: docs/man/upsd.conf.txt: document optional + "DEBUG_MIN" setting + * conf/upsd.conf.sample: conf/upsd.conf.sample: document optional + "DEBUG_MIN" setting + * conf/upsmon.conf.sample.in: conf/upsmon.conf.sample.in: document + optional "DEBUG_MIN" setting + * conf/ups.conf.sample: conf/ups.conf.sample: document optional + "debug_min" setting + * docs/man/upsmon.conf.txt: docs/man/upsmon.conf.txt: document + optional "DEBUG_MIN" setting + * docs/man/ups.conf.txt: 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: clients/upsmon.c: support "debug_min" from + upsmon.conf + * drivers/main.c: drivers/main.c: comment typo fixes + * docs/man/upslog.txt: docs/man/upslog.txt: fix typo "upsmon" => + "upslog" + * clients/upslog.c: clients/upslog.c: align -F/-B options with + drivers/main.c + * scripts/systemd/nut-monitor.service.in: scripts/systemd/nut- + monitor.service.in: with daemon not backgrounding, "Type=forking" + no longer applies + * docs/man/upsd.txt: 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: server/upsd.c: align -F/-B options with + drivers/main.c + * docs/man/upsmon.txt: 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: clients/upsmon.c: align -F/-B options with + drivers/main.c + * docs/man/nutupsdrv.txt: 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: drivers/main.c: update comments + +2019-03-19 Jim Klimov + + * 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 + +2019-03-18 Jim Klimov + + * drivers/main.c: drivers/main.c : allow to configure debug_min=NUM + to ease service debugging + +2022-02-11 Dimitris Economou + + * drivers/adelsystem_cbi.c, drivers/adelsystem_cbi.h: coding style + changes + +2022-02-10 Jim Klimov + + * .github/pull_request_template.md: .github/pull_request_template.md: + remind to update recipes for new man pages + +2022-02-11 Dimitris Economou + + * drivers/adelsystem_cbi.c: fix parameter hiding global variable + +2022-02-10 Jim Klimov + + * configure.ac: configure.ac: avoid noise about pkg-config not + finding (lib)systemd.pc on systems where it is not installed + * configure.ac: 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: configure.ac: fall back from pkg-config queries for + "systemd" to try also "libsystemd" - fix calling "test" + +2022-02-10 Nick Geoghegan + + * drivers/riello_usb.c: Fixes formatting in riello_usb + * drivers/riello_ser.c: Updates riello_ser to version 0.07 + +2022-02-10 Jim Klimov + + * configure.ac: configure.ac: fall back from pkg-config queries for + "systemd" to try also "libsystemd" + * docs/man/Makefile.am: docs/man/Makefile.am: build and install + nutdrv_siemens_sitop man pages + +2022-02-09 Nick Geoghegan + + * drivers/riello_usb.c: Fixes 530 + +2022-02-09 Jim Klimov + + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + rename non-standard dstate variables to "experimental.*" namespace + Closes: NUT issue #1045 + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + fix "ups.delay.return" => "ups.delay.start" + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + whitespace fixes (some long lines) + * docs/packager-guide.txt: docs/packager-guide.txt: update for nut- + linux-i2c and nut-macosx-ups platform-dependent package groups + * docs/packager-guide.txt: docs/packager-guide.txt: fix title for + pkg-nut-modbus + * drivers/ever-hid.c: 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 (C) heading + * drivers/ever-hid.c: drivers/ever-hid.c: print unsigned int as %u + * drivers/ever-hid.c: drivers/ever-hid.c: mark + NUT_UNUSED_VARIABLE(double value) where appropriate + * drivers/ever-hid.c: drivers/ever-hid.c: use complete struct + initializers for info_lkp_t tables; use sentinels; mark static + * drivers/ever-hid.c: drivers/ever-hid.c: ever_alarms_fun(), + ever_workmode_fun(): define "workmode" on top of function + * drivers/ever-hid.c: drivers/ever-hid.c: fix switch/case whitespaces + * drivers/ever-hid.c: drivers/ever-hid.c: fix trailing whitespaces + * drivers/ever-hid.c: drivers/ever-hid.c: wrap some long lines for + readability + * drivers/ever-hid.c: 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: drivers/everups.c: whitespace fixes; clarify + this is a serial driver (as opposed to ever-hid.c for USB devices) + +2022-02-08 Dimitris Economou + + * 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 + +2022-02-08 Jim Klimov + + * configure.ac: configure.ac: error out for unhandled --with- + drivers=xxx names + * configure.ac: configure.ac: improve handling of platform-dependent + (linux-i2c, macosx) drivers - do not default to require them + everywhere + * configure.ac: 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: drivers/Makefile.am: parameterize + POWERMAN_DRIVERLIST and IPMI_DRIVERLIST like others + * configure.ac: configure.ac: move "--with-drivers=name[,name...]" + handling to before we check for third-party dependencies + * clients/upssched.c: clients/upssched.c: sendcmd(): rectify + enclen/buflen sanity checks and usage + * clients/upssched.c: clients/upssched.c: whitespace and comment + fixes + +2022-02-07 Dimitris Economou + + * clients/upssched.c: fix code alignemnt, casting sizeof with ssize_t + +2022-02-07 Jim Klimov + + * scripts/subdriver/gen-usbhid-subdriver.sh: gen-usbhid-subdriver.sh: + suggest "fix_report_desc" in subdriver_t (follow-up to PR #1245) + +2022-02-06 Jim Klimov + + * docs/packager-guide.txt: docs/packager-guide.txt: mention ipmi and + modbus drivers as separate packaging goals + +2022-02-06 Dimitris Economou + + * 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 + +2022-02-05 Jim Klimov + + * 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 + +2022-02-05 Dimitris Economou + + * drivers/adelsystem_cbi.c: apply Jim's modbus changes on PR #1239 + +2022-01-23 Jim Klimov + + * ci_build.sh: ci_build.sh: fix CI_FAILFAST to abort after failed + configure scripts + +2022-01-27 Jim Klimov + + * 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. + +2022-01-23 Jim Klimov + + * NEWS, UPGRADING: NEWS, UPGRADING: snmp-ups.h flags (bit-mask + macros) changed for NUT v2.7.5 + * drivers/snmp-ups.h: drivers/snmp-ups.h: mib2nut mappings with + "zero" flag value are not illegal + +2022-01-18 Jim Klimov + + * drivers/snmp-ups.c: 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. + +2022-01-23 Jim Klimov + + * drivers/snmp-ups.h: 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 + +2021-11-22 Jim Klimov + + * drivers/snmp-ups.h: drivers/snmp-ups.h: update mask for + SU_TYPE_DAISY() and comments for it and SU_DAISY + +2021-11-13 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: report if an snmp_info[] + entry flag was not defined (is 0) + * drivers/snmp-ups.h: 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] + +2022-01-22 Jim Klimov + + * NEWS: NEWS: drop chapters for "PLANNED NEWS" for releases after + v2.7.5 + * UPGRADING: UPGRADING: highlight libusb-1.0 in NUT v2.7.5 + +2022-01-21 Jim Klimov + + * 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: docs/nut.dict: update for Armac subdriver NEWS + * data/driver.list.in: data/driver.list.in: add PiJuice HAT (big) and + pHAT (Zero) + +2022-01-20 Jim Klimov + + * drivers/snmp-ups.c, tools/nut-scanner/scan_snmp.c: 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: NEWS: prepare for nutdrv-qx armac merge in 2.7.5 timeline + * NEWS: NEWS: added usbhid-ups fix_report_desc() for NUT v2.7.5 + * NEWS: NEWS: added powercom "nobt" option for NUT v2.7.5 + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: armac_command(): + accomodate "usb_ctrl_charbuf" and formatting changes for libusb-1.0 + support + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: armac_command(): mark as + static method + * drivers/nutdrv_qx_ablerex.c: drivers/nutdrv_qx_ablerex.c: + ablerex_process_status_bits(): mark as static method + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: ablerex_command(): + accomodate "usb_ctrl_charbuf" and formatting changes for libusb-1.0 + support + * ci_build.sh: ci_build.sh: make distcheck (pun intended) less noisy + * ci_build.sh: ci_build.sh: comment a suggestion how to use + BUILD_TYPE=fightwarn typically + * ci_build.sh: ci_build.sh: make distcheck (pun intended) less noisy + * ci_build.sh: ci_build.sh: comment a suggestion how to use + BUILD_TYPE=fightwarn typically + +2022-01-20 Jim Klimov + + * drivers/nutdrv_qx.c: 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 + +2022-01-19 Jim Klimov + + * drivers/legrand-hid.c: Update legrand-hid.c Initialize + "fix_report_desc", this file appeared from another PR merged before + #1245 + +2022-01-19 Jim Klimov + + * ci_build.sh: ci_build.sh: provision check_gitignore() calls for DMF + branch build products + * ci_build.sh: ci_build.sh: check_gitignore(): wrap long lines + * ci_build.sh: ci_build.sh: check_gitignore(): add a FILE_GLOB + support + * ci_build.sh: ci_build.sh: optional_dist_clean_check(): copypasta + error, GIT_ARGS not needed in this one + * ci_build.sh: ci_build.sh: fix "MAKE distclean" operations back to + not-quiet, they look weird as a half-muted wall of text + * ci_build.sh: ci_build.sh: fix use of git status $GIT_ARGS + consistently + * drivers/snmp-ups.c: drivers/snmp-ups.c: match_sysoid(): test for + NULL mib2nut[i]->snmp_info (and skip if so) + * drivers/snmp-ups.c: 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) + +2022-01-18 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: handle not-loaded snmp_info + without segfaulting + * drivers/snmp-ups.c: drivers/snmp-ups.c: load_mib2nut(): better + tracing of mib_name comparisons + * drivers/snmp-ups.c: 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() + +2022-01-18 Dimitris Economou + + * 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 + +2022-01-13 Dimitris Economou + + * 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 + +2022-01-12 Dimitris Economou + + * 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 + +2022-01-11 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: ghost alarms bug fix, + other bug fixes + +2022-01-10 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: first testing release + +2022-01-09 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: alrm_t, alrm_ar_t data + structures, construction of upsdrv_updateinfo in progress + +2022-01-08 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: structure device data, + code get_dev_state, in progress + +2022-01-07 Dimitris Economou + + * drivers/adele_cbi.h: register status values and masks added + +2022-01-06 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: under construction + +2022-01-11 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: ghost alarms bug fix, + other bug fixes + +2022-01-10 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: first testing release + +2022-01-09 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: alrm_t, alrm_ar_t data + structures, construction of upsdrv_updateinfo in progress + +2022-01-08 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: structure device data, + code get_dev_state, in progress + +2022-01-07 Dimitris Economou + + * drivers/adele_cbi.h: register status values and masks added + +2022-01-06 Dimitris Economou + + * drivers/Makefile.am: Makefile.am modifications + * drivers/adele_cbi.c, drivers/adele_cbi.h: under construction + +2022-01-18 Dimitris Economou + + * drivers/{adelsystem_cbi.c => adele_cbi.c}, + drivers/{adelsystem_cbi.h => adele_cbi.h}: rename for rebase + +2022-01-18 Jim Klimov + + * drivers/usbhid-ups.h: 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: drivers/cps-hid.c: clean up trailing whitespaces + * drivers/cps-hid.c: drivers/cps-hid.c: FindReport() + cps_fix_report_desc(): rename pDesc arg to avoid shadowing a global + variable + * drivers/cps-hid.c: drivers/cps-hid.c: mark non-exported + FindReport() as static + * m4/nut_compiler_family.m4: 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: ci_build.sh: build_to_only_catch_errors_target(): + CI_PARMAKE_VERBOSITY=silent should not hide warnings + * ci_build.sh: ci_build.sh: do not silent-make initial clean-up (it + is chatty anyway, so let us see the dirs processed) + * ci_build.sh: ci_build.sh: comment verbosity (non-)tweaks for builds + without a BUILD_TYPE + * ci_build.sh: ci_build.sh: report around initial clean-up for + clearer log reading + * ci_build.sh: ci_build.sh: refactor with check_gitignore() + * ci_build.sh: ci_build.sh: refactor ccache_stats() + * ci_build.sh: ci_build.sh: refactor make-verbosity settings and + adjust some for default builds to store less log + +2022-01-18 Jim Klimov + + * tools/nut-scanner/scan_usb.c: 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) + +2022-01-17 Jim Klimov + + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + report in usage() if "library not detected" for a scan option + +2022-01-17 Jim Klimov + + * drivers/generic_modbus.c: drivers/generic_modbus.c: address + -Wmissing-field-initializers complaints for timeval with timeouts + (memset to 0 instead) + * drivers/generic_modbus.c: drivers/generic_modbus.c: address + -Wstrict-prototypes complaints + * Jenkinsfile-dynamatrix: 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: Jenkinsfile-dynamatrix: shut back the + cppcheck-by-default + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: do not allow to + disable delayedIssueAnalysis on "stable branches" + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: enable cppcheck + slowBuild stages generally, not just for "fightwarn" branches + +2022-01-16 Jim Klimov + + * configure.ac: configure.ac: adjust test structure for both built-in + ntohl/htonl and string built-ins (using explicit -Werror -Wno-... + checks) + * configure.ac: 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: ci_build.sh: do not lose original LDFLAGS + +2022-01-15 Jim Klimov + + * configure.ac: 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. + +2022-01-14 Jim Klimov + + * drivers/snmp-ups.h: drivers/snmp-ups.h: treat DISABLE_MIB_LOADING + more safely + +2022-01-14 Jim Klimov + + * 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 + +2022-01-13 Jim Klimov + + * configure.ac: 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: ci_build.sh: relay more build-influencing envvars in + the (Jenkins-logged) printout + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: fix the + range-check and message/comment it better + * drivers/asem.c: 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: m4/ax_c_pragmas.m4: add + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_EXTRA_SEMI_STMT(_BESIDEFUNC) + * drivers/asem.c: drivers/asem.c: declare upsdrv_shutdown() as + noreturn + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: avoid including usb- + common.h twice + +2022-01-13 Dimitris Economou + + * 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 + +2022-01-13 Jim Klimov + + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: ask CLANG to reject unknown + pragmas when checking for them + * common/common.c: common/common.c: check for + HAVE_PRAGMA_CLANG_DIAGNOSTIC_IGNORED_UNREACHABLE_CODE_RETURN + support before use + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: test specifically for HAVE_ + PRAGMA_CLANG_DIAGNOSTIC_IGNORED_UNREACHABLE_CODE_RETURN(_BESIDEFUNC + ) support + +2022-01-13 Dimitris Economou + + * 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 + +2022-01-12 Dimitris Economou + + * 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 + +2022-01-12 Jim Klimov + + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: set default + C/C++ standards to GNU dialects for GCC/CLANG + * m4/nut_compiler_family.m4: 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: m4/nut_check_libnetsnmp.m4: fix a test + from shell to autoscript + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + only evaluate if NUT_HAVE_LIBNETSNMP_* when we build WITH_SNMP + * common/common.c: common/common.c: use + HAVE_PRAGMAS_FOR_GCC_DIAGNOSTIC_IGNORED_UNREACHABLE_CODE_RETURN + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: add HAVE_PRAGMA_GCC_DIAGNOS + TIC_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: m4/nut_compiler_family.m4: set default + C/C++ standards to GNU dialects for GCC/CLANG + * m4/nut_compiler_family.m4: 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: ci_build.sh: comment why ./configure is not without + args + +2022-01-11 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: ghost alarms bug fix, + other bug fixes + +2022-01-10 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: first testing release + +2022-01-09 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: alrm_t, alrm_ar_t data + structures, construction of upsdrv_updateinfo in progress + +2022-01-08 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: structure device data, + code get_dev_state, in progress + +2022-01-07 Dimitris Economou + + * drivers/adele_cbi.h: register status values and masks added + +2022-01-06 Dimitris Economou + + * drivers/Makefile.am: Makefile.am modifications + * drivers/adele_cbi.c, drivers/adele_cbi.h: under construction + +2021-09-23 Jim Klimov + + * drivers/generic_modbus.c: drivers/generic_modbus.{c,h}: fix + whitespace style (original fix from master branch) + +2022-01-12 Jim Klimov + + * drivers/generic_modbus.c: drivers/generic_modbus.c: fix whitespace + style (in PR-1239) + +2022-01-12 Arnaud Quette + + * 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 + +2022-01-11 Dave Williams + + * 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. + +2022-01-11 Jim Klimov + + * 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 + +2022-01-11 Jim Klimov + + * docs/nut.dict: Update nut.dict Updated for PR + https://github.com/networkupstools/nut/pull/1256 + +2022-01-11 Jim Klimov + + * drivers/generic_modbus.c: drivers/generic_modbus.c: handle the two + APIs for libmodbus timeout setting + * m4/nut_check_libmodbus.m4: 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: 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: m4/nut_check_libmodbus.m4: in tests for + API, "new/old" comments were confused + * m4/nut_check_libmodbus.m4: m4/nut_check_libmodbus.m4: in tests for + API, initialize modbus_t *ctx differently + * m4/nut_check_libmodbus.m4: m4/nut_check_libmodbus.m4: test actively + for the modbus timeout API (count and type of args used) + * m4/nut_check_libmodbus.m4: m4/nut_check_libmodbus.m4: convert a + code block from plain shell to autoscript + * m4/nut_check_libmodbus.m4: m4/nut_check_libmodbus.m4: test for + presence of modbus_set_byte_timeout() and + modbus_set_response_timeout() + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: detect support for + (ignoring) "-Wsign-conversion" + * m4/ax_c_pragmas.m4: 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: drivers/generic_modbus.c: bump + DRIVER_VERSION for feature change (connection timeout handling) + +2022-01-10 Ablerexsoftware + + * data/driver.list.in: update the driver.list.in + +2022-01-11 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: ghost alarms bug fix, + other bug fixes + +2022-01-10 Jim Klimov + + * docs/man/powercom.txt: Update powercom.txt Sentence restructure + +2022-01-10 Jim Klimov + + * .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: 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 + +2022-01-10 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: first testing release + +2022-01-10 Jim Klimov + + * data/driver.list.in: data/driver.list.in: fix English typos in + comment + * docs/developers.txt: docs/developers.txt: remind to update + docs/acknowledgements.txt when adding vendor-backed support + * docs/man/usbhid-ups.txt: docs/man/usbhid-ups.txt: fix reference to + data/driver.list (typo in filename) + +2022-01-09 Rouben Tchakhmakhtchian + + * 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 + +2022-01-09 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: alrm_t, alrm_ar_t data + structures, construction of upsdrv_updateinfo in progress + +2022-01-08 Dimitris Economou + + * drivers/adele_cbi.c, drivers/adele_cbi.h: structure device data, + code get_dev_state, in progress + +2022-01-07 Jim Klimov + + * tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: be sure to have + PATH_MAX defined (for usb.h that did not bother by itself) + * drivers/usb-common.h: drivers/usb-common.h: be sure to have + PATH_MAX defined (for usb.h that did not bother by itself) + +2022-01-07 Dimitris Economou + + * drivers/adele_cbi.h: register status values and masks added + +2022-01-06 Jim Klimov + + * 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. + +2022-01-06 Dimitris Economou + + * drivers/Makefile.am: Makefile.am modifications + * drivers/adele_cbi.c, drivers/adele_cbi.h: under construction + +2022-01-05 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: fix + dynamatrixAxesCommonEnvCartesian cases to group the variables we + apply as one bunch, not as several separate hits + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: define + dynacfgPipeline.excludeCombos_DEFAULT (mismatched ARCHes only) + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: + avoid implicit case fallthrough + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: be sure to reset + slowBuild configs over dynacfgBase + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: avoid running + "cppcheck" several times per host + +2022-01-04 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: reinstate + excludeCombos for autotools-only builds (fightwarn) to avoid + unsupported ARCH-bits mix builds + +2022-01-02 Jim Klimov + + * Jenkinsfile-dynamatrix: 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) + +2021-12-30 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: avoid using + undefined (null) excludeCombos_DEFAULT + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: fix references to + excludeCombos: ... axisCombos_COMPILER_(NOT_)GCC + +2022-01-05 Jim Klimov + + * m4/nut_check_cppcheck.m4: m4/nut_check_cppcheck.m4: relax required + tool version for cppcheck*.xml generation + * Makefile.am: Makefile.am: fix dependencies for cppcheck*.xml + generation + +2022-01-04 Dimitris Economou + + * drivers/generic_modbus.c: comment and code alignment fixes + +2022-01-03 Jim Klimov + + * ci_build.sh: ci_build.sh: set DO_CLEAN_CHECK=no for default- + tgt:cppcheck or docs-building scenarios by default, so we can + get/archive those costly media files + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: set + DO_CLEAN_CHECK=no for default-tgt:cppcheck scenarios, so we can get + that analysis data + +2021-12-30 Jim Klimov + + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: + include config.h first + +2021-12-30 Jim Klimov + + * docs/developers.txt, docs/nut.dict: docs/developers.txt: update + about C89/GNU89 support (with GCC toolkit) + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: separate + C89/C90/ANSI builds with GCC (can actually pass strict and GNU + modes) and CLANG (more pedantic) + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: typo fix for + disableSlowBuildCIBuildExperimentalANSI + +2021-12-30 Jim Klimov + + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: do not test + for "-fcolor-diagnostics" - redundant for clang, and sometimes + toxic for gcc + * drivers/Makefile.am: drivers/Makefile.am: snmp-ups uses fabsf() so + needs libm + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: include + config.h first + * drivers/microsol-apc.c: drivers/microsol-apc.c: include config.h + first + * drivers/genericups.c: drivers/genericups.c: include config.h first + * include/nut_stdint.h: include/nut_stdint.h: define SSIZE_MAX if + missing + * drivers/serial.h: drivers/serial.h: pull more includes + +2021-12-30 Jim Klimov + + * drivers/Makefile.am: drivers/Makefile.am: metasys uses fabsf() so + needs libm + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fix comments to C-style + * drivers/powercom.c: drivers/powercom.c: fix comments to C-style + * drivers/microdowell.h: drivers/microdowell.h: fix comments to + C-style + * drivers/solis.h: drivers/solis.h: fix comments to C-style + * drivers/libshut.c: drivers/libshut.c: fix comments to C-style + * drivers/openups-hid.c: drivers/openups-hid.c: include config.h + first + * drivers/snmp-ups.c: drivers/snmp-ups.c: fix comments to C-style + * drivers/riello_usb.c: drivers/riello_usb.c: fix comments to C-style + * drivers/generic_modbus.h: drivers/generic_modbus.h: fix comments to + C-style + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: fix comments to C-style + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + fix comments to C-style + * tools/nut-scanner/nutscan-init.c: tools/nut-scanner/nutscan-init.c: + fix comments to C-style + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: fix comments to C-style + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: fix + comments to C-style + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: fix + comments to C-style + * server/upsd.c: server/upsd.c: fix comments to C-style + * server/conf.c: server/conf.c: fix comments to C-style + * drivers/bcmxcp.c: drivers/bcmxcp.c: fix comments to C-style + * drivers/main.c: drivers/main.c: fix comments to C-style + * common/upsconf.c: common/upsconf.c: include config.h first + * common/str.c: common/str.c: fix comments to C-style + * server/user.c: server/user.c: include config.h first + * server/desc.c: server/desc.c: include config.h first + * drivers/upsdrvctl.c: drivers/upsdrvctl.c: include config.h first + * drivers/riello_usb.c: drivers/riello_usb.c: include config.h first + * drivers/riello_ser.c: drivers/riello_ser.c: include config.h first + * drivers/rhino.c: drivers/rhino.c: include config.h first + * drivers/mge-utalk.c: drivers/mge-utalk.c: include config.h first + * drivers/libhid.c: drivers/libhid.c: include config.h first, and try + to get strings.h explicitly + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: include + config.h first + * drivers/dummy-ups.c: drivers/dummy-ups.c: include config.h first + * drivers/dstate.c: drivers/dstate.c: include config.h first + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: try to include explicitly both of + (sys/)signal.h + * server/upsd.c: server/upsd.c: try to include explicitly both of + (sys/)signal.h + * tools/nut-scanner/nutscan-serial.c: tools/nut-scanner/nutscan- + serial.c: include config.h first + * tools/nut-scanner/nutscan-device.c: tools/nut-scanner/nutscan- + device.c: include config.h first + * drivers/mge-xml.c: drivers/mge-xml.c: include config.h first + * drivers/libshut.c: drivers/libshut.c: include config.h first + * common/state.c: common/state.c: include config.h first + * common/str.c: common/str.c: include config.h first, and try to get + strings.h explicitly + * include/common.h: include/common.h: try to include explicitly + string(s).h and (sys/)signal.h + * configure.ac: configure.ac: test more actively for strcasecmp, + strncasecmp, strdup and usleep methods that are problematic for + strict C99+ builds + * configure.ac: configure.ac: detect explicitly string(s).h and + (sys/)signal.h + +2021-12-29 Jim Klimov + + * configure.ac: configure.ac: zero-init struct in ntohl/htonl + warning-tweaks test code + +2021-12-29 Jim Klimov + + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: be pragmatic + about possibly unreachable error handling in arch-dependent range + check + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: mark local + vars as static + * configure.ac: configure.ac: constrain warning-tweaks against macro + str*() and ntohl/htonl to LIBNETSNMP_CFLAGS (empirically) + * configure.ac: configure.ac: detect if compiler (e.g. older + clang-3.4) has a problem with built-in/macro variants of system + str*() and htonl/ntohl functions at our higher warning levels, and + mitigate that + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: rearrange + detection order of compiler flags + * drivers/generic_modbus.c: drivers/generic_modbus.c: quiesce + warnings about unreachable-code (default after full enum-case + handling) with older clang + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: ignore potentially + unreachable code in assert() + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: quiesce warnings about + unreachable-code (default after full enum-case handling) with older + clang + * drivers/upscode2.c: drivers/upscode2.c: quiesce warnings about + unreachable-code (default after full enum-case handling) with older + clang + * drivers/hidparser.c: drivers/hidparser.c: ignore potentially + unreachable code in platforms-dependent range checks + * drivers/libhid.c: drivers/libhid.c: ignore potentially unreachable + code in platforms-dependent range checks + * drivers/libshut.c: drivers/libshut.c: tell compiler that we do want + to treat a char array (managed by comms code) as the aligned + pointer to struct + * drivers/libshut.c: drivers/libshut.c: adjust data_size usage to + usb_ctrl_charbufsize typedef - fix pragmas for range-checks + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: quiesce warnings about + unreachable-code (default after full enum-case handling) with older + clang + * drivers/genericups.c: drivers/genericups.c: ignore potentially + unreachable code in platforms-dependent range checks + * drivers/bestuferrups.c: drivers/bestuferrups.c: ignore potentially + unreachable code in assert(0) + * drivers/bestfcom.c: drivers/bestfcom.c: ignore potentially + unreachable code in assert(0) + * clients/upsmon.c: clients/upsmon.c: ignore potentially unreachable + code in platforms-dependent range checks + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: ignore + potentially unreachable code in platforms-dependent range checks + * tools/nut-scanner/nutscan-init.c: tools/nut-scanner/nutscan-init.c: + ignore potentially unreachable code in platforms-dependent range + checks + * server/upsd.c: server/upsd.c: quiesce warnings about unreachable- + code (default after full enum-case handling) with older clang + * configure.ac: configure.ac: update "clang-medium" warnings level + with "-Wno-conversion" for older clang releases + * ci_build.sh: ci_build.sh: introduce CI_FAILFAST for + BUILD_TYPE=default-all-errors + * ci_build.sh: ci_build.sh: use configurable --enable-Wcolor for + compiler warnings in default quick build + * ci_build.sh: ci_build.sh: use configurable --enable-Wcolor for + compiler warnings in all BUILD_TYPEs + * configure.ac, m4/nut_compiler_family.m4: configure.ac + + m4/nut_compiler_family.m4: allow configurable --enable-Wcolor for + compiler warnings + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: add + diagnostics-color support for GCC + * configure.ac, m4/ax_check_compile_flag.m4, + m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: use + AX_CHECK_COMPILE_FLAG to detect generic options supported by + compilers + +2021-12-28 Jim Klimov + + * configure.ac: configure.ac: pass "-Wno-disabled-macro-expansion" in + clang-medium and clang-hard modes, to avoid choking on systems- + provided strncmp() etc. + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: pw_comm_setup(): ignore + potentially unreachable code in platforms-dependent range checks + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + ignore potentially unreachable code in platforms-dependent range + checks + * common/common.c: common/common.c: get_user_pwent(): ignore + "-Wunreachable-code" where we were required to have a return + * common/common.c: common/common.c: get_max_pid_t(): avoid warnings + in C89/C90/ANSI builds *because* we check for LLONG_MAX macro + * common/common.c: common/common.c: get_max_pid_t(): ignore + "-Wunreachable-code" + * common/common.c: common/common.c: vupslog(): ignore "-Wformat- + nonliteral" with older clang too + * configure.ac: configure.ac: with (older) clang, ignore "unused- + arguments" (of clang program) + * server/upsd.c: server/upsd.c: mainloop(): ignore "-Wcovered-switch- + default" with older clang too + * clients/upsclient.c: clients/upsclient.c: upscli_init(): fix "ret" + to "long", to match some versions of SSL_CTX_ctrl() (from + openssl/ssl.h e.g. in FreeBSD) + * drivers/riello_usb.c: drivers/riello_usb.c: riello_command(): + handle possibly undefined ETIME + * drivers/blazer_usb.c: drivers/blazer_usb.c: blazer_command(): + handle possibly undefined ETIME + * drivers/blazer_usb.c: drivers/blazer_usb.c: phoenix_command(): + avoid fall-through in a case + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: qx_command(): handle + possibly undefined ETIME + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: phoenix_command(): avoid + fall-through in a case + * drivers/mge-hid.c: drivers/mge-hid.c: nominal_output_voltage_fun(): + explicitly fall-through in a case + * drivers/libshut.c: drivers/libshut.c: shut_control_msg(): + explicitly fall-through in a case, and finish the default with a + break + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: comment away + setting "-isystem ..." common paths early in CFLAGS + * configure.ac: configure.ac: set "-Wno-system-headers" early in + gcc/clang medium and hard warning levels + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: set "-isystem + ..." paths early in CFLAGS + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: expel other + C89/C90/ANSI builds to only happen if not + disableSlowBuildCIBuildExperimentalANSI and only in branches (or + PRs to) matching ~/fightwarn.*89.*/ currently + * configure.ac: configure.ac: try to handle warnings in system + headers at our medium and hard levels + +2021-12-28 Jim Klimov + + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: fix_report_desc(): + avoid shadowing global var with method arg name + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: fix_report_desc(): mark + NUT_UNUSED_VARIABLEs + +2021-12-28 Jim Klimov + + * docs/man/nutdrv_qx.txt: docs/man/nutdrv_qx.txt: mention Armac in + SUPPORTED HARDWARE section, and wrap long lines there + * docs/man/nutdrv_qx.txt, docs/nut.dict: docs/man/nutdrv_qx.txt: port + notes for "armac" subdriver from source code + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: armac_command(): move + variable declarations to top of scope + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: armac_command(): fix + varied int types to size_t, and move equation sides around to avoid + signedness + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: armac_command(): zero out + whole tmpbuf[], not one element + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: normalize whitespace for + "armac" code addition + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: add (C) for "armac" code + addition + +2021-12-25 Tomasz Fortuna + + * data/driver.list.in, docs/man/nutdrv_qx.txt, docs/nut.dict, + drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: add support for Armac UPS + (or maybe other richcomm_usb like) Based on Armac R/2000I/PSW, but + should support other UPSes that work with "PowerManagerII" software + from Richcomm Technologies from around 2004-2005. + +2021-12-28 Jim Klimov + + * docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc- + setup.txt: add a troubleshooting section, with entry for + cgroupsv1-only guests on a cgroupsv2-only host + * docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: + add a chapter for CentOS 7 agent preparation + * docs/config-prereqs.txt: docs/config-prereqs.txt: clarify that + OpenBSD multitude of autotools versions is a blessing, not a pain + ;) + * docs/config-prereqs.txt: docs/config-prereqs.txt: clarify that JDK + installation in Debian guests may need /proc submounted + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: move "sudo" + installation away from useradd example (so "apt-get" does not + pollute non-debian guest examples) + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: change + CentOS7 example guest name from ...-x86_64 to ...-x86-64 (or + -amd64) to avoid loss of character + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: avoid + "AltArch" CentOS i686, use just x86_64 as something easier to get + hands on + +2021-12-27 hunter86bg + + * data/driver.list.in: Add Cyber Power PR1500RT2U, fixes + networkupstools/nut#1191 + +2021-12-27 Jim Klimov + + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: remind to + revise container MAC addresses + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: clarify + that "third-party distro" LXC helpers may need chiseling + * docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc- + setup.txt: hint at needed "pacman" for Arch Linux container + installation + * docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc- + setup.txt: add installation of RPM based distros as guests on non- + RPM (DEB) hosts + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: clarify how + to find defined LXC templates, and get usage details about them + +2021-12-25 Jim Klimov + + * drivers/riello_ser.c: drivers/riello_ser.c: do not include + hidparser.h (hiccups in usb-common.h due to lack of + WITH_LIBUSB_x_y) + * drivers/riello_ser.c: drivers/riello_ser.c: do not include + hidparser.h (hiccups in usb-common.h due to lack of + WITH_LIBUSB_x_y) + * drivers/libshut.c: drivers/libshut.c: adjust data_size usage to + usb_ctrl_charbufsize typedef + +2021-12-21 Jim Klimov + + * configure.ac: configure.ac: switch default warnings level to + "medium" + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: range-check quiesced by + pragmas (GCC) + * drivers/libusb0.c: drivers/libusb0.c: do not separate if-clause + parenthesis by pragmas (GCC) + * drivers/libusb1.c: drivers/libusb1.c: do not separate if-clause + parenthesis by pragmas (GCC) + * drivers/libshut.c: drivers/libshut.c: do not separate if-clause + parenthesis by pragmas (GCC) + * drivers/hidparser.c: drivers/hidparser.c: do not separate if-clause + parenthesis by pragmas (GCC) + +2021-12-20 Jim Klimov + + * drivers/libusb1.c: drivers/libusb1.c: fix whitespace (break long + lines) + * drivers/libshut.h: drivers/libshut.h: define ERROR_ACCESS etc. used + for USB(-like) result states + +2021-12-19 Jim Klimov + + * drivers/hidparser.c, drivers/hidparser.h, drivers/libhid.c, + drivers/libhid.h, drivers/libshut.c, drivers/libshut.h, + drivers/libusb0.c, drivers/libusb1.c, drivers/nut_libusb.h, + drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c, + drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usb- + common.h, drivers/usbhid-ups.c: drivers (c,h) USB, HID and SHUT: + converge parameter usage from strict int types to backend API + dependent "usb_ctrl_*" and "usb_dev_handle" typedefs, then range- + check and cast the numbers, and avoid build warnings + +2021-12-25 Jim Klimov + + * drivers/libshut.c: drivers/libshut.c: adjust data_size usage to + usb_ctrl_charbufsize typedef + +2021-12-21 Jim Klimov + + * configure.ac: configure.ac: switch default warnings level to + "medium" + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: range-check quiesced by + pragmas (GCC) + * drivers/libusb0.c: drivers/libusb0.c: do not separate if-clause + parenthesis by pragmas (GCC) + * drivers/libusb1.c: drivers/libusb1.c: do not separate if-clause + parenthesis by pragmas (GCC) + * drivers/libshut.c: drivers/libshut.c: do not separate if-clause + parenthesis by pragmas (GCC) + * drivers/hidparser.c: drivers/hidparser.c: do not separate if-clause + parenthesis by pragmas (GCC) + +2021-12-20 Jim Klimov + + * drivers/libusb1.c: drivers/libusb1.c: fix whitespace (break long + lines) + * drivers/libshut.h: drivers/libshut.h: define ERROR_ACCESS etc. used + for USB(-like) result states + +2021-12-19 Jim Klimov + + * drivers/hidparser.c, drivers/hidparser.h, drivers/libhid.c, + drivers/libhid.h, drivers/libshut.c, drivers/libshut.h, + drivers/libusb0.c, drivers/libusb1.c, drivers/nut_libusb.h, + drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c, + drivers/riello_usb.c, drivers/tripplite_usb.c, drivers/usb- + common.h, drivers/usbhid-ups.c: drivers (c,h) USB, HID and SHUT: + converge parameter usage from strict int types to backend API + dependent "usb_ctrl_*" and "usb_dev_handle" typedefs, then range- + check and cast the numbers, and avoid build warnings + +2021-12-25 Jim Klimov + + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c, drivers/usb- + common.h, m4/nut_check_libusb.m4: m4/nut_check_libusb.m4, + drivers/usb-common.h + nutdrv_atcl_usb.c + richcomm_usb.c: only + apply usb_detach_kernel_driver_np to libusb-0.1 builds (no alias + tricks) + * drivers/libusb1.c, drivers/nutdrv_atcl_usb.c, + drivers/richcomm_usb.c, m4/nut_check_libusb.m4: + m4/nut_check_libusb.m4, drivers/libusb1.c + nutdrv_atcl_usb.c + + richcomm_usb.c: honor that libusb-1.0 may + HAVE_LIBUSB_DETACH_KERNEL_DRIVER_NP + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c, drivers/usb- + common.h, m4/nut_check_libusb.m4: m4/nut_check_libusb.m4, + drivers/usb-common.h + nutdrv_atcl_usb.c + richcomm_usb.c: only + apply usb_detach_kernel_driver_np to libusb-0.1 builds (no alias + tricks) + * drivers/libusb1.c, drivers/nutdrv_atcl_usb.c, + drivers/richcomm_usb.c, m4/nut_check_libusb.m4: + m4/nut_check_libusb.m4, drivers/libusb1.c + nutdrv_atcl_usb.c + + richcomm_usb.c: honor that libusb-1.0 may + HAVE_LIBUSB_DETACH_KERNEL_DRIVER_NP + +2021-12-24 Jim Klimov + + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c, + drivers/riello_usb.c: drivers/riello_usb.c, richcomm_usb.c, + nutdrv_atcl_usb.c: fix remaining uses of (lib)usb_strerror with + nut_usb_strerror() + +2021-12-25 Jim Klimov + + * drivers/usb-common.h: drivers/usb-common.h: map + libusb_detach_kernel_driver_np (1.0) as usb_detach_kernel_driver_np + (0.1) + * drivers/usb-common.h: drivers/usb-common.h: map + libusb_detach_kernel_driver_np (1.0) as usb_detach_kernel_driver_np + (0.1) + +2021-12-24 Jim Klimov + + * configure.ac: configure.ac: update "clang-medium" warnings pre-set + with -Wno-incompatible-pointer-types-discards-qualifiers + * drivers/libusb1.c: drivers/libusb1.c: some more whitespace and + comment fixes + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c, + drivers/riello_usb.c: drivers/riello_usb.c, richcomm_usb.c, + nutdrv_atcl_usb.c: fix remaining uses of (lib)usb_strerror with + nut_usb_strerror() + * tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_usb.c: missed + whitespace fixes + * tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_usb.c: comment + "#else WITH_LIBUSB_..." in long blocks + +2021-12-20 Jim Klimov + + * tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_usb.c: fix + whitespace (indentation etc) + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: drop local + libusb-0.1 vs 1.0 definitions now provided by usb-common.h + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: update comments + +2021-12-19 Jim Klimov + + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: make sure (missing) + methods from another API are defined in config.h (so "#if HAVE_..." + is valid and not guessed as 0) + +2021-12-20 Jim Klimov + + * drivers/usb-common.h: drivers/usb-common.h: whitespace-separate + definitions of ERROR_ACCESS etc., nut_usb_strerror() and similar + macros + +2021-12-21 Jim Klimov + + * drivers/usb-common.h: drivers/usb-common.h: include "common.h" + +2021-12-16 Jim Klimov + + * drivers/usb-common.h: drivers/usb-common.h: define + PRI_NUT_USB_CTRL_CHARBUFSIZE, usb_ctrl_msgvalue and + usb_ctrl_strindex + * drivers/usb-common.h: drivers/usb-common.h: clarify that libusb + timeouts are in milliseconds (with variouts int types per API + version) + * drivers/usb-common.h: drivers/usb-common.h: update comment about + mapping from libusb-0.1 to libusb-1.0 API + * drivers/nut_libusb.h: drivers/nut_libusb.h: comment the practical + mess around hid_rep_index + * drivers/usb-common.h: drivers/usb-common.h: comment which API + version each endif is for + * drivers/usb-common.h: drivers/usb-common.h: note the arg type for + libusb_strerror() in comments to our macro wrapper + nut_usb_strerror() + * drivers/usb-common.h: drivers/usb-common.h: update heading comment + with references to different API docs + * drivers/usb-common.h: drivers/usb-common.h: update heading comment + and (C) for libusb-1.0 related changes + +2021-12-24 Jim Klimov + + * drivers/libshut.c: drivers/libshut.c: shut_control_msg(): data_size + is a "short int" (not size_t) in this branch + +2021-12-15 Jim Klimov + + * drivers/libshut.c: drivers/libshut.c: shut_control_msg(): range- + check data_size before stuffing the number into a char + * drivers/libshut.c: drivers/libshut.c: range-check and cast ints to + struct members and library args + * drivers/libshut.c: drivers/libshut.c: braces fix + * drivers/nut_libusb.h, drivers/usb-common.h: drivers/usb-common.h + + nut_libusb.h: typedef more usb_ctrl_* tokens to match libusb-0.1 vs + 1.0 API + +2021-12-20 Jim Klimov + + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: comment FIXME for + possible uses of usb_ctrl_* typedefs + +2021-12-13 Jim Klimov + + * drivers/bcmxcp_usb.c, drivers/blazer_usb.c, + drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c, drivers/riello_usb.c, drivers/usb-common.h: + USB: Rename typedef usb_ctrl_char to usb_ctrl_charbuf to avoid + confsion (it is a char* sibling, not plain char) + * drivers/libshut.h, drivers/nut_libusb.h: drivers/nut_libusb.h, + libshut.h: whitespace fixes (align "version") + +2021-12-10 Jim Klimov + + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: current use of + SHUT_MODE relies on defined/not-defined, not on value for plain #if + macro + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: adapt to usb-common.h and + (usb_ctrl_char) casting + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: adapt to usb-common.h + and (usb_ctrl_char) casting + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: adapt to usb- + common.h and (usb_ctrl_char) casting + +2021-12-20 Jim Klimov + + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: fix whitespace + (break long lines) + * drivers/riello_usb.c: drivers/riello_usb.c: fix whitespace (break + long lines) + +2021-12-10 Jim Klimov + + * drivers/riello_usb.c: drivers/riello_usb.c: adapt to usb-common.h + and (usb_ctrl_char) casting + * drivers/riello.h: drivers/riello.h: do not define duplicate + USB_ENDPOINT_IN/USB_ENDPOINT_OUT + * drivers/usb-common.h: drivers/usb-common.h: convert + usb_get_string{_simple}() from macro aliases to real mappings with + range-checks for libusb-1.0 API + * drivers/usb-common.h: drivers/usb-common.h: mark "static inline" + functions with + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_TYPE_LIMITS_BESIDEFUNC since not + all C files call them + * drivers/bcmxcp_usb.c, drivers/blazer_usb.c, drivers/libhid.h, + drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c, drivers/riello_usb.c, + drivers/tripplite_usb.c, drivers/usb-common.h: drivers/usb- + common.h: consolidate libusb-0.1 vs 1.0 data/func mappings from + *usb.c files + * drivers/nut_libusb.h, drivers/usb-common.h: drivers/nut_libusb.h + already includes "usb-common.h" so no need to pull LibUSB headers + again + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: range-check and cast + args for usb_control_msg() => libusb_control_transfer() and + usb_interrupt_read() => libusb_interrupt_transfer() for libusb-1.0 support -2.4.2 +2021-12-09 Jim Klimov -2010-02-19 Arnaud Quette + * tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: sanity check that + exactly one version of WITH_LIBUSB_x_y is set (defined and has + value 1) + * drivers/usb-common.h: drivers/usb-common.h: sanity check that + exactly one version of WITH_LIBUSB_x_y is set (defined and has + value 1) + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: sanity check that + exactly one version of WITH_LIBUSB_x_y is set (defined and has + value 1) - * [r2363] ChangeLog, configure.in: Final update for 2.4.2 release +2021-12-08 Jim Klimov -2010-02-19 Arnaud Quette + * drivers/nut_libusb.h: drivers/nut_libusb.h: sanity check that + exactly one version of WITH_LIBUSB_x_y is set (defined and has + value 1) - * [r2362] NEWS, data/driver.list: Add HP R1500 G2 to compatibility - list for bcmxcp - (reported by Stephan Schupfer) +2021-12-24 Jim Klimov -2010-02-19 Arjen de Korte + * drivers/libusb1.c: drivers/libusb1.c: + HAVE_LIBUSB_DETACH_KERNEL_DRIVER needs "#ifdef" not "#if" + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c, tools/nut- + scanner/scan_usb.c: Convert C code from "#ifdef WITH_LIBUSB_x_y" to + "#if" tests for defined value - merging missed a few in + libusb-1.0+0.1 branch - * [r2361] clients/upsmon.h: Fixed typo - * [r2360] clients/upsmon.c, clients/upsmon.h: You can't compare - strings with '!=' in C, so the logic to determine if the stock - message was overridden was flawed (causing problems with - (de)allocation of memory) +2021-12-08 Jim Klimov -2010-02-19 Arnaud Quette + * drivers/bcmxcp_usb.c, drivers/blazer_usb.c, drivers/nut_libusb.h, + drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c, drivers/riello_usb.c, + drivers/tripplite_usb.c, drivers/usb-common.h, tools/nut- + scanner/nutscan-init.c, tools/nut-scanner/scan_usb.c, tools/nut- + usbinfo.pl: Convert C code from "#ifdef WITH_LIBUSB_x_y" to "#if" + tests for defined value - * [r2357] conf/nut.conf.sample, conf/upsmon.conf.sample, docs/FAQ, - man/upsmon.conf.5: Remove remaining references to ACL / - allowfrom. +2021-12-24 Jim Klimov -2010-02-19 Arjen de Korte + * configure.ac: configure.ac: update "clang-medium" warnings pre-set + with -Wno-incompatible-pointer-types-discards-qualifiers - * [r2355] configure.in: Replace __func__ on pre-C99 compilers with - __FUNCTION__ (may be available on older GNU C compilers) or - __LINE__ (which is always available) +2021-12-20 Jim Klimov -2010-02-16 Arjen de Korte + * tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_usb.c: fix + whitespace (indentation etc) + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: drop local + libusb-0.1 vs 1.0 definitions now provided by usb-common.h + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: update comments - * [r2353] drivers/main.h: Static initialization of flexible array - members is non-portable (GNU C extension), so don't use a - flexible array member here - * [r2352] configure.in: Check if the C compiler supports flexible - array members and/or variable-length arrays - * [r2350] drivers/upscode2.c: Don't use signed constants in a - bitfield +2021-12-19 Jim Klimov -2010-02-15 Arjen de Korte + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: make sure (missing) + methods from another API are defined in config.h (so "#if HAVE_..." + is valid and not guessed as 0) - * [r2349] drivers/main.h: Fix missing semi-colon - * [r2348] drivers/main.h: Attempt to fix compiler warning on - Solaris (although I have my doubts about the portability of array - declarations within structures) - * [r2347] drivers/snmp-ups.c, drivers/snmp-ups.h: Fix for buggy - Net-SNMP config should be before including headers, since our - autoconf generated header is the first to be included (so the - conflict is caused by subsequently including the Net-SNMP - headers) - * [r2346] drivers/apcsmart.c, drivers/metasys.c, drivers/serial.c: - Fix unreachable code warnings - * [r2345] drivers/upscode2.c: An (int) is only guaranteed to be at - least 16-bit while we need 32-bit here (so it's better to use a - fixed width integer) +2021-12-20 Jim Klimov -2010-02-14 Arjen de Korte + * drivers/usb-common.h: drivers/usb-common.h: whitespace-separate + definitions of ERROR_ACCESS etc., nut_usb_strerror() and similar + macros - * [r2344] configure.in, docs/configure.txt, drivers/powerman-pdu.c, - m4/nut_check_libneon.m4, m4/nut_check_libnetsnmp.m4, - m4/nut_check_libpowerman.m4, m4/nut_check_libusb.m4: Allow to - override CFLAGS and LDFLAGS detected by the *.m4 macros in case - pkg-config is not available - * [r2343] docs/configure.txt, m4/nut_check_libssl.m4: Allow cflags - and ldflags overrides for openssl (may be useful/needed if - pkg-config is not available) +2021-12-21 Jim Klimov -2010-02-13 Arjen de Korte + * drivers/usb-common.h: drivers/usb-common.h: include "common.h" - * [r2342] drivers/liebertgxt2.c: Use (unsigned char) instead of - (char) in command definitions (to prevent overflow warnings - definitions) - * [r2341] drivers/mge-shut.h: The usage code must be at least a - 32-bit integer (and 'int' is only guaranteed to be at least - 16-bit). - * [r2340] m4/nut_check_libnetsnmp.m4: Check if Net-SNMP library is +2021-12-16 Jim Klimov + + * drivers/usb-common.h: drivers/usb-common.h: define + PRI_NUT_USB_CTRL_CHARBUFSIZE, usb_ctrl_msgvalue and + usb_ctrl_strindex + * drivers/usb-common.h: drivers/usb-common.h: clarify that libusb + timeouts are in milliseconds (with variouts int types per API + version) + * drivers/usb-common.h: drivers/usb-common.h: update comment about + mapping from libusb-0.1 to libusb-1.0 API + * drivers/nut_libusb.h: drivers/nut_libusb.h: comment the practical + mess around hid_rep_index + * drivers/usb-common.h: drivers/usb-common.h: comment which API + version each endif is for + * drivers/usb-common.h: drivers/usb-common.h: note the arg type for + libusb_strerror() in comments to our macro wrapper + nut_usb_strerror() + * drivers/usb-common.h: drivers/usb-common.h: update heading comment + with references to different API docs + * drivers/usb-common.h: drivers/usb-common.h: update heading comment + and (C) for libusb-1.0 related changes + +2021-12-24 Jim Klimov + + * drivers/libshut.c: drivers/libshut.c: shut_control_msg(): data_size + is a "short int" (not size_t) in this branch + +2021-12-15 Jim Klimov + + * drivers/libshut.c: drivers/libshut.c: shut_control_msg(): range- + check data_size before stuffing the number into a char + * drivers/libshut.c: drivers/libshut.c: range-check and cast ints to + struct members and library args + * drivers/libshut.c: drivers/libshut.c: braces fix + * drivers/nut_libusb.h, drivers/usb-common.h: drivers/usb-common.h + + nut_libusb.h: typedef more usb_ctrl_* tokens to match libusb-0.1 vs + 1.0 API + +2021-12-20 Jim Klimov + + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: comment FIXME for + possible uses of usb_ctrl_* typedefs + +2021-12-13 Jim Klimov + + * drivers/bcmxcp_usb.c, drivers/blazer_usb.c, + drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c, drivers/riello_usb.c, drivers/usb-common.h: + USB: Rename typedef usb_ctrl_char to usb_ctrl_charbuf to avoid + confsion (it is a char* sibling, not plain char) + * drivers/libshut.h, drivers/nut_libusb.h: drivers/nut_libusb.h, + libshut.h: whitespace fixes (align "version") + +2021-12-10 Jim Klimov + + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: current use of + SHUT_MODE relies on defined/not-defined, not on value for plain #if + macro + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: adapt to usb-common.h and + (usb_ctrl_char) casting + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: adapt to usb-common.h + and (usb_ctrl_char) casting + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: adapt to usb- + common.h and (usb_ctrl_char) casting + +2021-12-20 Jim Klimov + + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: fix whitespace + (break long lines) + * drivers/riello_usb.c: drivers/riello_usb.c: fix whitespace (break + long lines) + +2021-12-10 Jim Klimov + + * drivers/riello_usb.c: drivers/riello_usb.c: adapt to usb-common.h + and (usb_ctrl_char) casting + * drivers/riello.h: drivers/riello.h: do not define duplicate + USB_ENDPOINT_IN/USB_ENDPOINT_OUT + * drivers/usb-common.h: drivers/usb-common.h: convert + usb_get_string{_simple}() from macro aliases to real mappings with + range-checks for libusb-1.0 API + * drivers/usb-common.h: drivers/usb-common.h: mark "static inline" + functions with + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_TYPE_LIMITS_BESIDEFUNC since not + all C files call them + * drivers/bcmxcp_usb.c, drivers/blazer_usb.c, drivers/libhid.h, + drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c, drivers/riello_usb.c, + drivers/tripplite_usb.c, drivers/usb-common.h: drivers/usb- + common.h: consolidate libusb-0.1 vs 1.0 data/func mappings from + *usb.c files + * drivers/nut_libusb.h, drivers/usb-common.h: drivers/nut_libusb.h + already includes "usb-common.h" so no need to pull LibUSB headers + again + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: range-check and cast + args for usb_control_msg() => libusb_control_transfer() and + usb_interrupt_read() => libusb_interrupt_transfer() for libusb-1.0 + support + +2021-12-09 Jim Klimov + + * tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: sanity check that + exactly one version of WITH_LIBUSB_x_y is set (defined and has + value 1) + * drivers/usb-common.h: drivers/usb-common.h: sanity check that + exactly one version of WITH_LIBUSB_x_y is set (defined and has + value 1) + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: sanity check that + exactly one version of WITH_LIBUSB_x_y is set (defined and has + value 1) + +2021-12-08 Jim Klimov + + * drivers/nut_libusb.h: drivers/nut_libusb.h: sanity check that + exactly one version of WITH_LIBUSB_x_y is set (defined and has + value 1) + +2021-12-24 Jim Klimov + + * drivers/libusb1.c: drivers/libusb1.c: + HAVE_LIBUSB_DETACH_KERNEL_DRIVER needs "#ifdef" not "#if" + +2021-12-08 Jim Klimov + + * drivers/bcmxcp_usb.c, drivers/blazer_usb.c, drivers/nut_libusb.h, + drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c, drivers/riello_usb.c, + drivers/tripplite_usb.c, drivers/usb-common.h, tools/nut- + scanner/nutscan-init.c, tools/nut-scanner/scan_usb.c, tools/nut- + usbinfo.pl: Convert C code from "#ifdef WITH_LIBUSB_x_y" to "#if" + tests for defined value + +2021-12-18 Dave Williams + + * drivers/apc-hid.c, drivers/arduino-hid.c, drivers/belkin-hid.c, + drivers/cps-hid.c, drivers/delta_ups-hid.c, drivers/explore-hid.c, + drivers/hidtypes.h, drivers/idowell-hid.c, drivers/liebert-hid.c, + drivers/mge-hid.c, drivers/openups-hid.c, drivers/powercom-hid.c, + drivers/powervar-hid.c, drivers/salicru-hid.c, drivers/tripplite- + hid.c, drivers/usbhid-ups.c, drivers/usbhid-ups.h: Fix #439 + Incorrect Output Voltage on CPS*EFPCLCD + +2021-12-08 Jim Klimov + + * drivers/Makefile.am: drivers/Makefile.am: define SHUT_MODE=1 (with + a value) so #if is predictable + +2021-12-09 Jim Klimov + + * configure.ac, m4/nut_check_libusb.m4: configure.ac + + m4/nut_check_libusb.m4: rectify WITH_LIBUSB_x_y definitions + +2021-12-08 Jim Klimov + + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: (hidden) debug + before AC_DEFINE + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: always AC_DEFINE + the WITH_LIBUSB_1_0 and WITH_LIBUSB_0_1 macros with a 0 or 1 value + +2021-12-07 Jim Klimov + + * docs/configure.txt: configure.ac et al: drop the extra --with- + libusb-version and handle its goals via --with-usb=VERSION + +2021-12-24 Jim Klimov + + * configure.ac, m4/nut_check_libusb.m4: m4/nut_check_libusb.m4 + + configure.ac: port newer solution for libusb version selection from + libusb-1.0 branch + +2021-12-07 Jim Klimov + + * configure.ac: configure.ac: drop duplicate NUT_CHECK_LIBNETSNMP + * configure.ac: configure.ac: regroup some NUT_ARG_WITH() closer to + their NUT_CHECK_*() so help for detailed options is near + +2021-11-15 Jim Klimov + + * m4/nut_check_libusb.m4: Move "additional USB-related checks" from + configure.ac to m4/nut_check_libusb.m4 + +2021-12-08 Jim Klimov + + * drivers/Makefile.am: drivers/Makefile.am: define SHUT_MODE=1 (with + a value) so #if is predictable + +2021-12-09 Jim Klimov + + * configure.ac, m4/nut_check_libusb.m4: configure.ac + + m4/nut_check_libusb.m4: rectify WITH_LIBUSB_x_y definitions + +2021-12-08 Jim Klimov + + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: (hidden) debug + before AC_DEFINE + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: always AC_DEFINE + the WITH_LIBUSB_1_0 and WITH_LIBUSB_0_1 macros with a 0 or 1 value + +2021-12-24 Dimitris Economou + + * drivers/generic_modbus.c: fix in modbus response value check + +2021-12-23 dtsecon + + * drivers/generic_modbus.c, drivers/generic_modbus.h: handle broken + pine error in modbus TCP connections, configurable modbus response + timeouts between requests and frame bytes + +2021-12-23 Jim Klimov + + * ci_build.sh: ci_build.sh: separate the "RES" vars used for + configure_nut() and default-all-errors processing (extend to + libusb-1.0* branches) + * tests/getvaluetest.c: tests/getvaluetest.c: include "config.h" + first + * tests/Makefile.am: tests/Makefile.am: only TEST getvaluetest "if + WITH_USB" + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: do not report + misleading "none (libusb-0.1-config)" as the detected libusb + version Seems this confused not only human readers, but also the + verdict - whether we build WITH_USB + * ci_build.sh: ci_build.sh: separate the "RES" vars used for + configure_nut() and default-all-errors processing (extend to + libusb-1.0* branches + * tests/getvaluetest.c: tests/getvaluetest.c: include "config.h" + first + * tests/Makefile.am: tests/Makefile.am: only TEST getvaluetest "if + WITH_USB" + +2021-12-22 Jim Klimov + + * clients/upsclient.c: clients/upsclient.c: upscli_tryconnect(): in + logged messages, clarity "connect to NUT server %s" Otherwise nut- + scanner output looks awkward when looking at large subnets with + many protocols (including "Old NUT") + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: + convert logging in the main loop from a lot of fprintf() to + manageable upsdebugx() + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: + convert logging in the main loop from a lot of fprintf() to + manageable upsdebugx() + * ci_build.sh: ci_build.sh: fix a typo, copypasted around + * tests/Makefile.am: tests/Makefile.am: only build getvaluetest "if + WITH_USB" + * drivers/blazer_usb.c: drivers/blazer_usb.c: forget + libusb_device_handle + * drivers/libhid.h: drivers/libhid.h: forget libusb_device_handle + +2021-12-19 Jim Klimov + + * ci_build.sh: ci_build.sh: allow to build custom + NUT_USB_VARIANTS=libusb-x.y (not plain "x.y") + * ci_build.sh: ci_build.sh: allow to build custom NUT_USB_VARIANTS + and skip building a separate NUT_SSL_VARIANTS=auto + +2021-12-22 Jim Klimov + + * ci_build.sh: ci_build.sh: fix a typo, copypasted around + * tests/Makefile.am: tests/Makefile.am: only build getvaluetest "if + WITH_USB" + * drivers/blazer_usb.c: drivers/blazer_usb.c: forget + libusb_device_handle + * drivers/libhid.h: drivers/libhid.h: forget libusb_device_handle + +2021-12-21 Jim Klimov + + * docs/nut.dict: docs/nut.dict: update for recent NEWS + * NEWS: NEWS: prepare for nutdrv-qx legrand merge in 2.7.5 timeline + * NEWS: NEWS: prepare for nutdrv-qx ablerex merge in 2.7.5 timeline + * NEWS: NEWS: know about usbhid-ups Delta Minuteman support for NUT + v2.7.5 + * NEWS: NEWS: fix USB LogMin/LogMax mismatch reporting (just once!) + for NUT v2.7.5 + * NEWS: NEWS: add a little delay between multicommands [PR #1228] for + NUT v2.7.5 + * NEWS: NEWS: prepare for libusb-1.0 merge in 2.7.5 timeline + +2021-05-25 Jim Klimov + + * NEWS: NEWS: added nutdrv_qx "phoenixtec" subdriver in NUT-2.7.5 + +2021-04-23 Jim Klimov + + * docs/nut.dict: docs/nut.dict + NEWS: fix both to pass spellcheck + +2019-03-13 Arnaud Quette + + * docs/nut.dict: Update spelling dictionary + +2021-12-19 Jim Klimov + + * ci_build.sh: ci_build.sh: allow to build custom + NUT_USB_VARIANTS=libusb-x.y (not plain "x.y") + * ci_build.sh: ci_build.sh: allow to build custom NUT_USB_VARIANTS + and skip building a separate NUT_SSL_VARIANTS=auto + * ci_build.sh: ci_build.sh: allow to build custom + NUT_USB_VARIANTS=libusb-x.y (not plain "x.y") + * ci_build.sh: ci_build.sh: allow to build custom NUT_USB_VARIANTS + and skip building a separate NUT_SSL_VARIANTS=auto + +2021-12-21 Jim Klimov + + * drivers/legrand-hid.c: drivers/legrand-hid.c: fix type of + usb_device_id_t vendorID/productID to uint16_t * *{usb,hid}.c: + sentinel in a table of uint16_t can not be -1 + +2021-12-21 Jim Klimov + + * ci_build.sh: ci_build.sh: separate the "RES" vars used for + configure_nut() and default-all-errors processing + +2021-12-15 Jim Klimov + + * drivers/libshut.h: drivers/libshut.h: whitespace fixes (make func + ptrs more visible) + +2021-12-13 Jim Klimov + + * drivers/libusb.h: drivers/libusb.h: whitespace fixes (make func + ptrs more visible) + +2021-12-10 Jim Klimov + + * ci_build.sh: ci_build.sh: comment the rationale reminder for + "default-all-errors" mode + * ci_build.sh: ci_build.sh: try more options for non-verbose MAKE + runs + * conf/upsmon.conf.sample.in: conf/upsmon.conf.sample.in: update + suggestions and envvar list for NOTIFYCMD callouts + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_UNUSED_FUNCTION + +2021-12-19 Jim Klimov + + * drivers/hidparser.c, drivers/hidparser.h: drivers/hidparser.{c,h}: + fix ReportDescSize from int to size_t + +2021-12-15 Jim Klimov + + * drivers/libhid.c, drivers/libhid.h: drivers/libhid.{c,h}: + HIDGetDataValue(), refresh_report_buffer(), get_item_buffered(): + fix "age" from int to time_t, to match time() operations + +2021-12-21 Jim Klimov + + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: date_conversion_fun(): + hush a string overflow warning (overkill the buffer size a bit) + +2021-12-15 Jim Klimov + + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: date_conversion_fun(): + comment and cast numeric type conversions + +2021-12-16 Jim Klimov + + * include/nut_stdint.h: include/nut_stdint.h: make sure we know + PRIsize and PRIssize + +2021-12-21 Jim Klimov + + * docs/developers.txt, docs/nut.dict: docs/developers.txt: note that + we define "gcc-medium|gcc-hard" warnings without "pedantic" for + C89/C90/ANSI builds (flaws in OS headers are out of our control) + * configure.ac: configure.ac: define "gcc-medium|gcc-hard" warnings + with "extra" always, but without "pedantic" for C89/C90/ANSI builds + (flaws in OS headers are out of our control) + * tests/Makefile.am: tests/Makefile.am: consider LIBUSB_CFLAGS when + building parser test + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: separate (and + disable by default) ANSI C build scenarios, they are too noisy in + fightwarn for no real good + * common/common.c: common/common.c: s_upsdebug*(): move fmt2[] + declarations to top from code + * common/common.c: common/common.c: fix comments from // to /* */ + * drivers/hidparser.h: drivers/hidparser.h: include "config.h" + * server/upsd.c: server/upsd.c: #include config.h first + +2021-12-21 Jim Klimov + + * drivers/nutdrv_qx.c: Update nutdrv_qx.c Fix this on some of the CI + platforms: ```` [2021-12-21T09:21:47.623Z] nutdrv_qx.c:1665:2: + error: initialization from incompatible pointer type [-Werror] + [2021-12-21T09:21:47.623Z] { USB_DEVICE(0xffff, 0x0000), NULL, + NULL, &ablerex_subdriver }, /* Ablerex 625L USB */ + [2021-12-21T09:21:47.623Z] ^ [2021-12-21T09:21:47.623Z] + nutdrv_qx.c:1665:2: error: (near initialization for + 'qx_usb_id[1].fun') [-Werror] ```` + +2021-12-21 Jim Klimov + + * scripts/upower/95-upower-hid.rules: Update 95-upower-hid.rules Add + VID/PID for Minuteman UPS + * drivers/blazer_usb.c: drivers/blazer_usb.c: cast tmp as char* + Older compilers complain that we are: passing argument 3 of + 'usb_interrupt_read' from incompatible pointer type expected 'char + *' but argument is of type 'char (*)[512]' + +2021-12-21 Jim Klimov + + * docs/nut.dict: Update nut.dict Update for PR #1135 + +2021-12-20 Jim Klimov + + * drivers/nutdrv_qx.c: Update nutdrv_qx.c Whitespace fix + +2021-12-20 hunter86bg + + * data/driver.list.in: Add Powerwalker VFI 3000 TG Online UPS to + driver.list.in (#1224) + +2021-12-20 Jim Klimov + + * drivers/hidparser.c: Update hidparser.c Fix whitespace in recent + changes for LogMin/LogMax rectification + +2021-12-20 Jim Klimov + + * tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_usb.c: fix + whitespace (indentation etc) + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: fix whitespace (break + long lines) + * drivers/riello_usb.c: drivers/riello_usb.c: fix whitespace (break + long lines) + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: fix whitespace + (break long lines) + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fix whitespace (break + long lines) + * drivers/blazer_usb.c: drivers/blazer_usb.c: fix whitespace (break + long lines) + +2021-12-19 Scott Colby + + * drivers/usbhid-ups.c: Add a short sleep between fallback instcmds + in usbhid-ups. For some devices, missing instcmds are emulated by + calling two instcmds that do exist in sequence. For some devices, + when these commands arrive too quickly, they are not properly + processed. (One, both, or neither of the commands are acted upon.) + Adding a 1/8th-second delay (125,000 microseconds) between the two + instcmds that make up the fallback command has worked to make the + TrippLite AVR750U (new version with the 3024 productId/protocol) + behave consistently when using the fallback commands + (shutdown.return and shutdown.stayoff). This delay is also short + enough that it seems unlikely to cause a problem for any devices + which don't exhibit this issue. + +2021-12-16 Ablerexsoftware + + * docs/acknowledgements.txt, docs/man/nutdrv_qx.txt, docs/nutdrv_qx- + subdrivers.txt, drivers/Makefile.am, drivers/nutdrv_qx.c: modify CI + warnings and Replace the new sub driver + +2021-12-15 Nick Briggs + + * drivers/hidparser.c: Move check for LogMax encoding error to + parsing of report description At least one UPS [APC Back-UPS + BX1600MI FW:294201G -302201G] is known to have encoding errors in + its USB HID report description such that a conforming + interpretation of the encoded LogicalMaximum value indicates that + it is -1 and the resulting LogicalMin..LogicalMax range is 0..-1. + The actual report values read are correctly encoded. Rather than + log a range error each time a value is read we can detect the + encoding error when the report description is read (once, at + startup) and adjust for the encoding error at that time. + +2021-12-09 Jim Klimov + + * ci_build.sh: Refactor `./ci_build.sh spellcheck` to be more useful + * ci_build.sh: ci_build.sh: refactor + build_to_only_catch_errors_target() out of + build_to_only_catch_errors() + * ci_build.sh, docs/developers.txt: ci_build.sh: introduce support + for CI_SHELL_IS_FLAKY=true + * docs/developers.txt: docs/developers.txt: when introducing + ci_build.sh, mention that NUT CI farm tells how to reproduce builds + +2021-12-08 Jim Klimov + + * docs/man/nut-scanner.txt: Update nut-scanner.txt Clarify SNMP + auth/priv proto support depends on Net-SNMP lib + * docs/man/snmp-ups.txt: Update snmp-ups.txt Clarify SNMP auth/priv + proto support depends on Net-SNMP lib + +2021-12-08 Mauro Guerrera + + * docs/man/snmp-ups.txt: Update snmp-ups docs + * docs/man/nut-scanner.txt: Update docs to list new auth and privacy + encryption options + +2021-12-07 Jim Klimov + + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: refactor shell + if/case to m4 (tracking down missed parentheses) + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: port more function + probes from libusb-1.0+0.1 branch + * ci_build.sh, configure.ac, docs/configure.txt, + m4/nut_check_libusb.m4: configure.ac et al: drop the extra --with- + libusb-version and handle its goals via --with-usb=VERSION + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: port comments and + m4 markup from libusb-1.0+0.1 branch + * configure.ac, m4/nut_check_libusb.m4: configure.ac: move remaining + libusb sanity checks into the m4/nut_check_libusb.m4 file + * configure.ac: configure.ac: drop duplicate NUT_CHECK_LIBNETSNMP + * configure.ac: configure.ac: regroup some NUT_ARG_WITH() closer to + their NUT_CHECK_*() so help for detailed options is near + * drivers/libusb1.c: drivers/libusb1.c: nut_libusb_open(): range- + check and cast libusb_control_transfer() arg rdlen + * drivers/libusb1.c: drivers/libusb1.c: nut_libusb_open(): range- + check and cast libusb_control_transfer() arg rdlen + * Makefile.am: Makefile.am: do not let (parallel) "make maintainer- + clean" remove the files that cleanup recipe needs + * ci_build.sh: Revert "ci_build.sh: fix bogus expression for + BUILDSTODO" This reverts commit + e57eec425da5c2020656fd48ec3f8bb9bbf55c52 and adds comments and + handling why that weird construct was not bogus ;) + * docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc- + setup.txt: reword notes for default QEMU container memory settings + * ci_build.sh: Add a shortcut hack to "./ci_build.sh spellcheck" + easily + * common/Makefile.am: common/Makefile.am: some "make" implems dislike + DRY multi-entry definition of same target (common.c) + * ci_build.sh: Add a shortcut hack to "./ci_build.sh spellcheck" + easily + * drivers/snmp-ups.c, tools/nut-scanner/scan_snmp.c: drivers/snmp- + ups.c + tools/nut-scanner/scan_snmp.c: hide sanity checks before + generate_Ku() into pragmas to not warn about type-limits + ("comparison is always false due to limited range of data type" on + some architectures) + * drivers/solis.c: drivers/solis.c: make sure nut_stdint.h is + included early and defines size_t + +2021-12-06 Jim Klimov + + * drivers/snmp-ups.c, tools/nut-scanner/scan_snmp.c: drivers/snmp- + ups.c + tools/nut-scanner/scan_snmp.c: align (cast) arg type of + generate_Ku() with net-snmp headers, and document the inconsistency + of size_t vs u_int in the same API + * drivers/snmp-ups.c: drivers/snmp-ups.c: align (cast) arg type of + malloc()/realloc() + * drivers/snmp-ups.c: drivers/snmp-ups.c: align (cast) arg type of + snmp_errstring() vs response->errstat (int vs long), and document + the inconsistency with net-snmp headers + * drivers/snmp-ups.c: drivers/snmp-ups.c: upsdrv_makevartable(): fix + maths with size_t vs int + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: setvar(): cast + placing of new_unit_id into wire protocol (FIXME? Does that code + assume CPU endianness?) + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: + upsdrv_initinfo(): fix receiver of strtol() + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: whitespace fixes + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: setvar(): fix + determination of outlet index number + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: debug_message(): + fix len from int to size_t + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: soft_shutdown(): + cast placing of offdelay into wire protocol (FIXME? Does that code + assume CPU endianness?) + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: fix reading and + printing of offdelay (unsigned int in this driver) + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: fix hex2d() to + long as a consumer of strtol() + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: fix toprint_str() + length to size_t and toprint(x) to char + * drivers/netxml-ups.c: drivers/netxml-ups.c: fix type of "ret" for + ne_read_response_block() and ne_sock_read() to ssize_t (as in + libneon headers) + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fix qx_command() to + return ssize_t like ser_send() at least + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: range-check and cast + "u_langid_fix" in upsdrv_initups() + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: range-check and cast + length of "cmdlen" in phoenixtec_command() + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: range-check and cast + bytes in phoenixtec_command() + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: range-check and cast + bytes in fuji_command() + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: range-check and cast + bytes in repetitive "Simple unicode -> ASCII inplace conversion" + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: range-check and cast int + vs size_t in subdriver handlers (buflen, ret, i++) + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: initialize ret=0 before + we potentially use it in loop i+=ret (should not happen in current + code, but...) + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: cast upsdebug_hex() + logging with non-size_t args + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: range-check and cast + receivers of strtol() + * drivers/nutdrv_qx.c, drivers/nutdrv_qx.h: drivers/nutdrv_qx.{c,h}: + qx_process(), item_t.answer_len: fix lengths from int to size_t + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: qx_command(): indent + ifdefs for TESTING/QX_USB/QX_SERIAL for easier navigation + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: qx_command() complains + about unused parameters (not sure why); mark with + NUT_UNUSED_VARIABLE just in case + * drivers/nutdrv_qx.c, drivers/nutdrv_qx.h: drivers/nutdrv_qx.{c,h}: + fix STATUS() macro, qx_status(), status_lkp_t.status_mask field and + ups_status var to all be "unsigned int" + * drivers/nutdrv_qx_voltronic.c: drivers/nutdrv_qx_voltronic.c: + range-check and cast receivers of strtol(); wrap a few long lines + * drivers/nutdrv_qx_mecer.c: drivers/nutdrv_qx_mecer.c: fix receivers + of strtol() + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + masterguard_test_battery(): fix receivers of strtol() - duration + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + masterguard_shutdown(): fix receivers of strtol() - + ondelay/offdelay + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + masterguard_new_slaveaddr(): range-check and cast + "masterguard_next_slaveaddr" + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + fix receivers of strtol() + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + masterguard_output_voltages(): fix type for sizeof() maths + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + masterguard_model(): fix type of min_bp/max_bp + +2021-12-04 Jim Klimov + + * drivers/nutdrv_qx_blazer-common.c: drivers/nutdrv_qx_blazer- + common.c: fix and range-check receivers of strtol() + * drivers/nutdrv_qx_bestups.c: drivers/nutdrv_qx_bestups.c: fix + receivers of strtol() + * drivers/nutdrv_qx_voltronic-qs-hex.c: drivers/nutdrv_qx_voltronic- + qs-hex.c: fix receivers of strtol() + * drivers/solis.c: drivers/solis.c: fix packet_size from int to + size_t + * drivers/apcsmart.c: drivers/apcsmart.c: bit-wise &= ~() insists it + is for unsigned (int) types - vt->flags + * drivers/apcsmart.c: drivers/apcsmart.c: bit-wise &= ~() insists it + is for unsigned (int) types - termios struct + * drivers/apcsmart.c: drivers/apcsmart.c: sdcmd_CS: fix cshd from int + to useconds_t + * drivers/apcsmart.c: drivers/apcsmart.c: whitespace fix + * drivers/apcsmart.c: drivers/apcsmart.c: apc_getcaps(): fix i, + nument, entlen from int to size_t + * drivers/apcsmart.c: drivers/apcsmart.c: cast prtchr() args from + (unsigned char) to (char) + * drivers/apcsmart.c: drivers/apcsmart.c: fix receivers of strtol() + * drivers/apcsmart.c: drivers/apcsmart.c: cast + apc_read*()/apc_write*() from ((const) char) to (const unsigned + char) + * drivers/apcsmart.c: drivers/apcsmart.c: fix receivers of strlen() + from int to ssize_t + * drivers/apcsmart.c, drivers/apcsmart.h: drivers/apcsmart.{c,h}: fix + ups_status and APC_STAT_* from int to long (to match strtol() used) + * drivers/apcsmart.c: drivers/apcsmart.c: fix receivers of strlen() + from int to ssize_t + * drivers/apcsmart.c: drivers/apcsmart.c: fix + apc_read*()/apc_write*() from int to ssize_t to match select_read() + et al + * drivers/apcsmart.c: drivers/apcsmart.c: include main.h => config.h + first + * drivers/apcsmart.c: drivers/apcsmart.c: convert_data(): fix + receivers of strtol() + * drivers/apcsmart-old.c, drivers/apcsmart-old.h: drivers/apcsmart- + old.c: fix const/unsigned/char usages + * drivers/apcsmart-old.c: drivers/apcsmart-old.c: do_capabilities(): + fix i, nument, entlen from int to size_t + * drivers/apcsmart-old.c, drivers/apcsmart-old.h: drivers/apcsmart- + old.c: fix receivers of strtol() + * drivers/solis.h: drivers/solis.h: fix packet_size from into to + size_t + * drivers/apcsmart-old.c: drivers/apcsmart-old.c: fix handling of + ser_*() retval from int to ssize_t + * drivers/clone.c: drivers/clone.c: fix ondelay/offdelay handling + from int to long (to match strtol() used) + * drivers/clone-outlet.c: drivers/clone-outlet.c: fix handling of + read()/write() retval from int to ssize_t + * drivers/clone.c: drivers/clone.c: fix handling of read()/write() + retval from int to ssize_t + * drivers/blazer.h, drivers/blazer_ser.c, drivers/blazer_usb.c: + drivers/blazer.h + blazer_{ser,usb}.c: blazer_command(): fix + handling of ser_get_buf() retval from int to ssize_t + * drivers/blazer.c: drivers/blazer.c: fix ondelay/offdelay handling + from int to long (to match strtol() used) + * drivers/blazer.c: drivers/blazer.c: fix receivers of strtol() - + delay tmp var + * drivers/powerp-txt.c: drivers/powerp-txt.c: fix ondelay/offdelay + handling from int to long (to match strtol() used) + * drivers/victronups.c: drivers/victronups.c: fix receivers of + strtol() + * drivers/victronups.c: drivers/victronups.c: fix handling of + ser_get_line() retval from int to ssize_t + * drivers/tripplite.c: drivers/tripplite.c: fix receivers of strtol() + => hex2d() + * drivers/tripplite.c: drivers/tripplite.c: fix handling of + ser_get_char() retval from int to ssize_t + * drivers/solis.c, drivers/solis.h: drivers/solis.{c,h}: fix + comm_receive() from int to size_t, and match ser_get_buf_len() len- + or-error returns + * drivers/solis.c, drivers/solis.h: drivers/solis.{c,h}: fix byte- + sized maths of str2bin() and day counts to uint8_t + * drivers/solis.c: drivers/solis.c: include main.h => config.h first + * drivers/solis.c, drivers/solis.h: drivers/solis.c: + save_ups_config(): fix casting of ConfigPack[] entries to (unsigned + char) from original types + * drivers/nutdrv_siemens_sitop.c: drivers/nutdrv_siemens_sitop.c: fix + handling of ser_get_line() retval from int to ssize_t + * drivers/safenet.c: drivers/safenet.c: fix ondelay/offdelay handling + from int to long (to match strtol() used) + * drivers/safenet.c: drivers/safenet.c: fix array loop iterator from + int to size_t + * drivers/safenet.c: drivers/safenet.c: fix handling of + ser_get_line() retval from int to ssize_t + * drivers/rhino.c: drivers/rhino.c: fix handling of ser_get_line() + retval from int to ssize_t + * drivers/powercom.h: drivers/powercom.h: fix whitespace + (indentations) + * drivers/powercom.c: drivers/powercom.c: fix array loop iterator + from int to size_t + * drivers/powercom.c: drivers/powercom.c: fix handling of + ser_get_line() retval from int to ssize_t + * drivers/optiups.c: drivers/optiups.c: a few whitespace nits + * drivers/optiups.c: drivers/optiups.c: fix OPTISBIT_* handling from + int to long (to match strtol() used) + * drivers/optiups.c: drivers/optiups.c: fix optifill() len from int + to size_t + * drivers/optiups.c: drivers/optiups.c: fix handling of + ser_get_line() retval from int to ssize_t + * drivers/oneac.c: drivers/oneac.c: fix handling of ser_get_line() + retval from int to ssize_t + * scripts/subdriver/gen-usbhid-subdriver.sh: scripts/subdriver/gen- + usbhid-subdriver.sh: update generated C heading comment with "TODO" + and update generated code whitespace markup + * drivers/arduino-hid.c, drivers/salicru-hid.c: drivers/usb- + common.{c,h} drivers/*{usb,hid}.c: fix type of usb_device_id_t + vendorID/productID to uint16_t Catch up to earlier change for + recently merged USB HID drivers; specifically * *{usb,hid}.c: + sentinel in a table of uint16_t can not be -1 for: * + drivers/salicru-hid.c * drivers/arduino-hid.c * + scripts/subdriver/gen-usbhid-subdriver.sh creating the boilerplates + +2021-12-03 Jim Klimov + + * drivers/microsol-common.c: drivers/microsol-common.c: fix + setup_poweroff_schedule() vars from int to bool_t to match + set_schedule_time() + * drivers/microsol-common.c: drivers/microsol-common.c: fix + get_base_info(), get_updated_info() buf sizes from unsigned int to + ssize_t (to match ser_get_buf_len() len-or-error returns) + * drivers/microsol-common.c: drivers/microsol-common.c: fix + comm_receive() from int to size_t + * drivers/microsol-common.c: drivers/microsol-common.c: + save_ups_config(): fix casting of configuration_packet[] entries to + (unsigned char) from original types + * drivers/microsol-common.c: drivers/microsol-common.c: fix byte- + sized maths of bitstring_to_binary() and day counts to uint8_t + +2021-12-06 Jim Klimov + + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: instcmd(): + range-check and cast for ups2000_write_register() and + handler_func() + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: + ups2000_update_alarm(): range-check and cast all_alarms_len from + snprintf() retval + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: + ups2000_update_info(): pragma disable warnings for non-fixed format + string + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: + ups2000_update_info(): cast uint32_t for reg-idx + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: + ups2000_read_serial(): range-check and cast ssize_t vs size_t + increments + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: + ups2000_update_info(): cast uint8_t calculations of reg_id parts + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: + ups2000_device_identification(): cast uint32_t calculations of + ups2000_ident + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: + ups2000_device_identification(): range-check and cast crc16 + calculations + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: + ups2000_write_registers(), ups2000_read_registers(), + ups2000_device_identification(): initialize variables that clang-9 + is not sure about Seems like a clang analyzer bug frankly: code + starts with a retrying loop that would initialize these variables. + But still, adding determinism into code never hurts ;) + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: crc16(): fix + casting to uint16_t when bit-shifting + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: ups2000_alarm[] + sentinel: fix uint16_t reg from -1 to 0 + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: + ups2000_device_identification(): fix r from int to size_t, to match + ser_send_buf() + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: fix + ups2000_read_serial() from int to size_t, to match ser_get_buf() + * drivers/huawei-ups2000.c: drivers/huawei-ups2000.c: mark local + variables static + +2021-12-03 Jim Klimov + + * drivers/microsol-common.c: drivers/microsol-common.c: fix (and + range-check) casting for memcpy + * drivers/microsol-common.c: drivers/microsol-common.c: wrap some + long comments + * drivers/microsol-common.c: drivers/microsol-common.c: include + main.h => config.h first + * common/Makefile.am: common/Makefile.am: limit the use of common.c + symlinking from srcdir to builddir only to cases when not + BUILDING_IN_TREE + * tools/nut-scanner/nutscan-init.c: tools/nut-scanner/nutscan-init.c: + comment that semaphore gets re-initialized by nut-scanner.c program + and why + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/nutscan-init.c: + tools/nut-scanner/nutscan-init.c + nut-scan.h: hide "semaphore" + library variable + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + #include "config.h" first + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c, + tools/nut-scanner/nutscan-init.c, tools/nut-scanner/scan_nut.c, + tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_xml_http.c: + tools/nut-scanner/*.c: fix use of size_t max_threads(_scantype) vs + (unsigned int) in sem_init() args + * tools/nut-scanner/nut-scan.h: tools/nut-scanner/nut-scan.h: fix + declaration of nutscan_semaphore(void) + * drivers/snmp-ups.c, m4/nut_check_libnetsnmp.m4, tools/nut- + scanner/nut-scanner.c, tools/nut-scanner/scan_snmp.c: + nut_check_libnetsnmp.m4, nut-scanner.c, scan_snmp.c, snmp-ups.c: + transition from NETSNMP_DRAFT_BLUMENTHAL_AES_04 (that may be not- + defined so #if is invalid) to + NUT_HAVE_LIBNETSNMP_DRAFT_BLUMENTHAL_AES_04 + * ci_build.sh: ci_build.sh: in default-all-errors mode, avoid last- + loop cleanup if DO_CLEAN_CHECK==no + * ci_build.sh: ci_build.sh: fix bogus expression for BUILDSTODO + * ci_build.sh: ci_build.sh: only score *_clean_check as SUCCEEDED if + they were not skipped, and report a bit more + +2021-11-30 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: load_mib2nut(): import + tracing messages and points from 42ITy/DMF fork + * drivers/snmp-ups.c: drivers/snmp-ups.c: load_mib2nut(): clarify the + "trying the new match_sysoid() method" message + * drivers/snmp-ups.c: drivers/snmp-ups.c: load_mib2nut(): fix + upsdebugx() levels verbosity to make more sense + * drivers/snmp-ups.c: drivers/snmp-ups.c: load_mib2nut(): reformat + some debugs, use __func__ + * drivers/snmp-ups.c: drivers/snmp-ups.c: load_mib2nut(): report + device name (section) and host/IP in progress and errors + +2021-11-28 Jim Klimov + + * m4/nut_check_libpowerman.m4: m4/nut_check_libpowerman.m4: if + (lib)powerman.pc is missing, but header is present, check + -lpowerman directly + * m4/nut_check_libpowerman.m4: m4/nut_check_libpowerman.m4: they + deliver an empty version string, so we should not error out on that + +2021-11-27 Jim Klimov + + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: if libusb-config + and libusb.pc are missing, but header is present, check -lusb + directly + * m4/nut_check_libnetsnmp.m4: m4/nut_check_libnetsnmp.m4: detect + NET_SNMP_CONFIG with AC_PATH_PROGS and/or configure option (and + handle if it is missing) + * docs/configure.txt: docs/configure.txt: document --with-net-snmp- + config configure option better + * docs/configure.txt: docs/configure.txt: rephrase comments about + --with-*-libs and --with-*-include + * docs/configure.txt, m4/nut_check_pkgconfig.m4: + m4/nut_check_pkgconfig.m4 + docs/configure.txt: detect + (dummy_)PKG_CONFIG with AC_PATH_PROGS and/or configure option (and + handle if it is missing) + * m4/nut_check_libgd.m4: m4/nut_check_libgd.m4: initialize empty + CFLAGS LIBS LDFLAGS + * m4/nut_check_libgd.m4: m4/nut_check_libgd.m4: detect GDLIB_CONFIG + with AC_PATH_PROGS and/or configure option (and handle if it is + missing) + * docs/configure.txt, m4/nut_check_libusb.m4: m4/nut_check_libusb.m4 + + docs/configure.txt: detect LIBUSB_CONFIG with AC_PATH_PROGS + and/or configure option (and handle if it is missing) + * m4/nut_check_libpowerman.m4: m4/nut_check_libpowerman.m4: consider + have_PKG_CONFIG + * m4/nut_check_libwrap.m4: *.m4: AC_LANG_PUSH before AC_LINK_IFELSE + and similar tests + +2021-11-27 Jim Klimov + + * m4/ax_c___attribute__.m4, m4/nut_check_headers_windows.m4, + m4/nut_check_libnetsnmp.m4, m4/nut_func_getnameinfo_argtypes.m4, + m4/nut_type_socklen_t.m4: *.m4: AC_LANG_PUSH before + AC_COMPILE_IFELSE and similar tests + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: try to report + toStringStageCountDump() in ircNotify() + * configure.ac: configure.ac: AC_LANG_PUSH before AC_COMPILE_IFELSE + and similar tests + * 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: Replace strcmp() and strcasecmp() use-cases + for short fixed string args by strncmp() and strncasecmp() + respectively Some compilers on some OSes complain due to implem + nuances. Updated docs/developers.txt to make note for posterity. + * drivers/microdowell.c: drivers/microdowell.c: some more pragmatic + ignorance for CLAMP() macro uses (older clang-3.4 et al) + +2021-11-22 Yifeng Li + + * drivers/huawei-ups2000.c: huawei-ups2000.c: rework logic for + "load.on". Currently the driver prevents the user from executing + "load.on" when the UPS is already on, and reports a + STAT_INSTCMD_FAILED with error logs. We need to do this if the UPS + is in bypass mode, because the UPS would otherwise enter normal + mode - "load.on" is not supposed to do that. On the other hand, + executing "load.on" when the UPS is already in "normal-mode on" has + no effect, it's still a legal command and should not be rejected + arbitrarily, which can potentially confuse downstream applications + and users. It also contains two misleading typos in the error + logs: (1) it incorrectly suggests "bypass.off" instead of + "bypass.stop", and (2) reports "failed: reason unknown." when the + reason is simply an already-on UPS. This commit allows "load.on" + to execute when it's in normal mode and already on, and changes the + log messages from errors to warnings. Typos in the log messages are + also fixed. The "load.on" command is only rejected in bypass mode, + with error logs. Finally, the logic for the off test is reworked + to improve readability. The original code checks whether the UPS is + on by testing the negative "not OFF" condition, which is not easy + to understand - the reader must have intimate knowledge on the code + to know its correctness. Namely, When the UPS power status is + updated, 1 of the 5 mutually exclusive flags, OL, OB, OL ECO, + BYPASS, or OFF is always set, thus the absence of the OFF flag + always reliably indicates an ON status. This commits converts the + single negative "not OFF" test to three positive tests for "OL", + "OB" and "OFF", with additional comments added on reachable and + unreachable conditions. Thus, previous uncertainty is eliminated. + +2021-11-26 Jim Klimov + + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: fix dummy nutscan_scan_xml_http_range() + (WITHOUT_NEON) arg type for useconds_t usec_timeout + * drivers/libhid.c: drivers/libhid.c: fix debug-printing of byte- + counts as size_t + * drivers/microdowell.c: drivers/microdowell.c: some more pragmatic + ignorance for CLAMP() macro uses + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: + whitespace fix + * 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: tools/nut-scanner/scan_*.c: fix debug- + printing of thread accounting as size_t + +2021-10-26 Jim Klimov + + * drivers/hidparser.c: drivers/hidparser.c: Parse_ReportDesc(): fix + "max" to size_t and "id" to uint8_t, to match struct fields + * drivers/blazer_usb.c: drivers/blazer_usb.c: fix cast of range- + checked u_langid_fix + * drivers/blazer_usb.c: drivers/blazer_usb.c: fix cast of return + types to size_t vs int + * drivers/libhid.c: drivers/libhid.c: string_to_path(): range-check + and cast converted values for path->Node[] + * drivers/libhid.c: drivers/libhid.c: hid_lookup_usage(): fix cast of + usage_code for printing and returning + * drivers/libhid.c: drivers/libhid.c: string_to_path(): check for + type overflow, and cast + * drivers/libhid.c: drivers/libhid.c: fix types for iterating vs + rbuflen from int to size_t + * drivers/libhid.c, drivers/libhid.h: drivers/libhid.{c,h}: fix + interrupt_size from int to size_t + * drivers/libhid.c: drivers/libhid.c: fix types for iterating vs + rbuflen from int to size_t + * drivers/libhid.c, drivers/libhid.h: drivers/libhid.{c,h}: fix + max_report_size from int to size_t + * drivers/libhid.c: drivers/libhid.c: file_report_buffer(): fix + buflen from int to size_t + * drivers/hidtypes.h: drivers/hidtypes.h: change HIDDesc_t.replen[] + from (array of) int to size_t + * drivers/nutdrv_qx_bestups.c: drivers/nutdrv_qx_bestups.c: cast for + bit math for qx_status() result + * drivers/nutdrv_qx_voltronic.c: drivers/nutdrv_qx_voltronic.c: cast + for bit math for qx_status() result, and line-wrap a long message + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: cast arg for + upsdebug_hex() to size_t + * drivers/nutdrv_qx_voltronic-qs-hex.c: drivers/nutdrv_qx_voltronic- + qs-hex.c: cast arg for upsdebug_hex() to size_t + * drivers/libusb.c: drivers/libusb.c: libusb_open(): cast rdlen to + unsigned to match usb_control_msg() where it is safe to do so + * drivers/libhid.h: drivers/libusb.h: change reportbuf_t.len[] from + (array of) int to size_t + * drivers/hidparser.c, drivers/hidtypes.h: drivers/hidtypes.h + + hidparser.c: change HIDDesc_t.nitems from int to size_t + * drivers/hidparser.c: drivers/hidparser.c: cast int types to + explicit conversions where safe + +2021-10-04 Jim Klimov + + * drivers/apcupsd-ups.c: drivers/apcupsd-ups.c: process(): fix int + types + * drivers/apcupsd-ups.c: drivers/apcupsd-ups.c: upsdrv_initups(): fix + type of port + * drivers/nutdrv_qx.h: drivers/nutdrv_qx.h: define QX_FLAG_* macros + as typed numbers (UL) to match item_t->qxflags + * drivers/powercom-hid.c: drivers/powercom-hid.c: range-check and + cast uint16_t values for ups delays + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: align return + type of usb_interrupt_read() and our upsdebug_hex() args + * drivers/upscode2.c: drivers/upscode2.c: align types of two statuses + * drivers/upscode2.c: drivers/upscode2.c: fix useconds_t + output_pace_usec + * drivers/upscode2.c: drivers/upscode2.c: fix speed_t baud var + * drivers/upscode2.c: drivers/upscode2.c: fix ssize_t ret for ser*() + routines + * drivers/powerp-txt.c: drivers/powerp-txt.c: fix ssize_t ret for + ser*() routines + * drivers/powerp-bin.c: drivers/powerp-bin.c: fix ssize_t ret for + ser*() routines, and cmd len + * drivers/powerpanel.h: drivers/powerpanel.h: adjust powerpanel + subdriver_t funcptr type for initups() + * drivers/ivtscd.c: drivers/ivtscd.c: fix ssize_t for ivt_status() + and ser_*() involved + * drivers/riello_ser.c: drivers/riello_ser.c: riello_instcmd(): fix + int type of delay vs atoi() + * drivers/riello_ser.c: drivers/riello_ser.c: fix ssize_t ret for + read() routines + * drivers/riello_usb.c: drivers/riello_usb.c: ussleep(): fix + useconds_t type + * drivers/riello_usb.c: drivers/riello_usb.c: riello_instcmd(): fix + int type of delay vs atoi() + * drivers/riello_usb.c: drivers/riello_usb.c: Get_USB_Packet(): fix + int type of size + * drivers/riello.c: drivers/riello.c: riello_parse_rc(): cast uint8_t + into char + * drivers/riello.c: drivers/riello.c: riello_prepare*(): cast + delay%256 into uint8_t + * drivers/riello.c: drivers/riello.c: riello_parse_sentr(): cast pom + maths into uint16_t explicitly... range-check missing though + * drivers/riello.c: drivers/riello.c: riello_parse_sentr(): cast + uint8_t => char to construct Version byte by byte + * drivers/riello.c: drivers/riello.c: riello_parse_gn(): range-check + and cast the NomPowerKVA / NomPowerKW + * drivers/riello.c: drivers/riello.c: riello_calc_CRC(): clarify and + cast the bitness magic as needed + * drivers/powercom.c: drivers/powercom.c: fix int type of model vars + to match OPTImodels/BNTmodels/KINmodels/IMPmodels arrays + * drivers/powercom.c: drivers/powercom.c: avoid casting via wrong int + type for termios fields + * drivers/powercom.c, drivers/powercom.h: drivers/powercom.{c,h}: + align int size for delay (min, sec) and ser_send_char() sending a + char + * drivers/tripplite.c: drivers/tripplite.c: fix casting of unsigned + delays from atoi() + * drivers/tripplite.c: drivers/tripplite.c: fix casting of ints in + send_cmd() + * drivers/tripplitesu.c: drivers/tripplitesu.c: fix casting of ints + into unsigned min/max high/low transfer values + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + hide warnings for intentional variable format string use + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + avoid a few potential uninitialized uses + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + fix a case of shadowed vars in a clause + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + declare local vars and funcs as static + * drivers/netxml-ups.c: drivers/netxml-ups.c: fix casting ssize_t + value up to size_t for ne_buffer_append() args + * drivers/netxml-ups.c: drivers/netxml-ups.c: fix int type of port + for ne_sock_connect() args + +2021-09-28 Jim Klimov + + * drivers/microdowell.c: drivers/microdowell.c: shuffle include-file + order + * drivers/microdowell.c: drivers/microdowell.c: instcmd(): casting + and (pragma-hushed) range checks for "delay" + * drivers/solis.c: drivers/solis.c: convert_days(): limit the range + for safe casting to size_t for memcpy() + * drivers/rhino.c: drivers/rhino.c: align int types in send_command() + * drivers/microsol-common.c, drivers/microsol-common.h: + drivers/microsol-common.{c,h}: mark local variables as static; + expose a few reasonable ones as extern + * drivers/microdowell.c, drivers/microdowell.h: + drivers/microdowell.{c,h}: fix size_t lengths and uint16_t/uint32_t + status bitmasks + * drivers/phoenixcontact_modbus.c: drivers/phoenixcontact_modbus.c: + declare upsdrv_shutdown() as noreturn + * drivers/phoenixcontact_modbus.c: drivers/phoenixcontact_modbus.c: + declare file-local variables static + * drivers/hidparser.c: drivers/hidparser.c: avoid shadowed local + variables in HIDParse() + * drivers/hidparser.c: drivers/hidparser.c: fix Value cast in + FormatValue() + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: fix status_mask to + unsigned int for STATUS() and bitmask maths + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: fix parsing of + interrupt_size from args, and error out on invalid inputs + * drivers/nutdrv_siemens_sitop.c: drivers/nutdrv_siemens_sitop.c: fix + counters to unsigned int + * drivers/mge-hid.c, drivers/usbhid-ups.c, drivers/usbhid-ups.h: + drivers/usbhid-ups.{c,h} + mge-hid.c: fix ups_status from int to + "unsigned" to match the STATUS() macro and bitmask maths + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: fix + type for snmp_sess.timeout assignment + * drivers/microsol-apc.h: drivers/microsol-apc.h: align type of + NOMINAL_POWER[] to int, like nominal_power var in microsol-common.h + * drivers/oneac.c: drivers/oneac.c: fix buf sizes to size_t + * drivers/main.c, drivers/main.h, drivers/mge-utalk.c, + drivers/nutdrv_siemens_sitop.c, drivers/usbhid-ups.c: + drivers/main.{c,h} et al: fix poll_interval to be time_t like the + time() it has maths with + * drivers/main.c: drivers/main.c: allow only positive pollinterval + settings (avoid DoS by crazy loop) + * drivers/main.c: drivers/main.c: report and fail with invalid + pollinterval settings + * drivers/serial.c: drivers/serial.c: after some investigation of + standards, we may cast useconds_t=>suseconds_t + * server/netset.c: server/netset.c: log tracking_disable() result to + find a use for it (warning fix) + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: + execute_and_retrieve_query(): fix int casting and add diags pragmas + for range checks + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: get_answer(): fix int + casting for tail; fix redundant comparison + * drivers/bestfortress.c: drivers/bestfortress.c: simplify + usleep(d_usec) to no casting + * drivers/belkin.c: drivers/belkin.c: comment why casting usleep(cnt) + is okay + +2021-09-27 Jim Klimov + + * clients/upsclient.c, common/common.c, docs/new-drivers.txt, + drivers/serial.c, drivers/serial.h, include/common.h: + include/common.h, drivers/serial.{c,h}, docs/new-drivers.txt, + common/common.c, clients/upsclient.c: fix d_sec long => time_t to + match timeval struct fields + * clients/upsclient.c, common/common.c, include/common.h: + include/common.h, common/common.c, clients/upsclient.c: fix + select_read()/select_write(): long d_usec => suseconds_t + * docs/nut.dict: docs/nut.dict: update for new-drivers.txt revision + * docs/new-drivers.txt: docs/new-drivers.txt: align USB-common + structure and method signature descriptions with current + drivers/*usb*.h + * docs/man/upscli_readline.txt, docs/man/upscli_sendline.txt: + docs/man/upscli_readline.txt + upscli_sendline.txt: update method + arguments to match code (timeout unsigned int => const long) + * docs/man/upscli_list_next.txt, docs/man/upscli_list_start.txt: + docs/man/upscli_list_start.txt + upscli_list_next.txt: update + method arguments to match code (numa/numq unsigned int => size_t) + +2021-09-26 Jim Klimov + + * drivers/upsdrvctl.c: drivers/upsdrvctl.c: fix data types for + alarm() and sleep() + * drivers/mge-utalk.c: drivers/mge-utalk.c: fix int casting to + snprintf() (size_t/ssize_t) + * drivers/mge-utalk.c: drivers/mge-utalk.c: fix int casting to + ser_get*()/ser_send_*() (size_t/ssize_t) + * drivers/metasys.c: drivers/metasys.c: fix int casting to + ser_get*()/ser_send_*() (size_t/ssize_t) + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: fix int casting to + ser_get*() (size_t/ssize_t) + * drivers/gamatronic.c: drivers/gamatronic.c: fix int casting to + ser_get*() (size_t/ssize_t) and unify naming of msg(_)len + * drivers/bestups.c: drivers/bestups.c: fix int casting to ser_get*() + (size_t/ssize_t) + * drivers/bestuferrups.c: drivers/bestuferrups.c: fix int casting to + ser_get*() (size_t/ssize_t) + * drivers/bestfortress.c: drivers/bestfortress.c: fix int casting to + ser_get*() (size_t/ssize_t) + * drivers/bestfcom.c: drivers/bestfcom.c: fix int casting to + ser_get*() (size_t/ssize_t) + * drivers/belkinunv.c: drivers/belkinunv.c: fix int casting to + ser_get*(), read() and write() (size_t/ssize_t) + * drivers/belkin.c: drivers/belkin.c: fix int casting to ser_get*() + (size_t/ssize_t) + * drivers/al175.c: drivers/al175.c: fix raw_data_t::buf_size and + io_head_t::addr,len to size_t + * drivers/al175.c: drivers/al175.c: fix int casting to ser_get*() + (size_t/ssize_t) + * drivers/dstate.c: drivers/dstate.c: augment range check when using + size_t as int + * drivers/dstate.c: drivers/dstate.c: fix int casting to read() and + write(), add range checks for bytes written (size_t/ssize_t) + +2021-09-23 Jim Klimov + + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: fix elapsed_time type + and casting + * drivers/bcmxcp.c, drivers/bcmxcp_io.h, drivers/bcmxcp_ser.c, + drivers/bcmxcp_usb.c: drivers/bcmxcp*.{c,h}: fix types involved + with read() and write() to ssize_t + * tools/nut-scanner/nutscan-serial.c: tools/nut-scanner/nutscan- + serial.c: fix count to size_t + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: fix + buf_size to size_t + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: fix types involved with read() and + write() to ssize_t + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: fix size_t thread_count and its + iterator + * drivers/serial.c, drivers/serial.h: drivers/serial.[h,c]: fix + d_usec from long to useconds_t + * tools/nut-scanner/nut-scan.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_xml_http.c: + tools/nut-scanner/*.[h,c]: fix usec_timeout from long to useconds_t + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: fix size_t thread_count and its iterator + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: fix recv_size use as size_t parameter + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/scan_xml_http.c: + tools/nut-scanner/nut-scan.h + scan_xml_http.c: fix port type to + uint16_t + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: fix + arg type for generate_Ku() + * drivers/apc-hid.c, drivers/bcmxcp_usb.c, drivers/belkin-hid.c, + drivers/blazer_usb.c, drivers/cps-hid.c, drivers/delta_ups-hid.c, + drivers/idowell-hid.c, drivers/liebert-hid.c, drivers/mge-hid.c, + drivers/nutdrv_atcl_usb.c, drivers/openups-hid.c, drivers/powercom- + hid.c, drivers/powervar-hid.c, drivers/richcomm_usb.c, + drivers/riello_usb.c, drivers/tripplite-hid.c, + drivers/tripplite_usb.c, drivers/usb-common.c, drivers/usb- + common.h: drivers/usb-common.{c,h} drivers/*{usb,hid}.c: fix type + of usb_device_id_t vendorID/productID to uint16_t * usb-common.h: + fix the definition * *{usb,hid}.c: sentinel in a table of uint16_t + can not be -1 * usb-common.c: uint16_t for vendor and product -- + change sentinel matcher for full (0,0,NULL) hits + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/scan_xml_http.c: + 32-bit IPv4 addr mask should be uint32_t not int + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/scan_xml_http.c: + 32-bit IPv4 addr should be uint32_t not int + +2021-10-12 Jim Klimov + + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: + safety-check and cast use of small mask_byte values + +2021-09-23 Jim Klimov + + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: use + platform-dependent getnameinfo() argument types + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: fix + size_t thread_count and its iterator + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: fix + size_t thread_count and its iterator + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: fix + size_t buf_size + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: align + upscli_*() numa and numq args from "unsigned int" to "size_t", to + match PCONF_CTX_t fields + * server/upsd.c: server/upsd.c: fix comparisons of nfds_t maxconn, + long sysconf() and size_t malloc() + * server/upsd.c: server/upsd.c: check if maxconn<1 to avoid + signedness issues and because zero connections are also useless + * server/upsd.c: server/upsd.c: align use of nfds_t vs. long + (maxconn) for GCC "-Wtype-limits" + +2021-09-22 Jim Klimov + + * server/sstate.c: server/sstate.c: fix missed include + * server/conf.c, server/upsd.c, server/upsd.h: server/upsd.c + + conf.c: align use of nfds_t vs. long (maxconn) + * server/upsd.c: server/upsd.c: align use of uint8_t when + constructing an UUID + * clients/upsclient.c, server/netssl.c: server/netssl.c + + clients/upsclient.c: fix ssl_error() to use ssize_t "ret" + * server/sstate.c: server/sstate.c: fix int casting to read() and + write(), add range checks for bytes written (size_t/ssize_t) + * clients/upsc.c, clients/upsclient.c, clients/upsclient.h, + clients/upscmd.c, clients/upsimage.c, clients/upslog.c, + clients/upsmon.c, clients/upsrw.c, clients/upsset.c, + clients/upsstats.c, docs/man/upscli_get.txt, drivers/dummy-ups.c: + clients/upsclient.h and numerous *.c: align upscli_get(), + upscli_list_start(), upscli_list_next() numa and numq args from + "unsigned int" to "size_t", to match PCONF_CTX_t fields + * clients/upsmon.c: clients/upsmon.c: fix int casting to read() and + write(), add separate retval processing from system() + * clients/upssched.c: clients/upssched.c: fix int casting to read() + and write(), add range checks for bytes written (size_t/ssize_t) + * clients/upsclient.c: clients/upsclient.c: fix receiver of strtol(), + and log a FIXME for sanity checks + * clients/upsmon.c: clients/upsmon.c: fix receiver of strtol() + * clients/upssched.c: clients/upssched.c: fix receiver of strtol() + * clients/upsmon.c: clients/upsmon.c: fix int type for use of + upscli_readline() + * clients/upscmd.c: clients/upscmd.c: fix int type for use of + upscli_readline() + * clients/upsimage.c: clients/upsimage.c: fix int casting + * clients/upsrw.c: clients/upsrw.c: fix receiver of strtol() + * drivers/nutdrv_qx.c, server/netset.c: server/netset.c + + drivers/nutdrv_qx.c: fix consumers of "long" getaux() + * common/str.c: common/str.c: fix buffer int length in str_to_*int*() + methods + * common/state.c, include/state.h, server/sstate.c, server/sstate.h: + common/state.c + server/sstate.c + *.h: aux field is a "long" so + getaux() should return long + * common/common.c, include/common.h: common/common.c: fix use of a + pid_t value + +2021-11-25 Jim Klimov + + * configure.ac: configure.ac: typo fix for ABS_TOP_* determination + +2021-11-25 Jim Klimov + + * docs/FAQ.txt: Update FAQ.txt Update rationale (reasonable use- + cases) for "clone" driver + +2021-11-25 Jim Klimov + + * common/Makefile.am, configure.ac: configure.ac + + common/Makefile.am: detect if building in-tree and differentiate + the recipe involving common.c based on that + * common/Makefile.am: common/Makefile.am: let OpenBSD 6.4 make cope + with common.c recipe + * docs/config-prereqs.txt: docs/config-prereqs.txt: add libusb1 for + OpenBSD + * docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: + concerns about OpenBSD 6.4 freeipmi vs. "-largp" + +2021-11-25 Jim Klimov + + * NEWS, docs/nut.dict: NEWS: added new salicru-hid subdriver in + usbhid-ups for NUT v2.7.5 + +2021-11-25 xbgmsharp + + * drivers/salicru-hid.c: Rename unmapped.* to experimental.* data + points Add untested instant commands + +2021-11-24 xbgmsharp + + * drivers/salicru-hid.c: Update mapping + +2021-11-23 Jim Klimov + + * docs/FAQ.txt: docs/FAQ.txt: extend Q&A on "NUT proxying" with + mention of "clone" driver + +2021-11-22 xbgmsharp + + * data/driver.list.in, drivers/Makefile.am, drivers/salicru-hid.c, + drivers/salicru-hid.h, drivers/usbhid-ups.c, + scripts/upower/95-upower-hid.rules: Initial release for Salicru + driver + * data/driver.list.in, drivers/Makefile.am, drivers/salicru-hid.c, + drivers/salicru-hid.h, drivers/usbhid-ups.c, + scripts/upower/95-upower-hid.rules: Initial release for Salicru + driver + +2021-11-22 Yifeng Li + + * docs/nut.dict: docs/nut.dict: add model name "KRTS". + * docs/man/huawei-ups2000.txt: huawei-ups2000.txt: update tested + models and user report suggestions. + * docs/man/huawei-ups2000.txt: huawei-ups2000.txt: minor typo fixes + +2021-11-22 Jim Klimov + + * docs/FAQ.txt: Update docs/FAQ.txt Add example of dummy-ups (relay + mode) configuration section Co-authored-by: Helmut K. C. Tessarek + + +2021-11-18 Jim Klimov + + * drivers/snmp-ups.c, drivers/snmp-ups.h: drivers/snmp-ups.{c,h}: + typedef snmp_info_t::flags and define its PRI_SU_FLAGS format to + ease type changes later Also adds a "default:" to case for + template flag handling (from FTY fork) + +2021-11-22 Jim Klimov + + * docs/FAQ.txt: docs/FAQ.txt: update for interactions via github + (issues, PRs, ...) + * docs/FAQ.txt: docs/FAQ.txt: update for use-cases of dummy-ups in + relay mode + +2021-11-20 Jim Klimov + + * ci_build.sh: ci_build.sh: Make end of log useful for spellcheck + failure handling + +2021-11-20 Jim Klimov + + * docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: + add a chapter on OpenBSD build agent setup + * configure.ac: configure.ac: require at least autoconf-2.61 (macros + are used that are missing in 2.60 and before) + * autogen.sh: autogen.sh: comment that libtool is also needed + * autogen.sh: autogen.sh: comment about envs that want + AUTOCONF_VERSION or AUTOMAKE_VERSION + * autogen.sh, configure.ac, scripts/augeas/.gitignore, + scripts/devd/Makefile.am, scripts/udev/.gitignore, + scripts/udev/Makefile.am: autogen.sh + configure.ac: try to support + building on systems without Python or Perl + +2021-11-22 Arnaud Quette + + * drivers/mge-xml.c: Eaton XML/PDC: add External Battery Module count + +2021-11-16 Jim Klimov + + * drivers/snmp-ups-helpers.c: drivers/snmp-ups-helpers.c: reshuffle + includes + * drivers/snmp-ups.c: drivers/snmp-ups.c: include main.h => common.h + => config.h first + * drivers/snmp-ups.c: drivers/snmp-ups.c: fix strncmp() limits for + "v1" and "v3" checks (copy-pasting typo) + * drivers/snmp-ups.c: drivers/snmp-ups.c: mention in help that SNMP + version may be "v3" + * drivers/libusb1.c: drivers/libusb1.c: fix devcount and devnum from + ssize_t to size_t + +2021-11-15 Jim Klimov + + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + printf() assumes floating-point numbers are doubles, satisfy its + warnings + * drivers/libusb1.c: drivers/libusb1.c: drop extra "int i" definition + * ci_build.sh: ci_build.sh: NUT_USB_VARIANT= => --with- + usb=libusb [libusb-1.0+0.1 branch] + * ci_build.sh: ci_build.sh: NUT_USB_VARIANT=no => --without-usb + explicitly + * ci_build.sh: ci_build.sh: default-all-errors: report + BUILDSTODO_INITIAL at the end of log, and if non-zero BUILDSTODO + remained unaccounted + * ci_build.sh: ci_build.sh: report which SSL/USB variants will be + looped + * drivers/phoenixcontact_modbus.c: drivers/phoenixcontact_modbus.c: + use a longer global var name for modbus_ctx (nee ctx) + * drivers/bcmxcp_ser.c, drivers/bcmxcp_ser.h, tools/nut- + scanner/scan_eaton_serial.c: drivers/bcmxcp_ser.{c,h} + tools/nut- + scanner/scan_eaton_serial.c: use longer global var name (AUT => + BCMXCP_AUTHCMD) + * drivers/bestfortress.c: drivers/bestfortress.c: comment an + analyzer-check complaint + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: avoid useless + comparison (warning) + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: only define + "Compatibility layer between libusb 0.1 and 1.0" if we build with + QX_USB at all (no required headers are in context otherwise) + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": ensure + BUILDSTODO counts for SSL+USB are planned same as executed - and + handle explicit NUT_USB_VARIANTS=no + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": ensure + BUILDSTODO counts for SSL+USB are planned same as executed + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": ensure + BUILDSTODO counts are decremented when configuration failed + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": between + configure and build, report the Configured NUT_USB_VARIANT + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": between + configure and build, report the Configured NUT_SSL_VARIANT + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": support + looping over NUT_USB_VARIANTS as well + * drivers/libhid.c: drivers/libhid.c: HIDDumpTree(): mark that arg + "hd" is not used in SHUT_MODE + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: the "additional + USB-related checks" should now manipulate "LIBS" not "LIBUSB_LIBS" + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: comment on + "additional USB-related checks" + * m4/nut_check_libusb.m4: Move "additional USB-related checks" from + configure.ac to m4/nut_check_libusb.m4 + * drivers/nutdrv_qx.c: [libusb-1.0] Realign buffer casting to + (usb_ctrl_char) after merge from master + * tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_usb.c: fix + merge conflict [libusb-1.0+0.1] + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: complete the merge + from master to libusb-1.0+0.1 + * ci_build.sh: ci_build.sh: NUT_USB_VARIANT=no => --without-usb + explicitly + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: fix definition of + curDevice (libusb-1.0) + * ci_build.sh: ci_build.sh: default-all-errors: report + BUILDSTODO_INITIAL at the end of log, and if non-zero BUILDSTODO + remained unaccounted + * ci_build.sh: ci_build.sh: default-all-errors: report + BUILDSTODO_INITIAL at the end of log, and if non-zero BUILDSTODO + remained unaccounted + * ci_build.sh: ci_build.sh: report which SSL/USB variants will be + looped + +2018-03-14 Daniele Pezzini + + * data/cmdvartab, docs/nut-names.txt: libusb: update example of + driver.version.usb and add it to cmdvartab + +2021-11-15 François-Régis Degott + + * drivers/eaton-ats16-nm2-mib.c: eaton-ats16-nm2-mib.c: fix mul coef. + for ambient.temperature and humidity (#1173) * eaton- + ats16-nm2-mib.c: fix mul coef. for ambient.temperature and + ambient.humidity * Update eaton-ats16-nm2-mib.c Co-authored-by: + Arnaud Quette + +2021-11-15 Jim Klimov + + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": between + configure and build, report the Configured NUT_SSL_VARIANT + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": ensure + BUILDSTODO counts are decremented when configuration failed + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: avoid useless + comparison (warning) + * drivers/bestfortress.c: drivers/bestfortress.c: comment an + analyzer-check complaint + * drivers/bcmxcp_ser.c, drivers/bcmxcp_ser.h, tools/nut- + scanner/scan_eaton_serial.c: drivers/bcmxcp_ser.{c,h} + tools/nut- + scanner/scan_eaton_serial.c: use longer global var name (AUT => + BCMXCP_AUTHCMD) + * drivers/phoenixcontact_modbus.c: drivers/phoenixcontact_modbus.c: + use a longer global var name for modbus_ctx (nee ctx) + * drivers/phoenixcontact_modbus.c: drivers/phoenixcontact_modbus.c: + use a longer global var name for modbus_ctx (nee ctx) + * drivers/bcmxcp_ser.c, drivers/bcmxcp_ser.h, tools/nut- + scanner/scan_eaton_serial.c: drivers/bcmxcp_ser.{c,h} + tools/nut- + scanner/scan_eaton_serial.c: use longer global var name (AUT => + BCMXCP_AUTHCMD) + * drivers/bestfortress.c: drivers/bestfortress.c: comment an + analyzer-check complaint + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: avoid useless + comparison (warning) + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: only define + "Compatibility layer between libusb 0.1 and 1.0" if we build with + QX_USB at all (no required headers are in context otherwise) + * configure.ac: configure.ac: neuter "nut_usb_lib" if building + --without-usb + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": ensure + BUILDSTODO counts for SSL+USB are planned same as executed - and + handle explicit NUT_USB_VARIANTS=no + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": ensure + BUILDSTODO counts for SSL+USB are planned same as executed + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": ensure + BUILDSTODO counts are decremented when configuration failed + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": between + configure and build, report the Configured NUT_USB_VARIANT + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": between + configure and build, report the Configured NUT_SSL_VARIANT + * ci_build.sh: ci_build.sh: BUILD_TYPE="default-all-errors": support + looping over NUT_USB_VARIANTS as well + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: report a NOTICE if + libusb-1.0 support was detected, but another was chosen + * drivers/libhid.c: drivers/libhid.c: HIDDumpTree(): mark that arg + "hd" is not used in SHUT_MODE + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: the "additional + USB-related checks" should now manipulate "LIBS" not "LIBUSB_LIBS" + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: comment on + "additional USB-related checks" + * configure.ac, m4/nut_check_libusb.m4: Move "additional USB-related + checks" from configure.ac to m4/nut_check_libusb.m4 + * configure.ac, docs/configure.txt, m4/nut_check_libusb.m4: + m4/nut_check_libusb.m4 et al: add support for --with-libusb- + version=(auto|0.1|1.0) + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: restore "ret" lost in + merging + * drivers/riello_usb.c: drivers/riello_usb.c: properly export + variables shared between driver subtypes (reapply to libusb-1.0 + branch) + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: add a bit more of + "Compatibility layer between libusb 0.1 and 1.0" + * drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c: [libusb-1.0] Realign use of + nut_usb_strerror() after merge from master + * drivers/libusb1.c, drivers/nutdrv_qx.c: [libusb-1.0] Realign buffer + casting to (usb_ctrl_char) after merge from master + +2021-11-13 Dan Benton + + * data/driver.list.in: Add CyberPower RMCARD205 which is supported + +2021-11-13 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: hide clang-3.4 warnings + about str{n}cmp() args into pragmas + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: detect general "-Warray- + bounds" support + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: detect general + "-Wtautological-compare" + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: detect "pragma clang + diagnostic push/pop" support (needed with older clang versions not + on par with GCC) + * drivers/snmp-ups-helpers.c: drivers/snmp-ups-helpers.c: include + "config.h" before any system headers (such as time.h indirectly) + * configure.ac: configure.ac: be sure to detect "time.h" + * ci_build.sh: ci_build.sh: support a common DO_CLEAN_CHECK=no + +2021-11-13 Jim Klimov + + * drivers/snmp-ups-helpers.c: drivers/snmp-ups-helpers.c: include a + header, avoid a warning + * UPGRADING, docs/nut.dict: NEWS: updated build against various + generations of Net-SNMP for NUT v2.7.5 + * docs/configure.txt, m4/nut_check_libnetsnmp.m4: + m4/nut_check_libnetsnmp.m4: allow --with-netsnmp-config(=yes) to + mean prefer_NET_SNMP_CONFIG=true + * NEWS: NEWS: updated build against various generations of FreeIPMI + for NUT v2.7.5 + * drivers/snmp-ups.c: drivers/snmp-ups.c: replace strcmp("short + string") with strncmp() (clang-3.4 warns about array out of bounds) + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: resolve a "tautological + compare" when building on older agents + * drivers/nut-ipmi.h, drivers/nut-ipmipsu.c, drivers/nut- + libfreeipmi.c: drivers/nut-libfreeipmi.c nut-ipmipsu.c nut-ipmi.h: + adjust input_voltage_range_t (args of + ipmi_fru_multirecord_power_supply_information() vs. + ipmi_fru_parse_multirecord_power_supply_information() in different + FreeIPMI releases) [issue #1175] + * drivers/Makefile.am: drivers/Makefile.am: disable quick-hack of + nut_ipmipsu_CFLAGS+="-Wno-pointer-sign" [issue #1175] + * m4/nut_check_libusb.m4: m4/nut_check_libusb.m4: consider + have_PKG_CONFIG + * m4/nut_check_libopenssl.m4: m4/nut_check_libopenssl.m4: consider + have_PKG_CONFIG + * m4/nut_check_libnss.m4: m4/nut_check_libnss.m4: consider + have_PKG_CONFIG + * m4/nut_check_libnetsnmp.m4: m4/nut_check_libnetsnmp.m4: consider + have_PKG_CONFIG + * m4/nut_check_libneon.m4: m4/nut_check_libneon.m4: consider + have_PKG_CONFIG + * m4/nut_check_libmodbus.m4: m4/nut_check_libmodbus.m4: consider + have_PKG_CONFIG + * m4/nut_check_libgd.m4: m4/nut_check_libgd.m4: consider + have_PKG_CONFIG + * m4/nut_check_libfreeipmi.m4: m4/nut_check_libfreeipmi.m4: consider + have_PKG_CONFIG + * m4/nut_check_libavahi.m4: m4/nut_check_libavahi.m4: consider + have_PKG_CONFIG + * m4/nut_check_pkgconfig.m4: m4/nut_check_pkgconfig.m4: separate + detection of support for have_PKG_CONFIG vs have_PKG_CONFIG_MACROS + * configure.ac: configure.ac: call PKG_CONFIG for systemd settings + query only if we have_PKG_CONFIG, and die if "yes" was required but + query is not possible + * m4/nut_check_pkgconfig.m4: m4/nut_check_pkgconfig.m4: extend to + consider PKG_CONFIG possibly detected by autoconf + * configure.ac, m4/nut_check_pkgconfig.m4: configure.ac: evict + NUT_CHECK_PKGCONFIG into m4/nut_check_pkgconfig.m4 + * clients/upsmon.c, drivers/mge-utalk.c, drivers/snmp-ups.c, + tools/nut-scanner/scan_snmp.c: clients/upsmon.c tools/nut- + scanner/scan_snmp.c drivers/snmp-ups.c mge-utalk.c: avoid + strcmp("") as the implementation may be invalid (reaches out of + one-element array for "") + * m4/nut_check_libnetsnmp.m4: m4/nut_check_libnetsnmp.m4: whitespace + fix (indent if-clause content) + +2021-11-12 Jim Klimov + + * m4/nut_check_libnetsnmp.m4: m4/nut_check_libnetsnmp.m4: support + (and prefer) pkg-config info to net-snmp-config script(s) + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: separate + "distcheck-valgrind" from "default-nodoc", to filter away + "NUT_BUILD_CAPS=valgrind=no" agents + +2021-11-13 Jim Klimov + + * ci_build.sh: ci_build.sh: update guessing SYS_PKG_CONFIG_PATH for + *openindiana*|*omnios*|*solaris*|*illumos*|*sunos* + * ci_build.sh: ci_build.sh: for optional_maintainer_clean_check(), + ignore ".ci*.log*" files if present + +2021-11-12 Jim Klimov + + * ci_build.sh: ci_build.sh: report which PWD failed a "git status" + query + * ci_build.sh: ci_build.sh: report if ".git" disappeared during + *clean check [issue #1167] + +2021-11-11 Jim Klimov + + * drivers/snmp-ups.h: drivers/snmp-ups.h: fix remaining SU_* flag + bits to (unsigned long), to match snmp_info_t->flags type + * drivers/snmp-ups.h: drivers/snmp-ups.h: comment SU_* bit usage by + bit-shifting macros + * drivers/snmp-ups.h: drivers/snmp-ups.h: wrap long comments, and + detail where flag-field bits come from + * drivers/snmp-ups.h: drivers/snmp-ups.h: comment typical use of + SU_TYPE(t) macro + * drivers/snmp-ups.h: drivers/snmp-ups.h: fix SU_TYPE_DAISY(t) macro + (had no arg) + * drivers/snmp-ups.h: drivers/snmp-ups.h: whitespace fixes + * drivers/snmp-ups.h: drivers/snmp-ups.h: comment SU_STATUS_NUM_ELEM + as possibly obsolete + +2021-10-27 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: fix buffer size to possibly + print max size_t + +2021-10-26 Jim Klimov + + * drivers/snmp-ups.c, drivers/snmp-ups.h: drivers/snmp-ups.{c,h}: fix + SU_FLAG_* to (unsigned long) and their usage, to match + snmp_info_t->flags type + * drivers/snmp-ups.c: drivers/snmp-ups.c: decode_str(): range-check + return of snprintf() + +2021-11-11 Jim Klimov + + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: + rearrange lines to better match with 42ITy fork + * NEWS, docs/nut.dict: NEWS: improved SNMPv3 Auth/Priv algo support, + and nut-scanner threadcount, for NUT v2.7.5 + +2021-11-10 Jim Klimov + + * drivers/Makefile.am: drivers/Makefile.am: hotfix header + (in)compatibility of different IPMI versions + * drivers/Makefile.am: drivers/Makefile.am: hotfix header + (in)compatibility of different IPMI versions + * drivers/Makefile.am: drivers/Makefile.am: hotfix header + (in)compatibility of different IPMI versions + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: hunnox_step is only used + qith QX_USB + * drivers/bcmxcp_usb.c, drivers/libusb.h, drivers/nutdrv_atcl_usb.c, + drivers/nutdrv_qx.c, drivers/richcomm_usb.c, + drivers/tripplite_usb.c: drivers/*usb*: align whitespace changes + with libusb-1.0 branch + * drivers/Makefile.am: drivers/Makefile.am: use LIBUSB_IMPL macro to + align with libusb-1.0 branch + * drivers/libusb.c: drivers/libusb.c: whitespace fixes and message + fixes to align with libusb-1.0 branch + * drivers/libusb.c, drivers/libusb.h, drivers/powervar-hid.c, + drivers/usbhid-ups.c: drivers/libusb.{c,h} + powervar-hid.c + + usbhid-ups.c: whitespace fixes after PR #1044 + * docs/config-prereqs.txt: docs/config-prereqs.txt: mention further + I2C-related packages in Debian/Ubuntu distros + * ci_build.sh: ci_build.sh: in "default-all-errors" mode, report the + start of build variant and how many remain + * Makefile.am, clients/Makefile.am, common/Makefile.am, + conf/Makefile.am, data/Makefile.am, data/html/Makefile.am, + docs/Makefile.am, docs/cables/Makefile.am, docs/man/Makefile.am, + drivers/Makefile.am, include/Makefile.am, lib/Makefile.am, + scripts/Makefile.am, scripts/Solaris/Makefile.am, + scripts/augeas/Makefile.am, scripts/devd/Makefile.am, + scripts/hotplug/Makefile.am, scripts/python/Makefile.am, + scripts/systemd/Makefile.am, scripts/udev/Makefile.am, + scripts/ufw/Makefile.am, scripts/upsdrvsvcctl/Makefile.am, + server/Makefile.am, tests/Makefile.am, tools/Makefile.am, + tools/nut-scanner/Makefile.am: */Makefile.am: ensure that `make + maintainer-clean` also removes .dirstamp files + * .gitignore: .gitignore: remove a redundancy + * ci_build.sh: ci_build.sh: in "default-all-errors" mode, ignore + strange exit-code from `expr` - if the maths result was "0" + * ci_build.sh: ci_build.sh: in "default-all-errors" mode, ignore + strange exit-code from `expr` + * ci_build.sh: ci_build.sh: in "default-all-errors" mode, do not + distclean before build (this just spends time to generate the + Makefile to kill it) + * ci_build.sh: ci_build.sh: in "default-all-errors" mode, report + "SUCCEEDED build(s)" after final optional_maintainer_clean_check() + if that is called + * ci_build.sh: ci_build.sh: dumb down can_clean_check() to pass "set + -e" shells + * ci_build.sh: ci_build.sh: optional_*_clean_check() quickly skip if + there is no Makefile + * ci_build.sh: ci_build.sh: in "default-all-errors" mode, count + expected/remaining BUILDSTODO and call + optional_maintainer_clean_check() for the last iteration and + optional_dist_clean_check() for others + * ci_build.sh: ci_build.sh: introduce can_clean_check() to not fail + when we have nothing to test against + +2021-11-09 Jim Klimov + + * Makefile.am: Makefile.am: first-shot "git-realclean-check" and + targets to print *CLEANFILES lists + * ci_build.sh: ci_build.sh: introduce optional_dist_clean_check() to + use e.g. in "default-all-errors" case + * ci_build.sh: ci_build.sh: in loop for "default-all-errors", report + "build" successes as such + * ci_build.sh: ci_build.sh: skip optional_maintainer_clean_check() if + there is no .git [issue #1167] + +2021-11-09 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: consider SNMPv3 Auth/Priv + algos detected by configure script when reporting the usage (via + addvar() help messages) [issue #1169] + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + consider SNMPv3 Auth/Priv algos detected by configure script when + reporting the usage [issue #1169] + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: + comment the comment + * tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, + tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c + scan_snmp.c + scan_nut.c: ifdef the + references to max_threads_scantype + +2021-11-09 Jim Klimov + + * configure.ac: configure.ac: limit the impact of linux_i2c absent + libs when "auto" mode was requested + * ci_build.sh: ci_build.sh: start default build from a clean slate, + and do not REQUIRE to be able to build everything (do auto-detect) + * tests/Makefile.am, tools/nut-scanner/Makefile.am: tools/nut- + scanner/Makefile.am, tests/Makefile.am: do not refer to + LINKED_SOURCE_FILES with extra paths + +2021-11-09 Jim Klimov + + * docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc- + setup.txt: note about PTY definitions + * docs/config-prereqs.txt: docs/config-prereqs.txt: say a bit more + about OSes with containers + * docs/config-prereqs.txt: docs/config-prereqs.txt: say a bit more + about "General call to Test" and mention "ci_build.sh" + * docs/config-prereqs.txt, docs/nut.dict: docs/config-prereqs.txt: + revise pkgs available in Debian-like operating systems + +2021-11-08 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: use detected + NUT_HAVE_LIBNETSNMP_usm* support to define and use actual Priv or + Auth types + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: use + detected NUT_HAVE_LIBNETSNMP_usm* support to define and use actual + Priv or Auth types + * m4/nut_check_libnetsnmp.m4: m4/nut_check_libnetsnmp.m4: detect + support of usmAES128PrivProtocol in Net-SNMP we build against + * m4/nut_check_libnetsnmp.m4: m4/nut_check_libnetsnmp.m4: detect + support of (NETSNMP_DRAFT_BLUMENTHAL_AES_04) usmAES192PrivProtocol + usmAES256PrivProtocol in Net-SNMP we build against + * m4/nut_check_libnetsnmp.m4: m4/nut_check_libnetsnmp.m4: detect + support of usmDESPrivProtocol usmHMACMD5AuthProtocol + usmHMACSHA1AuthProtocol in Net-SNMP we build against + * m4/nut_check_libnetsnmp.m4: m4/nut_check_libnetsnmp.m4: detect + support of usmHMAC256SHA384AuthProtocol + usmHMAC384SHA512AuthProtocol usmHMAC192SHA256AuthProtocol in Net- + SNMP we build against + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: ifdef + all references to NETSNMP_DRAFT_BLUMENTHAL_AES_04 related code + * tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-init.c: + tools/nut-scanner/... : move init/destroy of threadcount_mutex from + nut-scanner.c to nutscan-init.c + +2021-11-05 Dim + + * drivers/snmp-ups.c, tools/nut-scanner/nut-scanner.c, tools/nut- + scanner/scan_snmp.c: Added new auth methods to snmp + +2021-11-08 Jim Klimov + + * 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: tools/nut-scanner/scan_eaton_serial.c + + scan_nut.c + scan_snmp.c + scan_xml_http.c: release global + semaphores in final protocol-scanner tread reaping + * 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: tools/nut-scanner/scan_eaton_serial.c + + scan_nut.c + scan_snmp.c + scan_xml_http.c: report if we are + waiting for semaphored threads to complete + +2017-10-31 barraudl + + * tools/nut-scanner/Makefile.am, tools/nut-scanner/README, tools/nut- + scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c, tools/nut- + scanner/nutscan-init.c, tools/nut-scanner/nutscan-init.h: Revise + use of semaphores in nut-scanner vs libnutscanner Original commit + in 42ITy fork in 2017: "Fix the Debian package generation" Adapted + into NUT upstream code, considering 4 years of codebase evolution, + in 2021: + +2017-10-23 barraudl + + * configure.ac, tools/nut-scanner/nut-scan.h, 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: Add thread limitation to avoid memory + error Original development in 42ITy fork in 2017: UPDATE: Merged + with NUT upstream, considering evolution of codebases over 4 years + since original commit, revised 2021: + +2021-11-08 Jim Klimov + + * drivers/mge-hid.c: drivers/mge-hid.c: actively check and warn if we + truncated the string + * drivers/gamatronic.c: drivers/gamatronic.c: actively check and warn + if we truncated the string + * docs/nut.dict: docs/nut.dict: update for recent NEWS + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + safely limit a strncpy() call + * drivers/oneac.c: drivers/oneac.c: shield a potentially truncating + snprintf() into a small buffer + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRINGOP_TRUNCATION + * drivers/mge-hid.c: drivers/mge-hid.c: shield a potentially + truncating snprintf() into a small buffer + +2021-11-08 Jim Klimov + + * configure.ac: configure.ac: for CppUnit, also sanity-check + CPPUNIT_ASSERT_MESSAGE() + +2021-11-07 Jim Klimov + + * clients/Makefile.am: clients/Makefile.am: depend on "dummy" recipe + to re-evaluate out-of-dir libs (so development iterations in them + are reflected in rebuilds) + * drivers/Makefile.am: drivers/Makefile.am: depend on "dummy" recipe + to re-evaluate out-of-dir libs (so development iterations in them + are reflected in rebuilds) + * server/Makefile.am: server/Makefile.am: depend on "dummy" recipe to + re-evaluate out-of-dir libs (so development iterations in them are + reflected in rebuilds) + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: + depend on "dummy" recipe to re-evaluate out-of-dir libs (so + development iterations in them are reflected in rebuilds) + * tests/Makefile.am: tests/Makefile.am: depend on "dummy" recipe to + re-evaluate out-of-dir libs (so development iterations in them are + reflected in rebuilds) + * tests/Makefile.am: tests/Makefile.am: drop obsoleted comment + * tests/nutclienttest.cpp: tests/nutclienttest.cpp: add + test_strarr_alloc() This may seem trivial, but there are + suspicions this allocation does not always work (e.g. NUT issue + #1126) + +2021-11-07 Jim Klimov + + * drivers/gamatronic.c: drivers/gamatronic.c: shield a potentially + truncating snprintf() into a small buffer + * drivers/bcmxcp.c: drivers/bcmxcp.c: shield a potentially dangerous + snprintf() into a small buffer as tested-safe + * clients/upscmd.c: clients/upscmd.c: shield a potentially dangerous + snprintf() into a small buffer as tested-safe + * clients/upsrw.c: clients/upsrw.c: shield a potentially dangerous + snprintf() into a small buffer as tested-safe + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: add + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_FORMAT_TRUNCATION + +2021-11-07 Jim Klimov + + * clients/nutclient.cpp: clients/nutclient.cpp: safety check in + strarr_alloc(): returned pointer should be not null + * clients/nutclient.h: tests/nutclienttest.h: whitespace fixes + (indent chars) + * tests/nutclienttest.cpp: tests/nutclienttest.cpp: whitespace fixes + (wrap long lines for maintainability) + +2021-11-07 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: load_mib2nut(): do not + report "Unknown mibs value" just if a device did not match the + mapping [NUT issue #1141] + * drivers/snmp-ups.c: drivers/snmp-ups.c: refactor load_mib2nut() to + not `strcmp(mib, "auto")` many times + +2021-11-07 Jim Klimov + + * drivers/snmp-ups.c: Update snmp-ups.c Fix use of `char + su_scratch_buf[255]` (original static array moved to another file + in master branch), and bump `DRIVER_VERSION` + +2021-11-07 Jim Klimov + + * NEWS: NEWS: added snmp-ups support for ondelay/offdelay for + NUT-2.7.5 + +2021-11-07 Jim Klimov + + * drivers/snmp-ups.c: Update snmp-ups.c Use the common (and + sufficiently large for any runaway numeric madness) + `su_scratch_buf` instead of a local `char[6]` buffer. + * drivers/snmp-ups.c: Update snmp-ups.c A few small whitespace fixes + +2021-11-07 Jim Klimov + + * drivers/arduino-hid.c: drivers/arduino-hid.c: normalize whitespace + for NUT codebase + * drivers/arduino-hid.c, drivers/arduino-hid.h: drivers/arduino- + hid.{c,h}: update (C) to arduino-hid support author + * NEWS: NEWS: added usbhid-ups new subdriver arduino-hid support for + NUT-2.7.5 + * NEWS: NEWS: added USB HID support on interface number greater than + 0 for NUT-2.7.5 + * NEWS: NEWS: added huawei-ups2000 support for NUT-2.7.5 + +2021-11-07 Jim Klimov + + * docs/man/huawei-ups2000.txt: Update huawei-ups2000.txt Made the + `configure` example a bit friendlier for copy-pasting. + +2021-11-06 Jim Klimov + + * tests/.gitignore, tools/nut-scanner/.gitignore: GitIgnore + LINKED_SOURCES (follow-up to PR #1159) + * .gitignore: GitIgnore .dirstamp in build trees + * Makefile.am: Makefile.am: move removal of dist tarballs and build + packages from "distclean" to "maintainer-clean" + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: mark + use of LINKED_SOURCE_FILES as "nodist" + * tests/Makefile.am: tests/Makefile.am: mark use of + LINKED_SOURCE_FILES as "nodist" + * Makefile.am: Makefile.am: add a "make realclean" as alias to + maintainer-clean + * Makefile.am: Makefile.am: typo fix MAINTAINERCLEAN_FILES => + MAINTAINERCLEANFILES + * ci_build.sh: ci_build.sh: there is no default "make realclean" + implem in autotools, fall back to "maintainer-clean" support for + wipingg the workspace + * Makefile.am, clients/Makefile.am, common/Makefile.am, + conf/Makefile.am, data/Makefile.am, data/html/Makefile.am, + docs/Makefile.am, docs/cables/Makefile.am, docs/man/Makefile.am, + drivers/Makefile.am, include/Makefile.am, lib/Makefile.am, + scripts/Makefile.am, scripts/Solaris/Makefile.am, + scripts/augeas/Makefile.am, scripts/devd/Makefile.am, + scripts/hotplug/Makefile.am, scripts/python/Makefile.am, + scripts/systemd/Makefile.am, scripts/udev/Makefile.am, + scripts/ufw/Makefile.am, scripts/upsdrvsvcctl/Makefile.am, + server/Makefile.am, tests/Makefile.am, tools/Makefile.am, + tools/nut-scanner/Makefile.am: */Makefile.am: there is no default + "make realclean" implem in autotools, fall back to "maintainer- + clean" support for wipingg the workspace + * Makefile.am, clients/Makefile.am, common/Makefile.am, + conf/Makefile.am, data/Makefile.am, data/html/Makefile.am, + docs/Makefile.am, docs/cables/Makefile.am, docs/man/Makefile.am, + drivers/Makefile.am, include/Makefile.am, lib/Makefile.am, + scripts/Makefile.am, scripts/Solaris/Makefile.am, + scripts/augeas/Makefile.am, scripts/devd/Makefile.am, + scripts/hotplug/Makefile.am, scripts/python/Makefile.am, + scripts/systemd/Makefile.am, scripts/udev/Makefile.am, + scripts/ufw/Makefile.am, scripts/upsdrvsvcctl/Makefile.am, + server/Makefile.am, tests/Makefile.am, tools/Makefile.am, + tools/nut-scanner/Makefile.am: */Makefile.am: reshuffle what we + remove as part of "make distclean" vs. "make realclean" (can be + remade only by autogen.sh) + * Makefile.am: Makefile.am: do not "distclean" away some more parts + of "configure" script ecosystem (leave that to "realclean") + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: + restore use of $(builddir) for LINKED_SOURCE_FILES + * tests/Makefile.am: tests/Makefile.am: restore use of $(builddir) + for LINKED_SOURCE_FILES + * ci_build.sh: ci_build.sh: call optional_realclean_check() after + more build variants + * tools/Makefile.am: tools/Makefile.am: distclean the helper scripts + that can be re-made + * ci_build.sh: ci_build.sh: change the cleanliness check from + "distcheck" to "realcheck" and factor into a method + * Makefile.am: Makefile.am: regenerate the helper needed for + ChangeLog if cleaned away + * Makefile.am: Makefile.am: delete the configure script and its + components not in a "make distclean" but in "make realclean" + +2021-11-05 Jim Klimov + + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: use + BUILT_SOURCES=LINKED_SOURCE_FILES to avoid dist-ing temporary + symlinks as files + * tests/Makefile.am: tests/Makefile.am: use + BUILT_SOURCES=LINKED_SOURCE_FILES to avoid dist-ing temporary + symlinks as files + * ci_build.sh: ci_build.sh: only call dpkg if present + * ci_build.sh: ci_build.sh: configure_nut(): call ./autogen.sh before + CONFIGURE_SCRIPT if there is no configure script + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: + revise the magic of LINKED_SOURCE_FILES for distcheck + * tests/Makefile.am: tests/Makefile.am: revise the magic of + LINKED_SOURCE_FILES for distcheck + * ci_build.sh: ci_build.sh: add a DO_DISTCHECK_CLEAN to make sure we + clean everything made, and no more (after any distcheck) + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: + revise the magic of LINKED_SOURCE_FILES for distcheck + * tests/Makefile.am: tests/Makefile.am: revise the magic of + LINKED_SOURCE_FILES for distcheck + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: make + sure to symlink sources into $(builddir)/ + * tests/Makefile.am: tests/Makefile.am: make sure to symlink sources + into $(builddir)/ + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: work + around dmake bugs + * tests/Makefile.am: tests/Makefile.am: work around dmake bugs + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: quote + pathnames, and force the symlink (to overwrite older if any) + * tests/Makefile.am: tests/Makefile.am: quote pathnames, and force + the symlink (to overwrite older if any) + * Makefile.am: Makefile.am: distclean-local: first find(), then rm() + the findings (find-recursion fails otherwise) + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: + symlink source used from another directory into current builddir, + do avoid external ".deps/" usage + * tests/Makefile.am: tests/Makefile.am: symlink source used from + another directory into current builddir, do avoid external ".deps/" + usage + * Makefile.am, clients/Makefile.am, common/Makefile.am, + drivers/Makefile.am, server/Makefile.am, tests/Makefile.am, + tools/nut-scanner/Makefile.am: */Makefile.am: Do not clean ".deps" + in SUBDIRS of the main project + * Makefile.am, clients/Makefile.am, common/Makefile.am, + conf/Makefile.am, data/Makefile.am, data/html/Makefile.am, + docs/Makefile.am, docs/cables/Makefile.am, docs/man/Makefile.am, + drivers/Makefile.am, include/Makefile.am, lib/Makefile.am, + scripts/Makefile.am, scripts/Solaris/Makefile.am, + scripts/augeas/Makefile.am, scripts/devd/Makefile.am, + scripts/hotplug/Makefile.am, scripts/python/Makefile.am, + scripts/systemd/Makefile.am, scripts/udev/Makefile.am, + scripts/ufw/Makefile.am, scripts/upsdrvsvcctl/Makefile.am, + server/Makefile.am, tests/Makefile.am, tools/Makefile.am, + tools/nut-scanner/Makefile.am: */Makefile.am: revise CLEANFILES and + DISTCLEANFILES (favored over clean-local target rules) + +2021-11-04 Jim Klimov + + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: use + libcommon.la as part of libnutscan.(la|so) + +2021-11-04 Jim Klimov + + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: do + not build common.c into nut-scanner (avoid double-definition of + nut_debug_level among other things) + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: fix + rule for NUT_SCANNER_DEPS to be sure + * clients/Makefile.am, common/Makefile.am, drivers/Makefile.am, + server/Makefile.am, tests/Makefile.am, tools/nut- + scanner/Makefile.am: */Makefile.am: define dependencies on out-of- + dir *.la helper libs: use AM_MAKEFLAGS (follows-up to PR #1151) + +2021-11-04 Jim Klimov + + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + revise parsing of --thread via strtol() Inspired by 42ITy fork + approach to similar issue + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + rename "--jobs" to "--thread" Inspired by 42ITy fork approach to + similar issue + +2021-11-04 Jim Klimov + + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: fix + rule for NUT_SCANNER_DEPS to be sure + * clients/Makefile.am, common/Makefile.am, drivers/Makefile.am, + server/Makefile.am, tests/Makefile.am, tools/nut- + scanner/Makefile.am: */Makefile.am: define dependencies on out-of- + dir *.la helper libs: use AM_MAKEFLAGS (follows-up to PR #1151) + +2021-11-04 Jim Klimov + + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + refine sanity-checks for nofile_limit.rlim_cur value range + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c, + tools/nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, + tools/nut-scanner/scan_xml_http.c: tools/nut-scanner/nut-scanner.c + + scan_xml_http.c + scan_snmp.c + scan_nut.c + nut-scan.h: Add a + hard limit on netxml scanning thread count + * configure.ac, tools/nut-scanner/nut-scanner.c: tools/nut- + scanner/nut-scanner.c + configure.ac: detect if getrlimit() is usable + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + constrain default or requested job count with current `ulimit -n` + (minus known overhead) + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + whitespace fix + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + wrap long line -2010-02-12 Arjen de Korte +2021-11-03 Jim Klimov - * [r2339] docs/cables/apc.txt: APC cable diagrams as reported on - the mailinglist - [http://lists.alioth.debian.org/pipermail/nut-upsuser/2005-August/000118.html] + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: limit thread count like in scan_snmp.c + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: limit + thread count like in scan_snmp.c + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: define TRUE/FALSE + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: limit thread count like in scan_snmp.c + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: + comment "#endif // HAVE_PTHREAD" to navigate in code better + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: only + loop to free the thread_array if any were allocated + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/scan_snmp.c: + tools/nut-scanner/nut-scan.h + scan_snmp.c: (C) header and some + cosmetic fixes + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + bump default max_threads to not lag with /24 subnets -2010-02-11 Charles Lepple +2021-11-03 Jim Klimov - * [r2338] ChangeLog: Generate ChangeLog entries from r2337 through - r2331. + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: only + sleep after attempting pthread_tryjoin_np() if nothing got cleaned + away + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: hide + debug logging for thread herding + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/scan_snmp.c: + tools/nut-scanner/scan_snmp.c: update comments and messages + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: + update log-tracing of pthread herding + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: move + locking of total thread count change when we add one -2010-02-11 Arnaud Quette +2021-11-03 Jim Klimov - * [r2337] NEWS: Complete news information for the 2.4.2 release. + * configure.ac, tools/nut-scanner/nut-scanner.c, tools/nut- + scanner/scan_snmp.c: configure.ac, tools/nut-scanner/scan_snmp.c, + tools/nut-scanner/nut-scanner.c: not all glibc versions + HAVE_PTHREAD_TRYJOIN -2010-02-11 Arjen de Korte +2021-11-03 Jim Klimov - * [r2336] (numerous files) No functional changes (properties only) - * [r2335] AUTHORS: No functional changes (properties only) + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: limit + the thread count for parallelized scanning + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + add a threadcount_mutex to use in all children + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: + handle max_threads, curr_threads + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + add support for -j N (--jobs=N) option to limit simultaneous + scanning threads + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: + comment a FIXME for limiting the pthread count + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: + nutscan_cidr_to_ip(): forbid scanning whole Internet -2010-02-10 Arnaud Quette +2021-11-03 Jim Klimov - * [r2334] ChangeLog: Trimmed 2.4.0 entries. + * tests/.gitignore: GitIgnore test log and trace for "getvaluetest" -2010-02-10 Arjen de Korte +2021-11-03 Jim Klimov - * [r2333] m4/nut_check_ipv6.m4: Check for presence of structures - required for IPv6 support in the header files that are defined by - POSIX (don't rely on the netdb.h header to include them) + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: + tone down the debug-logging of CIDR processing + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: + only free cidr_tok after we are done manipulating its memory buffer + * tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-ip.c: + nutscan-ip.c, nut-scanner.c: instrument the CIDR processing to + trace an error -2010-02-10 Charles Lepple +2021-11-02 Jim Klimov - * [r2332] ChangeLog: Generate ChangeLog entries from SVN r2331 back - through r2117. + * docs/documentation.txt, docs/man/dummy-ups.txt: + docs/documentation.txt + docs/man/dummy-ups.txt: refer to + `tools/nut-ddl-dump.sh` in the same manner (issue #1111) + * docs/man/dummy-ups.txt: docs/man/dummy-ups.txt: fix use of "link:" + tag in asciidoc (issue #1111) and slightly reword + * docs/documentation.txt: docs/documentation.txt: fix use of "link:" + tag in asciidoc (issue #1111) and slightly reword + * docs/nut-names.txt: docs/nut-names.txt: fix use of "link:" tag in + asciidoc (issue #1111) + * docs/developers.txt: docs/developers.txt: fix use of "link:" tag in + asciidoc (issue #1111) -2010-02-10 Arjen de Korte +2021-11-01 Jim Klimov - * [r2331] drivers/genericups.c: Fix typo in previous commit - * [r2330] drivers/genericups.c: Don't hang up on last close - (initial state of HUPCL is implementation dependent) - [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=327072] + * ci_build.sh: ci_build.sh: give the caller a way to disable parallel + builds with PARMAKE_FLAGS=" " (space) + * ci_build.sh: ci_build.sh: enable parallel builds for default build + (one without a BUILD_TYPE specified) + * ci_build.sh: ci_build.sh: enable parallel builds for "distcheck" in + default builds, which should now pass well (after usual build and + check passed) + * ci_build.sh: ci_build.sh: report chosen settings for parallel + builds + * configure.ac: configure.ac: test more proactively if valgrind can + test things and not crash by itself + * ci_build.sh: ci_build.sh: enable parallel builds for "default- + tgt:*" which should now pass well + * ci_build.sh: ci_build.sh: guess the available amount of parallelism + for the current system; consider load averages for GNU Make too + * docs/Makefile.am, docs/man/Makefile.am: docs/(man/)Makefile.am: + move back to builddir all files for the built documents, not just + the target name + * docs/Makefile.am, docs/man/Makefile.am: docs/(man/)Makefile.am: + before putting back the built documents, clean up the destination + if needed and make the workdir removable if needed (a2x can copy + system/EXTRA_DIST resources with their attrs) -2010-02-09 Arjen de Korte +2021-10-31 Jim Klimov - * [r2329] drivers/main.c: Some drivers set - 'driver.version.internal' in upsdrv_initinfo() so we should set - the generic message before running that - * [r2327] man/upssched.conf.5: Fix wrong reference - [http://lists.alioth.debian.org/pipermail/nut-upsdev/2010-February/004532.html] - * [r2326] server/netuser.c: Check if user is allowed to login - before accepting connection - - [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=544390] + * docs/Makefile.am, docs/man/Makefile.am: docs/(man/)Makefile.am: + only delete target before build if it is a directory (chunked HTML) + * docs/Makefile.am: docs/Makefile.am: update comment about + destination dir for asciidoc/a2x + * docs/man/Makefile.am: Revert "docs/man/Makefile.am: tone down the + use of "touch" for multicomponent docs" This reverts commit + 0b9ac2500ddbc7bd11a639805d43cda9259bfb1f. + * docs/Makefile.am: docs/Makefile.am: avoid potential for races where + same document is built several times (mentioned in different list + variables) + * docs/man/Makefile.am: docs/man/Makefile.am: avoid races where same + document is built several times (mentioned in different list + variables) + * docs/man/Makefile.am: Revert "docs/man/Makefile.am: avoid races + where same document is built several times (mentioned in different + list variables)" This reverts commit + 29ae5a8f6e5524d689ebaf2abdf508528288b010. + * docs/man/Makefile.am: docs/man/Makefile.am: tag DOC-MAN-HTML + visibly different from DOC-HTML of the main docs dir + * docs/man/Makefile.am: docs/man/Makefile.am: avoid races where same + document is built several times (mentioned in different list + variables) + * docs/man/Makefile.am: docs/man/Makefile.am: tone down the use of + "touch" for multicomponent docs + * docs/.gitignore, docs/Makefile.am, docs/man/.gitignore, + docs/man/Makefile.am: docs/(man/)Makefile.am: fan out doc builds + into subdirectories, where we can, so parallel runs do not collide -2010-02-08 Arjen de Korte +2021-11-01 Jim Klimov - * [r2324] UPGRADING: The tcp-wrappers support is optional in - addition to the LISTEN directive (not the other way around) + * ci_build.sh: ci_build.sh: update the heading comment -2010-02-08 Arnaud Quette +2021-10-31 Jim Klimov - * [r2323] UPGRADING: Add a double explicit note about the ACL - mechanism removal in 2.4.0. - (reported on Debian by Anthony DeRobertis, Bug #526811) + * docs/man/Makefile.am: docs/man/Makefile.am: whitespace fixes (drop + some indentation) -2010-02-08 Arjen de Korte +2021-10-30 Jim Klimov - * [r2322] data/driver.list: Added lots of Ippon devices that were - mentioned on the mailinglists (serial devices will undoubtly - work, USB support still experimental) + * docs/Makefile.am: docs/Makefile.am: as developer aid, add + "(all-)docs" target to try building all types regardless of + enablement by configure script; also add "make man" support -2010-02-07 Arjen de Korte +2021-10-31 Jim Klimov - * [r2321] UPGRADING, drivers/blazer_usb.c, man/blazer.8: Use - 'ippon' subdriver for devices with USB id 06da:0003 (old - 'phoenix' subdriver still available) - * [r2320] drivers/raritan-mib.h, drivers/snmp-ups.c: Fix wrong name - * [r2319] drivers/raritan-mib.h: Add missing file in previous + * ci_build.sh: ci_build.sh: support CI_REQUIRE_GOOD_GITIGNORE=false + to bypass fatal error on git status being not empty after build + +2021-10-30 Jim Klimov + + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: + reference nut_version.h in a way that does not offend "make + dist(check)" + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am: + reference some out-of-dir sources via top_srcdir (not ../..) + * clients/Makefile.am, drivers/Makefile.am, server/Makefile.am, + tests/Makefile.am, tools/nut-scanner/Makefile.am: */Makefile.am: + define dependencies on out-of-dir *.la helper libs, and reference + them via top_builddir (not ..) + * common/Makefile.am: common/Makefile.am: reference nut_version.h in + a way that does not offend "make dist(check)" + * ci_build.sh: ci_build.sh: default "minimal" ritual should not spend + half the time building docs + +2021-10-04 Jim Klimov + + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: range-check + and cast returned ipmi_dev->sensors_count + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: + libfreeipmi_get_sensors_info(): we check that sdr_record_len is not + negative, so can cast to (uint) + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: + libfreeipmi_get_board_info(): range-check and cast mfg_date_time + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: + libfreeipmi_get_psu_info(): range-check and cast libfreeipmi method + arguments which are ints + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: + libfreeipmi_get_psu_info(): range-check and cast libfreeipmi method + arguments which are uint8_t + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: + nut_ipmi_open(): range-check and cast libfreeipmi method arguments + which are uint8_t + +2021-09-23 Jim Klimov + + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: + range-check and cast ipmi_sec->authentication_type + ipmi_sec->privilege_level ipmi_id to match method signatures + +2021-10-15 Jim Klimov + + * ci_build.sh: ci_build.sh: report Build host settings + +2021-10-16 Jim Klimov + + * ci_build.sh, docs/developers.txt: ci_build.sh: add + BUILD_TYPE=fightwarn(-clang|-gcc) for presets with developer aid + Also updated docs/developers.txt with example and description + +2021-10-26 Jim Klimov + + * tests/getvaluetest.c: tests/getvaluetest.c: align test structure + with field types in HIDData_t + * tests/getvaluetest.c: tests/getvaluetest.c: fix bufsize size_t type + * tests/getvaluetest.c: tests/getvaluetest.c: mark static local + methods as such + * drivers/hidparser.c: drivers/hidparser.c: for skipping botched + LogMin/LogMax, also log a message + +2021-10-20 Stephan Blecher <_github@blecher.at> + + * drivers/hidparser.c: drivers/hidparser.c + +2021-10-22 Jim Klimov + + * autogen.sh: autogen.sh: surprise, not all systems have "dos2unix" + * configure.ac: configure.ac: fix use of --with-docs + * configure.ac: configure.ac: fix use of --with-valgrind + +2021-10-21 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: currently constrain + cppcheck phase(s) to fightwarn-related branch/PR builds + +2021-10-20 Jim Klimov + + * .gitignore, Jenkinsfile-dynamatrix, Makefile.am, ci_build.sh, + configure.ac, docs/config-prereqs.txt, docs/nut.dict, + m4/nut_check_cppcheck.m4: Add recipe support for cppcheck analysis + * ci_build.sh: ci_build.sh: let initial DO_DISTCHECK value be set by + caller + +2021-10-20 Arnaud Quette + + * tools/nut-scanner/scan_snmp.c: Only try all OIDs if sysOID matching + failed + +2021-10-19 Jim Klimov + + * drivers/nutdrv_qx_ablerex.c, drivers/nutdrv_qx_ablerex.h: + drivers/nutdrv_qx_ablerex.{c,h}: heading fixes -- name, descr, (C) + * drivers/nutdrv_qx.c, drivers/nutdrv_qx_ablerex.c: + drivers/nutdrv_qx.c + nutdrv_qx_ablerex.c: common whitespace fixes + * drivers/Makefile.am: drivers/Makefile.am: restore bits lost with + initial posting of PR #1135 + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: update DRIVER_VERSION for + added "ablerex" support + +2021-10-18 Ablerexsoftware + + * drivers/Makefile.am, drivers/nutdrv_qx.c, + drivers/nutdrv_qx_ablerex.c, drivers/nutdrv_qx_ablerex.h: Add + nutdrv_qx driver for Ablerex model PR#2 + +2021-10-16 Jim Klimov + + * NEWS, UPGRADING, docs/nut.dict: UPGRADING: notice that upsdebugx() + et al became macros in NUT-2.7.5 + * NEWS: NEWS: another expected point for release after 2.7.5 + +2021-10-14 Jim Klimov + + * drivers/Makefile.am, drivers/snmp-ups-helpers.c, drivers/snmp- + ups.c, drivers/snmp-ups.h: Separate source files of snmp-ups.c + (driver core) and snmp-ups-helpers.c (shared mapping tables and + funcs) (#1134) * drivers/Makefile.am: bring some order into + snmp_ups_SOURCES list * drivers/snmp-ups.h: update (C) heading * + drivers/snmp-ups.h: comment that su_find*() are related to certain + info_lkp_t fields * drivers/snmp-ups.c: extract snmp-ups-helpers.c + that can be built independently * drivers/snmp-ups.h: mark the + range of data points related to Subdrivers shared helpers functions + +2021-10-12 Jim Klimov + + * drivers/powerware-mib.c, drivers/snmp-ups.c, drivers/snmp-ups.h: + drivers/snmp-ups.{h,c} + powerware-mib.c: reference date converter + by macro name instead of magic number + * drivers/snmp-ups.c, drivers/snmp-ups.h: drivers/snmp-ups.{h,c}: + rename the fun/nuf mappings to fun_vp2s/nuf_s2l to match the DMF + codebase and ease eventual backports + * drivers/snmp-ups.h: drivers/snmp-ups.h: comment the fun/nuf mapping + and their relation to su_find_*() methods + * drivers/snmp-ups.c: drivers/snmp-ups.c: clarify that we pass a + "long*" arg to su_find_infoval() + * drivers/snmp-ups.c: drivers/snmp-ups.c: typo fix + * drivers/snmp-ups.c: drivers/snmp-ups.c: clarify in decode_str() + that we pass a "long*" arg to su_find_infoval() + * drivers/snmp-ups.c, drivers/snmp-ups.h: drivers/snmp-ups.{c,h}: + rearrange braces, blank lines and some comments to match the + formatting fixes in DMF branch (and to simplify eventual backport) + * drivers/snmp-ups.c: drivers/snmp-ups.c: rearrange mib2nut[] in + alphabetic order (except *ietf tables that go last) and reference + mib.c sources + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: fix + whitespace (indent) + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: fix regex pattern + for dynacfgPipeline.appliesToChangedFilesRegex_FILES_PY + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: parameterize + dynacfgPipeline.axisCombos* and excludeCombos_DEFAULT_* for + repetitive settings + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: parameterize + dynacfgPipeline.branchStableRegex + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: extend + sample capability labels with PYTHON variants + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: update for Python- + version build scenarios + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: add + dynacfgPipeline.appliesToChangedFilesRegex_FILES_PY for future + handling + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: update + dynacfgPipeline.appliesToChangedFilesRegex_FILES_RECIPE to consider + changes of autogen.sh + * tools/nut-scanner/nutscan-serial.c: tools/nut-scanner/nutscan- + serial.c: fix whitespace style + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: fix + whitespace style + +2021-10-11 Jim Klimov + + * tools/nut-scanner/nutscan-device.c: tools/nut-scanner/nutscan- + device.c: fix whitespace style + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: fix + whitespace style + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: fix + whitespace style + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: fix + whitespace style + * tools/nut-scanner/nutscan-serial.c: tools/nut-scanner/nutscan- + serial.c: fix whitespace style + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: fix + whitespace style + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: fix whitespace style + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: fix whitespace style + * tools/nut-scanner/nutscan-device.h: tools/nut-scanner/nutscan- + device.h: fix whitespace style + * tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_usb.c: fix + whitespace style + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: fix + whitespace style + * tools/nut-snmpinfo.py.in: tools/nut-snmpinfo.py.in: fix whitespace + style of generated header + * tools/nut-snmpinfo.py.in: tools/nut-snmpinfo.py.in: fix heading of + generated header + +2021-09-28 Jim Klimov + + * drivers/microdowell.h: drivers/microdowell.h: normalize whitespace + within the file + * drivers/microsol-apc.h: drivers/microsol-apc.h: whitespace fix + +2021-09-23 Jim Klimov + + * drivers/bcmxcp.c: drivers/bcmxcp.c: fix whitespace style + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: fix whitespace style + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: fix + whitespace style + +2021-09-22 Jim Klimov + + * tests/cpputest.cpp: tests/cpputest.cpp: avoid "no out-of-line + virtual method definitions" (weak-vtables) + * tests/nutclienttest.cpp: tests/nutclienttest.h: avoid "unused + exception parameter ex" + * clients/nutclientmem.h: clients/nutclientmem.h: avoid "extra ; + after method" warnings + +2021-10-11 Jim Klimov + + * docs/Makefile.am, docs/man/Makefile.am: docs{,/man}/Makefile.am: + quiesce docs-generating targets by default to just state what they + make + * docs/nut.dict: Update spellchecker dict + +2021-10-09 Jim Klimov + + * ci_build.sh: ci_build.sh: add support for CI agents setting + NUT_BUILD_CAPS=valgrind=no + * Makefile.am: Makefile.am: `make spellcheck` from top dir should be + quieter (fallout from touchfiles) + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: stress to + `systemctl restart lxc-net` after edits of /etc/lxc/dnsmasq- + hosts.conf + * docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc- + setup.txt: stress that for CI_WRAP_SH method, the Prefix Start + Agent Commandshould not pollute stderr/stdout + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: report more details + about the build host when we "Inspect initial envvars" + +2021-10-08 Jim Klimov + + * scripts/subdriver/gen-snmp-subdriver.sh: gen-snmp-subdriver.sh: + deprecate "which" in favor of "command -v" + * ci_build.sh: ci_build.sh: deprecate "which" in favor of "command + -v" + +2021-10-07 Jim Klimov + + * m4/nut_check_python.m4: m4/nut_check_python.m4: export PYTHON(2,3) + envvars for other scripts called in the build + +2021-09-28 Jim Klimov + + * .gitignore: GitIgnore the tmp/ subdirectory used by CI builds + * .gitignore: GitIgnore Python precompiled files + +2021-09-27 Jim Klimov + + * configure.ac: configure.ac: split generation of "data" files vs. + "scripts" from *.in templates + * configure.ac: Update python scripts to be generated by configure + and using the detected PYTHON value + * clients/nutclient.h: clients/nutclient.h: whitespace typo fix + * docs/developers.txt: docs/developers.txt: fix reference to Fosshost + to be an URL + +2021-09-26 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: for a non-PR build + of a fightwarn* branch, reference 'fightwarn' for analysis + +2021-09-23 Jim Klimov + + * tools/nut-usbinfo.pl: tools/nut-usbinfo.pl => generated nutscan- + usb.h: sentinel in a table of uint16_t can not be -1 + +2021-09-22 Jim Klimov + + * clients/upsclient.c, configure.ac: clients/upsclient.c + + configure.ac: fix use of CPU_TYPE + * configure.ac: configure.ac: add "-Wno-cast-qual" to clang-medium + and clang-hard warnings levels + +2021-10-05 Jim Klimov + + * docs/nut.dict: Update spellchecker + * NEWS: NEWS: added FTTx support and other genericups improvenets for + NUT-2.7.5 + +2021-10-05 Jim Klimov + + * configure.ac: configure.ac: more AC_CHECK_HEADERS_ONCE + * ci_build.sh: ci_build.sh: for default mode (no BUILD_TYPE) enable + cgi and dev files (no=>auto) and do not require serial drivers + (yes=>auto) + * m4/nut_type_socklen_t.m4: m4/nut_type_socklen_t.m4: fix detection + on windows Probably practical codebase should also account for + other arg types, e.g. "SOCKET" that is not even exported into a + macro so far. + * ci_build.sh: ci_build.sh: report CI_OS_NAME detection issues more + clearly It is not helpful to read just this: Could not recognize + ... from ''-'' + +2021-10-05 Jim Klimov + + * autogen.sh: autogen.sh: suggest CRLF fixes for the workspace (e.g. + if checked out on Windows) This falls a bit short of enforcing + with .gitattributes which may or may not interfere with platform- + native editors and other tools. + +2021-10-04 Jim Klimov + + * conf/Makefile.am, docs/man/Makefile.am: conf/Makefile.am, + docs/man/Makefile.am: avoid prerequisites on suffix rules + * drivers/apc-mib.c: drivers/apc-mib.c: bump APCC_MIB_VERSION for PR + #1113 + * docs/man/genericups.txt, drivers/genericups.c: genericups: + officially alias "NULL" and "none" setting keywords + +2021-10-04 Jim Klimov + + * docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc- + setup.txt: recommend a unique Remote root directory per agent + +2021-10-04 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: extend QEMU build + scenarios to "ssh-qemu-nut-builder" agents, and to iterate + "COMPILER" toolkits for cross-check on same platform + +2021-10-04 Jim Klimov + + * docs/config-prereqs.txt: docs/config-prereqs.txt: Debianish systems + tend to deliver g++ in a separate package from gcc + * docs/ci-farm-lxc-setup.txt, docs/nut.dict: docs/ci-farm-lxc- + setup.txt: add a chapter on Jenkins Build Agent setup for the + containers + +2021-10-03 Jim Klimov + + * docs/nut.dict: Update spellchecker + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: document + making a self-login ssh key for abuild + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: document + allowing container SSH server to accept envvars from client + +2021-10-03 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: Typo fix: remove + extra unstashCleanSrc() for ci_build.sh preparations + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: allow limited use + of QEMU containers as build agents (slow workers => few combos) + +2021-10-02 Jim Klimov + + * configure.ac: configure.ac: quiesce the check for usable valgrind + binary + * docs/nut.dict: Update spellchecker + * configure.ac: configure.ac: adapt warnings level (auto, minimal) + for GCC with c89/c90/ansi requested builds + * tests/getvaluetest.c: tests/getvaluetest.c: fix declaration of + variables in code body, and type of sizeof-derived iterator + * tests/getvaluetest.c: tests/getvaluetest.c: normalize whitespace to + NUT style + * tests/getvaluetest.c: tests/getvaluetest.c: add (C) and descriptive + heading + +2021-10-02 Jim Klimov + + * configure.ac: configure.ac: test if valgrind is actually usable on + build/check ssytem + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: fix + extraction of hosts-map data + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: make note + of lxc-create for other distros + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: add git to + early starter-kit of packages + +2021-09-30 Jim Klimov + + * Jenkinsfile-dynamatrix, docs/developers.txt: Jenkinsfile-dynamatrix + + developers.txt: for "GNU C89 standard builds with fatal + warnings", only run with a `fightwarn.*89.*` regex branch name; do + not pollute logs and analysis of "usual fightwarn" builds + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: for "GNU C standard + builds with non-fatal warnings, without distcheck and docs (must + pass)" slowBuild scenario, start with a "gnu89/gnu++98" non- + regression variant + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: reword some + slowBuild filter config descriptions and comments + * docs/developers.txt, docs/nut.dict: docs/developers.txt: extend the + description of NUT CI setup Clarification of adaptive jobs, + running different sets of scenarios, and how to reproduce a failed + test case locally. Also updated spellchecker dictionary. + * docs/developers.txt: docs/developers.txt: stress likely + incompatibility with stricter C89/GNU89/ANSI-C standard, so C99 + (GNU99) is the baseline + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: rearrange for + readability (line-split allowedFailure and excludeCombos blocks + that have many combos inside) + +2021-09-30 Jim Klimov + + * .lgtm.yml: .lgtm.yml: drop redundant lines + * autogen.sh: autogen.sh: whitespace fix + * autogen.sh, configure.ac, scripts/systemd/Makefile.am: nut- + common.tmpfiles.in: fix systemd magic vs autoconf magic Follows up + from PR #1037 for issue #1030 to let the trick work for distcheck + and similar out-of-tree builds. + +2021-09-27 Jim Klimov + + * .lgtm.yml: Add .lgtm.yml to specify search for python template + files * Index *.py.in + scripts/python/app/NUT-Monitor.in * Do not + consider them templates to ignore * Also turn off the FIXME alerts, + NUT has a lot of those so far + * NEWS: NEWS: updated the python 2+3 compatibility notice + * Makefile.am: Makefile.am: call the generated gitlog2changelog.py + from correct path + * scripts/augeas/Makefile.am, tools/Makefile.am: Fix "dist" targets + to call templates gen-nutupsconf-aug.py.in and nut-snmpinfo.py.in + that they have + * scripts/python/module/PyNUT.py.in, + scripts/python/module/test_nutclient.py.in: + scripts/python/module/PyNUT.py.in: update syntax for Python 3 (also + ok for 2.7) + * .gitignore: GitIgnore possible leftovers from interrupted configure + script run + * scripts/Solaris/.gitignore, scripts/augeas/.gitignore, + scripts/python/app/.gitignore, scripts/python/module/.gitignore, + tools/.gitignore: GitIgnore generated python scripts + * scripts/augeas/Makefile.am: scripts/augeas/Makefile.am: comment + where gen-nutupsconf-aug.py comes from + * autogen.sh: autogen.sh: simplify call of gen-nutupsconf-aug.py.in + in the subdir + * autogen.sh: autogen.sh: use gen-nutupsconf-aug.py.in with the + $PYTHON interpreter + * ci_build.sh: ci_build.sh: pass $PYTHON envvar -t configure --with- + python=... arg + * configure.ac: configure.ac: split generation of "data" files vs. + "scripts" from *.in templates + * configure.ac, scripts/Solaris/Makefile.am, + scripts/Solaris/{precheck.py => precheck.py.in}, + scripts/augeas/Makefile.am, .../{gen-nutupsconf-aug.py => gen- + nutupsconf-aug.py.in}, scripts/python/Makefile.am, + scripts/python/app/{NUT-Monitor => NUT-Monitor.in}, + scripts/python/module/{PyNUT.py => PyNUT.py.in}, + .../module/{test_nutclient.py => test_nutclient.py.in}, + tools/Makefile.am, tools/{gitlog2changelog.py => + gitlog2changelog.py.in}, tools/{nut-snmpinfo.py => nut- + snmpinfo.py.in}: Update python scripts to be generated by configure + and using the detected PYTHON value + * configure.ac, m4/nut_check_python.m4: configure.ac: detect PYTHON, + PYTHON2, PYTHON3 implementations in the build environment + * autogen.sh: autogen.sh: find various python versions if not + specified by $PYTHON + * clients/nutclient.h: clients/nutclient.h: whitespace typo fix + * docs/developers.txt: docs/developers.txt: fix reference to Fosshost + to be an URL + * NEWS: NEWS: expect a few more milestones for 2.7.6 (or later) + release + * UPGRADING: UPGRADING: mention protocol changes due to new TRACKING + ability + * NEWS, UPGRADING: NEWS + UPGRADING: Warn about API changes due to + fightwarn + +2021-09-26 Mark Dietzer + + * drivers/apc-mib.c: Add active power and apparent power from APC + MIBs for single-phase UPS devices + +2021-09-25 Jim Klimov + + * docs/developers.txt, docs/nut.dict: docs/developers.txt: replace + references to defunct Travis CI with new NUT CI farm [#869] + * docs/nut-qa.txt, docs/nut.dict: docs/nut-qa.txt: replace references + to defunct Travis CI with new NUT CI farm [#869] + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: with customized + shellcheck dynamatrixAxesLabels, be sure to match both OS_FAMILY + and OS_DISTRO as a bundle + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: with + docs+distcheck, also test compliance with available Make + interpreters + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: with shellcheck, + also test available Make interpreters + * Makefile.am, configure.ac, include/Makefile.am: configure.ac + + {./,include/}Makefile.am: revise the recipe for + include/nut_version.h + * docs/nut.dict: docs/nut.dict: update dict + * ci_build.sh: ci_build.sh: call "$MAKE -j NUM" with a space, to + cater for make implems that require a separate argument token + +2021-09-23 Jim Klimov + + * m4/nut_func_getnameinfo_argtypes.m4: + m4/nut_func_getnameinfo_argtypes.m4: reorder the loop to first try + current X/Open definition of getnameinfo() + * configure.ac, m4/nut_check_headers_windows.m4, + m4/nut_func_getnameinfo_argtypes.m4: + m4/nut_func_getnameinfo_argtypes.m4 + m4/nut_check_headers_windows.m4: lift recipes from cURL to detect + NUT_FUNC_GETNAMEINFO_ARGTYPES + +2021-09-22 Jim Klimov + + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_SIGN_COMPARE and HAVE_PRAGMA_GCC + _DIAGNOSTIC_IGNORED_TAUTOLOGICAL_UNSIGNED_ZERO_COMPARE Sometimes + library/system provided types are beyond our control and vary from + OS to OS... + +2021-09-23 Jim Klimov + + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: fix whitespace style + * tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_usb.c: fix + whitespace style + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: fix + whitespace style + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: fix + whitespace style + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: fix + whitespace style + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: fix whitespace style + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: fix + whitespace style + * tools/nut-scanner/nutscan-serial.c: tools/nut-scanner/nutscan- + serial.c: fix whitespace style + * tools/nut-scanner/nutscan-ip.c, tools/nut-scanner/nutscan-ip.h: + tools/nut-scanner/nutscan-ip.c: fix whitespace style + * tools/nut-scanner/nutscan-init.c: tools/nut-scanner/nutscan-init.c: + fix whitespace style + * tools/nut-scanner/nutscan-device.c, tools/nut-scanner/nutscan- + device.h: tools/nut-scanner/nutscan-device.[c,h]: fix whitespace + style + * tools/nut-scanner/nutscan-display.c: tools/nut-scanner/nutscan- + display.c: fix whitespace style + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + fix whitespace style + * tools/nut-scanner/nut-scan.h: tools/nut-scanner/nut-scan.h: fix + whitespace style + +2021-09-22 Jim Klimov + + * server/sstate.c: server/sstate.c: whitespace fix + +2021-09-23 Jim Klimov + + * ci_build.sh: ci_build.sh: warn that a build without BUILD_TYPE + ignores BUILD_WARNOPT and BUILD_WARNFATAL settings + +2021-09-22 Jim Klimov + + * tests/Makefile.am: tests/Makefile.am: comment a TODO for + referencing helpers built in other dirs + +2021-09-22 Yifeng Li + + * docs/nut.dict: nut.dict: add my name "Yifeng". + * docs/nut.dict: nut.dict: add technical terms for UPS2000 man page. + * docs/man/Makefile.am, docs/man/huawei-ups2000.txt: huawei-ups2000: + add documentation. + * drivers/Makefile.am, drivers/huawei-ups2000.c: huawei-ups2000: + Modbus driver for Huawei UPS2000 (1kVA-3kVA) This commit + implements a Modbus driver for Huawei UPS2000 (1kVA-3kVA) series + UPS units using the USB or RS-232 interface (USB is only support on + Linux 5.12+ via the "xr_serial" kernel module), with support for + power and battery status monitoring, alarm reporting, RW variables, + and instant commands for battery selftest, buzzer, shutdown, + restart, and bypass control. + +2021-09-23 Jim Klimov + + * drivers/generic_modbus.c: drivers/generic_modbus.c: fix assignments + of sigar[].type to enum + * drivers/generic_modbus.c: drivers/generic_modbus.{c,h}: fix + ser_parity to char, and sanity-check before dereferencing + * drivers/generic_modbus.c: drivers/generic_modbus.c: fix switch{} + warnings + * drivers/generic_modbus.c: drivers/generic_modbus.c: fix suseconds_t + for time ranges + * drivers/generic_modbus.c: drivers/generic_modbus.c: fix warnings + with declarations + * drivers/generic_modbus.c, drivers/generic_modbus.h: + drivers/generic_modbus.{c,h}: fix whitespace style + * NEWS: NEWS: added tripplite ability to manage outlet groups for + NUT-2.7.5 + +2021-09-23 Jim Klimov + + * docs/nut.dict: Update nut.dict + +2021-09-22 Jim Klimov + + * docs/nut.dict: docs/nut.dict: updated for recent NEWS and UPGRADING + * UPGRADING: UPGRADING: clarified upsdebugx() `[D#]` prefix impact + * UPGRADING: UPGRADING: stress that new Qx protocol drivers should be + developed in common nutdrv_qx framework + * UPGRADING: UPGRADING: Cut-off features that did land into master + branch to become the 2.7.5 release, vs. big chunks planned now for + later releases + * NEWS: NEWS: update reference to ChangeLog file vs. Git history + * NEWS: NEWS: refactored upsdebugx() and friends as macros for + NUT-2.7.5 + * NEWS: NEWS: HCL updated with Ippon Back Comfo Pro II 650/850/1050 + (USB) for NUT-2.7.5 + * NEWS: NEWS: added and clarified many battery.* protocol variables + for NUT-2.7.5 + * NEWS: NEWS: netxml-ups battery info fixed for NUT-2.7.5 + * NEWS: NEWS: HCL updated with Opti-UPS PS1500E (USB) for NUT-2.7.5 + * NEWS: NEWS: referenced Date and Time representations preferred for + NUT-2.7.5 + * NEWS: NEWS: added generic_modbus driver for NUT-2.7.5 + * NEWS: NEWS: updated systemd integration for NUT-2.7.5 + * NEWS: NEWS: added autoconf-2.70 update for NUT-2.7.5 + * NEWS: NEWS: added portable Makefile effort for NUT-2.7.5 + * NEWS: NEWS: added incremental "make spellcheck" support for + NUT-2.7.5 + * NEWS: NEWS: Cut-off features that did land into master branch to + become the 2.7.5 release, vs. big chunks planned now for later + releases + * NEWS: NEWS: added DISABLE_WEAK_SSL for NUT-2.7.5 + +2021-06-30 Jim Klimov + + * NEWS: NEWS: mention `experimental.*` namespace + * NEWS: NEWS: mention that master/slave deprecation did not impact + protocol currently + * NEWS: NEWS: mark libusb-1.0 support in main branch as "expected" + currently + +2021-05-24 Jim Klimov + + * NEWS: NEWS: added powerpanel driver support for CyberPower + OR1500LCDRTXL2U in NUT-2.7.5 + * NEWS: NEWS: added TcpClient C++ testing mock for NUT-2.7.5 + * NEWS: NEWS: improved USB HID parsing for NUT-2.7.5 + * NEWS: NEWS: improved USB device matching for NUT-2.7.5 + * NEWS: NEWS: microsol-apc added for NUT-2.7.5 + +2021-04-23 Jim Klimov + + * NEWS, docs/nut.dict: docs/nut.dict + NEWS: fix both to pass + spellcheck + +2021-04-21 Jim Klimov + + * NEWS: NEWS: Add 2.7.5 support for Tripplite AVR750U + +2021-04-20 Jim Klimov + + * NEWS: NEWS: List more achievements of 2.7.5 + +2020-01-20 Jim Klimov + + * NEWS: NEWS: described nut-driver-enumerator introduction + +2019-03-15 Arnaud Quette + + * NEWS: Add entry for openssl-1.1.0 support + +2019-03-13 Arnaud Quette + + * docs/nut.dict: Update spelling dictionary + +2019-02-28 Arnaud Quette + + * NEWS: Update NEWS for next release + +2018-02-28 Arnaud Quette + + * docs/nut.dict: Add Avocent to the spell check list + +2018-02-27 Arnaud Quette + + * NEWS: Update NEWS for Emerson Avocent PM3000 PDU + +2017-11-17 Arnaud Quette + + * NEWS: Update NEWS for next release + * NEWS: Update NEWS for next release + +2017-10-08 Charles Lepple + + * NEWS, UPGRADING, docs/nut.dict: Spell-check release notes + * NEWS, UPGRADING: Update NEWS and UPGRADING for next release + Current as of master @ b8df06b761, assuming libusb-1.0+0.1 gets + merged + +2021-09-22 Jim Klimov + + * docs/config-prereqs.txt: docs/config-prereqs.txt: cosmetically + update OmniOS notes + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: comment a + TODO for NAT setup desired + * docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc-setup.txt: comment why + LXC+LIBVIRT + * docs/ci-farm-lxc-setup.txt, docs/config-prereqs.txt, docs/user- + manual.txt: docs/config-prereq.txt + ci-farm-lxc-setup.txt + user- + manual.txt: fix markup so new docs can be chapters in user- + manual.html + +2021-09-21 Jim Klimov + + * scripts/Solaris/postinstall.in, scripts/Solaris/preremove.in: + scripts/Solaris/preremove.in + postinstall.in: configure sanity + checker likes datarootdir more than datadir + * ci_build.sh: ci_build.sh: fix reported BUILD_TYPE for default- + spellcheck builds + +2021-09-21 Jim Klimov + + * docs/Makefile.am: docs/Makefile.am: try to avoid "warning: ignoring + prerequisites on suffix rule definition" + * docs/Makefile.am: docs/Makefile.am: when calling a sub-make for + *-spellchecked rule, make sure to use the + "$(abs_top_builddir)/docs/Makefile" (the original "top_builddir" + might come from outer caller in another subdir) + * docs/Makefile.am: docs/Makefile.am: move reading of the + spellchecked file out of the pipe so errors finding one are exposed + to build result + * conf/Makefile.am, data/Makefile.am, docs/Makefile.am, + docs/man/Makefile.am: docs/Makefile.am: conjure a portable + *-spellchecked rule that works for non-GNU make tools + * docs/Makefile.am: docs/Makefile.am: comment about a non-portable + GNU Make feature use + * docs/Makefile.am: docs/Makefile.am: for no-op *-spellchecked rule, + report SKIP-ASPELL with the target (touchfile) name to avoid + source-text determination + * docs/Makefile.am: docs/Makefile.am: be sure to run the quiet sub- + make using docs/Makefile.am to use its target definitions + * docs/Makefile.am: docs/Makefile.am: if SPELLCHECK_ENV_DEBUG, report + which file we would spellcheck (quiet sub-make might do and report + nothing for an already checked text) + * docs/Makefile.am: docs/Makefile.am: consider "-spellchecked" among + SUFFIXes + * docs/Makefile.am: docs/Makefile.am: comment about a non-portable + GNU Make feature use + +2021-09-21 Jim Klimov + + * .gitignore, Makefile.am, conf/Makefile.am, data/Makefile.am, + docs/Makefile.am, docs/cables/Makefile.am, docs/man/Makefile.am, + lib/Makefile.am, scripts/augeas/Makefile.am, + scripts/ufw/Makefile.am, tools/nut-scanner/Makefile.am: Makefiles: + change from *.spellchecked suffix pattern to *-spellchecked which + is easier to plug into POSIX make rulesets + * Makefile.am, conf/Makefile.am, configure.ac, data/Makefile.am, + docs/Makefile.am, docs/cables/Makefile.am, docs/man/Makefile.am, + lib/Makefile.am, scripts/Makefile.am, scripts/augeas/Makefile.am, + scripts/ufw/Makefile.am, tools/nut-scanner/Makefile.am: Makefiles + + configure.ac: add a way to "make clean" away the *.spellchecked + touch-files + * .gitignore, conf/Makefile.am, data/Makefile.am, docs/Makefile.am, + docs/man/Makefile.am: Makefiles: mark every spellchecked text file + with a touch-file to not re-test it again needlessly (at a cost of + some noise for some implementations of make) + +2021-09-21 Jim Klimov + + * drivers/legrand-hid.c: Update legrand-hid.c Address build warnings + from CI + +2021-09-21 Jim Klimov + + * scripts/Solaris/postinstall.in, scripts/Solaris/preremove.in: + scripts/Solaris/preremove.in + postinstall.in: configure sanity + checker likes datarootdir more than datadir + * ci_build.sh: ci_build.sh: fix reported BUILD_TYPE for default- + spellcheck builds + +2021-09-21 Jim Klimov + + * docs/Makefile.am: docs/Makefile.am: try to avoid "warning: ignoring + prerequisites on suffix rule definition" + * docs/Makefile.am: docs/Makefile.am: when calling a sub-make for + *-spellchecked rule, make sure to use the + "$(abs_top_builddir)/docs/Makefile" (the original "top_builddir" + might come from outer caller in another subdir) + * docs/Makefile.am: docs/Makefile.am: move reading of the + spellchecked file out of the pipe so errors finding one are exposed + to build result + * conf/Makefile.am, data/Makefile.am, docs/Makefile.am, + docs/man/Makefile.am: docs/Makefile.am: conjure a portable + *-spellchecked rule that works for non-GNU make tools + * docs/Makefile.am: docs/Makefile.am: comment about a non-portable + GNU Make feature use + * docs/Makefile.am: docs/Makefile.am: for no-op *-spellchecked rule, + report SKIP-ASPELL with the target (touchfile) name to avoid + source-text determination + * docs/Makefile.am: docs/Makefile.am: be sure to run the quiet sub- + make using docs/Makefile.am to use its target definitions + * docs/Makefile.am: docs/Makefile.am: if SPELLCHECK_ENV_DEBUG, report + which file we would spellcheck (quiet sub-make might do and report + nothing for an already checked text) + * docs/Makefile.am: docs/Makefile.am: consider "-spellchecked" among + SUFFIXes + * docs/Makefile.am: docs/Makefile.am: comment about a non-portable + GNU Make feature use + +2021-09-21 Jim Klimov + + * .gitignore, Makefile.am, conf/Makefile.am, data/Makefile.am, + docs/Makefile.am, docs/cables/Makefile.am, docs/man/Makefile.am, + lib/Makefile.am, scripts/augeas/Makefile.am, + scripts/ufw/Makefile.am, tools/nut-scanner/Makefile.am: Makefiles: + change from *.spellchecked suffix pattern to *-spellchecked which + is easier to plug into POSIX make rulesets + * Makefile.am, conf/Makefile.am, configure.ac, data/Makefile.am, + docs/Makefile.am, docs/cables/Makefile.am, docs/man/Makefile.am, + lib/Makefile.am, scripts/Makefile.am, scripts/augeas/Makefile.am, + scripts/ufw/Makefile.am, tools/nut-scanner/Makefile.am: Makefiles + + configure.ac: add a way to "make clean" away the *.spellchecked + touch-files + * .gitignore, conf/Makefile.am, data/Makefile.am, docs/Makefile.am, + docs/man/Makefile.am: Makefiles: mark every spellchecked text file + with a touch-file to not re-test it again needlessly (at a cost of + some noise for some implementations of make) + * docs/nut.dict: docs/nut.dict: update for recent changes + * docs/man/apcsmart.txt, docs/man/generic_modbus.txt: + docs/man/apcsmart.txt: fix an indented block + * docs/man/apcsmart.txt, docs/man/generic_modbus.txt: + docs/man/generic_modbus.txt + apcsmart.txt: drop "[source, conf]" + decorators for sample configs and ASCII-art, pygmentize needs much + setup to render that + * docs/config-prereqs.txt: docs/config-prereqs.txt: add "pygmentize" + packages to the list, for HTML rendering of "source" blocks + * docs/man/generic_modbus.txt: docs/man/generic_modbus.txt: import a + note from discussion at NUT issue #1056 about the data-path and + generic use for the modbus driver + * docs/man/generic_modbus.txt: docs/man/generic_modbus.txt: line-wrap + long paragraphs + * tests/nutlogtest.c: tests/nutlogtest.c: fix more fallout from #675 + * configure.ac, m4/nut_check_libnss.m4: m4/nut_check_libnss.m4: fix + deterministic 32/64 bit builds (on illumos/solaris family of OSes + at least) + * ci_build.sh: ci_build.sh: tweak PKG_CONFIG_PATH setting for 64-bit + dirs on illumos/solaris and related operating systems (otherwise + pkg-config reports default data, can be for 32-bit libs, on 64-bit + hosts) + * ci_build.sh: ci_build.sh: report detected CI_OS_NAME if we had to + guess + * ci_build.sh: ci_build.sh: for developer workstation use, detect + CI_OS_NAME via uname as a fallback (if CI vars are not provided) + * ci_build.sh: ci_build.sh: recognize CI_OS_NAME from case- + insensitive match of "$OS_FAMILY-$OS_DISTRO", and recognize + solaris+sunos + * include/common.h: Fix some fallout from PR #685 * The + parenthesized "(label)" in debug macros is a safer expansion than + the original "label" * Avoid the dangling "args..." that may be + not-specified by caller (strict-C99 compat) + * docs/Makefile.am: docs/Makefile.am: do not spellcheck ../INSTALL + which is generated + * ci_build.sh: ci_build.sh: run the first spellcheck really quietly + * docs/Makefile.am, docs/nut.dict: docs/Makefile.am + docs/nut.dict: + add more texts from base dir to spellcheck them too + * docs/Makefile.am: docs/Makefile.am: report the directory relative + to which spellchecked text sources failed + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: use ci_build.sh to + spellcheck with a more user-friendly output + * ci_build.sh: ci_build.sh: extend the BUILD_TYPE=default-spellcheck + to do a quiet round first, and only report details about failed + files if needed + * ci_build.sh: ci_build.sh: fallback BUILD_WARNFATAL=true/false + handling; comment values for BUILD_WARNOPT + +2021-09-20 Jim Klimov + + * docs/nut.dict: docs/nut.dict: update for recently added docs and + merged PRs, and update sorting + * docs/config-prereqs.txt: config-prereqs.txt: fix markup to become + asciidoc + +2021-09-20 Jim Klimov + + * docs/Makefile.am, docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc- + setup.txt + docs/Makefile.am: update some notes and ability to + build the new doc + +2021-09-20 Jim Klimov + + * docs/ci-farm-lxc-setup.txt: ci-farm-lxc-setup.txt: update with + notes for "chroot apt-get" tricks + * docs/ci-farm-lxc-setup.txt: ci-farm-lxc-setup.txt: fix markup to + become asciidoc + +2021-09-21 Jim Klimov + + * docs/man/generic_modbus.txt: docs/man/generic_modbus.txt: some + whitespace issues + * m4/nut_type_socklen_t.m4: [NUT issue #1053] + m4/nut_type_socklen_t.m4: convert one remaining + AC_TRY_COMPILE(H,M,S) into modern + AC_COMPILE_IFELSE(AC_LANG_PROGRAM(H,M), S) + * configure.ac: [NUT issue #1053] configure.ac: apply recommendations + of "autoupdate" and warnings from "autoconf" for autotools-2.70 + +2021-09-20 Jim Klimov + + * docs/config-prereqs.txt: config-prereqs.txt: fix markup to become + asciidoc + * tests/.gitignore: GitIgnore test log and trace for "nutlogtest" + +2021-09-20 Jim Klimov + + * docs/Makefile.am, docs/ci-farm-lxc-setup.txt: docs/ci-farm-lxc- + setup.txt + docs/Makefile.am: update some notes and ability to + build the new doc + +2021-09-20 Jim Klimov + + * docs/nut.dict: docs/nut.dict: ordering and typo fixes in the + dictionary :) + * docs/ci-farm-lxc-setup.txt: ci-farm-lxc-setup.txt: update with + notes for "chroot apt-get" tricks + +2021-09-19 Jim Klimov + + * docs/nut-names.txt: docs/nut-names.txt: refactor the standalone + Time and Date format chapter + +2021-09-20 Jim Klimov + + * docs/ci-farm-lxc-setup.txt: ci-farm-lxc-setup.txt: fix markup to + become asciidoc + +2021-09-19 Jim Klimov + + * docs/ci-farm-lxc-setup.txt: Introduce docs/ci-farm-lxc-setup.txt + with setup notes + * docs/ci-farm-lxc-setup.txt: Introduce docs/ci-farm-lxc-setup.txt + with setup notes + +2021-09-17 Jim Klimov + + * Jenkinsfile-dynamatrix: Update Jenkinsfile-dynamatrix Revise + pattern for Makefiles and similar + * Jenkinsfile-dynamatrix: Update Jenkinsfile-dynamatrix Do not apply + filename regex filtering to main branch builds so they can always + serve as a reference + * Jenkinsfile-dynamatrix: Update Jenkinsfile-dynamatrix Remove + 'default' target as it brings little value: default-tgt:distcheck- + valgrind tests the distcheck part, and default-nodoc tests the main + recipe with default settings and no distcheck (both skip/disable + docs). + +2021-09-17 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: modularize the way + to constrain build scenarios not relevant to the changed files + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: find a way to + constrain build scenarios not relevant to the changed files (e.g. + no big rebuilds for a docs-only change) + +2021-09-16 Jim Klimov + + * docs/nut.dict: Update nut.dict + * docs/nut.dict: Update nut.dict + * docs/nut-names.txt: Update nut-names.txt Clarified an ambiguity + typo about time format, added examples for data with time zones + +2021-09-16 dtsecon + + * drivers/generic_modbus.c: change ulon to uint_32 + * drivers/generic_modbus.h: fix forward declarations of enum + occurances + +2021-09-15 Jim Klimov + + * docs/nut.dict: Update nut.dict Update for PR #1076 + * docs/nut.dict: Update nut.dict Add "FTTx" for PR #1061 + * tests/getvaluetest.c: Update getvaluetest.c Include NUT "common.h" + for NUT_UNUSED_VARIABLE among other things + * tests/getvaluetest.c: getvaluetest.c: Fixing a NUT_UNUSED_VARIABLE + +2021-09-15 Jim Klimov + + * clients/upsclient.c: upsclient.c: log upscli_init() as a no-op in + case of builds without SSL + * clients/upsclient.c: upsclient.c: add NUT_UNUSED_VARIABLE for the + stub implem in case of builds without SSL + * server/netssl.c: netssl.c: add NUT_UNUSED_VARIABLE for the stub + implem in case of builds without SSL + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: limit default- + withdoc(:man) scenarios to not iterate compiler variants, only OSes + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: add a comment with + overview of the dynacfgPipeline.slowBuild goals and trade-offs + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: add a groovy + shebang for highlighters + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: rephrase some + comments and filter bundle names + +2021-09-14 dtsecon + + * docs/nut.dict: update nut.dict + * docs/nut.dict: update nut.dic + +2021-09-13 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: only run and + withdocs:man on setups that did not yet run a witdocs:all (and are + declared capable of man) + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: remove distcheck- + light (sort of pointless WRT other scenarios) and withdocs:man + (redundant) from "various builds" + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: comment that + "default-all-errors" builds do not include docs and distcheck + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: add "default- + alldrv:no-distcheck" variant + * ci_build.sh: ci_build.sh: add "default-alldrv:no-distcheck" variant + * ci_build.sh: ci_build.sh: comment "default-all-errors" builds with + varying SSL implementations and refactor into a loop and case + Should be helftul for https://github.com/networkupstools/jenkins- + dynamatrix/issues/4 eventually + * ci_build.sh: ci_build.sh: comment the case BUILD_TYPE to maintain + easier + +2021-09-12 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: reduce the amount + of build combos by careful use of dynamatrixAxesCommonEnv + +2021-09-11 Jim Klimov + + * tests/cpputest.cpp: tests/cpputest.cpp: add an optional verbose + mode to list executed test case names + * configure.ac: ci_build.sh: actively check that cppunit is not just + installed, but is usable with current compiler toolkit (we saw + linking issues and runtime segfaults with it) + * ci_build.sh: ci_build.sh: update a comment for OpenIndiana gcc-4.x + vs. libgd + * ci_build.sh: ci_build.sh: skip CGI builds for openindiana with + gcc-4.x (or older, preemptively) for now + * ci_build.sh: ci_build.sh: update constraints for libgd/cgi builds + on freebsd + * ci_build.sh: ci_build.sh: fix --disable-cppunit (not --without- + cppunit) + +2021-09-11 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: constrain autotools + builds to "*fightwarn*" branches and PRs + +2021-06-14 Doug Nazar + + * server/netssl.c: server: Add warning if DISABLE_WEAK_SSL is not + enabled. + +2021-06-12 Jim Klimov + + * server/netssl.c: Update netssl.c Comment the default value of + `disable_weak_ssl` (currently not getting in our way, but can + change later) + * server/netssl.c: Update netssl.c Slight pedantic fix for use of + NSS VMAJOR/VMINOR macros + * server/conf.c: Update conf.c Comment parse_boolean() and add + support for "0" and "1" string values there, for good measure + * conf/upsd.conf.sample: Update upsd.conf.sample Mention that + DISABLE_WEAK_SSL is "currently" disabled by default, hinting that + it can become enabled after some releases. + * docs/nut.dict: Update nut.dict Add "TLSv" support in + spellchecker + +2021-06-11 Doug Nazar + + * conf/upsd.conf.sample, server/conf.c, server/netssl.c, + server/netssl.h: server: Add option to disable weak SSL + protocols/ciphers. + +2021-09-01 Arnaud Quette + + * drivers/eaton-pdu-marlin-mib.c, drivers/powerware-mib.c, + drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: Add a generic + function to convert date (#1078) This provides conversion from US + date (mm/dd/yyyy) to ISO Calendar date (yyyy-mm-dd). Also adapt the + function callback mechanism to make it more generic, and only char* + to char* reformating, beside from the int to char* value lookup. + Co-authored-by: Jim Klimov + +2021-08-03 Jim Klimov + + * clients/nutclient.h, clients/nutclientmem.cpp, + clients/nutclientmem.h: clients/nutclient.h + nutclientmem.h/.cpp: + add NUT_UNUSED_VARIABLE() where needed + * drivers/libshut.h: drivers/libshut.h: define the Device field + recently added to USBDevice_t + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: initialize the recently + added USBDevice_t Device field + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + fix the switch-case fallthrough that should not be (the case of "s" + is handled lower in the routine, so instant return is not logical) + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + complete the item_t initializers + * drivers/nutdrv_qx_masterguard.c: drivers/nutdrv_qx_masterguard.c: + be explicit about NUT_UNUSED_VARIABLEs + +2021-07-20 Jim Klimov + + * common/common.c: common/common.c: avoid C++ style comments + +2021-05-25 Jim Klimov + + * docs/images/ci/fosshost.org_Host_Light_309px.png, + docs/images/ci/fosshost.org_Host_Light_38px.png: docs/image/ci: add + more Fosshost logos tuned to be readable at smaller height + +2021-04-26 Jim Klimov + + * docs/man/dummy-ups.txt: dummy-ups.txt: mention the DDL and nut-ddl- + dump.sh + +2021-08-27 Jim Klimov + + * docs/config-prereqs.txt: docs/config-prereqs.txt: note caveats + about installing cppunit and gcc-4.4.4 on OpenIndiana + +2021-08-07 Jim Klimov + + * docs/config-prereqs.txt: docs/config-prereqs.txt: suggest + installing valgrind where available + +2021-08-04 Jim Klimov + + * docs/config-prereqs.txt: docs/config-prereqs.txt: suggest + installing source-highlight where available + +2021-08-03 Jim Klimov + + * docs/nut.dict: docs/config-prereqs.txt: list prerequisites for at + least a minimal build in OmniOS CE - update spellchecker + * docs/config-prereqs.txt: docs/config-prereqs.txt: list + prerequisites for at least a minimal build in OmniOS CE + * docs/config-prereqs.txt: docs/config-prereqs.txt: document libtool + as a prerequisite + +2021-08-02 Jim Klimov + + * docs/config-prereqs.txt: docs/config-prereqs.txt: revise + installation of supported shell interpreters + * docs/config-prereqs.txt: docs/config-prereqs.txt: add en-aspell for + freebsd profile + +2021-08-01 Jim Klimov + + * docs/Makefile.am, docs/config-prereqs.txt, docs/nut.dict, + docs/packager-guide.txt, docs/user-manual.txt: Introduce + docs/config-prereqs.txt and spellcheck for it + +2021-08-11 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: revise use of + requiredNodelabels/excludedNodelabels, and reset them to surely + delete any cached values in the reusable dynamatrix object + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: keep docs builds to + the standard set of builders (nut-builder not doc-builder) + +2021-08-10 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: use a custom-named + dynacfgPipeline.stashnameSrc + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: neuter the example + buildCommit + * Jenkinsfile-dynamatrix: Revert "Jenkinsfile-dynamatrix: list the + custom commits built on new NUT CI for initial history" This + reverts commit c9b5c870ac6834f16ebecb5334ac178de2d03d3d. Have that + list in history but do not clutter live version. + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: list the custom + commits built on new NUT CI for initial history + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: revise docs-all + build spec + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: modernize example + for custom replayed builds + +2021-08-04 Jim Klimov + + * ci_build.sh: ci_build.sh: double-quote path var expansions + * ci_build.sh: ci_build.sh: detect build agent capabilities for + Jenkins builds with NUT dynaMatrix config + * ci_build.sh: ci_build.sh: abstract from TRAVIS_OS_NAME to + CI_OS_NAME and set one for Jenkins builds with NUT dynaMatrix + config + +2021-08-03 Jim Klimov + + * configure.ac: configure.ac: hack around libtool when building with + custom bitness + +2021-08-03 Jim Klimov + + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: define autotools- + based distcheck for NUT + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: define autotools- + based distcheck for NUT + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: explicitly exclude + openindiana from build scenario with all docs types + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: typo fix + (require*d*Nodelabels after upstream refactor) + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: do not pass + "-Wno-unknown-warning" to GCC + * m4/nut_check_libavahi.m4: m4/nut_check_libavahi.m4: PoC enable + avahi build in FreeBSD - rearrange + +2021-08-02 Jim Klimov + + * Jenkinsfile-dynamatrix: Revert "Jenkinsfile-dynamatrix: try to + synchronize cloning of dsbcClone+stageNameClone" This reverts + commit 2d477fac1c67f7a8477c550f1e5a638e533ab2ad : "synchronized" is + not supported for Jenkins Groovy CPS + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: try to synchronize + cloning of dsbcClone+stageNameClone + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: define + dsbcClone+stageNameClone closer to start of closure to get the + correct copy ASAP + * Jenkinsfile-dynamatrix: Jenkinsfile-dynamatrix: add + SERVICE_FRAMEWORK="selftest" to shellcheck-nde (equivalent) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in: check for not-supported (t)csh interpreter + * Makefile.am: Makefile.am: add SERVICE_FRAMEWORK="selftest" to + shellcheck-nde + * Makefile.am: Makefile.am: add shellcheck-nde + * Makefile.am: Makefile.am: fix shellcheck (not all OSes serve + /bin/bash at that pathname) + +2021-07-31 Jim Klimov + + * m4/nut_check_libavahi.m4: m4/nut_check_libavahi.m4: PoC enable + avahi build in FreeBSD + * m4/nut_check_libneon.m4: m4/nut_check_libneon.m4: FreeBSD installs + stuff under /usr/local + +2021-07-28 Jim Klimov + + * ci_build.sh: ci_build.sh: report CONFIGURING NUT in a way + friendlier for copy-paste + * configure.ac, m4/nut_compiler_family.m4: configure.ac + + m4/nut_compiler_family.m4: introduce NUT_COMPILER_FAMILY_FLAGS to + propagate -Wno-unknown-warning(-opton) before any pkgconfig + * docs/man/Makefile.am: docs/man/Makefile.am: Fix check-man-txt to + also run from separate build dirs + * ci_build.sh: ci_build.sh: do not make TOO MUCH noise when dumping + config.log + * ci_build.sh: ci_build.sh: set DISTCHECK_FLAGS in "default-tgt:"* + handling too + +2021-07-27 Jim Klimov + + * ci_build.sh: ci_build.sh: introduce BUILD_TYPE=default-withdoc:man + (and allow it) + * .gitignore: GitIgnore CI-generated log files + * ci_build.sh: ci_build.sh: introduce BUILD_TYPE=default-withdoc:man + * ci_build.sh: ci_build.sh: make sure DISTCHECK_FLAGS is single-line + * configure.ac: configure.ac: tell compiler to not choke on unknown + options + +2021-07-26 Jim Klimov + + * ci_build.sh: ci_build.sh: parameterize $MAKE + * ci_build.sh: ci_build.sh: try to avoid problems with multi-token + CFLAGS etc. when passed from "${CONFIG_OPTS[@]}" array into + DISTCHECK_CONFIGURE_FLAGS string (envvar) - refactor + +2021-07-22 Jim Klimov + + * ci_build.sh: ci_build.sh: try to avoid problems with multi-token + CFLAGS etc. when passed from "${CONFIG_OPTS[@]}" array into + DISTCHECK_CONFIGURE_FLAGS string (envvar) + +2021-07-20 Jim Klimov + + * configure.ac: configure.ac: detect if i2c library is usable, and + cancel i2c driver build if it is not + +2021-06-26 Jim Klimov + + * Makefile.am, configure.ac: configure.ac: follow autotools doc + recommendation to automatically update the libtool script if it + becomes out-of-date + * configure.ac: configure.ac: AC_PROG_LIBTOOL is noisily deprecated + since autotools-2.70; LT_INIT is the replacement + * m4/nut_arg_with.m4: m4/nut_arg_with.m4: AC_HELP_STRING is noisily + deprecated since autotools-2.70; AS_HELP_STRING is available since + 2.59 and we use it already a lot elsewhere + +2021-04-26 Jim Klimov + + * drivers/Makefile.am: drivers/Makefile.am: fix truncated comment + Text originates from SVN-Git migration in + e8e716e0598158f705e060c72f8f4b0444fbcd0f + +2021-08-23 Arnaud Quette + + * docs/nut-names.txt: Complete the date standardization proposal for + time + +2021-08-20 Arnaud Quette + + * docs/nut-names.txt: Propose to express dates using ISO 8601 when + possible + +2021-08-19 Stephan Blecher <_github@blecher.at> + + * drivers/legrand-hid.c: issue-616: legrand 600 fix input voltage + +2021-08-18 root + + * scripts/upower/95-upower-hid.rules: legrand hid rules update + +2021-08-12 Arnaud Quette + + * drivers/mge-xml.c: netxml-ups: fix for erroneous battery info + (MGEXML/0.30) (#1069) Some battery related information were + wrongly using output information + * docs/nut-names.txt: RFC: clarify and complete battery dates (#1063) + The existing battery.date means the installation or last + replacement date, as it seems to be implemented by various drivers. + Add an additional battery.date.maintenance for the next replacement + or maintenance date + * docs/nut-names.txt: Extend battery information collection (#1062) + * RFC: Add battery.capacity.nominal * RFC: add Li-ion battery + cell information * RFC: Add battery.status * Clarify Li-ion + battery cell information Mention that min/max cell voltage and + temperature are observed values, not settings + * docs/nut-names.txt: RFC: add new variable battery.packs.external + (#1060) * RFC: add new variable battery.packs.external * Improve + wording, as per Charles Lepple feedback * Improve example values, + which can or not be zero-padded + +2021-08-01 Jim Klimov + + * Jenkinsfile-dynamatrix: Introduce Jenkinsfile-dynamatrix + +2021-07-28 Jim Klimov + + * data/driver.list.in: data/driver.list.in: list Ippon Back Comfo Pro + II 650/850/1050 as supported by blazer_usb [#1035] + +2021-07-21 dtsecon + + * drivers/generic_modbus.c, drivers/generic_modbus.h: shutdown + configurable repetition with increasing time interval added + +2021-07-19 dtsecon + + * configure.ac, docs/Makefile.am, docs/man/Makefile.am: fix man pages + broken build process + +2021-07-16 dtsecon + + * docs/man/generic_modbus.txt: improve man page + * docs/man/Makefile.am, docs/man/generic_modbus.txt: man page text + created, added in build procedure + +2021-07-08 dogtopus + + * docs/man/genericups.txt, drivers/genericups.h: genericups: Change + type 23 to be active low. Seems that typical RS232 transceivers + inverts the signal automatically anyway, so there's no point of + making them active high by default. + +2021-07-06 dogtopus + + * docs/man/genericups.txt: docs: Document the special line NULL in + genericups documentation. + * drivers/genericups.c: genericups: Bump version number. + * docs/contact-closure.txt, docs/man/genericups.txt, + drivers/genericups.c, drivers/genericups.h: genericups: Add support + for FTTx battery backup. A lot of those "UPSes" use a 4-wire open- + drain-like contact closure signaling (dubbed "telemetry interface") + to report their status (see https://dl4jz3rbrsfum.cloudfront.net/do + cuments/CyberPower_UM_CBN50U48A-1.pdf for example). They are sorta + compatible with APC 940-0020B/C cables in terms of pin assignments, + with extra signals for replace battery and battery missing and lack + of shutdown signal. This patch adds a sample device type (23) for + this kind of device. It also adds support for the extra signal + types (RB for replace battery and BYPASS for disconnected battery) + used by these devices, as well as an option to unassign/disable an + unused signal in the config file by setting it to NULL. Note that + there is no standard cable for this kind of device, so type 23 + assumes RS232 control signaling and RTS as the voltage source for + input pin pullups. + +2021-07-06 dtsecon + + * drivers/generic_modbus.c, drivers/generic_modbus.h: fix serial + options in modbus_open + * drivers/generic_modbus.c: fix 'for' loop initial declarations for + compatibility out of C99 mode + * drivers/Makefile.am: generic_modbus.h added to Makefile.am + * drivers/generic_modbus.c: just one space less + +2021-06-30 Nick Briggs + + * tests/.gitignore, tests/Makefile.am, tests/getvaluetest.c: Create + test harness for GetValue() report value extraction (usbhid-ups) + Adds source and updates Makefile.am to build tests/getvaluetest, a + test harness for the report value extraction function GetValue() in + hidparser.c. getvaluetest has some built-in test cases, which are + easily extensible, but also accepts a single test specification on + the command line to allow for easy experimentation. getvaluetest + -h for usage + +2021-06-30 Jim Klimov + + * 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: + systemd/*.service(.in): update units with SyslogIdentifier=%N The + log identifier should hopefully help make more sense of syslog or + journal entries where helper shell script traces might end up. + +2021-06-29 Dimitris Economou + + * drivers/generic_modbus.c: minor changes to comply with nut + development guidelines + * drivers/generic_modbus.c: variable ctx changed to mbctx + +2021-06-25 dtsecon + + * drivers/generic_modbus.c: removing unnecessary code + * drivers/generic_modbus.c: time_ellapsed fixed + +2021-06-25 abratchik + + * drivers/Makefile.am, drivers/arduino-hid.c, drivers/arduino-hid.h, + drivers/usbhid-ups.c, scripts/upower/95-upower-hid.rules: Arduino + UPS Support + +2021-06-12 abratchik + + * docs/FAQ.txt, drivers/libusb.c, drivers/libusb.h, drivers/powervar- + hid.c: HID-compliant UPS support with interface gt than 0 + +2021-06-24 dtsecon + + * drivers/generic_modbus.c: minor changes and tidying up + * drivers/generic_modbus.c: remove unnecessary stuff + * drivers/generic_modbus.c, drivers/generic_modbus.h: initial commit + of generic_modbus beta version source files + * drivers/Makefile.am: generic_modbus sources add in buidling + procedure + +2021-06-22 Tom Fifield + + * data/driver.list.in: Opti-UPS PS1500E is supported by blazer_usb + Opti-UPS PS1500E connects via serial over USB, and is supported by + the blazer_usb driver. This patch updates the compatibility list. + Manufacturer link: https://www.opti- + ups.com/index.asp?SCID=SC20060001 Device is automatically detected + by nut-scanner > [nutdev1] > driver = "blazer_usb" > + port = "auto" > vendorid = "0665" > productid = "5161" + > bus = "001" OB status is correctly detected, and other + correct values are displayed when queried: battery.charge: 100 + battery.voltage: 27.60 battery.voltage.high: 26.00 + battery.voltage.low: 20.80 battery.voltage.nominal: 24.0 + device.mfr: device.model: 1500VA device.type: ups driver.name: + blazer_usb driver.parameter.bus: 001 driver.parameter.pollinterval: + 2 driver.parameter.port: auto driver.parameter.productid: 5161 + driver.parameter.synchronous: no driver.parameter.vendorid: 0665 + driver.version: 2.7.4 driver.version.internal: 0.12 + input.current.nominal: 13.0 input.frequency: 60.0 + input.frequency.nominal: 60 input.voltage: 113.9 + input.voltage.fault: 111.4 input.voltage.nominal: 110 + output.voltage: 113.3 ups.beeper.status: enabled + ups.delay.shutdown: 30 ups.delay.start: 180 ups.firmware: ups.load: + 2 ups.mfr: ups.model: 1500VA ups.productid: 5161 ups.status: OL + ups.type: offline / line interactive ups.vendorid: 0665 + +2021-06-18 Scott K Logan + + * drivers/tripplite.c: drivers/tripplite.c: start using the 'X' value + Relatively ancient documentation seems to suggest that this + 'firmware checksum' value can be used to indicate the firmware + generation as well as the capabilities of the UPS, namely the + number of independently controllable plugs. + +2021-06-16 Nick Briggs + + * drivers/hidparser.c: Add note regarding sensitivity to 32- vs 64- + bit compilation and overflow + +2021-06-14 Doug Nazar + + * Makefile.am, conf/Makefile.am, data/Makefile.am, docs/Makefile.am, + docs/man/Makefile.am: Fix spellcheck to also run from separate + build dirs + +2021-06-12 Jim Klimov + + * docs/nut-names.txt: docs/nut-names.txt: add the note about RFC + Recording Document + * docs/nut-names.txt: docs/nut-names.txt: reword the intro paragraphs + and define the "experimental.*" namespace + * docs/FAQ.txt: FAQ.txt: make it easier to find suggestions for + missing "battery.charge.restart" workarounds + +2021-06-02 Nick Briggs + + * drivers/hidparser.c: Fix GetValue() to correctly extract values + from a report when compiled in LP64 mode Changes the strategy for + removing potential garbage bits from values extracted from a + report. Use the LogMin and LogMax fields to drive which bits are + meaningful but avoid confusion when, for example, given a range of + -1..2147483647 + +2021-05-30 Jim Klimov + + * configure.ac: configure.ac: bugfix - populate systemdtmpfilesdir in + its option, not systemdshutdowndir + * configure.ac: configure.ac: do not make noise with yet empty + systemdtmpfilesdir + * configure.ac: configure.ac: process other values for + systemdshutdowndir option + * configure.ac: configure.ac: just in case, double-quote to single- + tokenize detected systemd related options + * configure.ac: configure.ac: update comments for systemd related + options + +2021-05-28 Jim Klimov + + * docs/nut.dict: nut.dict: add new words for nut-website + * configure.ac: configure.ac: improve reporting of systemd options + processing + * autogen.sh, configure.ac, scripts/systemd/.gitignore, + scripts/systemd/nut-common.tmpfiles.in: configure.ac: generate + scripts/systemd/nut-common.in based on current config + * configure.ac: configure.ac: typo fix in comment + * Makefile.am, configure.ac, docs/configure.txt, docs/nut.dict, + scripts/systemd/.gitignore, scripts/systemd/Makefile.am, + scripts/systemd/nut-common.tmpfiles.in: [Issue #1030] Deliver + systemd-tmpfiles config to pre-create runtime locations + +2021-05-24 Jim Klimov + + * docs/nut.dict: Update nut.dict Update dict for PR #975 + * docs/man/nutdrv_qx.txt: Update nutdrv_qx.txt Our accepted + terminology is for multiple "UPSes" not "UPSen", however + questionable the language might be + * drivers/nutdrv_qx.c: Update nutdrv_qx.c Bump version due to + addition of `phoenixtec_command()` + * drivers/nutdrv_qx.c: Update nutdrv_qx.c Pre-initialize "e = NULL" + in phoenixtec_command(), we do not set it from `memchr()` later in + all cases. + * drivers/nutdrv_qx_masterguard.c: Update nutdrv_qx_masterguard.c + Add #include + * drivers/powerpanel.h: Update powerpanel.h Define a subdriver_t for + driver version (modifiable) vs type (bin/txt) + * drivers/powerp-txt.c: Update powerp-txt.c Fix subdriver type vs + subdriver version + * drivers/powerp-bin.c: Update powerp-bin.c Track subdriver version + * drivers/powerp-txt.c: Update powerp-txt.c Introduce versioning + * drivers/cyberpower-mib.c: Update cyberpower-mib.c Update reported + driver version after the bump + * drivers/cyberpower-mib.c: Update cyberpower-mib.c Handle + "battery.voltage" and "battery.current" readings for different MIB + revisions + +2021-05-24 Jim Klimov + + * lib/.gitignore: GitIgnore generated lib/libnutclientstub.pc + +2021-05-24 Jim Klimov + + * drivers/nutdrv_qx.c: Update nutdrv_qx.c Formatting and slight + rewording of a comment + +2021-05-24 Jim Klimov + + * drivers/usb-common.h: drivers/usb-common.h: better comment "the 5 + pieces of information by which a USB device identifies itself" + * drivers/usb-common.h: drivers/usb-common.h: move the recently added + USBDevice_t Device field to the end, for a bit of cross-version + binary compatibility + * docs/man/blazer-common.txt, docs/man/nutdrv_qx.txt, + docs/man/tripplite_usb.txt, docs/man/usbhid-ups.txt: Docs: rephrase + Note for "device" option in USB drivers + +2021-05-18 Clappier, Eric + + * tests/nutclienttest.cpp: Fix typo + +2021-05-17 Clappier, Eric + + * clients/nutclientmem.cpp, clients/nutclientmem.h, + tests/nutclienttest.cpp: Take into account pull request remarks + +2021-05-07 Clappier, Eric + + * drivers/bcmxcp_ser.c: Fix coverity test issue + * tests/nutclienttest.cpp: Try fixing coverity test issue + * clients/Makefile.am, configure.ac, lib/Makefile.am, + lib/libnutclientstub.pc.in, tests/Makefile.am: Separate lib for + stub + +2021-05-05 Clappier, Eric + + * tests/nutclienttest.cpp: Add tests in cppunit + * clients/Makefile.am: Fix missing header + +2021-05-04 Clappier, Eric + + * clients/Makefile.am, clients/{nutclientmock.cpp => + nutclientmem.cpp}, clients/{nutclientmock.h => nutclientmem.h}, + tests/nutclienttest.cpp: Rename class Fix cppunit test Add + typedef for map + * clients/nutclientmock.cpp: Fix indentation + * clients/Makefile.am, clients/nutclient.cpp, clients/nutclient.h, + clients/nutclientmock.cpp, clients/nutclientmock.h: Separate + NutClientMock class + * clients/nutclient.cpp, clients/nutclient.h, + tests/nutclienttest.cpp: Add mock for TcpClient + +2021-05-20 Denis Yurin + + * drivers/powercom-hid.c: add temperature readings for Powercom + MRT-3000 add temperature readings support for Powercom MRT-3000 + +2021-05-18 Alexey Kazancev + + * drivers/nutdrv_qx.c: nutdrv_qx.c: bump version to 0.31 + * drivers/nutdrv_qx.c: nutdrv_qx.c: add batt.volt.act validation + Some UPS return zero batt voltage after communication error. This + validation must fix wrong runtime calculation. + * drivers/nutdrv_qx.c: nutdrv_qx.c: fix snr_command communication + error in protocol matching phase. + +2021-05-06 Alexey Kazancev + + * drivers/nutdrv_qx.c: nutdrv_qx.c: bump version to 0.30 + +2021-04-26 Alexey Kazancev + + * drivers/nutdrv_qx.c: nutdrv_qx.c: add correction of runtime + estimation + +2021-04-23 Jim Klimov + + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: + fabula_hunnox_subdriver(): annotate NUT_UNUSED_VARIABLE(device) arg + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c: fix + initialization of delta_ups_type_info[] + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c: fix + initialization of delta_ups_type_info[] + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: + fabula_hunnox_subdriver(): annotate NUT_UNUSED_VARIABLE(device) arg + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: order includes and + subdrivers alphabetically + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: order includes and + subdrivers alphabetically + * clients/nutclient.cpp, clients/nutclient.h: + clients/nutclient.{h,cpp}: explicitly request assignment operator + generation for exception classes + +2021-04-09 Jim Klimov + + * drivers/metasys.c: drivers/metasys.c: fix SIZE_MAX comparison + * drivers/metasys.c: drivers/metasys.c: fix %zd printing of ssize_t + res + +2021-03-31 Jim Klimov + + * drivers/metasys.c: drivers/metasys.c: protect failsafe logic from + compiler warnings with pragmas + * drivers/metasys.c: drivers/metasys.c: upsdrv_initinfo(): pedantic + and stylistic fixes + * drivers/metasys.c: drivers/metasys.c: upsdrv_initinfo(): sanity- + check that reply was big enough to have a serial number, and then + cast for memcpy() + * drivers/metasys.c: drivers/metasys.c: get_answer(): rectify var + types to avoid signedness and range warnings + * drivers/metasys.c: drivers/metasys.c: fix arg type for + send_read_command() to avoid signedness mismatches + * drivers/metasys.c: drivers/metasys.c: refactor a get_word_float() + to simplify code + * drivers/metasys.c: drivers/metasys.c: fix fixed-width integers for + get_word()/get_long() or cast meaningfully where needed + * drivers/bcmxcp.c: drivers/bcmxcp.c: cast the bytes when + constructing "cbuf[]"s element by element + * drivers/bcmxcp.c: drivers/bcmxcp.c: instcmd(): cast use of sddelay + to avoid signedness warnings + * drivers/bcmxcp.c: drivers/bcmxcp.c: upsdrv_initinfo(): buf is + size_t by usage + * drivers/bcmxcp.c: drivers/bcmxcp.c: upsdrv_initinfo(): fix atoi() + of unsigned value for shutdown_delay + * drivers/bcmxcp.c: drivers/bcmxcp.c: fix fixed-width integers for + get_word()/get_long()/init_outlet() or cast meaningfully where + needed + * drivers/al175.c: drivers/al175.c: avoid implicit conversion of byte + to int during bit-shifting + +2021-03-30 Jim Klimov + + * drivers/al175.c: drivers/al175.c: avoid implicit tcflag_t + signedness conversion + * drivers/al175.c: drivers/al175.c: avoid implicit char/byte + conversion + * drivers/al175.c: drivers/al175.c: avoid implicit long/unsigned long + conversion, and fix formatting nearby + * drivers/al175.c: drivers/al175.c: align arguments to wrappers of + al175_do() with the uint16_t type it accepts (avoid variable-width + signed int) + * drivers/libusb.c: drivers/libusb.c: mark hid_rep_index static (not + externalized) + +2021-01-20 Jim Klimov + + * drivers/eaton-ats16-nm2-mib.c, drivers/eaton-ats16-nmc-mib.c: + eaton-ats16-nm?-mib.c: port comments from 42ity fork to clarify + what is going on here for mib2nut_info_t definitions + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: + comment about not-function pointers from libnet-snmp + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: fix + indentations and whitespaces + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: fix indentations and whitespaces + * tools/nut-scanner/nut-scanner.c: nut-scanner.c: some extra + whitespace, some missing, in longopts[] + +2021-01-06 Jim Klimov + + * server/netssl.c: server/netssl.c: #include "nut_stdint.h" for + limits definitions + * clients/upscmd.c, clients/upsimage.c, clients/upsmon.c, + clients/upsrw.c, clients/upsstats.c, common/common.c, common/str.c, + drivers/al175.c, drivers/bcmxcp.c, drivers/bcmxcp_ser.c, + drivers/bcmxcp_usb.c, drivers/bestfortress.c, drivers/etapro.c, + drivers/genericups.c, drivers/metasys.c, drivers/netxml-ups.c, + drivers/nutdrv_siemens_sitop.c, drivers/powercom.h, + drivers/richcomm_usb.c, drivers/serial.c, drivers/snmp-ups.c, + server/upsd.c: Various sources: use nut_stdint.h where limits.h was + introduced recently + * configure.ac, include/nut_stdint.h: nut_stdint.h: include limits.h + and make sure SIZE_MAX is defined + +2020-12-27 Jim Klimov + + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: fix size_t types + for upsdebugx_hex() and range-check the values + * drivers/blazer_usb.c: drivers/blazer_usb.c: fix static const struct + * drivers/blazer_usb.c: drivers/blazer_usb.c: fix whitespace + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fix static const struct + +2020-12-26 Jim Klimov + + * server/conf.c, server/upsd.c, server/upsd.h: server/upsd.{c,h} + conf.c: fix maxconn to long, to match sysconf() return value; check + that practical value range allows to malloc() the buffers + * server/upsd.c: server/upsd.c: fix size_t/ssize_t types for + {ssl_,}write() in sendback() + * server/netssl.c, server/netssl.h: server/netssl.{c,h}: fix + ssl_write()/ssl_read() to return ssize_t (like upsclient + net_write()/net_read()) + * server/netssl.c: server/netssl.c: fix int types for OpenSSL + codepaths + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: fix numphases to + unsigned int + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: fix int size_t + types for read(), malloc() etc. + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: fix size_t types + for upsdebugx_hex() and some indentation + * drivers/isbmex.c: drivers/isbmex.c: fix int size_t types for + read(), malloc() etc. + * drivers/genericups.c: drivers/genericups.c: fix int types for + sleep() + * drivers/genericups.c: drivers/genericups.c: cast termios types for + bit magic + * drivers/gamatronic.h: drivers/gamatronic.h: fix speed_t/size_t in + baud_rates[] definition like for bcmxcp_ser + * drivers/gamatronic.c: drivers/gamatronic.c: fix some whitespace + * drivers/gamatronic.c: drivers/gamatronic.c: fix int size_t types + for read(), malloc() etc. + * drivers/etapro.c: drivers/etapro.c: constrain return value for + etapro_get_response() type + * drivers/bestuferrups.c: drivers/bestuferrups.c: fix size_t int type + for execute() (use-cases pass sizeof() anyway) + * drivers/bestfortress.c: drivers/bestfortress.c: constrain value for + usleep() in upssend() + * drivers/bestfortress.c: drivers/bestfortress.c: constrain return + value for upssend() type + * drivers/bestfortress.c: drivers/bestfortress.c: fix size_t types + for upsdebugx_hex() + +2021-04-23 Jim Klimov + + * drivers/bestfortress.c: drivers/bestfortress.c: fix back setparam() + arg type + +2020-12-01 Jim Klimov + + * drivers/bestfortress.c: drivers/bestfortress.c: fix printing of + ssize_t variable + +2020-11-30 Jim Klimov + + * drivers/bestfortress.c: drivers/bestfortress.c: use size_t where it + should be, for data chunk length parsing + +2020-12-26 Jim Klimov + + * drivers/bestfcom.c: drivers/bestfcom.c: fix size_t int type for + execute() (use-cases pass sizeof() anyway) + * drivers/belkinunv.c: drivers/belkinunv.c: fix int types for read(), + malloc() etc. + * drivers/belkinunv.c: drivers/belkinunv.c: fix int types for reg + (byte) + * drivers/belkin.c: drivers/belkin.c: fix size_t/useconds_t int type + for cnt (already limited to byte range) + * drivers/bcmxcp.c: drivers/bcmxcp.c: whitespace fix indentation in + set_alarm_support_in_alarm_map() + * drivers/bcmxcp.c: drivers/bcmxcp.c: fix unsigned int type for index + arguments in set_alarm_support_in_alarm_map() + * drivers/serial.c: drivers/serial.c: fix ssize_t int type for + function returns vs size_t buflen argument + * drivers/dstate.c: drivers/dstate.c: fix size_t int type for + bufrw_max + * drivers/main.c: drivers/main.c: fix int types for poll_interval + * clients/upscmd.c: clients/upscmd.c: fix data range warnings for + asserts about implem-dependent overflow chances + * clients/upsrw.c: clients/upsrw.c: fix data range warnings for + asserts about implem-dependent overflow chances + * clients/upsclient.c: clients/upsclient.c: fix data range warnings + for asserts about implem-dependent overflow chances + * clients/upsmon.c, clients/upsmon.h: clients/upsmon.c: fix int types + for power value and totalpv accounting + * clients/upsmon.c: clients/upsmon.c: fix int types for sleep() + * clients/upsimage.c: clients/upsimage.c: make explicit casts from + floating-points into int types for rendering + * clients/upscmd.c: clients/upscmd.c: fix int types for timeouts from + upsclient.c + * clients/upsrw.c: clients/upsrw.c: fix int types for timeouts from + upsclient.c + * clients/upsclient.c: clients/upsclient.c: fix numq int types for + verify_resp() + +2020-12-25 Jim Klimov + + * clients/upsclient.c: clients/upsclient.c: make explicit a case + size_t/ssize_t casting + * clients/upsclient.c, clients/upsclient.h: clients/upsclient.{c,h}: + fix "timeout" type in + net_read/net_write/upscli_sendline_timeout/upscli_readline_timeout + to match upscli_select_read/upscli_select_write + * clients/upsclient.c: clients/upsclient.c: fix int types for OpenSSL + codepaths + +2020-12-07 Jim Klimov + + * drivers/metasys.c: drivers/metasys.c: various routines: fix + command_length into size_t + * drivers/bcmxcp_io.h, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c: + bcmxcp*: various routines: fix command_length into size_t + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: get_answer(): fix + bytes_read, end_length and length into size_t + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: get_answer(): fix + bytes_read, end_length and length into size_t + +2020-12-02 Jim Klimov + + * drivers/bcmxcp.c: drivers/bcmxcp.c: use size_t for upsdebugx_hex() + and upsdebugx_ascii() args for logged data length + +2020-12-01 Jim Klimov + + * drivers/masterguard.c: drivers/masterguard.c: fix printing of + ssize_t variable + +2020-11-30 Jim Klimov + + * clients/upsstats.c: clients/upsstats.c: fix use of use size_t vs + int-argumented printf("%.*s", int, str) formatting + * drivers/al175.c: drivers/al175.c: check pointer math WRT buffer + lengths passed to logging + * common/common.c, include/common.h: common.{c,h}: use size_t for + upsdebugx_hex() and upsdebugx_ascii() args for logged data length + * drivers/tripplitesu.c: drivers/tripplitesu.c: init_comm(): fix data + types to size_t for strlen() function + * drivers/tripplitesu.c: drivers/tripplitesu.c: do_command(): fix up + "count" int type to be unsigned + * drivers/tripplitesu.c: drivers/tripplitesu.c: do_command(): fix up + "ret" int type to avoid conversions + * drivers/masterguard.c: drivers/masterguard.c: avoid value type + conversion by changing data types to size_t for strlen() function + * drivers/masterguard.c: drivers/masterguard.c: avoid value type + conversion by casting explicitly the return value of strlen() + function + +2020-12-27 Jim Klimov + + * clients/nutclient.cpp, clients/nutclient.h: + clients/nutclient.{h,cpp}: explicitly request copy constructor + generation for exception classes + +2020-11-30 Jim Klimov + + * clients/upsset.c: drivers/upsset.c: fix up int types to avoid + implicit conversions + * clients/upsimage.c: drivers/upsimage.c: avoid value type conversion + by casting explicitly the return value of strlen() function + * clients/upsimage.c: drivers/upsimage.c: fix up int types to avoid + conversions + * clients/cgilib.c: drivers/cgilib.c: fix up int types to avoid + conversions + * clients/upsstats.c: drivers/upsstats.c: fix up floating-point types + to avoid conversions and precision change + * clients/upsstats.c: clients/upsstats.c: use size_t where it should + be, for string length related processing + * clients/upslog.c: clients/upslog.c: use size_t where it should be, + for string length related processing + * clients/upslog.c: clients/upslog.c: avoid implicit floating-integer + conversion + +2021-03-30 Jim Klimov + + * configure.ac: configure.ac: nut_enable_warnings: clang presets + should let "-Wdocumentation" slide: NUT does not use it now, and + third-party headers are what they are + +2020-12-29 Jim Klimov + + * tests/nut-driver-enumerator-test.sh: tests/nut-driver-enumerator- + test.sh: allow to pass SHELL_PROGS="busybox_sh" as a single token + +2020-12-26 Jim Klimov + + * .travis.yml: .travis.yml: move _matrix_linux_gnustd_warn_viable a + bit up in _matrix_required_linux listing, to get more probable + failures earlier + +2021-04-23 Jim Klimov + + * drivers/delta_ups-mib.c: delta-mib.c: rename onbatt_info lookup + table in commented-away code sample (and match naming pattern with + other tables) + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c: typo in comment + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: comment that Vendor ID + 0x0483 is from ST Microelectronics + +2021-04-23 Jim Klimov + + * drivers/ever-hid.c: Update ever-hid.c Make and comment the macro + for ST Microelectronics vendor id (to generate udev data, etc. + properly) + * drivers/ever-hid.c: Update ever-hid.c Lowercase the hex in vendor + ID macro, for consistency + +2021-04-22 Nick Briggs + + * drivers/hidparser.c: correct 'for' loop initial declarations are + only allowed in C99 or C11 mode + * drivers/hidparser.c: Extract values in HIDParse correctly when + compiled in 64-bit (LP64) mode Reworks the conversion of bytes in + little-endian order to host order to operate independently of the + sizeof(long) and the byte-order of the host system. The extracted + value is stored as uint32_t as the code already performs casts to + signed/unsigned of varying sizes as appropriate to the context of + use. + +2021-04-21 Jim Klimov + + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: sync polling frequencies + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: remove (read-only) mappings for ups.delay* + in favor of same points polled for ups.timer* + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: comment away ups.mfr/model/serial setting + per PR comments + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: set voltage/current/frequency precision to + %.1f same for all entries + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: set battery.charge* precision to %.0f same + for all entries + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: import delta_ups_hid2nut[] entries "as is" + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: import Helper lookup tables and mapping + functions from master + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: change delta_ups_hid2nut[] content order + by names to be same as in master + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: import named delta_ups_usage_lkp[] content + from master + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: import delta_ups_format_model() content + from master + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: move delta_ups_format_model() to same + position as in master + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: indentations in delta_ups_claim() + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: indentations in delta_ups_hid2nut[] + * drivers/delta_ups-hid.c: drivers/delta_ups-hid.c/.h: sync PR #807 + code with master branch: indentations in delta_ups_usage_lkp[] + * drivers/delta_ups-hid.c, drivers/delta_ups-hid.h: + drivers/delta_ups-hid.c/.h: sync PR #807 code with master branch: + rename delta => delta_ups, sync comments + * drivers/Makefile.am, drivers/{delta-hid.c => delta_ups-hid.c}, + drivers/{delta-hid.h => delta_ups-hid.h}, drivers/usbhid-ups.c, + scripts/upower/95-upower-hid.rules: Rename delta-hid.c/.h to + delta_ups-hid.c/.h and sync vendor label for USB [#807] + +2021-04-21 Edgar Fuß + + * drivers/nutdrv_qx.c: Correct format string size_t is unsigned, so + use %zu (not %zd) in upsdebug() format string. + * drivers/nutdrv_qx.c: Remove vis-dependent debugging code Remove + (level 4) debugging code in the phoenixtex/masterguard USB + subdriver that depends on the BSD strvis() family for visual string + formatting. + +2021-04-20 Jim Klimov + + * drivers/delta-hid.c: Update delta-hid.c Sync the vendor-name + comment (for udev generation among others) with another Delta HID + driver merged to master recently. + +2021-04-20 Jim Klimov + + * drivers/delta_ups-hid.c, scripts/upower/95-upower-hid.rules: + 95-upower-hid.rules: regenerate for idVendor=05dd (Delta UPS) + * docs/documentation.txt: docs/documentation.txt: add a section on + reporting Data dumps for the DDL + +2021-04-20 Jim Klimov + + * docs/nut.dict: Update nut.dict Updated for PR #994 + +2021-04-20 Jim Klimov + + * docs/man/nutdrv_qx.txt: docs/man/nutdrv_qx.txt: fix copy-paste typo + +2021-04-20 Ygor Amadeo Sartori Regados + + * docs/man/microsol-apc.txt: Man page compilation error fixes + * docs/man/Makefile.am, docs/man/microsol-apc.txt: Added man page + * drivers/microsol-apc.c, drivers/microsol-common.h: Fix: wrong + operator and unused function + * drivers/microsol-apc.c, drivers/microsol-apc.h: Fixed driver name + +2021-04-20 Jim Klimov + + * drivers/microsol-apc.c: Update microsol-apc.c In upsdrv_info, + split contributors one per line for better source readability + +2021-04-20 Jim Klimov + + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fix back the name for + "fabula_hunnox_subdriver" (USB protocol subdriver vs. + "hunnox_subdriver" for device data mapping) + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: bump core DRIVER_VERSION + to reflect changes from PR #638 for "hunnox" support + * docs/man/nutdrv_qx.txt, drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: + simplify new subdriver/command naming from "fabula-hunnox" to + "hunnox" + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: restore indentation with + TABs + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fabula_command_hunnox(): + comment about truncating the buflen to 102 bytes + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fabula_command_hunnox(): + comment away scoping for (and use of) "hunnox_patch" leaving the + markers in comments for refactoring + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: comment that + fabula_hunnox_subdriver was reported to support more than Hunnox + branded devices + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fabula_command_hunnox(): + restore originally PRed choice of usb_get_string{,_simple}() based + on langid_fix alone + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: separate + fabula_command_hunnox() from fabula_command() without using a mixed + routine, to ensure no impact on currently supported devices + * docs/nut.dict: docs/nut.dict: typo fix + +2021-04-20 Jim Klimov + + * docs/nut.dict: Update nut.dict Some more keywords to the + dictionary from PR #638 + +2021-04-19 Jim Klimov + + * docs/nut.dict: Update nut.dict Update dictionary for Hunnox PR + #638 + * docs/man/nutdrv_qx.txt: Update nutdrv_qx.txt Basically mention + updates from Hunnox subdriver and protocol addition (PR #638). + * drivers/nutdrv_qx.c: Update nutdrv_qx.c Err on the safer side of + changing behavior for non-hunnox device support, limit the + applicability of langid_fix (per PR #638 review cautionary + comments). Maybe the proposed original change did apply to other + devices that support the fix-up, but that should be evaluated + separately and this new constraint reversed if needed. + * drivers/nutdrv_qx_hunnox.c: Update nutdrv_qx_hunnox.c Updated file + heading + * drivers/nutdrv_qx_hunnox.h: Update nutdrv_qx_hunnox.h Updated file + heading + +2021-04-10 Jim Klimov + + * docs/images/advanced.png, docs/images/bizarre.png: Vox populi: + replace master by primary and slave by secondary in documentation + images [#840] + +2021-04-09 Jim Klimov + + * docs/images/ci/fosshost.org_Host_Dark_56px.png, + docs/images/ci/jenkins-nut-large-256px.png, docs/images/ci/jenkins- + nut-large-squared.png, docs/images/ci/jenkins-nut-large.pdn, + docs/images/ci/jenkins-nut-large.png, docs/images/ci/jenkins-nut- + small-256px.png, docs/images/ci/jenkins-nut-small.pdn, + docs/images/ci/jenkins-nut-small.png, docs/images/ci/jenkins-nut- + squared.png, docs/images/ci/jenkins-nut-transparent-bg-40px.png, + docs/images/ci/jenkins-nut-transparent-bg.png, + docs/images/ci/jenkins-nut.css, docs/images/ci/jenkins-nut.png, + docs/images/ci/jenkins-nut.txt: Add image and CSS resources used in + new Jenkins CI [#869] + +2021-04-09 Jim Klimov + + * docs/nut.dict: Update nut.dict Missed a couple of new dictionary + words + +2021-04-09 Alexey Kazancev + + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: add overflows protection + for snr subdriver + +2021-04-09 Jim Klimov + + * docs/nut.dict: Update nut.dict Added "snr" and "SNR" to + spellchecker dictionary + +2021-04-09 Alexey Kazancev + + * docs/acknowledgements.txt: docs/acknowledgements.txt: add NAG at + manufacturer list + * data/driver.list.in: data/driver.list.in: add various SNR-UPS-LID- + XXXX UPSes supported by nutdrv_qx Protocol: 'megatec' USB + subdriver: 'snr' + * docs/man/nutdrv_qx.txt: docs/man/nutdrv_qx.txt: update man page for + new 'snr' USB subdriver + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: add new 'snr' USB + subdriver to support SNR-UPS-LID units + +2021-04-08 Jim Klimov + + * docs/man/Makefile.am: Update Makefile.am Beside exactly "troff" + some systems have other "*roff" family tools and formats + +2021-04-07 Jim Klimov + + * configure.ac: configure.ac: satisfy both builders that have pkg- + config installed and those who do not + * configure.ac: configure.ac: avoid syntax errors if pkg-config is + not installed + +2021-04-06 Aaron Thompson + + * drivers/powercom.c: drivers/powercom.c: Fix a small error in output + voltage for KIN models. + +2021-03-31 Jim Klimov + + * drivers/dstate.c: drivers/dstate.c: protect failsafe logic from + compiler warnings with pragmas + +2021-03-30 Jim Klimov + + * drivers/dstate.c: drivers/dstate.c: alarm_set(): stretch slightly + absurd ways to avoid overflow and fix signed/unsigned mismatch + (follow up for #986) + * configure.ac: configure.ac: add --enable-cppunit to allow disabling + it even if deemed supported by compiler Practice shows that + libcppunit.so may be linked against a different compiler version + and/or libc than the one used for current NUT build. While formal + support checked by the script works, practical build fails. + * NEWS: NEWS: Reflect terminology change for upsmon + +2021-03-29 Jim Klimov + + * clients/upsmon.c: clients/upsmon.c: rename static functions + slavesync() => sync_secondaries() and checkmaster() => + apply_for_primary() and document them better + * README, clients/nutclient.cpp, clients/nutclient.h, + clients/upsmon.c, clients/upsmon.h, conf/ups.conf.sample, + conf/upsd.users.sample, conf/upsmon.conf.sample.in, docs/config- + notes.txt, docs/design.txt, docs/features.txt, docs/history.txt, + docs/man/clone.txt, docs/man/genericups.txt, + docs/man/libnutclient_misc.txt, docs/man/nut.conf.txt, + docs/man/nutdrv_atcl_usb.txt, docs/man/richcomm_usb.txt, + docs/man/upsd.txt, docs/man/upsd.users.txt, + docs/man/upsmon.conf.txt, docs/man/upsmon.txt, docs/net- + protocol.txt, docs/new-drivers.txt, docs/scheduling.txt, + docs/security.txt, drivers/optiups.c, scripts/augeas/README, + scripts/augeas/nutupsdusers.aug.in, + scripts/augeas/tests/test_nut.aug, scripts/perl/Nut.pm, + scripts/python/module/PyNUT.py, server/netcmds.h, server/netuser.c, + server/netuser.h, server/user.c: Vox populi: replace manager/master + by primary and subordinate/slave by secondary + * scripts/python/app/README: scripts/python/app/README: typo fix + * docs/man/libnutclient_misc.txt: docs/man/libnutclient_misc.txt: fix + English wording a bit + * docs/nut.dict: docs/nut.dict: update word-count after large docs + update + +2021-03-27 orbea + + * drivers/Makefile.am: drivers: Fix undefined references with + slibtool. + +2021-03-26 Arnaud Quette + + * scripts/upower/95-upower-hid.rules: Revert "95-upower-hid.rules + script updated" This reverts commit + 262c23c6b8f1368165c75a0df317b1ba9ff5c511. + +2021-03-26 Jim Klimov + + * tools/nut-snmpinfo.py: Update nut-snmpinfo.py Also handle the `//` + comments same way as `/*...` + +2021-03-25 Arnaud Quette + + * tools/nut-snmpinfo.py: nut-scanner: improve SNMP extractor script + Also remove EOL comments + +2021-03-24 Jim Klimov + + * drivers/bestups.c, drivers/blazer.c, drivers/blazer.h, + drivers/blazer_ser.c, drivers/blazer_usb.c: bestups, blazer* driver + sources: add obsoletion notices on top, in favor of nutdrv_qx + drivers + * tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: allow to trace USB + driver conflicts (e.g. obsoleted and new handlers of same + vendor/product IDs) + +2021-03-23 Ygor Amadeo Sartori Regados + + * drivers/microsol-apc.c, drivers/microsol-apc.h, drivers/microsol- + common.c, drivers/microsol-common.h: Bug fix: battery charge + calculation + +2021-03-23 Jim Klimov + + * ci_build.sh: ci_build.sh: make GitIgnores failure fatal (and report + what the difference is, for tracked and regenerated files) + * tests/.gitignore: GitIgnore tests/nutlogtest binary + * ci_build.sh: ci_build.sh: make GitIgnores failure fatal + +2021-03-23 Degott, Francois Regis + + * scripts/upower/95-upower-hid.rules: 95-upower-hid.rules script + updated + +2021-03-23 Ygor Amadeo Sartori Regados + + * drivers/microsol-common.c: Bug fix: Handle packet boundary + desynchronization + +2021-03-23 Degott, Francois Regis + + * scripts/upower/95-upower-hid.rules: 95-upower-hid.rules script + updated + * drivers/Makefile.am, drivers/eaton-ats16-nm2-mib.c, .../{eaton- + ats16-mib.h => eaton-ats16-nm2-mib.h}, .../{eaton-ats16-mib.c => + eaton-ats16-nmc-mib.c}, drivers/eaton-ats16-nmc-mib.h, + drivers/snmp-ups.c: improve support of EATON ATS16 NMC/NM2 + +2021-03-21 Ygor Amadeo Sartori Regados + + * drivers/microsol-apc.c: Fixed missing calculation part for BZ1500 + Bug identified with data provided on issue #697 + * drivers/microsol-common.c: CI fix: C89 compilation fixed + * drivers/Makefile.am: Missing header fixed + * drivers/Makefile.am: CI error fix: missing header file + +2021-03-19 Ygor Amadeo Sartori Regados + + * drivers/microsol-common.c, drivers/microsol-common.h: Fixed LGTM + alert about localtime_r Also passed microsol-common.c through + indent + * drivers/Makefile.am, drivers/microsol-apc.c, drivers/microsol- + apc.h, drivers/microsol-common.c, drivers/microsol-common.h: New + driver: microsol-apc Derived from solis driver, for newer APC + Back-UPS BR hardware. Support added for APC Back-UPS BZ1500, + BZ2200BI and BZ2200I. Tested on BZ2200BI. Created common file that + may be used on solis as well. + +2021-03-14 JungEon Kim + + * data/driver.list.in: Add Delta UPS Amplon R Series in drivers.list + +2021-03-14 Jim Klimov + + * drivers/dstate.c: drivers/dstate.c: alarm_set(): at least log the + truncated buf if it does not fit into dstate field + +2021-03-13 Jim Klimov + + * docs/developers.txt: docs/developers.txt: replace "master" where it + is easy, and update some recommendations + * clients/upsmon.c: clients/upsmon.c: comment that also several NUT + drivers can directly set FSD flag propagated from the smarter power + devices + * docs/security.txt: docs/security.txt: extend the Firewall section + for more considerations + * docs/man/upsmon.txt: docs/man/upsmon.txt: suggestions for + experiments about timing the shutdown vs. dummy SHUTDOWNCMD to + check the skeleton logic + * docs/man/upsmon.conf.txt: docs/man/upsmon.conf.txt: extend the + example for "bigserver" with manager vs subordinate upsmon's + * docs/history.txt: docs/history.txt: reflect that slave/master terms + were deprecated + * README: README: Make note of UPSes which allow multiple managerial + accesses + * clients/nutclient.cpp, clients/nutclient.h, clients/upsmon.c, + docs/net-protocol.txt, scripts/perl/Nut.pm, + scripts/python/module/PyNUT.py, server/netcmds.h, server/netuser.c, + server/netuser.h, server/user.c: Identify points in source code + (and few related docs) for deprecating master|slave terminology + * README, clients/upsmon.c, clients/upsmon.h, conf/ups.conf.sample, + conf/upsd.users.sample, conf/upsmon.conf.sample.in, docs/config- + notes.txt, docs/design.txt, docs/features.txt, docs/man/clone.txt, + docs/man/genericups.txt, docs/man/libnutclient_misc.txt, + docs/man/nut.conf.txt, docs/man/nutdrv_atcl_usb.txt, + docs/man/richcomm_usb.txt, docs/man/upsd.txt, + docs/man/upsd.users.txt, docs/man/upsmon.conf.txt, + docs/man/upsmon.txt, docs/net-protocol.txt, docs/new-drivers.txt, + docs/nut.dict, docs/scheduling.txt, docs/security.txt, + drivers/optiups.c, scripts/augeas/README, + scripts/augeas/nutupsdusers.aug.in, + scripts/augeas/tests/test_nut.aug, scripts/perl/Nut.pm, + server/user.c: Update documentation, emitted messages and easy-to- + fix code to rename master=>manager and slave=>subordinate + * docs/man/upsmon.txt: docs/man/upsmon.txt: suggestions for + experiments about timing the shutdown vs. dummy SHUTDOWNCMD to + check the skeleton logic + * docs/security.txt: docs/security.txt: extend the Firewall section + for more considerations + * docs/security.txt: docs/security.txt: reword one shade of "master" + * docs/solaris-usb.txt: docs/solaris-usb.txt: reword one shade of + "master" + * drivers/asem.c: drivers/asem.c: clarify the use of "S" word + * drivers/phoenixcontact_modbus.c: drivers/phoenixcontact_modbus.c: + clarify the use of "S" word + * drivers/nutdrv_qx.c, drivers/usbhid-ups.c: drivers/nutdrv_qx.c & + usbhid-ups.c: reword "Reference list of..." + * clients/upsmon.c, docs/net-protocol.txt: docs/net-protocol.txt + + upsmon.c: comment that also several NUT drivers can directly set + FSD flag propagated from the smarter power devices + * conf/upsmon.conf.sample.in: conf/upsmon.conf.sample.in: note that + systems should only shutdown when less than MINSUPPLIES PSUs are + non-critical + * conf/upsmon.conf.sample.in: conf/upsmon.conf.sample.in: note about + UPSes with manageable thresholds for critical state + * conf/upsmon.conf.sample.in: conf/upsmon.conf.sample.in: note that + rack shutdowns can compete for I/O and take longer + * conf/upsmon.conf.sample.in: conf/upsmon.conf.sample.in: generalize + the example about multi-PSU servers + * docs/config-notes.txt: docs/config-notes.txt: update the example + about multi-PSU servers + +2021-03-13 JungEon Kim + + * drivers/Makefile.am, drivers/delta_ups-hid.c, drivers/delta_ups- + hid.h, drivers/usbhid-ups.c: delta_ups-hid: Add support for Delta + UPS Amplon R Series + +2021-03-13 Jim Klimov + + * docs/config-notes.txt: docs/config-notes.txt: note about upsmon + with 0 PSUs for just-monitoring + * data/html/header.html.in, docs/cables/apc-rs500-serial.txt, + docs/cables/ge-imv-victron.txt, docs/cables/powerware.txt, + docs/cables/repotec.txt, docs/cables/sms.txt, docs/man/apcsmart- + old.txt, docs/man/apcsmart.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/bestuferrups.txt, docs/man/bestups.txt, + docs/man/everups.txt, docs/man/genericups.txt, docs/man/index.txt, + docs/man/libnutclient_misc.txt, docs/man/libnutclient_tcp.txt, + docs/man/libupsclient-config.txt, docs/man/liebert-esp2.txt, + docs/man/metasys.txt, docs/man/mge-shut.txt, docs/man/mge- + utalk.txt, docs/man/nut-driver-enumerator.txt, docs/man/nut- + ipmipsu.txt, docs/man/nut-scanner.txt, + docs/man/nutdrv_atcl_usb.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/oneac.txt, + docs/man/optiups.txt, docs/man/phoenixcontact_modbus.txt, + docs/man/powercom.txt, docs/man/powerman-pdu.txt, + docs/man/rhino.txt, docs/man/richcomm_usb.txt, + docs/man/riello_ser.txt, docs/man/riello_usb.txt, + docs/man/skel.txt, docs/man/solis.txt, docs/man/tripplite.txt, + docs/man/ups.conf.txt, docs/man/upscli_add_host_cert.txt, + docs/man/upscli_connect.txt, docs/man/upscli_disconnect.txt, + docs/man/upscli_get.txt, docs/man/upscli_init.txt, + docs/man/upscli_splitaddr.txt, docs/man/upscli_splitname.txt, + docs/man/upscli_upserror.txt, docs/man/upsclient.txt, + docs/man/upscmd.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/upslog.txt, + docs/man/upsmon.conf.txt, docs/man/upsmon.txt, docs/man/upsrw.txt, + docs/man/upssched.txt, docs/man/upsset.cgi.txt, + docs/man/upsset.conf.txt, docs/man/upsstats.html.txt, + docs/man/usbhid-ups.txt, docs/man/victronups.txt: docs: fix some + trailing whitespaces + +2021-03-12 Jim Klimov + + * drivers/dstate.c: drivers/dstate.c: limit alarm_buf string to fit + into a dstate info status, and log errors and overflows from + alarm_set() [issue #960] + +2021-03-02 Edgar Fuß + + * docs/man/blazer-common.txt, docs/man/nutdrv_qx.txt, + docs/man/tripplite_usb.txt, docs/man/usbhid-ups.txt: Add a remark + that USB device numbers may be unstable In the documentation of + the USB device number matching, add a remark that device numbers + need not to be stable across re-boots or when re-plugging the + device. + * drivers/usb-common.c: USB device matching: add debug messages on + non-match When failing to match the Device part, note this via + upsdebugx() just like when not matching any other part (VendorId, + ProductId, Bus, etc.). + +2021-03-02 Jim Klimov + + * docs/man/nutdrv_qx.txt: Update nutdrv_qx.txt Fixed typo in a new + masterguard paragraph + +2021-02-12 Edgar Fuß + + * tools/nut-usbinfo.pl: Fix VendorID/ProductID matching In a line + like { USB_DEVICE(0x06da, 0x0002), "Phoenixtec Power","USB Cable + (V2.00)", &phoenixtec_subdriver },/* Masterguard A Series */ don't + match ProductID up to the closing parenthesis in the product name + string. + +2021-02-11 Edgar Fuß + + * docs/man/masterguard.txt, docs/man/nutdrv_qx.txt, docs/nutdrv_qx- + subdrivers.txt, drivers/Makefile.am, drivers/nutdrv_qx.c, + drivers/nutdrv_qx_masterguard.c, drivers/nutdrv_qx_masterguard.h: + Add Masterguard A/E driver based on Q* framework Add a new driver + for Masterguard A and E series based on the Q* framework + (nutdrv_qx). Based on vendor documentation of both the command set + and USB protocol I was both asked not to disclose. Supports "new" + A700/1000/2000/3000(-19) and E40/60/100(-19) (totally untested due + to lack of hardware). Still sort of work in progress due to some + open questions on NUT integration. + * docs/man/blazer-common.txt, docs/man/nutdrv_qx.txt, + docs/man/tripplite_usb.txt, docs/man/usbhid-ups.txt, + drivers/blazer_usb.c, drivers/libusb.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: Add USB + device number matching Extend the USB matching by a device number + (in addition to the existing bus number) by adding a Device field + to USBDevice_[st] and ammending the RegExp by a seventh field. + Maybe some #defines for the magical constants would be appropriate. + Add DEBUG_EXACT_MATCH_DEVICE analogous to DEBUG_EXACT_MATCH_BUS, + whatever its intended usage is. Document the device field where + the bus field was documented (which is not the case everywhere it's + actually used). + +2021-01-31 TJ McConnell + + * drivers/tripplite-hid.c: Move 0x3024 alphabetically. Add comment + about new version + +2021-01-26 Arnaud Quette + + * 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 + +2021-01-23 Yifeng Li + + * drivers/main.c: main.c: write upsdrv_initinfo/updateinfo() logs to + syslog When a NUT driver is started (via upsdrvctl start), it runs + the following sequence: 1. Run as a foreground process. 2. Do some + basic initialization, log to stderr. 3. If not debugging: - fork() + - Run as a daemon, stderr off, syslog on. The problem, however, is + that upsdrv_initinfo() and updateinfo() are first called before + forking, as a result, the log messages is only sent to stderr, not + syslog. On a traditional init + syslog server setup, those startup + messages are lost. However, those lost messages can be urgent - for + example, it can be a warning about a failed UPS inverter. If the + server is freshly started, the admin may miss them until much + later, or keep staring at the mysterious alarm word without finding + anything relevant in syslog. Similarly, other types of warnings, + such as a rounded ondelay value, should also be visible in syslog. + This patch checks the debugging flags and turn on syslog earlier + when it's in non-debug, non-fork mode, allowing the logs during + upsdrv_initinfo() and upsdrv_updateinfo() to be recorded in syslog. + Mailing list discussion: https://alioth- + lists.debian.net/pipermail/nut-upsdev/2021-January/007508.html + +2021-01-23 TJ McConnell + + * drivers/tripplite-hid.c, scripts/upower/95-upower-hid.rules: Add + AVR750U (0x3024). Use smart1500lcdt_scale for + voltage/current/frequence + +2021-01-20 Jim Klimov + + * drivers/delta_ups-mib.c: delta-mib.c: rename onbatt_info lookup + table in commented-away code sample + * drivers/huawei-mib.c: huawei-mib.c: rename onbatt_info lookup table + in commented-away code sample + * drivers/xppc-mib.c: xppc-mib.c: rename onbatt_info lookup table in + commented-away code sample + +2016-05-25 Jim Klimov + + * drivers/raritan-px2-mib.c: raritan-px2-mib - renamed lookups to + have "raritanpx2_*" prefix + * drivers/raritan-pdu-mib.c: raritan-pdu-mib - renamed lookups to + have "raritan_pdu_*" prefix + * drivers/powerware-mib.c: powerware-mib - renamed "ietf_*" and + "eaton_*" lookups to have "pw_*" prefix + +2016-05-23 Jim Klimov + + * drivers/mge-mib.c: mge-mib.c : rename rogue ietf_* lookups to mge_* + +2016-05-25 Jim Klimov + + * drivers/baytech-mib.c: baytech-mib - renamed "outlet_status_info" + lookup to "baytech_outlet_status_info" + * drivers/apc-ats-mib.c: apc-ats-mib.c- renamed "ats_*" lookups to + "apc_ats_*" + +2021-01-08 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix instant commands using numeric + parameters Instant commands using numeric parameters, like + on/off/cycle commands, were failing due to a bad value submitted + type (time instead of integer) Cherry-picked from + https://github.com/42ity/nut/pull/120 + +2020-12-29 Steve Magoun + + * drivers/macosx-ups.c: drivers/macosx-ups.c: Add ups.mfr and + ups.model legacy vars, fixes #949 + +2020-12-29 Jim Klimov + + * ci_build.sh: ci_build.sh: allow CI workers to say if they have + functional libgd (for the current compiler/ABI version) so whether + it should not be required + +2020-12-28 Jim Klimov + + * ci_build.sh: ci_build.sh: treat helper dirs (tmp/ .inst/ + CCACHE_DIR/) correctly even if named FS objects are symlinks to + dirs + * docs/Makefile.am, docs/man/Makefile.am: docs/{man/,}Makefile.am: + parameterize EGREP and call "file" sanity checks case-insensitive + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: detect Apple + LLVM as CLANG + +2020-12-27 Jim Klimov + + * configure.ac, docs/developers.txt: configure.ac + docs/developers.txt: add a "medium" warning pre-set difficulty + level + * configure.ac: configure.ac: document the choice rationale of no- + warning macros + * docs/developers.txt, docs/nut.dict: docs/developers.txt: document + the new --enable-warnings options + * configure.ac: configure.ac: define a clang-minimal warning preset + that our codebase already survives + * .travis.yml, configure.ac: Move comment about clang no-warning + selection from .travis.yml to configure.ac + * .travis.yml: .travis.yml: make use of BUILD_WARNFATAL=yes + BUILD_WARNOPT=hard to simplify the test setup specifications + +2020-12-26 Jim Klimov + + * configure.ac: configure.ac: hush clang warnings about nullptr in + C++ code (c++98 not compatible)) + * configure.ac: configure.ac: provide a hidden "gcc-legacy" warnings + option to cover previous behavior + * ci_build.sh: ci_build.sh: allow passing --enable-warnings=... and + --enable-Werror=... args via BUILD_WARNOPT and BUILD_WARNFATAL + envvars + * configure.ac: configure.ac: implement --enable-warnings=... and + --enable-Werror(=yes/no) to specify the presets we require to pass + * m4/nut_arg_with.m4: m4/nut_arg_with.m4: add NUT_ARG_ENABLE and + document the difference vs NUT_ARG_WITH + * ci_build.sh: ci_build.sh: support passing BUILD_SSL_ONCE=true to + only try whichever SSL implem is found, not both even if installed + * autogen.sh: autogen.sh: shell-check that generated configure script + is syntactically valid + * m4/nut_compiler_family.m4: m4/nut_compiler_family.m4: fix tracking + nut_cv_CLANGCC and determining CLANGCC=yes + * drivers/apcsmart.c, drivers/apcsmart.h: drivers/apcsmart.{c,h}: + drop custom debx()/logx()/fatx()/fate() macros in favor of NUT- + standard ones + +2020-12-02 Jim Klimov + + * drivers/bcmxcp.c: drivers/bcmxcp.c: fix a few whitespaces + (indentation) + +2020-12-07 Jim Klimov + + * drivers/libusb.c: drivers/libusb.c: fix whitespace + +2020-12-25 Jim Klimov + + * common/common.c: common/common.c: fix initialization of a struct + timeval (initialize all fields) + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: fix + initialization of a info_lkp_t (initialize all fields) + * drivers/al175.c: drivers/al175.c: assert incoming numbers, error- + check the sprintf() result, and comment why + * drivers/blazer_usb.c, drivers/nutdrv_qx.c: nutdrv_qx blazer_usb: + report acceptable subdriver names in help() + +2020-12-25 Jim Klimov + + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: + match_function_subdriver(): upsdebugx() device matching faults to + help troubleshoot driver setups + +2020-12-24 Jim Klimov + + * drivers/usb-common.c: usb-common.c: upsdebugx() device matching + faults to help troubleshoot driver setups + +2020-12-25 Jim Klimov + + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: add comment for per- + warning pragma naming + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: fix wrong long macro + name typo, for the pragmas gating + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.h: #include + (lost in cherrypick web) + * docs/nut.dict: docs/nut.dict: add Evgeny + * docs/nut.dict: docs/nut.dict: add maintainership + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: fix nesting of macros + for pragmas + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: use HAVE_PRAGMAS_FOR_GC + C_DIAGNOSTIC_IGNORED_TAUTOLOGICAL_CONSTANT_OUT_OF_RANGE_COMPARE + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce HAVE_PRAGMAS_FOR_ + GCC_DIAGNOSTIC_IGNORED_TAUTOLOGICAL_CONSTANT_OUT_OF_RANGE_COMPARE + (equivalent of HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_TYPE_LIMITS on + some compilers) + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: comment in/out function + contexts for the pragma + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: do macro magic for + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_TYPE_LIMITS_BESIDEFUNC working + with older compilers + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: separate the support for + #pragma GCC diagnostic... inside vs outside function bodies + (gcc-4.4 and older are upset about "inside" case) + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: cast type for printing + speed_t on different OSes + +2020-12-07 Jim Klimov + + * drivers/bcmxcp_ser.c, drivers/bcmxcp_ser.h: + drivers/bcmxcp_ser.{c,h}: get_answer(): fix baud rate processing + into speed_t and size_t + +2020-12-23 Jim Klimov + + * docs/user-manual.txt: docs/user-manual.txt: small typo fix + * docs/nut.dict: nut.dict: update with project names that nut-website + spellchecking prefers to know + * docs/nut.dict: nut.dict: update with project names that nut-website + spellchecking prefers to know + * docs/nut.dict: nut.dict: update with project names that nut-website + spellchecking prefers to know + +2020-12-21 Jim Klimov + + * docs/acknowledgements.txt: docs/acknowledgements.txt: update + persons currently involved, new maintainer https://alioth- + lists.debian.net/pipermail/nut-upsdev/2020-November/007494.html + +2020-12-15 Bi11 + + * drivers/snmp-ups.c, tools/nut-scanner/scan_snmp.c: Fix incorrect + fatal message for privProtocol + * tools/nut-scanner/scan_snmp.c: Fix incorrect usmAESPrivProtocol + import in nut-scanner In libnetsnmp, usmAES128PrivProtocol is a + pointer, while usmAESPrivProtocol is an array. This change is the + same as in c7cf507454bcf6f40b24b58e61c130c7772c5bf2. + +2020-12-15 Arnaud Quette + + * 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 Partially + cherry-picked from 42ity fork, and bumped to their faster moving + MIB mapping revision number. See + https://github.com/42ity/nut/pull/118 As for the behavior of the + fix: * on G2, the first outlet.switchable doesn't exist, so try + the 2nd, which is the ugly hack: try on the first outlet to see if + switchable * on G3, the first is good, so flag unique does the + rest Tested on MA G2 and G3. + +2020-11-30 Jim Klimov + + * drivers/dummy-ups.c: drivers/dummy-ups.c: use size_t where it + should be, for numargs-related parsing + * clients/upsclient.c: clients/upsclient.c: use size_t where it + should be, for numargs parsing + * server/netcmds.h, server/netget.c, server/netget.h, + server/netinstcmd.c, server/netinstcmd.h, server/netlist.c, + server/netlist.h, server/netmisc.c, server/netmisc.h, + server/netset.c, server/netset.h, server/netssl.c, server/netssl.h, + server/netuser.c, server/netuser.h, server/upsd.c, server/user.c: + server/*: numerous upsd commands: use size_t where it should be, + for numargs parsing + * server/sockdebug.c: server/sockdebug.c: use (and print) size_t + where it should be, for numargs parsing + * drivers/dstate.c: drivers/dstate.c: use size_t where it should be, + for numargs parsing + * clients/upssched.c: clients/upssched.c: use (and print) size_t + where it should be, for numargs parsing + * clients/upsmon.c: clients/upsmon.c: use size_t where it should be, + for numargs parsing + * clients/upsset.c: clients/upsset.c: use size_t where it should be, + for numargs parsing + * server/conf.c: server/conf.c: use size_t where it should be, for + numargs parsing + * drivers/snmp-ups.c: drivers/snmp-ups.c: whitespace fix + * drivers/snmp-ups.c: drivers/snmp-ups.c: use size_t where it should + be, for numargs parsing + * common/state.c, include/state.h, server/sstate.c: common and server + state.c: use size_t where it should be, for numargs and numflags + parsing + * drivers/clone-outlet.c: drivers/clone-outlet.c: use size_t where it + should be, for numargs parsing + * drivers/clone.c: drivers/clone.c: use size_t where it should be, + for numargs parsing + * server/netssl.c: server/netssl.c: avoid implicit size_t (arch- + dependent) vs. PRInt32 (Mozilla NSS) integer conversion + * clients/upsclient.c: clients/upsclient.c: avoid implicit size_t + (arch-dependent) vs. PRInt32 (Mozilla NSS) integer conversion + +2020-12-02 Jim Klimov + + * drivers/solis.c: Update solis.c Shuffle the comparison in the if- + clause to certainly bail out if we did not read from the port. + +2020-11-30 Jim Klimov + + * drivers/bestfortress.c: drivers/bestfortress.c: fix up int types to + avoid implicit conversions, and pre-initialize to avoid + uninitialized use + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: initialize + variable to avoid potential uninitialized use + * drivers/blazer.c: drivers/blazer.c: initialize variable to avoid + potential uninitialized use and convey an error if that happens + * drivers/powerpanel.c: drivers/powerpanel.c: initialize variable to + avoid potential uninitialized use and convey an error if that + happens + * drivers/solis.c: drivers/solis.c: initialize variable to avoid + potential uninitialized use and convey an error if that happens + * drivers/rhino.c: drivers/rhino.c: initialize variable to avoid + potential uninitialized use and convey an error if that happens + * drivers/bestfortress.c: drivers/bestfortress.c: initialize + variables to avoid potential uninitialized use and null-pointer + dereference if data processing fails + +2020-12-02 Jim Klimov + + * include/nut_float.h: Update nut_float.h Consider equality to + epsilon to be also treated as zero + * include/nut_float.h: Update nut_float.h Fix copyright line + +2020-11-30 Jim Klimov + + * drivers/cps-hid.c: drivers/cps-hid.c: employ nut_float.h for safer + floating point comparisons + * drivers/snmp-ups.c: drivers/snmp-ups.c: employ nut_float.h for + safer floating point comparisons + * drivers/nutdrv_qx_voltronic.c: drivers/nutdrv_qx_voltronic.c: + employ nut_float.h for safer floating point comparisons + * drivers/nutdrv_qx_bestups.c: drivers/nutdrv_qx_bestups.c: employ + nut_float.h for safer floating point comparisons + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: employ nut_float.h for + safer floating point comparisons + * drivers/blazer.c: drivers/blazer.c: employ nut_float.h for safer + floating point comparisons + * drivers/upscode2.c: drivers/upscode2.c: employ nut_float.h for + safer floating point comparisons + * drivers/solis.c: drivers/solis.c: employ nut_float.h for safer + floating point comparisons + * drivers/rhino.c: drivers/rhino.c: employ nut_float.h for safer + floating point comparisons + * drivers/metasys.c: drivers/metasys.c: employ nut_float.h for safer + floating point comparisons + * drivers/mge-hid.c: drivers/mge-hid.c: employ nut_float.h for safer + floating point comparisons + * configure.ac, include/Makefile.am, include/nut_float.h: Introduce + nut_float.h and check more carefully for presence of math.h and/or + float.h in the build system + * drivers/tripplitesu.c: drivers/tripplitesu.c: avoid "bad function + cast" by casting explicitly the return value of the function + * drivers/tripplite.c: drivers/tripplite.c: avoid "bad function cast" + by casting explicitly the return value of the function + * drivers/mge-xml.c: drivers/mge-xml.c: avoid "bad function cast" by + casting explicitly the return value of the function + * drivers/bestfortress.c: drivers/bestfortress.c: avoid "bad function + cast" by casting explicitly the return value of the function + * drivers/snmp-ups.c: drivers/snmp-ups.c: fix snprintf() target + buffer size from bogus sizeof() determination (#926) + +2020-11-29 Jim Klimov + + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: fix const + qualifier usage + * drivers/snmp-ups.c: drivers/snmp-ups.c: fix const qualifier usage + * drivers/snmp-ups.h: drivers/snmp-ups.h: remove const qualifiers + from strings in snmp_info_t, we have code that writes into them + * drivers/dstate.c: drivers/dstate.c: dstate_tree_dump(): fix const + qualifier usage + * drivers/bestfcom.c: drivers/bestfcom.c: avoid "bad function cast" + by casting explicitly the return value of the function + * drivers/libshut.c: drivers/libshut.c: avoid alignment issues with + buffer used actually for different variable types + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_CAST_ALIGN to quiesce warnings + about a value we anyway receive a pointer to + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_CAST_ALIGN + +2020-11-25 Jim Klimov + + * drivers/solis.c: drivers/solis.c: avoid variable-length arrays, + their support became optional after C99 + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: avoid variable-length + arrays, their support became optional after C99 + * drivers/apcsmart.c: drivers/apcsmart.c: avoid variable-length + arrays, their support became optional after C99 + * drivers/rhino.c: drivers/rhino.c: upsdrv_shutdown(): use sendshut() + * drivers/rhino.c: drivers/rhino.c: sendshut(): handle negative + returns from send_command() + * drivers/rhino.c: drivers/rhino.c: fix mismatched signedness in + comparison + * drivers/rhino.c: drivers/rhino.c: avoid variable-length arrays, + their support became optional after C99 + +2020-11-29 Jim Klimov + + * server/sstate.c: server/sstate.c: sstate_dead(): do not shadow + global varname "maxage" with same-named func argument + * drivers/snmp-ups.c: drivers/snmp-ups.c: su_ups_get(): do not shadow + function-scope varname "value" with temporary-scope namesake + * drivers/snmp-ups.c: drivers/snmp-ups.c: snmp_ups_walk(): do not + shadow global varnames "(input|output|bypass)_phases" with same- + named func local variables + * drivers/upscode2.c: drivers/upscode2.c: check_uppm(): do not shadow + function-scope varname "val" with temporary-scope namesake + * drivers/libhid.c: drivers/libhid.c: new_report_buffer(): do not + shadow global varname "pDesc" with same-named func argument + * drivers/libshut.c: drivers/libshut.c: do not shadow global varnames + "upsfd" and "device_path" with same-named func arguments in + numerous routines + * drivers/dummy-ups.c: drivers/dummy-ups.c: parse_data_file(): do not + shadow global varname "upsfd" with same-named func argument (unused + for good measure) + * clients/upsset.c: clients/upsset.c: print_rw(): do not shadow + global varname "upsname" with same-named func argument + * drivers/riello_usb.c: drivers/riello_usb.c: fix array initializers + for sentinel entries + * drivers/blazer_usb.c: drivers/blazer_usb.c: fix array initializers + for sentinel entries + * drivers/nutdrv_qx_voltronic.c: drivers/nutdrv_qx_voltronic.c: fix + array initializers for sentinel entries + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: fix array initializers + for sentinel entries + * drivers/apcsmart_tabs.c: drivers/apcsmart_tabs.c: fix array + initializers for sentinel entries + * drivers/apcsmart_tabs.c: drivers/apcsmart_tabs.c: fix numeric 0 + into pointer NULL + * drivers/apcsmart.c: drivers/apcsmart.c: fix array initializers for + sentinel entries + * drivers/blazer_ser.c: drivers/blazer_ser.c: fix array initializers + for sentinel entries + * drivers/blazer.c: drivers/blazer.c: fix array initializers for + sentinel entries + * drivers/powerp-txt.c: drivers/powerp-txt.c: fix array initializers + for sentinel entries + * drivers/powerp-bin.c: drivers/powerp-bin.c: fix array initializers + for sentinel entries + * drivers/mge-hid.c: drivers/mge-hid.c: fix array initializers for + sentinel entries + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: upsdrv_initinfo(): + fix array initializer; small whitespace clean-up + * server/upsd.c: server/upsd.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_COVERED_SWITCH_DEFAULT to + reinforce the defensive programming patterns + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_COVERED_SWITCH_DEFAULT to + reinforce the defensive programming patterns + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_COVERED_SWITCH_DEFAULT to + reinforce the defensive programming patterns + * drivers/powerp-bin.c: drivers/powerp-bin.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_COVERED_SWITCH_DEFAULT to + reinforce the defensive programming patterns + * drivers/upscode2.c: drivers/upscode2.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_COVERED_SWITCH_DEFAULT to + reinforce the defensive programming patterns + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_COVERED_SWITCH_DEFAULT to + reinforce the defensive programming patterns + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_COVERED_SWITCH_DEFAULT + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_ASSIGN_ENUM + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES to quiesce a + system definition of signal routines + * drivers/dstate.c: drivers/dstate.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES to quiesce a + system definition of signal routines + * drivers/main.c: drivers/main.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES to quiesce a + system definition of signal routines + * clients/upssched.c: clients/upssched.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES to quiesce a + system definition of signal routines + * clients/upsmon.c: clients/upsmon.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES to quiesce a + system definition of signal routines + * server/upsd.c: server/upsd.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES to quiesce a + system definition of signal routines + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES to quiesce a + system definition of signal routines + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_COVERED_SWITCH_DEFAULT + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_ASSIGN_ENUM + * tools/nut-scanner/nutscan-ip.c: tools/nut-scanner/nutscan-ip.c: + whitespace/formatting fixes + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: + whitespace/formatting fixes + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_COVERED_SWITCH_DEFAULT + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_STRICT_PROTOTYPES + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_ASSIGN_ENUM to quiesce a + thirdparty-strange usecase of enum + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_ASSIGN_ENUM + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + whitespace/formatting fixes + * tools/nut-scanner/nutscan-ip.h: tools/nut-scanner/nutscan-ip.h: + whitespace/formatting fixes + * tools/nut-scanner/nutscan-device.c: tools/nut-scanner/nutscan- + device.c: whitespace/formatting fixes + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: + drop semicolons after scope braces + +2020-11-28 Jim Klimov + + * ci_build.sh: ci_build.sh: consider "gdlib" pkg-config presence + equivalent to "libgd" There is a discrepancy between OS distro + packaging names and the delivered .pc file name... + * .travis.yml: .travis.yml: mark "gnu*-nowarn-x86-32bit" test cases + evergreen + +2020-11-27 Jim Klimov + + * drivers/bcmxcp.c, drivers/bcmxcp.h: drivers/bcmxcp.{h,c}: typo fix + CAPASITOR=>CAPACITOR + * tests/cpputest.cpp: cpputest.cpp: be sure to be able to handle + exception objects + +2020-11-26 Jim Klimov + + * drivers/blazer_usb.c: drivers/blazer_usb.c: annotate + #if/#else/#endif relevant to TESTING builds + * scripts/Solaris/precheck.py: scripts/Solaris/precheck.py: quote + shell vars, and report mismatches if any + +2020-11-27 Jim Klimov + + * .travis.yml: .travis.yml: xenial@s390x does not have "time" for us + (missed one beat) + +2020-11-26 Jim Klimov + + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: copy-paste + typo fix about unreachable code + * drivers/libusb.c: drivers/libusb.c: copy-paste typo fix about + unreachable code + +2020-11-27 Jim Klimov + + * .travis.yml: .travis.yml: from 32-bit build envs, drop amd64 libs + that confuse the linker + * .travis.yml: .travis.yml: tell the linker to go 32-bit too + +2020-11-23 Jim Klimov + + * .travis.yml: .travis.yml: work around poor packaging of multilib + perl in ubuntu + * .travis.yml: .travis.yml: define a &deps_driverlibs_cross_i386 list + for cross-builds (x86 32-bit) + * .travis.yml: .travis.yml: for x86-32 builds with gnu17 standard, + try to change install order for g++-multilib + * .travis.yml: .travis.yml: for x86-32 builds with gnu99 standard, + avoid g++-multilib + +2020-11-20 Jim Klimov + + * .travis.yml: .travis.yml: explicit support on 64-bit Debianish + systems for "gcc -m32" at least appears with gcc-multilib and + g++-multilib packages + +2020-11-03 Jim Klimov + + * .travis.yml: .travis.yml: comment for exploring ways to get 32-bit + travis builds + * .travis.yml: Issue #823 follow-up: add explicitly x86 32-bit builds + in Travis CI + +2020-11-27 Jim Klimov + + * ci_build.sh: ci_build.sh: relax the naming of libgd options seen in + the wild + +2020-11-23 Jim Klimov + + * ci_build.sh: ci_build.sh: warn if libgd is not seen and a "default- + all-errors" build might go without CGI binaries + +2020-11-17 Jim Klimov + + * drivers/phoenixcontact_modbus.c: drivers/phoenixcontact_modbus.c: + mrir(): do not shadow global varname "ctx" with same-named func + argument + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: possibly_supported(): + do not shadow global varname "hd" with func argument "hd" + +2020-11-25 Jim Klimov + + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: drop semicolons after scope braces + * tools/nut-scanner/nutscan-device.c: tools/nut-scanner/nutscan- + device.c: drop semicolons after scope braces + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: drop + semicolons after scope braces + * drivers/riello.c: drivers/riello.c: drop extra semicolons + * drivers/bcmxcp.c: drivers/bcmxcp.c: drop semicolons after scope + braces + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: drop + semicolons after scope braces + * drivers/powercom.c: drivers/powercom.c: drop semicolons after scope + braces + * drivers/dstate.c: drivers/dstate.c: declare a macro for scoped + block in a way that semicolon may follow + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: + mark up NUT_UNUSED_VARIABLEs + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: mark + up NUT_UNUSED_VARIABLEs + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: mark up NUT_UNUSED_VARIABLEs + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: mark + up NUT_UNUSED_VARIABLEs + +2020-11-27 Jim Klimov + + * clients/Makefile.am: clients/Makefile.am: + AM_CXXFLAGS+=-I$(top_srcdir)/include + +2020-11-25 Jim Klimov + + * tests/example.cpp, tests/nutclienttest.cpp: tests/nutclienttest.cpp + example.cpp: wrap into + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_GLOBAL_CONSTRUCTORS et al to + avoid warnings for CPPUnit macro implementation (boils down to + static vars) + * tests/cpputest.cpp, tests/example.cpp, tests/nutclienttest.cpp, + tests/nutlogtest.c: tests/*.{c,cpp}: update legaleze headings + * tests/example.cpp: tests/example.cpp: fix casting + * tests/nutclienttest.cpp: tests/nutclienttest.cpp: fix CPPUNIT + assert after nullptr + * tests/nutclienttest.cpp: tests/nutclienttest.cpp: fix NULL => + nullptr + * tests/nutclienttest.cpp: tests/nutclienttest.cpp: fix casting + * tests/Makefile.am: tests/Makefile.am: fix delivery and tracking of + CPPUNITTEST(ER)SRC + * tests/nutlogtest.c: tests/nutlogtest.c: add more tests to + investigate NUT_STRARG() behaviors + * configure.ac, include/str.h, m4/ax_c_pragmas.m4: + m4/ax_c_pragmas.m4, str.h => common.h: introduce + HAVE_PRINTF_STRING_NULL and NUT_STRARG(x) macro (for issue #904) + * tests/nutlogtest.c: tests/nutlogtest.c: use + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_FORMAT_OVERFLOW detection to + quiesce warnings about "%s" resolving from NULL pointer First shot + at issue NUT #904 + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: introduce + HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_FORMAT_OVERFLOW detection First + shot at issue NUT #904 + * tests/cpputest.cpp: tests/cpputest.cpp: print final result code + more comprehensibly (especially since process exit code is + inverted) + * clients/Makefile.am: clients/Makefile.am: be sure to use NUT + libcommon for CXX client builds + * clients/nutclient.cpp, clients/nutclient.h: + clients/nutclient.{h,cpp}: move virtual destructors of exception + classes into CPP file to bolt a linker unit (avoid Weak Vtables + warnings and related build overheads) + * clients/nutclient.cpp: clients/nutclient.cpp: (presumed) typo fix - + line ended with comma not semicolon + * clients/nutclient.cpp: clients/nutclient.cpp: quiesce warning and + make visible the unused variable + * clients/Makefile.am: clients/Makefile.am: define HAVE_NUTCOMMON for + NUT C++ builds + * clients/nutclient.cpp: clients/nutclient.cpp: use pragmas for + -Wexit-time-destructors and -Wglobal-constructors handling for an + std:string static variable + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: define pragmas for -Wexit- + time-destructors and -Wglobal-constructors handling + * clients/nutclient.cpp, clients/nutclient.h: + clients/nutclient.{h,cpp}: align strarr_alloc() type with xcalloc() + it uses => size_t + * clients/nutclient.cpp: clients/nutclient.cpp: fix old-style C casts + into static_cast<>s + * clients/nutclient.cpp, clients/nutclient.h: clients/nutclient.cpp: + for (clang) c++ builds with C++11/17/20, avoid warnings about C++98 + compatibility that we do not claim anyway - quiesce in C++ source + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: for (clang) c++ builds with + C++11/17/20, avoid warnings about C++98 compatibility that we do + not claim anyway - check that we have pragmas for that + * clients/nutclient.h: clients/nutclient.h: align method docs with + param names + +2020-11-26 Bastien Nocera + + * tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: Reindent upower rules + header This piece of the code was really confusing because it + looked like, at a glance (and at more than a glance), that the line + which we'd have read in the generated rules file was commented out. + Turns out that beginning of lines in the generated rules could be + in the middle of the line in the code that generated it. Reindent + everything so that each line in the output corresponds to one line + in the input, except for empty lines. There are no differences in + output between the versions before and after this change. + * tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: Simplify exit path Why + "!= usb" when we're already checking for usb and other values + above? Always go to the end label if we didn't already jump to the + section containing the actual rules. + +2020-11-25 Jim Klimov + + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: do + not wrap variable definitions into parentheses like function + pointers + * drivers/al175.c: drivers/al175.c: declare function(void) prototypes + explicitly + * drivers/netxml-ups.c: drivers/netxml-ups.c: + netxml_alarm_subscribe(): explicitly cast range-limited int + conversions + * drivers/powercom.c: drivers/powercom.c: wrap unreachable exit() + added due to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + * drivers/powerman-pdu.c: drivers/powerman-pdu.c: annotate + upsdrv_shutdown() with noreturn attr + * drivers/powercom.c: drivers/powercom.c: annotate upsdrv_shutdown() + with noreturn attr + * drivers/riello_usb.c: drivers/riello_usb.c: annotate shutdown*() + with noreturn attr + * drivers/powercom.c: drivers/powercom.c: annotate shutdown*() with + noreturn attr + * drivers/al175.c: drivers/al175.c: annotate upsdrv_shutdown() with + noreturn attr + * clients/upsmon.c: clients/upsmon.c: annotate forceshutdown() with + noreturn attr + * clients/upsimage.c: clients/upsimage.c: wrap unreachable exit() + added due to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + * clients/upsimage.c: clients/upsimage.c: annotate lots of routines + with noreturn attr + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: + mark up NUT_UNUSED_VARIABLEs + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: mark + up NUT_UNUSED_VARIABLEs + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: mark up NUT_UNUSED_VARIABLEs + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: mark + up NUT_UNUSED_VARIABLEs + * drivers/netxml-ups.c: drivers/netxml-ups.c: align method docs with + param names + * drivers/netxml-ups.c: drivers/netxml-ups.c: align method docs with + supported keywords + * drivers/al175.c: drivers/al175.c: align method docs with param + names + * drivers/hidparser.c: drivers/hidparser.c: satisfy pedantic macro + parser (defined vs. used value) + * drivers/libshut.c: drivers/libshut.c: satisfy pedantic macro parser + (defined vs. used value) + +2020-11-26 Jim Klimov + + * drivers/libusb.c: drivers/libusb.c: copy-paste typo fix about + unreachable code + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: copy-paste + typo fix about unreachable code + +2020-11-25 Jim Klimov + + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: wrap unreachable exit() + added due to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + +2020-11-26 Jim Klimov + + * drivers/nutdrv_qx_blazer-common.c: drivers/nutdrv_qx_blazer- + common.c: remove overly-eager protection from nonliteral format + strings + +2020-11-26 Bastien Nocera + + * tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: Fix handling of "bind" + events See https://lwn.net/Articles/837033/ for an in-depth + explanation of how "bind" events should be handled in udev rules. + In short: " The ACTION line causes the entire file to be skipped + for anything other than ADD or CHANGE events; in particular, that + is what will happen with BIND events. That will cause properties + associated with those events to be lost — and the device in + question to be set up improperly (if at all). " + +2020-11-26 Jim Klimov + + * .travis.yml: .travis.yml: mark "gnu*-nowarn-s390x" test cases + evergreen + +2020-11-25 Jim Klimov + + * .travis.yml: .travis.yml: xenial@s390x does not have "time" for us + +2020-11-24 Jim Klimov + + * .travis.yml: Issue #823 follow-up: add s390x (BigEndian) builds in + Travis CI + +2020-11-25 Jim Klimov + + * drivers/riello_usb.c: drivers/riello_usb.c: do not hijack system + "errno" definition, and no use for local var of that name found + anyway + * drivers/powerman-pdu.c: drivers/powerman-pdu.c: do not assign + invalid value not from enum range, especially when for no reason + other than to have an un-used initial value + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: cover all values + of enum in a switch() Note: everything not covered before this PR + got aliased into default cases. I do not know the hardware and + models to rule this out otherwise, possibly assignments of binary + and/or smart protocol (lack of?) support are now wrong. + * drivers/powerp-bin.c: drivers/powerp-bin.c: cover all values of + enum in a switch() + * drivers/bestfcom.c: drivers/bestfcom.c: do not "break" just after + "fatalx()" + * drivers/bcmxcp.c: drivers/bcmxcp.c: do not "break" just after + "return" + * common/strerror.c: common/strerror.c: do not warn about unreachable + code in the web of ifdef built blocks + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: fix indentation + +2020-11-20 Jim Klimov + + * common/upsconf.c: common/upsconf.c: conf_args(): fix numargs type + * common/str.c: common/str.c: str_to_{u,}short{,_strict}() routines: + explicit cast from temporary variable to return-value type + * common/common.c: common/common.c: common/common.c: snprintfcat(): + replace asserts by negative returns (and errno where applicable) + * common/common.c: common/common.c: common/common.c: snprintfcat(): + sort out the messy return types (avoid implicit cast in + verification assert) + +2020-11-25 Jim Klimov + + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: do not warn + about nonliteral format string in this case + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: do not warn about + nonliteral format string in this case + * drivers/snmp-ups.c: drivers/snmp-ups.c: various routines: do not + warn about nonliteral format string in these cases + * drivers/nutdrv_qx_voltronic.c: drivers/nutdrv_qx_voltronic.c: + various routines: do not warn about nonliteral format string in + these cases + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: do not warn about + nonliteral format string in this case + * drivers/powerp-bin.c: drivers/powerp-bin.c: do not warn about + nonliteral format string in this case + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: do not warn about + nonliteral format string in this case + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: do not warn about + nonliteral format string in these cases + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: rename scope-local + 'val' variables that shadow another from same routine + * drivers/belkinunv.c: drivers/belkinunv.c: do not warn about + nonliteral format string in this case + * drivers/bcmxcp.c: drivers/bcmxcp.c: do not warn about nonliteral + format string in this case + * drivers/serial.c: drivers/serial.c: various routines: do not warn + about nonliteral format string in these cases + * clients/upsset.c: clients/drivers: error_page(): do not warn about + nonliteral format string in this case + * clients/upsmon.c: clients/drivers: do_notify(): do not warn about + nonliteral format string in this case + * clients/upsimage.c: clients/drivers: drawbar() noimage(): do not + warn about nonliteral format string in this case + * clients/upsclient.c: clients/upsclient.c: build_cmd(): do not warn + about nonliteral format string in this case + * clients/upsclient.c: clients/upsclient.c: upscli_strerror(): do not + warn about nonliteral format string in this case + +2020-11-22 Jim Klimov + + * clients/nutclient.h: clients/nutclient.h: declare strarr routines + to be seen + +2020-11-25 Jim Klimov + + * tools/nut-scanner/nutscan-display.c: tools/nut-scanner/nutscan- + display.c: declare nutscan_device_type_string[] file-local variable + as static, and fix its indentation + +2020-11-23 Jim Klimov + + * drivers/snmp-ups.c, drivers/snmp-ups.h: drivers/snmp-ups*.{c,h}: + export *_info vars to avoid not-used allegations + * drivers/apcupsd-ups.h: drivers/apcupsd-ups.h: comment away + status_info[] as currently un-used + * drivers/riello.c, drivers/riello.h, drivers/riello_ser.c, + drivers/riello_usb.c: drivers/riello*.{c,h}: properly export + variables shared between driver subtypes + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: comment away + ipmi_config as currently un-used + * drivers/mge-xml.c, drivers/netxml-ups.c, drivers/netxml-ups.h: + drivers/netxml/mge-xml*.{c,h}: export shutdown_duration more + usefully + * drivers/riello.h, drivers/riello_ser.c, drivers/riello_usb.c: + drivers/riello*.{c,h}: export get_ups_statuscode() to avoid not- + used allegations + * drivers/libshut.c: drivers/libshut.c: fix pre-declaration of + LIBshut_set_report() + * drivers/al175.c: drivers/al175.c: declare ACT methods to keep + compiler happy even if some are not currently used + * drivers/bcmxcp.c: drivers/bcmxcp.c: comment away FreqTol as + currently un-used + * tools/nut-scanner/nutscan-display.c: tools/nut-scanner/nutscan- + display.c: use nut-scan.h header + * tools/nut-scanner/nutscan-init.c: tools/nut-scanner/nutscan-init.h: + use its own header + +2020-11-22 Jim Klimov + + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: expose load_library() routine + +2020-11-23 Jim Klimov + + * server/netcmds.h: server/netcmds.h: declare function(non-void!) + prototype explicitly + +2020-11-22 Jim Klimov + + * server/netcmds.h: server/netcmds.h: declare function(void) + prototype explicitly + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: + expose load_library() routine + * clients/upslog.h: clients/upslog.h: declare function(non-void*) + prototype explicitly + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: declare multiple file-local routines + as static + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: + expose load_library() routine + * tools/nut-scanner/scan_usb.c: tools/nut-scanner/scan_usb.c: expose + load_library() routine + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: + declare a file-local routine as static + * tools/nut-scanner/scan_nut.c: tools/nut-scanner/scan_nut.c: expose + load_library() routine + * tools/nut-scanner/scan_ipmi.c: tools/nut-scanner/scan_ipmi.c: + expose load_library() routine + * drivers/nut-ipmi.h: drivers/nut-ipmi.h: declare function(void) + prototype explicitly + * drivers/apcsmart.c: drivers/apcsmart.c: declare multiple file-local + routines as static + * drivers/powercom.c: drivers/powercom.c: declare multiple file-local + variables as static + * drivers/oneac.c: drivers/oneac.c: declare multiple file-local + routines as static + * drivers/libshut.c: drivers/libshut.c: declare multiple file-local + routines as static + * drivers/microdowell.c: drivers/microdowell.c: rectify whitespaces + (indentations and blank lines) + * drivers/microdowell.c: drivers/microdowell.c: declare multiple + file-local routines as static + * drivers/microdowell.c: drivers/microdowell.c: declare a driver- + local variable as static + * drivers/metasys.c: drivers/metasys.c: declare multiple file-local + routines as static + * drivers/isbmex.c: drivers/isbmex.c: declare multiple file-local + routines as static + * drivers/gamatronic.c: drivers/gamatronic.c: do not mark common + routine as static + * drivers/gamatronic.c: drivers/gamatronic.c: declare multiple file- + local routines as static + * drivers/bestfortress.c: drivers/bestfortress.c: declare a file- + local routine as static + * drivers/bestfcom.c: drivers/bestfcom.c: declare multiple file-local + routines as static + * drivers/bestfcom.c: drivers/bestfcom.c: declare a driver-local + variable as static + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: declare a file-local + routine as static + * drivers/al175.c: drivers/al175.c: declare multiple file-local + routines as static + * server/conf.c: server/conf.c: declare a file-local variable as + static + * server/user.c: server/user.c: declare multiple file-local variables + as static, and fix their indentation + * server/upsd.c: server/upsd.c: declare multiple file-local routines + as static + * server/upsd.c: server/upsd.c: declare multiple file-local variables + as static, and fix their indentation + * server/netcmds.h: server/netcmds.h: declare a file-local variable + as static + * tools/nut-scanner/nutscan-serial.c: tools/nut-scanner/nutscan- + serial.c: declare a file-local variable as static + * tools/nut-scanner/nut-scan.h: tools/nut-scanner/nut-scan.h: declare + function(void) prototype explicitly + * tools/nut-scanner/nutscan-device.h: tools/nut-scanner/nutscan- + device.h: declare function(void) prototype explicitly + * tools/nut-scanner/scan_snmp.c: tools/nut-scanner/scan_snmp.c: + declare multiple file-local variables as static + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + declare a file-local routine as static + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + declare multiple file-local variables as static + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: declare + function(void) prototype explicitly + * drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c: declare + multiple file-local variables as static + * drivers/nut-ipmipsu.c: drivers/nut-ipmipsu.c: declare multiple + file-local variables as static + * drivers/powerman-pdu.c: drivers/powerman-pdu.c: declare multiple + file-local variables as static + * drivers/netxml-ups.c: drivers/netxml-ups.c: declare a driver-local + variable as static + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: declare multiple file- + local variables as static + * drivers/apc-hid.c: drivers/apc-hid.c: declare multiple file-local + variables as static + * drivers/emerson-avocent-pdu-mib.c: drivers/emerson-avocent-pdu- + mib.c: declare multiple file-local variables as static + * drivers/masterguard.c: drivers/masterguard.c: declare multiple + file-local variables as static + * drivers/Makefile.am, drivers/bcmxcp_ser.c, drivers/bcmxcp_ser.h, + tools/nut-scanner/scan_eaton_serial.c: Introduce bcmxcp_ser.h to + provide as extern some variables from the driver also used in nut- + scanner + * drivers/raritan-px2-mib.c: drivers/raritan-px2-mib.c: declare a + driver-local variable as static + * drivers/snmp-ups.h: clients/snmp-ups.h: declare some setter/getter + routines to be seen + * drivers/snmp-ups.h: drivers/snmp-ups.h: declare function(void) + prototype explicitly + * drivers/snmp-ups.c: drivers/snmp-ups.c: declare multiple file-local + routines as static + * drivers/snmp-ups.c: drivers/snmp-ups.c: declare multiple file-local + variables as static + * drivers/nutdrv_qx_bestups.c: drivers/nutdrv_qx_bestups.c: declare + multiple file-local variables as static + * drivers/riello_usb.c: drivers/riello_usb.c: declare multiple file- + local routines as static + * drivers/riello_usb.c: drivers/riello_usb.c: declare multiple file- + local variables as static + * drivers/riello_ser.c: drivers/riello_ser.c: declare multiple file- + local routines as static + * drivers/riello_ser.c: drivers/riello_ser.c: declare multiple file- + local variables as static + * drivers/riello.h: drivers/riello.h: declare function(void) + prototype explicitly + * drivers/riello.c: drivers/riello.c: declare multiple file-local + variables as static + * drivers/apcupsd-ups.h: drivers/apcupsd-ups.h: declare a driver- + local variable as static + * drivers/apcsmart-old.h: drivers/apcsmart-old.h: declare multiple + file-local variables as static + * drivers/victronups.c: drivers/victronups.c: declare multiple file- + local variables as static + * drivers/mge-hid.c: drivers/mge-hid.c: declare multiple file-local + variables as static + * drivers/mge-hid.c: drivers/mge-hid.c: end all info_lkp_t arrays + with sentinel entries + * drivers/apc-hid.h, drivers/libhid.h: Move "extern int + max_report_size;" declaration from drivers/apc-hid.h to more + suitable drivers/libhid.h + * drivers/mge-utalk.c: drivers/mge-utalk.c: declare a driver-local + variable as static + * drivers/mge-utalk.h: drivers/mge-utalk.h: declare a driver-local + variable as static + * drivers/metasys.c: drivers/metasys.c: declare multiple file-local + variables as static + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: declare multiple + file-local routines as static + +2020-11-20 Jim Klimov + + * drivers/genericups.h: drivers/genericups.h: declare a driver-local + variable as static + * drivers/gamatronic.h: drivers/gamatronic.h: declare multiple file- + local variables as static + * drivers/bestuferrups.c: drivers/bestuferrups.c: declare a driver- + local variable as static + * drivers/dummy-ups.c: drivers/dummy-ups.c: declare multiple file- + local variables as static + * drivers/dummy-ups.h: drivers/dummy-ups.h: declare a driver-local + variable as static + * drivers/bestuferrups.c: drivers/bestuferrups.c: declare a file- + local variable as static + * drivers/bestfortress.c: drivers/bestfortress.c: declare a file- + local variable as static + * drivers/belkinunv.c: drivers/belkinunv.c: declare multiple file- + local variables as static + * drivers/bcmxcp_ser.c: drivers/bcmxcp_ser.c: declare multiple file- + local variables as static + * drivers/bcmxcp.c: drivers/bcmxcp.c: declare multiple file-local + variables as static + * drivers/main.c: drivers/main.c: declare multiple file-local + variables as static, and fix their indentation + * clients/upssched.c: clients/upssched.c: declare multiple file-local + variables as static, and fix their indentation + * clients/upsmon.h: clients/upsmon.h: declare file-local variable as + static: struct notifylist[] + * clients/upsset.c: clients/upsset.c: declare multiple file-local + variables as static, and fix their indentation + * clients/upsimagearg.h: clients/upsimagearg.h: declare file-local + variable as static: struct imgarg[] + * clients/status.h: clients/status.h: declare file-local variable as + static: struct stattab[] + * clients/upslog.h: clients/upslog.h: declare file-local variable as + static: struct logcmds[] + * clients/upsclient.c: clients/upsclient.c: declare file-local + variable as static: struct upscli_errlist[] + +2020-11-17 Jim Klimov + + * drivers/riello_ser.c: drivers/riello_ser.c: riello_serialcomm(): do + not shadow global varname "bufIn" with same-named func argument + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: shut_synchronise(): do not shadow + global varnames "upsfd" (from scan_eaton_serial.c and main.c) with + func argument "upsfd" + +2020-11-25 Jim Klimov + + * clients/nutclient.h, tests/nutclienttest.cpp: + tests/nutclienttest.cpp: add tests on Device, Variable and Command + copying by assignment and by constructor + +2020-11-24 Jim Klimov + + * clients/nutclient.cpp: clients/nutclient.cpp: whitespace fixes + (indentations, blank lines) + * clients/nutclient.h: clients/nutclient.h: whitespace fixes + (indentations) + +2020-11-17 Jim Klimov + + * clients/nutclient.cpp, clients/nutclient.h: nutclient.cpp: match a + copy constructor with a copy assignment operator (Device, Variable, + Command classes) + +2020-11-18 Jim Klimov + + * drivers/tripplite.c: drivers/tripplite.c: upsdrv_initinfo(): use a + literal format string + +2020-11-22 Jim Klimov + + * tools/nut-scanner/nutscan-serial.c: tools/nut-scanner/nutscan- + serial.c: fix diags pragmas to use our configured-support macros + for cleaner fencing (nonliteral format strings) + +2020-11-18 Jim Klimov + + * tools/nut-scanner/nutscan-serial.c: tools/nut-scanner/nutscan- + serial.c: do not warn about nonliteral format string in this case + +2020-11-22 Jim Klimov + + * drivers/nutdrv_qx_voltronic-qs-hex.c: drivers/nutdrv_qx_voltronic- + qs-hex.c: fix diags pragmas to use our configured-support macros + for cleaner fencing (nonliteral format strings) + +2020-11-18 Jim Klimov + + * drivers/nutdrv_qx_voltronic-qs-hex.c: drivers/nutdrv_qx_voltronic- + qs-hex.c: various routines: do not warn about nonliteral format + string in these cases + +2020-11-22 Jim Klimov + + * drivers/nutdrv_qx_voltronic-qs.c: drivers/nutdrv_qx_voltronic-qs.c: + fix diags pragmas to use our configured-support macros for cleaner + fencing (nonliteral format strings) + +2020-11-18 Jim Klimov + + * drivers/nutdrv_qx_voltronic-qs.c: drivers/nutdrv_qx_voltronic-qs.c: + do not warn about nonliteral format string in this case + +2020-11-22 Jim Klimov + + * drivers/nutdrv_qx_mecer.c: drivers/nutdrv_qx_mecer.c: fix diags + pragmas to use our configured-support macros for cleaner fencing + (nonliteral format strings) + +2020-11-18 Jim Klimov + + * drivers/nutdrv_qx_mecer.c: drivers/nutdrv_qx_mecer.c: various + routines: do not warn about nonliteral format string in these cases + +2020-11-22 Jim Klimov + + * drivers/nutdrv_qx_blazer-common.c: drivers/nutdrv_qx_blazer- + common.c: fix diags pragmas to use our configured-support macros + for cleaner fencing (nonliteral format strings) + +2020-11-18 Jim Klimov + + * drivers/nutdrv_qx_blazer-common.c: drivers/nutdrv_qx_blazer- + common.c: various routines: do not warn about nonliteral format + string in these cases + +2020-11-22 Jim Klimov + + * drivers/nutdrv_qx_bestups.c: drivers/nutdrv_qx_bestups.c: fix diags + pragmas to use our configured-support macros for cleaner fencing + (nonliteral format strings) + +2020-11-18 Jim Klimov + + * drivers/nutdrv_qx_bestups.c: drivers/nutdrv_qx_bestups.c: various + routines: do not warn about nonliteral format string in these cases + +2020-11-22 Jim Klimov + + * drivers/apcupsd-ups.c: drivers/apcupsd-ups.c: fix diags pragmas to + use our configured-support macros for cleaner fencing (nonliteral + format strings) + +2020-11-18 Jim Klimov + + * drivers/apcupsd-ups.c: drivers/apcupsd-ups.c: do not warn about + nonliteral format string in this case + +2020-11-22 Jim Klimov + + * drivers/blazer.c: drivers/blazer.c: fix diags pragmas to use our + configured-support macros for cleaner fencing (nonliteral format + strings) + +2020-11-18 Jim Klimov + + * drivers/blazer.c: drivers/blazer.c: various routines: do not warn + about nonliteral format string in these cases + +2020-11-22 Jim Klimov + + * drivers/powerp-txt.c: drivers/powerp-txt.c: fix diags pragmas to + use our configured-support macros for cleaner fencing (nonliteral + format strings) + +2020-11-18 Jim Klimov + + * drivers/powerp-txt.c: drivers/powerp-txt.c: do not warn about + nonliteral format string in this case + +2020-11-22 Jim Klimov + + * drivers/mge-utalk.c: drivers/mge-utalk.c: fix diags pragmas to use + our configured-support macros for cleaner fencing (nonliteral + format strings) + +2020-11-18 Jim Klimov + + * drivers/mge-utalk.c: drivers/mge-utalk.c: various routines: do not + warn about nonliteral format string in this case + +2020-11-22 Jim Klimov + + * drivers/bestfortress.c: drivers/bestfortress.c: fix diags pragmas + to use our configured-support macros for cleaner fencing + (nonliteral format strings) + +2020-11-18 Jim Klimov + + * drivers/bestfortress.c: drivers/bestfortress.c: setinfo_float(): + comment about a casting problem, and do not warn about nonliteral + format string in this case + * drivers/bestfortress.c: drivers/bestfortress.c: do not warn about + nonliteral format string in this case + +2020-11-22 Jim Klimov + + * drivers/serial.c: drivers/serial.c: fix diags pragmas to use our + configured-support macros for cleaner fencing (nonliteral format + strings) + +2020-11-18 Jim Klimov + + * drivers/serial.c: drivers/serial.c: do not warn about nonliteral + format string in this case + +2020-11-22 Jim Klimov + + * drivers/dstate.c: drivers/dstate.c: fix diags pragmas to use our + configured-support macros for cleaner fencing (nonliteral format + strings) + +2020-11-18 Jim Klimov + + * drivers/dstate.c: drivers/dstate.c: various routines: do not warn + about nonliteral format string in this case + +2020-11-22 Jim Klimov + + * clients/upssched.c: clients/upssched.c: fix diags pragmas to use + our configured-support macros for cleaner fencing (nonliteral + format strings) + +2020-11-18 Jim Klimov + + * clients/upssched.c: clients/upssched.c: send_to_one(): do not warn + about nonliteral format string in this case + +2020-11-22 Jim Klimov + + * common/common.c: common/common.c: fix diags pragmas to use our + configured-support macros for cleaner fencing (nonliteral format + strings) + +2020-11-20 Jim Klimov + + * common/common.c: common/common.c: various routines: do not warn + about nonliteral format string in these cases + +2020-11-17 Jim Klimov + + * common/common.c: common/common.c: snprintfcat(): do not warn about + nonliteral format string in this case + +2020-11-24 Jim Klimov + + * .travis.yml: .travis.yml: run gnu17-clang-8-nowarn-ARM-64bit case + in fightwarn branches + * .travis.yml: .travis.yml: annotate clearer the different + allowed_failure OS build sections + * .travis.yml: .travis.yml: point all GCC -std=*++99 to *-98 I + thought it was an older GCC quirk, but even new ones complain: + g++: error: unrecognized command-line option '-std=gnu++99'; did + you mean '-std=gnu++98'? g++ (FreeBSD Ports Collection) 10.0.0 + 20191222 (experimental) Copyright (C) 2019 Free Software + Foundation, Inc. This is free software; see the source for copying + conditions. There is NO warranty; not even for MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. + +2020-11-23 Jim Klimov + + * .travis.yml: .travis.yml: mark gnuXX-gcc-*-arm64 test cases as + evergreen + * .travis.yml: .travis.yml: separate ARM64 test case matrices into + ..._viable and ..._fatal subsets + * .travis.yml: .travis.yml: introduce + NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" test case + * .travis.yml: .travis.yml: drop gcc-multilib in ARM builds, seems + missing in Debian + * .travis.yml: .travis.yml: drop arm-32bit builds, seems a no-go on + Travis quickly + * .travis.yml: Issue #823 follow-up: add ARM 32-bit and 64-bit builds + in Travis CI + +2020-11-22 Jim Klimov + + * drivers/gamatronic.c: drivers/gamatronic.c: rectify whitespaces + (indentations and blank lines) + +2020-11-20 Jim Klimov + + * drivers/gamatronic.c: drivers/gamatronic.c: fix indentation and + scope whitespace + * drivers/gamatronic.c: drivers/gamatronic.c: fix trailing whitespace + * common/common.c: common/common.c: cleaner macro processing for + BUILD_64 + +2020-11-22 Jim Klimov + + * include/timehead.h: include/timehead.h: satisfy pedantic macro + parser (defined vs. used value) + +2020-11-23 Jim Klimov + + * m4/nut_report_feature.m4: m4/nut_report_feature.m4: report the + compiler tools and flags ultimately applied to this build + * .gitignore: GitIgnore configure-test.docbuild* dirs + * .travis.yml: .travis.yml: separate the matrix for + _matrix_freebsd_gnustd_warn_viable and ..._fatal cases + * .travis.yml: .travis.yml: mark "gnuXX-gcc-freebsd-warn" cases as + evergreen to keep that way + * .travis.yml: .travis.yml: on freebsd, `pkg install libgd` + explicitly (needs sudo) + * .travis.yml: .travis.yml: introduce freebsd test cases with + warnings (typo fix) + +2020-11-22 Jim Klimov + + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: alarm if bogus tests did + not fail + * m4/ax_c_pragmas.m4: m4/ax_c_pragmas.m4: adapt to gcc vs clang CLI + capabilities + * configure.ac, m4/nut_compiler_family.m4: Introduce + m4/nut_compiler_family.m4 detection + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: fix diags pragmas + to use our configured-support macros for cleaner fencing + (unreachable code) + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: fix diags + pragmas to use our configured-support macros for cleaner fencing + (unreachable code) + * drivers/libusb.c: drivers/libusb.c: fix diags pragmas to use our + configured-support macros for cleaner fencing (unreachable code) + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: fix diags pragmas + to use our configured-support macros for cleaner fencing + (unreachable code) + * configure.ac, m4/ax_c_pragmas.m4: Introduce m4/ax_c_pragmas.m4 + * .travis.yml: .travis.yml: curiously, gcc-7 in Travis does not alias + -std=gnu++99 to canonic gnu++98 + * autogen.sh: autogen.sh: do not hide the progress of autoreconf + * ci_build.sh: ci_build.sh: fix whitespace + * ci_build.sh: ci_build.sh: parameterize $CONFIGURE_SCRIPT as it may + be called differently on some platforms + * .travis.yml: .travis.yml: amend cygwin bin files ACLs to let them + execute Thanks https://stackoverflow.com/a/4493653/4715872 for the + hint + * .travis.yml: .travis.yml: use choco bins in PATH also with + /cygdrive/ prefix just in case + * .travis.yml: .travis.yml: use cygwin bins in PATH also with + /cygdrive/ prefix just in case + * .travis.yml: .travis.yml: allow to skip cygwin autotools install if + it was done earlier and cached + +2020-11-21 Jim Klimov + + * .travis.yml: .travis.yml: use cygwin bins as last resort (e.g. for + autoconf) + * .travis.yml: Revert ".travis.yml: run Windows test cases with + cygwin bash" This reverts commit + 4592860aa82a208969eb1ae3ac2ec1f96e77bc07. + +2020-11-19 Jim Klimov + + * .travis.yml: .travis.yml: for windows builds, add + /C/tools/cygwin/bin to PATH + * .travis.yml: .travis.yml: define a NUT_MATRIX_TAG="gnu99-clang-win- + warn" test case for completeness + +2020-11-22 Jim Klimov + + * .travis.yml: .travis.yml: add _matrix_freebsd_gnustd_warn to + _matrix_freebsd + * .travis.yml: .travis.yml: introduce freebsd test cases with nowarn + and gnu17 + * .travis.yml: .travis.yml: introduce freebsd test cases with + warnings + * .travis.yml: .travis.yml: mark "gnu99-gcc-freebsd-nowarn" and + "gnu99-clang-freebsd-nowarn" as required + * ci_build.sh: ci_build.sh: as of now, skip building cgi (needs + libgd) on freebsd too, for "default-all-errors" test cases + * .travis.yml: .travis.yml: define simple freebsd scenarios + +2020-11-20 Jim Klimov + + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: do not warn + about unreachable code where we handle a legacy off-chance that + fatalx() might not exit the program + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: do not warn about + unreachable code where we handle a legacy off-chance that fatalx() + might not exit the program + * drivers/libusb.c: drivers/libusb.c: do not warn about unreachable + code where we handle a legacy off-chance that fatalx() might not + exit the program + * server/upsd.c: server/upsd.c: a move "help" switch() handling to + default case + * server/upsd.c: server/upsd.c: a switch() default needs no break + * drivers/upsdrvctl.c: drivers/upsdrvctl.c: a switch() default needs + no break + * drivers/riello_usb.c: drivers/riello_usb.c: wrap unreachable exit() + added due to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + * drivers/blazer_usb.c: drivers/blazer_usb.c: wrap unreachable exit() + added due to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: wrap unreachable + exit() added due to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: control_outlet(): + do not warn about syntactic "break;" after returns in conditionals + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: wrap unreachable exit() + added due to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + * drivers/metasys.c: drivers/metasys.c: a switch() default needs no + break, especially not after fatalx() + * drivers/dummy-ups.c: drivers/dummy-ups.c: a switch() default needs + no break, especially not after fatalx() + * .gitignore: GitIgnore temporary dirs made by configure script + (remain around if it is aborted) + * clients/upsmon.c: clients/upsmon.c: wrap unreachable exit() added + due to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + * clients/upsmon.c: clients/upsmon.c: wrap unreachable switch()-break + after help() with "ifndef HAVE___ATTRIBUTE__NORETURN" to avoid + warnings + * clients/upslog.c: clients/upslog.c: wrap unreachable switch()-break + after help() with "ifndef HAVE___ATTRIBUTE__NORETURN" to avoid + warnings + * clients/upscmd.c: clients/upscmd.c: wrap unreachable exit() added + due to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + * clients/upsc.c: clients/upsc.c: wrap unreachable exit() added due + to earlier compiler warnings with "ifndef + HAVE___ATTRIBUTE__NORETURN" to avoid opposite warnings now + * server/upsd.c: server/upsd.c: wrap unreachable exit() added due to + earlier compiler warnings with "ifndef HAVE___ATTRIBUTE__NORETURN" + to avoid opposite warnings now + * include/attribute.h: include/attribute.h: align with + AX_C___ATTRIBUTE__ autoconf macro + * m4/ax_c___attribute__.m4: m4/ax_c___attribute__.m4: extend to + declare support for certain __attribute__((...)) use-cases of + interest to NUT + * configure.ac, m4/ax_c___attribute__.m4: configure.ac: introduce + AX_C___ATTRIBUTE__ from gnu.org + * server/upsd.c: server/upsd.c: annotate help() with noreturn attr + +2020-11-17 Jim Klimov + + * server/upsd.c: server/upsd.c: help(): do not shadow global varnames + "progname" (from upsd.c and main.c) with func argument "progname" + +2020-11-20 Jim Klimov + + * drivers/nut-ipmipsu.c: drivers/nut-ipmipsu.c: annotate + upsdrv_shutdown() with noreturn attr + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: annotate + nutusb_open_error() with noreturn attr + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: fix indenting + whitespace + * drivers/riello_ser.c: drivers/riello_ser.c: annotate + upsdrv_shutdown() with noreturn attr + * drivers/blazer.c: drivers/blazer.c: annotate upsdrv_shutdown() with + noreturn attr + * drivers/dummy-ups.c: drivers/dummy-ups.c: annotate + upsdrv_shutdown() with noreturn attr + * clients/upsmon.c: clients/upsmon.c: annotate several routines with + noreturn attrs + * clients/upsmon.c: clients/upsmon.c: help(): do not shadow global + varname "progname" with same-named func argument + * clients/upsset.c: clients/upsset.c: annotate several routines with + noreturn attrs + * clients/upsimage.c: clients/upsimage.c: annotate drawimage() with + noreturn attr + * clients/upslog.c: clients/upslog.c: annotate help() with noreturn + attr + +2020-11-17 Jim Klimov + + * drivers/upsdrvctl.c: drivers/upsdrvctl.c: annotate help() with + noreturn attr + * drivers/macosx-ups.c: drivers/macosx-ups.c: annotate + upsdrv_shutdown() with noreturn attr + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: annotate + upsdrv_shutdown() with noreturn attr + * drivers/apcupsd-ups.c: drivers/apcupsd-ups.c: annotate + upsdrv_shutdown() with noreturn attr + * drivers/ivtscd.c: drivers/ivtscd.c: annotate upsdrv_shutdown() with + noreturn attr + * drivers/clone.c: drivers/clone.c: annotate upsdrv_shutdown() with + noreturn attr + * drivers/skel.c: drivers/skel.c: annotate upsdrv_shutdown() with + noreturn attr + * drivers/liebert.c: drivers/liebert.c: annotate upsdrv_shutdown() + with noreturn attr + * drivers/serial.c: drivers/serial.c: annotate ser_open_error() with + noreturn attr + * drivers/dstate.c: drivers/dstate.c: annotate sock_fail() with + noreturn attr + * drivers/main.c: drivers/main.c: annotate forceshutdown() with + noreturn attr + * common/parseconf.c: common/parseconf.c: annotate pconf_fatal() with + noreturn attr + +2020-11-18 Jim Klimov + + * .travis.yml: .travis.yml: fix typo in recent fix for clang warnings + +2020-11-18 Jim Klimov + + * scripts/Solaris/precheck.py: scripts/Solaris/precheck.py: modernize + calling sub-processes for Python 2.6+ and 3+ (keep original way for + older systems compat) + +2020-11-17 Jim Klimov + + * scripts/augeas/gen-nutupsconf-aug.py: scripts/augeas/gen- + nutupsconf-aug.py: drop unused variables Originally PR meant to + drop "global" modifier outside a local function context, but found + that nothing defines or uses these three names. Must be some + leftover from planned but unfinished development. Re-ran + ./autogen.sh and it generates the same file for the build. + +2020-11-18 Jim Klimov + + * drivers/dstate.h: drivers/dstate.h: dstate_setaux(): fix missed + type change for "aux" + * drivers/dstate.c: drivers/dstate.c: dstate_setaux(): fix missed + type change for "aux" + * .gitignore: GitIgnore NetBeans project directory + +2020-11-16 Jim Klimov + + * .gitignore: GitIgnore .gdb_history files + * .gitignore: GitIgnore conf??????/ temporary directories that can + remain if configure script is aborted + * .gitignore: GitIgnore conf_nut_report_feature file (made by + m4/nut_report) + +2020-11-17 Jim Klimov + + * drivers/powerman-pdu.c: drivers/powerman-pdu.c: query_one() + query_all(): do not shadow global varname "pm" with same-named func + argument + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: + subdriver_match_func(): do not shadow global varname "hd" with func + argument "hd" + * drivers/mge-xml.c: drivers/mge-xml.c: numerous routines: do not + shadow global varname "val" (for XML element temp store?) with + same-named func argument + * drivers/netxml-ups.c: drivers/netxml-ups.c: send_http_request(): do + not shadow global varnames "session" and "uri" with func arguments + * drivers/upscode2.c: upscode2.c: upsc_setstatus(): do not shadow + global varname "status" with func argument "status" + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: callback(): do not + shadow global varname "udev" with func argument "udev" + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: callback(): do not + shadow global varname "hd" with func argument "hd" + * drivers/riello.c: drivers/riello.c: riello_calc_CRC(): change data + type to fix comparisons + * drivers/powercom.c: drivers/powercom.c: output_voltage(): avoid a + multiplication overflow by casting + * server/upsd.c: upsd.c: actually include signal.h from system + * common/common.c: common/common.c: upsdebug_hex() / + upsdebug_ascii(): fix const-ness of buf casting + * common/common.c: common/common.c: get_libname(): fix type to + receive strlen() + * common/state.c, drivers/dstate.c, include/state.h, server/netget.c: + state.c dstate.c etc.: fix st_tree_t->aux to "long" as we convert + via strtol() + * common/parseconf.c: common/parseconf.c: addchar(): signedness-aware + trim of ctx->ch range + * common/common.c: common/common.c: mark search_paths[] as a static + array + * common/common.c: common/common.c: snprintfcat(): sort out the messy + return types + * common/common.c: common/common.c: sendsignalfn(): fix pid to "long" + as we convert via strtol() + * common/common.c: common/common.c: writepid(): fix data type for + umask() + * common/parseconf.c: parseconf.c: add_arg_word(): fix argpos to + size_t, we do not expect negative offsets + * clients/upsclient.c, clients/upsclient.h, common/common.c, + drivers/apcsmart.c, drivers/serial.c, drivers/serial.h, + include/common.h: common, serial, upsclient: change read() and + write() operations from "int" to "ssize_t" + * include/attribute.h: include/attribute.h: satisfy pedantic macro + parser (defined vs. used value) + * drivers/powercom.c: drivers/powercom.c: do not check "if model >= + 2000" just after processing "model < 2000" + * drivers/pijuice.c: drivers/pijuice.c: do not check for + "powerInput5vIo <= POWER_PRESENT" twice in a row + * drivers/bcmxcp.c: drivers/bcmxcp.c: do not check for "value>=0" + when we pick it from "unsigned char[]" answer + * common/common.c: common/common.c: search_paths[]: comment the + reasoning (see also issue NUT #805) + * drivers/apcupsd-ups.c: drivers/apcupsd-ups.c: comment about htons() + return value range (why I did not fix an "x<0" check) + * .travis.yml: .travis.yml: run Windows test cases with cygwin bash + * .travis.yml: .travis.yml: add at least a cygwin automake to Windows + test cases + * .travis.yml: .travis.yml: limit builds on xcode7.x to C11 + * include/parseconf.h: include/parseconf.h: fix trailing whitespace + * .travis.yml: .travis.yml: mark clang builds with fatal warnings, + additionally with -Wno-reserved-id-macro -Wno-padded to play around + system header issues + +2020-11-16 Jim Klimov + + * configure.ac: configure.ac: rephrase the notice about looking for + required C library routines which are beyond strict C standards + +2020-11-10 Jim Klimov + + * configure.ac: configure.ac: make checks for "Required C library + routine" not fatal: -Wall -Werror frowns upon the ways autotools + probe the system + * configure.ac: configure.ac: detect routines that may be not + available in constrained standard-C modes + +2020-11-16 Jim Klimov + + * configure.ac, m4/nut_stash_warnings.m4: Introduce + m4/nut_stash_warnings.m4 and NUT_STASH_WARNINGS and + NUT_POP_WARNINGS in configure.ac + +2020-11-17 Jim Klimov + + * drivers/solis.c: drivers/solis.c: convert from localtime() to + localtime_r() which is thread-safe + * drivers/rhino.c: drivers/rhino.c: convert from localtime() to + localtime_r() which is thread-safe + * drivers/microdowell.c: drivers/microdowell.c: convert from + localtime() to localtime_r() which is thread-safe + * drivers/mge-hid.c: drivers/mge-hid.c: convert from localtime() to + localtime_r() which is thread-safe + * clients/upsstats.c: clients/upsstats.c: convert from localtime() to + localtime_r() which is thread-safe + * clients/upslog.c: clients/upslog.c: convert from localtime() to + localtime_r() which is thread-safe + +2020-11-16 Jim Klimov + + * ci_build.sh: ci_build.sh: build_to_only_catch_errors(): also report + on `make check` with the current test case + * .travis.yml: Revert ".travis.yml: DISABLE test case + "gnu99-clang-5.0-nowarn": it has some problem with the recently + changed "tests/" (and runs clang-7 anyway as it does not use the + PPA for 5.0)" This reverts commit + 4749e0b26a33990dbd7bb56ff863cfc30db4245e as we can now have this + test case working again. + * configure.ac: configure.ac: do not pick C++11 support if a standard + is explicitly requested by caller; fixes NUT issue #873 + * .travis.yml: .travis.yml: fix test cases for + NUT_MATRIX_TAG="*-clang-5.0-*" to actually use clang-5.0 explicitly + +2020-11-15 Jim Klimov + + * .travis.yml: .travis.yml: mark test-case "gnu17-gcc-9-warn" as + passing now + * .travis.yml: .travis.yml: add libnss3-dev and libssl-dev to test + against both SSL implems + * .travis.yml: .travis.yml: DISABLE test case + "gnu99-clang-5.0-nowarn": it has some problem with the recently + changed "tests/" (and runs clang-7 anyway as it does not use the + PPA for 5.0) + * drivers/snmp-ups.c, m4/nut_check_libnetsnmp.m4: drivers/snmp-ups.c: + fix the warning about how we get the size of usmAES128PrivProtocol + * ci_build.sh: ci_build.sh: configure_nut(): sleep more before data + dump so interactive devs can react to the broken configure run + * ci_build.sh: ci_build.sh: build_to_only_catch_errors(): report a + SUCCESS when we have one + * ci_build.sh: ci_build.sh: allow caller to customize their + PKG_CONFIG_PATH + * tests/Makefile.am: tests/Makefile.am: fix include dir for + cppunittest + * server/netssl.c: server/netssl.c: comment about non-fatal build + warnings from NSS include names we use + * server/netssl.c: server/netssl.c: mark up NUT_UNUSED_VARIABLEs for + build with Mozilla NSS + * clients/upsclient.c: clients/upsclient.c: mark up + NUT_UNUSED_VARIABLEs for build with Mozilla NSS + * m4/nut_check_libnss.m4: nut_check_libnss.m4 : warn that nss.pc is + more sensitive to matching PKG_CONFIG_PATH and build bitness than + others + * ci_build.sh: ci_build.sh : enable SSL build variants of "default- + all-errors" with both OpenSS and Mozilla NSS + * m4/nut_check_libnetsnmp.m4: m4/nut_check_libnetsnmp.m4: pick + correct bitness net-snmp-config-{32,64} script if available + +2020-11-14 Jim Klimov + + * tests/Makefile.am: tests/Makefile.am: fix include dir for + nutlogtest + +2020-11-10 Jim Klimov + + * .travis.yml: .travis.yml (#823) : green-light several GCC test + cases that now pass even with all warnings enabled as fatal + * clients/upsset.c: clients/upsset.c: refine whitespace + +2020-11-09 Jim Klimov + + * drivers/rhino.c: drivers/rhino.c: drop extraneous parentheses + * drivers/nutdrv_qx.h: drivers/nutdrv_qx.h: avoid a trailing comma in + enum list (C89) + +2020-11-12 Jim Klimov + + * docs/nut.dict: nut.dict: spellcheck new keywords around "fightwarn" + chapter + +2020-11-10 Jim Klimov + + * docs/developers.txt: docs/developers.txt: detail how to use + ci_build.sh intended for Travis CI to work on fixing stuff locally + +2020-11-13 Jim Klimov + + * tests/cpputest.cpp: tests/cpputest.cpp : wrap the test run to catch + exceptions, if any + * tests/cpputest.cpp: tests/cpputest.cpp : comment the progress + through steps + * tests/cpputest.cpp: tests/cpputest.cpp: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * tests/Makefile.am: tests/Makefile.am : comment the cases where we + do not compile CXX tests + * tests/Makefile.am, tests/nutlogtest.c: Introduce tests/nutlogtest.c + for upslog*() and friends + +2020-11-12 Jean-Baptiste Boric + + * drivers/main.c: Fix faulty dump mode logic + +2020-11-12 Jim Klimov + + * docs/nut.dict: Update nut.dict + +2020-11-10 Jim Klimov + + * configure.ac: configure.ac : detect abs() and fabs() funcs + +2020-11-12 Jim Klimov + + * docs/acknowledgements.txt: Update acknowledgements.txt Do not + constrain contribution from EVER Power Systems to one person + +2020-11-11 Jim Klimov + + * docs/developers.txt: docs/developers.txt: document + NUT_UNUSED_VARIABLE() + +2020-11-10 Jim Klimov + + * include/common.h: include/common.h : drop NUT_UNUSED and + NUT_UNUSED_FUNCTION macros as not portable enough + * drivers/mge-hid.c: drivers/mge-hid.c: mark up NUT_UNUSED_VARIABLEs + in the more portable manner + * drivers/tripplite-hid.c: drivers/tripplite-hid.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/serial.c: drivers/serial.c: mark up NUT_UNUSED_VARIABLEs in + the more portable manner + * drivers/bestfcom.c: drivers/bestfcom.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/dummy-ups.c: drivers/dummy-ups.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/apcsmart-old.c: drivers/apcsmart-old.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/cps-hid.c: drivers/cps-hid.c: mark up NUT_UNUSED_VARIABLEs + in the more portable manner + * drivers/apcsmart.c: drivers/apcsmart.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/bestfortress.c: drivers/bestfortress.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/blazer_usb.c: drivers/blazer_usb.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/upsdrvctl.c: drivers/upsdrvctl.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/apc-hid.c: drivers/apc-hid.c: mark up NUT_UNUSED_VARIABLEs + in the more portable manner + * drivers/nutdrv_qx_voltronic.c: drivers/nutdrv_qx_voltronic.c: mark + up NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/riello_usb.c: drivers/riello_usb.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/explore-hid.c: drivers/explore-hid.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * server/upsd.c: server/upsd.c: mark up NUT_UNUSED_VARIABLEs in the + more portable manner + * clients/upssched.c: clients/upssched.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * clients/upsset.c: clients/upsset.c: mark up NUT_UNUSED_VARIABLEs in + the more portable manner + * clients/upsimage.c: clients/upsimage.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * clients/upsstats.c: clients/upsstats.c: mark up + NUT_UNUSED_VARIABLEs in the more portable manner + * clients/upslog.c: clients/upslog.c: mark up NUT_UNUSED_VARIABLEs in + the more portable manner + * clients/upsmon.c: clients/upsmon.c: mark up NUT_UNUSED_VARIABLEs in + the more portable manner + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: mark up NUT_UNUSED_VARIABLEs in the + more portable manner + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + mark up NUT_UNUSED_VARIABLEs in the more portable manner + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: + mark up NUT_UNUSED_VARIABLEs in the more portable manner + * drivers/libshut.c, drivers/riello_ser.c, drivers/snmp-ups.c, + tools/nut-scanner/scan_eaton_serial.c, tools/nut- + scanner/scan_snmp.c: libshut.c riello_ser.c nut-scanner bits: + abolish non-standard u_char and u_short Probably standard C99 + "uint8_t" and 16(?) bit short would be more proper, especially for + serial-line protocols. But the original code used types derived + from hardware implementation sized "char" and "short" - so they + stayed this way here. + * drivers/riello_usb.c: drivers/riello_usb.c: avoid implicit switch + fall-through + * clients/upsc.c: clients/upsc.c: avoid implicit switch fall-through + * clients/upscmd.c: clients/upscmd.c: avoid implicit switch fall- + through + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: avoid implicit switch + fall-through + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: avoid implicit switch + fall-through + * drivers/blazer_usb.c: drivers/blazer_usb.c: avoid implicit switch + fall-through + * server/upsd.c: server/upsd.c: add blank lines for readability of + opts processing switch + * server/upsd.c: server/upsd.c: avoid implicit switch fall-through + * clients/upsstats.h: clients/upsstats.h: wrap with include-guards + * clients/upssched.h: clients/upssched.h: wrap with include-guards + * clients/upsmon.h: clients/upsmon.h: wrap with include-guards + * clients/upslog.h: clients/upslog.h: wrap with include-guards + * clients/upsimagearg.h: clients/upsimagearg.h: wrap with include- + guards + * clients/status.h: clients/status.h: wrap with include-guards + * clients/cgilib.h: clients/cgilib.h: wrap with include-guards + * drivers/tripplite.h: drivers/tripplite.h: wrap with include-guards + * drivers/safenet.h: drivers/safenet.h: wrap with include-guards + * drivers/riello.h: drivers/riello.h: reword the wrap with include- + guards + * drivers/powercom.h: drivers/powercom.h: wrap with include-guards + * drivers/mge-utalk.h: include/mge-utalk.h: wrap with include-guards + * drivers/oneac.h: drivers/oneac.h: wrap with include-guards + * drivers/main.h: drivers/main.h: reword the wrap with include-guards + * drivers/libusb.h: drivers/libusb.h: reword the wrap with include- + guards + * drivers/libshut.h: drivers/libshut.h: reword the wrap with include- + guards + * drivers/libhid.h: drivers/libhid.h: reword the wrap with include- + guards + * drivers/hidparser.h: drivers/hidparser.h: reword the wrap with + include-guards + * drivers/genericups.h: drivers/genericups.h: wrap with include- + guards + * drivers/gamatronic.h: drivers/gamatronic.h: wrap with include- + guards and fix trailing whitespace + * drivers/dummy-ups.h: drivers/dummy-ups.h: wrap with include-guards + * drivers/apcupsd-ups.h: drivers/apcupsd-ups.h: wrap with include- + guards + * drivers/apcsmart_tabs.h: drivers/apcsmart_tabs.h: reword the wrap + with include-guards + * drivers/apcsmart.h: drivers/apcsmart.h: reword the wrap with + include-guards + * drivers/apcsmart-old.h: drivers/apcsmart-old.h: wrap with include- + guards + * include/upsconf.h: include/upsconf.h: wrap with include-guards + * include/upsconf.h: include/upsconf.h: add (C) and license header + * include/upsconf.h: include/upsconf.h: refine whitespace + * include/timehead.h: include/timehead.h: add (C) and license header + * include/timehead.h: include/timehead.h: wrap with include-guards + * include/str.h: include/str.h: reword the wrap with include-guards + * include/state.h: include/state.h: reword the wrap with include- + guards + * include/proto.h: include/proto.h: add (C) and license header + * include/proto.h: include/proto.h: reword the wrap with include- + guards + * include/nut_stdint.h: include/nut_stdint.h: reword the wrap with + include-guards + * include/nut_platform.h: include/nut_platform.h: reword the wrap + with include-guards + * include/extstate.h: include/extstate.h: add (C) and license header + * include/extstate.h: include/extstate.h: reword the wrap with + include-guards + * include/extstate.h: include/extstate.h: refine whitespace + * include/common.h: include/common.h: reword the wrap with include- + guards + * include/attribute.h: include/attribute.h: add (C) and license + header + * include/attribute.h: include/attribute.h: reword the wrap with + include-guards + * server/user.h: server/user.h: update (C) and license header + * server/user.h: server/user.h: wrap with include-guards + * server/user-data.h: server/user-data.h: update (C) and license + header + * server/user-data.h: server/user-data.h: wrap with include-guards + * server/upstype.h: server/upstype.h: reword the wrap with include- + guards + * server/stype.h: server/stype.h: reword the wrap with include-guards + * server/sstate.h: server/sstate.h: reword the wrap with include- + guards + * server/nut_ctype.h: server/nut_ctype.h: protect header files for + C++ inclusion + * server/netuser.h: server/netuser.h: wrap with include-guards + * server/netuser.h: server/netuser.h: add (C) and license header + * server/netssl.h: server/netssl.h: reword the wrap with include- + guards + * server/netset.h: server/netset.h: wrap with include-guards + * server/netset.h: server/netset.h: add (C) and license header + * server/netmisc.h: server/netmisc.h: wrap with include-guards + * server/netmisc.h: server/netmisc.h: add (C) and license header + * server/netcmds.h: server/netcmds.h: add (C) and license header + * server/netlist.h: server/netlist.h: wrap with include-guards + * server/netlist.h: server/netlist.h: add (C) and license header + * server/netinstcmd.h: server/netinstcmd.h: wrap with include-guards + * server/netinstcmd.h: server/netinstcmd.h: add (C) and license + header + * server/netget.h: server/netget.h: wrap with include-guards + * server/netget.h: server/netget.h: add (C) and license header + * server/neterr.h: server/neterr.h: protect header files for C++ + inclusion + * server/neterr.h: server/neterr.h: wrap with include-guards + * server/neterr.h: server/neterr.h: add (C) and license header + * server/netcmds.h: server/netcmds.h: wrap with include-guards + * server/desc.h: server/desc.h: add (C) and license header + * server/desc.h: server/desc.h: wrap with include-guards + * server/conf.h: server/conf.h: update (C) and license header + * server/conf.h: server/conf.h: wrap with include-guards + +2020-11-09 Jim Klimov + + * docs/nut.dict: Update nut.dict Add EVER Sinline model name + +2020-11-09 Jim Klimov + + * drivers/asem.c: drivers/al175.c: update Linux i2c include mesh + (thanks to pijuice.c) + * drivers/pijuice.c: drivers/pijuice.c: set_power_off(): drop unused + "data" + * drivers/pijuice.c: drivers/pijuice.c: avoid setting "data" during a + write Compiler warnings resolved this puzzle: [2020-11-09 + 15:10:38] [build-err] pijuice.c:737:2: note: in expansion of macro + ‘I2C_WRITE_BYTE’ [2020-11-09 15:10:38] [build-err] 737 | + I2C_WRITE_BYTE( upsfd, cmd, shutdown_delay, __func__ ) [2020-11-09 + 15:10:38] [build-err] | ^~~~~~~~~~~~~~ [2020-11-09 15:10:38] + [build-err] pijuice.c:710:10: warning: variable ‘data’ set but not + used [-Wunused-but-set-variable] [2020-11-09 15:10:38] [build-err] + 710 | uint8_t data; [2020-11-09 15:10:38] [build-err] | + ^~~~ So we did not need to set it at all, can go to simple + anonymous negative-return check. + * drivers/pijuice.c: drivers/pijuice.c: use "__s32" de-facto in + headers instead of "s32" from manpages + * drivers/pijuice.c: drivers/pijuice.c: rearrange I2C_*() macros to + catch -1 error codes while fetching unsigned ints + * drivers/apcsmart.c: drivers/apcsmart.c: fix variadic macro logx() + call to accomodate modern standards + * drivers/apcsmart.c: drivers/apcsmart.c: fix variadic macro logx() + call to accomodate modern standards + * drivers/apcsmart.c: drivers/apcsmart.c: fix variadic macro debx() + call to accomodate modern standards + * drivers/pijuice.c: drivers/pijuice.c: set_poweroff(): fix limited + value range exceeded + * drivers/pijuice.c: drivers/pijuice.c: replace __FUNCTION__ by + __func__ to avoid warnings error: ISO C does not support + '__FUNCTION__' predefined identifier [-Werror=pedantic] + * drivers/bcmxcp.c: drivers/bcmxcp.c: bump string buffer size to + avoid potential overflows If we have some bug getting outlet + numbers into billions (int at 64-bit) the string might overflow + indeed... + * drivers/al175.c: drivers/al175.c: document a warning to address + later + * drivers/snmp-ups.c: drivers/snmp-ups.c: avoid warning: control may + reach end of non-void function + +2020-11-08 Jim Klimov + + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: avoid + implicit switch fall-through + * .travis.yml: .travis.yml: our code (and checks) should not rely on + specific compiler features; implicit switch FALLTHRU was solved by + explicit goto jumps + * docs/nut.dict: docs/nut.dict: update for conf/upsstats- + single.html.sample + * docs/developers.txt: docs/developers.txt: avoid spellcheck warning + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + rearrange phases_nb and sanity-check the value to debug-log + unexpectancies + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + sanity-check the outlet_group_nb (not negative) + +2020-11-05 Jim Klimov + + * drivers/hidparser.c: drivers/hidparser.c: hide logging check that + never fires hidparser.c:347:28: error: comparison is always false + due to limited range of data type [-Werror=type-limits] 347 | + if(pParser->Data.ReportID >= MAX_REPORT) uint8_t vs "500" CC + @aquette + +2020-11-06 Jim Klimov + + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: drop g_usec_timeout which is not actually + used + * drivers/libusb.c: drivers/libusb.c: fix debug string formatting + +2020-11-05 Jim Klimov + + * drivers/solis.h: drivers/solis.h: swap "const static" => "static + const" Avoids error: 'static' is not at beginning of declaration + [-Werror=old-style-declaration] + * drivers/solis.c: drivers/solis.c: rectify C-style comments + * drivers/isbmex.c: drivers/isbmex.c: comment about magic D() macro + got debug logging vs. upsdebugx() + * drivers/rhino.c: drivers/rhino.c: ScanReceivePack(): rephrase if- + clause to avoid warnings Seems this is a correct change logically: + - if( !( SourceFail ) == RedeAnterior ) + if( RedeAnterior == !( + SourceFail ) ) given this assignment just below the if-clause: + RedeAnterior = !( SourceFail ); to avoid a compiler warning that + "!" might apply not in a way intended by author + * drivers/masterguard.c: drivers/masterguard.c: StringSplit(): use + the maxlen + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: setvar(): find a + use for "val" + +2020-11-04 Jim Klimov + + * clients/upssched.c: clients/upssched.c: main(): find use for argc + * clients/upsmon.c: clients/upsmon.c: sigpipe(): find use for sig + * clients/upsset.c: clients/upsset.c: print_rw(): find use for + upsname + +2020-11-08 Jim Klimov + + * drivers/blazer_usb.c: drivers/blazer_usb.c: upsdrv_initups(): + constrain langid_fix scanned values to fit into signed int + +2020-11-06 Jim Klimov + + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: upsdrv_initups(): + constrain langid_fix scanned values to fit into signed int + +2020-11-08 Jim Klimov + + * drivers/netxml-ups.c: drivers/netxml-ups.c: rearrange sscanf() of + inputs to avoid wrong int values + +2020-11-06 Jim Klimov + + * drivers/nutdrv_qx_voltronic.c: drivers/nutdrv_qx_voltronic.c: avoid + buffer overflows iterating item->info_rw, possible NPE, and fix the + check for hitting the sentinel entry Fix warnings like: + nutdrv_qx_voltronic.c:4037:39: error: division 'sizeof (info_rw_t + *) / sizeof (info_rw_t)' does not compute the number of array + elements [-Werror=sizeof-pointer-div] 4037 | if (i >= + (int)(sizeof(item->info_rw) / sizeof(item->info_rw[0]))) { | + ^ nutdrv_qx_voltronic.c: In function 'voltronic_p31g_set': + * drivers/nutdrv_qx_voltronic.c: drivers/nutdrv_qx_voltronic.c: + voltronic_fault(): avoid buffer overflows with sprintf() + +2020-11-04 Jim Klimov + + * clients/upscmd.c: clients/upscmd.c: increase buffers to avoid + overflow (warnings) + * clients/upsrw.c: clients/upsrw.c: increase buffers to avoid + overflow (warnings) + +2020-11-05 Jim Klimov + + * drivers/bestfcom.c: drivers/bestfcom.c: increase buffers to avoid + overflow (warnings) + * drivers/bcmxcp.c: drivers/bcmxcp.c: setvar(): increase buffers to + avoid overflow (warnings) + +2020-11-04 Jim Klimov + + * clients/upssched.c: clients/upssched.c: increase buffers to avoid + overflow (warnings) + +2020-11-06 Jim Klimov + + * tools/nut-scanner/scan_xml_http.c: tools/nut- + scanner/scan_xml_http.c: avoid possible buffer overflow + * drivers/snmp-ups.c: drivers/snmp-ups.c: su_alarm_set(): bump + alarm_info_value size to avoid print overflows + +2020-11-08 Jim Klimov + + * drivers/belkin-hid.c: drivers/belkin-hid.c: use fabs() for + floating-point math + * drivers/belkin-hid.c: drivers/belkin-hid.c: use fabs() for + floating-point math + +2020-11-06 Jim Klimov + + * drivers/upscode2.c: drivers/upscode2.c: use fabs() for floating- + point math + +2020-11-08 Jim Klimov + + * drivers/netxml-ups.c: drivers/netxml-ups.c: instcmd(): find a use + for "extra" + * drivers/riello_usb.c: drivers/riello_usb.c: instcmd(): find a use + for "extra" + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: instcmd(): find a + use for "extra" + +2020-11-06 Jim Klimov + + * drivers/riello_ser.c: drivers/riello_ser.c: instcmd(): find a use + for "extra" + * drivers/apcsmart-old.c: drivers/apcsmart-old.c: instcmd(): find a + use for "extra" + * drivers/ivtscd.c: drivers/ivtscd.c: instcmd(): find a use for + "extra" + * drivers/clone.c: drivers/clone.c: instcmd(): find a use for "extra" + * drivers/powerman-pdu.c: drivers/powerman-pdu.c: instcmd(): find a + use for "extra" + * drivers/powerp-txt.c: drivers/powerp-txt.c: powpan_instcmd(): find + a use for "extra" + * drivers/powerp-bin.c: drivers/powerp-bin.c: powpan_instcmd(): find + a use for "extra" + * drivers/victronups.c: drivers/victronups.c: instcmd(): find a use + for "extra" + +2020-11-05 Jim Klimov + + * drivers/tripplitesu.c: drivers/tripplitesu.c: instcmd(): find a use + for "extra" + * drivers/tripplite.c: drivers/tripplite.c: instcmd(): find a use for + "extra" + * drivers/solis.c: drivers/solis.c: instcmd(): find a use for "extra" + * drivers/nutdrv_siemens_sitop.c: drivers/nutdrv_siemens_sitop.c: + instcmd(): find a use for "extra" + * drivers/safenet.c: drivers/safenet.c: instcmd(): find a use for + "extra" + * drivers/rhino.c: drivers/rhino.c: instcmd(): find a use for "extra" + * drivers/powercom.c: drivers/powercom.c: instcmd(): find a use for + "extra" + * drivers/optiups.c: drivers/optiups.c: instcmd(): find a use for + "extra" + * drivers/mge-utalk.c: drivers/mge-utalk.c: instcmd(): find a use for + "extra" + * drivers/metasys.c: drivers/metasys.c: instcmd(): find a use for + "extra" + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: instcmd(): find a + use for "extra" + * drivers/etapro.c: drivers/etapro.c: instcmd(): find a use for + "extra" + * drivers/dummy-ups.c: drivers/dummy-ups.c: instcmd(): find a use for + "extra" + * drivers/bestups.c: drivers/bestups.c: instcmd(): find a use for + "extra" + * drivers/bestfortress.c: drivers/bestfortress.c: instcmd(): find a + use for "extra" + * drivers/belkinunv.c: drivers/belkinunv.c: instcmd(): find a use for + "extra" + * drivers/belkin.c: drivers/belkin.c: instcmd(): find a use for + "extra" + * drivers/bcmxcp.c: drivers/bcmxcp.c: instcmd(): find a use for + "extra" + +2020-11-04 Jim Klimov + + * drivers/al175.c: drivers/al175.c: instcmd(): find use for "extra" + +2020-11-08 Jim Klimov + + * drivers/mge-xml.c: drivers/mge-xml.c: mark up NUT_UNUSED_VARIABLEs + * drivers/netxml-ups.c: drivers/netxml-ups.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/riello_usb.c: drivers/riello_usb.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/blazer_usb.c: drivers/blazer_usb.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/bcmxcp_usb.c: drivers/bcmxcp_usb.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/tripplite-hid.c: drivers/tripplite-hid.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/explore-hid.c: drivers/explore-hid.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/explore-hid.c: drivers/explore-hid.c: a few whitespace + fixes + * drivers/cps-hid.c: drivers/cps-hid.c: mark up NUT_UNUSED_VARIABLEs + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: mark up + NUT_UNUSED_VARIABLEs + +2020-11-06 Jim Klimov + + * drivers/nutdrv_qx_voltronic.c: drivers/nutdrv_qx_voltronic.c: mark + up NUT_UNUSED_VARIABLEs + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/apcsmart-old.c: drivers/apcsmart-old.c: mark up + NUT_UNUSED_VARIABLEs + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + mark up NUT_UNUSED_VARIABLEs + * server/netuser.c: server/netuser.c: mark up NUT_UNUSED_VARIABLEs + * server/netmisc.c: server/netmisc.c: mark up NUT_UNUSED_VARIABLEs + * server/netssl.c: server/netssl.c: mark up NUT_UNUSED_VARIABLEs + * server/upsd.c: server/upsd.c: mark up NUT_UNUSED_VARIABLEs + * drivers/upsdrvctl.c: drivers/upsdrvctl.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/apcsmart.c: drivers/apcsmart.c: mark up + NUT_UNUSED_VARIABLEs + +2020-11-05 Jim Klimov + + * drivers/mge-hid.c: drivers/mge-hid.c: mark up NUT_UNUSED_VARIABLEs + * drivers/libshut.c: drivers/libshut.c: mark up NUT_UNUSED_VARIABLEs + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/dummy-ups.c: drivers/dummy-ups.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/bestfortress.c: drivers/bestfortress.c: mark up + NUT_UNUSED_VARIABLEs + * drivers/bestfcom.c: drivers/bestfcom.c: mark up + NUT_UNUSED_VARIABLEs + +2020-11-06 Jim Klimov + + * tools/nut-scanner/scan_eaton_serial.c: tools/nut- + scanner/scan_eaton_serial.c: mark up NUT_UNUSED_VARIABLEs + * tools/nut-scanner/scan_avahi.c: tools/nut-scanner/scan_avahi.c: + mark up NUT_UNUSED_VARIABLEs + +2020-11-04 Jim Klimov + + * drivers/serial.c: drivers/serial.c: mark up NUT_UNUSED_VARIABLEs + * clients/upssched.c: clients/upssched.c: mark up + NUT_UNUSED_VARIABLEs + * clients/upsmon.c: clients/upsmon.c: mark up NUT_UNUSED_VARIABLEs + * clients/upsset.c: clients/upsset.c: mark up NUT_UNUSED_VARIABLEs + * clients/upsimage.c, clients/upsstats.c: clients/upsimage.c: mark up + NUT_UNUSED_VARIABLEs + * clients/upsstats.c: clients/upsstats.c: mark up + NUT_UNUSED_VARIABLEs + * clients/upslog.c: clients/upslog.c: mark up NUT_UNUSED_VARIABLEs + * clients/upsclient.c: clients/upsclient.c: mark up + NUT_UNUSED_VARIABLEs for ifdef-ed codepaths + +2020-11-08 Jim Klimov + + * drivers/apc-hid.c: drivers/apc-hid.c: mark up NUT_UNUSED_VARIABLEs + (and comment a FIXME about possible use for that) + +2020-11-04 Jim Klimov + + * include/common.h: include/common.h: introduce NUT_UNUSED* macros to + mark up codebase + +2020-11-08 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c: comment about issue found + by pedantic compiler snmp-ups.c: In function 'nut_snmp_init': + snmp-ups.c:599:66: error: division 'sizeof (oid * {aka long + unsigned int *}) / sizeof (oid {aka long unsigned int})' does not + compute the number of array elements [-Werror=sizeof-pointer-div] + 599 | g_snmp_sess.securityPrivProtoLen = + sizeof(usmAESPrivProtocol)/sizeof(oid); | + ^ In file included from /usr/include/net-snmp/snmpv3_api.h:27, from + /usr/include/net-snmp/net-snmp-includes.h:78, from snmp-ups.h:79, + from snmp-ups.c:39: /usr/include/net- + snmp/library/transform_oids.h:50:26: note: first 'sizeof' operand + was declared here 50 | NETSNMP_IMPORT oid + *usmAES128PrivProtocol; /* backwards compat */ | + ^~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors + make[1]: *** [Makefile:1953: snmp_ups-snmp-ups.o] Error 1 + +2020-11-08 Jim Klimov + + * docs/developers.txt: Update developers.txt Another spellcheck fix + * docs/developers.txt: Update developers.txt Avoid "quiesce" to + satisfy the spellchecker + +2020-11-08 Jim Klimov + + * drivers/apc-hid.c: drivers/apc-hid.c: a few whitespace fixes + * drivers/openups-hid.c: drivers/openups-hid.c: initialize all fields + of info_lkp_t arrays + * drivers/tripplite-hid.c: drivers/tripplite-hid.c: initialize all + fields of info_lkp_t arrays + * drivers/powercom-hid.c: drivers/powercom-hid.c: initialize all + fields of info_lkp_t arrays + * drivers/cps-hid.c: drivers/cps-hid.c: initialize all fields of + info_lkp_t arrays + * drivers/belkin-hid.c: drivers/belkin-hid.c: initialize all fields + of info_lkp_t arrays + * drivers/apc-hid.c: drivers/apc-hid.c: initialize all fields of + info_lkp_t arrays + * drivers/apc-pdu-mib.c: drivers/apc-pdu-mib.c: define + APC_PDU_DEVICE_MODEL macro on top of file + * drivers/apc-pdu-mib.c: drivers/apc-pdu-mib.c: initialize all fields + of mib2nut_info_t arrays + * drivers/apc-pdu-mib.c: drivers/apc-pdu-mib.c: initialize all fields + of info_lkp_t arrays + * drivers/apc-ats-mib.c: drivers/apc-ats-mib.c: initialize all fields + of mib2nut_info_t array + * drivers/apc-ats-mib.c: drivers/apc-ats-mib.c: initialize all fields + of info_lkp_t arrays + * drivers/eaton-ats16-mib.c: drivers/eaton-ats16-mib.c: initialize + all fields of mib2nut_info_t arrays + * drivers/eaton-ats16-mib.c: drivers/eaton-ats16-mib.c: initialize + all fields of info_lkp_t arrays + * drivers/huawei-mib.c: drivers/huawei-mib.c: initialize all fields + of mib2nut_info_t array + * drivers/huawei-mib.c: drivers/huawei-mib.c: initialize all fields + of info_lkp_t arrays + * drivers/hpe-pdu-mib.c: drivers/hpe-pdu-mib.c: initialize all fields + of mib2nut_info_t array + * drivers/hpe-pdu-mib.c: drivers/hpe-pdu-mib.c: initialize all fields + of info_lkp_t arrays + * drivers/eaton-ats30-mib.c: drivers/eaton-ats30-mib.c: initialize + all fields of mib2nut_info_t array + * drivers/eaton-ats30-mib.c: drivers/eaton-ats30-mib.c: initialize + all fields of info_lkp_t arrays + * drivers/delta_ups-mib.c: drivers/delta_ups-mib.c: initialize all + fields of mib2nut_info_t array + * drivers/delta_ups-mib.c: drivers/delta_ups-mib.c: initialize all + fields of info_lkp_t arrays + * drivers/cyberpower-mib.c: drivers/cyberpower-mib.c: initialize all + fields of mib2nut_info_t array + * drivers/cyberpower-mib.c: drivers/cyberpower-mib.c: initialize all + fields of info_lkp_t arrays + * drivers/bestpower-mib.c: drivers/bestpower-mib.c: initialize all + fields of mib2nut_info_t array + * drivers/bestpower-mib.c: drivers/bestpower-mib.c: initialize all + fields of info_lkp_t arrays + * drivers/xppc-mib.c: drivers/xppc-mib.c: initialize all fields of + info_lkp_t arrays, and end sentinel entries to close them off + * docs/developers.txt, docs/nut.dict: Satisfy the spellchecker + * drivers/xppc-mib.c: drivers/xppc-mib.c: initialize all fields of + mib2nut_info_t array + * drivers/raritan-pdu-mib.c: drivers/raritan-pdu-mib.c: initialize + all fields of mib2nut_info_t array + * drivers/raritan-px2-mib.c: drivers/raritan-px2-mib.c: initialize + all fields of mib2nut_info_t array + * drivers/raritan-px2-mib.c: drivers/raritan-px2-mib.c: fix + indentations + * drivers/raritan-px2-mib.c: drivers/raritan-px2-mib.c: initialize + all fields of info_lkp_t arrays, and fix indentations in the table + * drivers/raritan-pdu-mib.c: drivers/raritan-pdu-mib.c: initialize + all fields of info_lkp_t arrays + * drivers/powerware-mib.c: drivers/powerware-mib.c: initialize all + fields of info_lkp_t arrays + * drivers/netvision-mib.c: drivers/netvision-mib.c: initialize all + fields of mib2nut_info_t array + * drivers/netvision-mib.c: drivers/netvision-mib.c: initialize all + fields of info_lkp_t arrays + * drivers/mge-mib.c: drivers/mge-mib.c: initialize all fields of + mib2nut_info_t array + * drivers/mge-mib.c: drivers/mge-mib.c: initialize all fields of + info_lkp_t arrays + * drivers/ietf-mib.c: drivers/ietf-mib.c: initialize all fields of + mib2nut_info_t arrays + * drivers/ietf-mib.c: drivers/ietf-mib.c: initialize all fields of + info_lkp_t arrays + * drivers/emerson-avocent-pdu-mib.c: drivers/emerson-avocent-pdu- + mib.c: initialize all fields of info_lkp_t arrays + * drivers/emerson-avocent-pdu-mib.c: drivers/emerson-avocent-pdu- + mib.c: initialize all fields of mib2nut_info_t array + * drivers/eaton-pdu-revelation-mib.c: drivers/eaton-pdu-revelation- + mib.c: initialize all fields of mib2nut_info_t array + * drivers/eaton-pdu-revelation-mib.c: drivers/eaton-pdu-revelation- + mib.c: initialize all fields of info_lkp_t arrays + * drivers/eaton-pdu-pulizzi-mib.c: drivers/eaton-pdu-pulizzi-mib.c: + initialize all fields of mib2nut_info_t array + * drivers/eaton-pdu-pulizzi-mib.c: drivers/eaton-pdu-pulizzi-mib.c: + initialize all fields of info_lkp_t arrays + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + initialize all fields of mib2nut_info_t array + * drivers/eaton-pdu-marlin-mib.c: drivers/eaton-pdu-marlin-mib.c: + initialize all fields of info_lkp_t arrays + * drivers/eaton-pdu-genesis2-mib.c: drivers/eaton-pdu-genesis2-mib.c: + initialize all fields of mib2nut_info_t array + * drivers/compaq-mib.c: drivers/compaq-mib.c: initialize all fields + of mib2nut_info_t array + * drivers/compaq-mib.c: drivers/compaq-mib.c: initialize all fields + of info_lkp_t arrays + * drivers/baytech-mib.c: drivers/baytech-mib.c: initialize all fields + of mib2nut_info_t array + * drivers/baytech-mib.c: drivers/baytech-mib.c: initialize all fields + of info_lkp_t arrays + * drivers/apc-mib.c: drivers/apc-mib.c: initialize all fields of + mib2nut_info_t array (and comment concern whether the addition was + right?) + * drivers/apc-mib.c: drivers/apc-mib.c: replace verbatim OID string + we seek with a macro APC_UPS_DEVICE_MODEL like elsewhere + * drivers/apc-mib.c: drivers/apc-mib.c: initialize all fields of + info_lkp_t arrays + +2020-11-06 Jim Klimov + + * drivers/apcsmart_tabs.c: drivers/apcsmart_tabs.c: initialize all + fields of upsdrv_info_t array + * drivers/apcsmart_tabs.c: drivers/apcsmart_tabs.c: initialize all + fields of apc_vartab_t arrays + * tools/nut-scanner/nutscan-serial.c: tools/nut-scanner/nutscan- + serial.c: initialize all fields of device_portname_t arrays + * drivers/upscode2.c: drivers/upscode2.c: initialize all fields of + cmd_t and simple_t arrays + +2020-11-05 Jim Klimov + + * drivers/optiups.c: drivers/optiups.c: initialize all fields of + ezfill_t tables + * drivers/mge-hid.c: drivers/mge-hid.c: update arrays of info_lkp_t + with fourth (nuf) field and comment where a real nuf() might be + useful + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: update arrays of + info_lkp_t with fourth (nuf) field and comment where a real nuf() + might be useful + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: update arrays of + info_lkp_t with fourth (nuf) field + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: update HIDDevice_t + object with missing initializer for bcdDevice + * drivers/mge-hid.c: drivers/mge-utalk.c: update arrays of info_lkp_t + with fourth (nuf) field + * drivers/gamatronic.h: drivers/gamatronic.h: initialize the "value" + field in the struct array + * drivers/gamatronic.h: drivers/gamatronic.h: avoid anonymous struct + +2020-11-04 Jim Klimov + + * drivers/bcmxcp.c: drivers/bcmxcp.c: fix info_lkp_t arrays to + consider fourth "nuf" field + +2020-11-08 Jim Klimov + + * drivers/mge-xml.c: drivers/mge-xml.c: avoid implicit switch fall- + through (comment whether that wondering is the right thing to do + though) + +2020-11-06 Jim Klimov + + * drivers/upscode2.c: drivers/upscode2.c: comment the fallthrough in + upsc_simple() switch, so far consider it explicitly desired as it + was before + * drivers/isbmex.c: drivers/isbmex.c: replace FALLTHRU comments with + more portable and reliable goto jumps + +2020-11-05 Jim Klimov + + * drivers/isbmex.c: drivers/isbmex.c: upsdrv_updateinfo(): fix + switch/break + +2020-11-08 Jim Klimov + + * drivers/blazer_usb.c: drivers/blazer_usb.c: avoid implicit switch + fall-through + * drivers/riello_usb.c: drivers/riello_usb.c: avoid implicit switch + fall-through + * drivers/tripplite_usb.c: drivers/tripplite_usb.c: avoid implicit + switch fall-through + +2020-11-06 Jim Klimov + + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + explicit fall through to displaying help + * drivers/nutdrv_qx.c: drivers/nutdrv_qx.c: qx_command(): explicit + fall through the switch + * drivers/mge-hid.c: drivers/mge-hid.c: replace FALLTHRU comments + with same returns as the next default case + +2020-11-05 Jim Klimov + + * drivers/mge-hid.c: drivers/mge-hid.c: quiesce -Wimplicit- + fallthrough=3 warnings about fall-through in switch + +2020-11-06 Jim Klimov + + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: replace FALLTHRU + comments with more portable and reliable goto jumps + +2020-11-05 Jim Klimov + + * drivers/usbhid-ups.c: drivers/usbhid-ups.c: quiesce -Wimplicit- + fallthrough=3 warnings about fall-through in switch + +2020-11-06 Jim Klimov + + * clients/upsc.c: clients/upsc.c: replace FALLTHRU comments with more + portable and reliable goto jumps + +2020-11-04 Jim Klimov + + * clients/upsc.c: clients/upsc.c: quiesce -Wimplicit-fallthrough=3 + warnings about fall-through in switch + +2020-11-06 Jim Klimov + + * common/snprintf.c: common/snprintf.c: replace FALLTHRU comments + with more portable and reliable goto jumps + +2020-11-04 Jim Klimov + + * common/snprintf.c: common/snprintf.c: quiesce -Wimplicit- + fallthrough=3 warnings about fall-through in switch + +2020-11-08 Jim Klimov + + * ci_build.sh: ci_build.sh: refactor to track failing "default-all- + errors" so we can extend it to "configure_nut()" and + "build_to_only_catch_errors()" more variants + * ci_build.sh: ci_build.sh: refactor to have a + build_to_only_catch_errors() routine + * ci_build.sh: ci_build.sh: refactor to have a configure_nut() + routine + * docs/developers.txt: docs/developers.txt: document a valid use-case + of goto for clean switch-case fall-through + +2020-11-04 Jim Klimov + + * include/common.h: include/common.h: introduce NUT_UNUSED* macros to + mark up codebase + +2020-11-05 Jim Klimov + + * .travis.yml: .travis.yml: in NUT_MATRIX test cases, specify + -Werror=implicit-fallthrough=3 to let special comments quiesce the + warning where a FALLTHRU is intentional + * .travis.yml: .travis.yml: in clang test cases, do not insist that + all macros are used, or we can not pass even autoconf + +2020-11-04 Jim Klimov + + * .travis.yml: .travis.yml : enable "-Wextra -Weverything" for clang + (follow-up to issue #823) + * .travis.yml: .travis.yml : enable "-Wextra" for newer gcc versions + on Linux (follow-up to issue #823) + * .travis.yml: .travis.yml : enable "-Wextra" for default gcc + versions on Linux (follow-up to issue #823) + * configure.ac: configure.ac: revise the fix for AC_PROG_LIBTOOL to + only revert settings already passed to the compiler (that older + releases may not understand if we just force them) + * configure.ac: configure.ac : work around libtool weakness seen by + pedantic compilers (did not test for "${CLANG}" so drop it for now) + * configure.ac: configure.ac : work around libtool weakness seen by + pedantic compilers + * ci_build.sh: ci_build.sh: do not hide autogen.sh stderr + * ci_build.sh: ci_build.sh: if configure failed, sleep a bit before + dumping config.log + +2020-11-03 Jim Klimov + + * ci_build.sh: ci_build.sh : if configure script fails, dump its log + before exiting + * .travis.yml: .travis.yml : rephrase some comments + * .travis.yml: .travis.yml : separate the "_matrix_gnustd_nowarn" + * .travis.yml: Issue #823 follow-up: support branches named like + "fightwarn" to build more test cases in Travis CI (actually enable + those build matrices) + * .travis.yml: Issue #823 follow-up: support branches named like + "fightwarn" to build more test cases in Travis CI + +2020-11-07 Jim Klimov + + * drivers/eaton-ats16-mib.c: Update eaton-ats16-mib.c Reworded the + comments + * drivers/nutdrv_qx.c: Update nutdrv_qx.c drivers/nutdrv_qx.c: + rectify indentations + * drivers/tripplite_usb.c: Update tripplite_usb.c + drivers/tripplite_usb.c: drop trailing whitespace + * docs/acknowledgements.txt: Update acknowledgements.txt Acknowledge + a vendor contribution from EVER Power Systems + * drivers/ever-hid.c: Update ever-hid.c Small whitespace fixes + * docs/acknowledgements.txt: Update acknowledgements.txt Add vendor + contribution from AMETEK Powervar for UPM series + * drivers/liebert-hid.c: Update liebert-hid.c Minor whitespace fixes + +2020-11-06 Jim Klimov + + * configure.ac: configure.ac: drop trailing whitespace + * tools/nut-usbinfo.pl: tools/nut-usbinfo.pl: drop trailing + whitespace + * tools/nut-recorder.sh: tools/nut-recorder.sh: drop trailing + whitespace + * tools/nut-ddl-dump.sh: tools/nut-ddl-dump.sh: drop trailing + whitespace + * tests/nutclienttest.cpp: tests/nutclienttest.cpp: drop trailing + whitespace + * server/user.c: server/user.c: drop trailing whitespace + * server/upstype.h: server/upstype.h: drop trailing whitespace + * server/sstate.c: server/sstate.c: drop trailing whitespace + * server/sockdebug.c: server/sockdebug.c: drop trailing whitespace + * server/netlist.c: server/netlist.c: drop trailing whitespace + * server/netinstcmd.c: server/netinstcmd.c: drop trailing whitespace + * server/netget.c: server/netget.c: drop trailing whitespace + * server/conf.c: server/conf.c: drop trailing whitespace + * common/upsconf.c: common/upsconf.c: drop trailing whitespace + * common/state.c: common/state.c: drop trailing whitespace + * common/setenv.c: common/setenv.c: drop trailing whitespace + * common/parseconf.c: common/parseconf.c: drop trailing whitespace + * clients/upsmon.h: clients/upsmon.h: drop trailing whitespace + * clients/upsimagearg.h: clients/upsimagearg.h: rectify whitespace + * clients/upsclient.h: clients/upsclient.h: drop trailing whitespace + * clients/nutclient.cpp, clients/nutclient.h: + clients/nutclient.{cpp,h}: drop trailing whitespace + * clients/cgilib.c: clients/cgilib.c: drop trailing whitespace + * drivers/nut-ipmipsu.c, drivers/nut-libfreeipmi.c: + drivers/nut-*ipmi**.{c,h}: drop trailing whitespace + * drivers/netxml-ups.c, drivers/netxml-ups.h: drivers/netxml- + ups.{c,h}: drop trailing whitespace + * drivers/mge-utalk.h, drivers/mge-xml.c, drivers/mge-xml.h: + drivers/mge*.{c,h}: drop trailing whitespace + * drivers/main.h: drivers/main.h: drop trailing whitespace + * drivers/main.c: Drop exec bit from source file + * drivers/liebert-hid.h, drivers/liebert.c: drivers/liebert*: drop + trailing whitespace + * drivers/libhid.c: drivers/libhid.h: drop trailing whitespace + * drivers/idowell-hid.c: drivers/idowell-hid.h: drop trailing + whitespace + * drivers/hidtypes.h: drivers/hidtypes.h: drop trailing whitespace + * drivers/genericups.h: drivers/genericups.h: drop trailing + whitespace + * drivers/everups.c: drivers/everups.c: drop trailing whitespace + * drivers/eaton-pdu-pulizzi-mib.c: drivers/eaton-pdu-pulizzi-mib.c: + drop trailing whitespace + * drivers/dummy-ups.h: drivers/dummy-ups.h: drop trailing whitespace + * drivers/dstate.c: drivers/dstate.c: drop trailing whitespace + * drivers/delta_ups-mib.c: drivers/delta_ups-mib.c: drop trailing + whitespace + * drivers/cyberpower-mib.c: drivers/cyberpower-mib.c: drop trailing + whitespace + * drivers/blazer.c, drivers/blazer_usb.c: drivers/blazer*.{c,h}: drop + trailing whitespace + * drivers/bestuferrups.c: drivers/bestuferrups.c: rectify + indentations + * drivers/bestuferrups.c: drivers/bestuferrups.c: drop trailing + whitespace + * drivers/belkin-hid.c, drivers/belkin-hid.h: drivers/belkin*.{c,h}: + drop trailing whitespace + * drivers/bcmxcp_io.h, drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c: + drivers/bcmxcp*.{c,h}: drop trailing whitespace + * drivers/baytech-mib.c: drivers/baytech-mib.c: drop trailing + whitespace + * drivers/apc-mib.c: drivers/apc-mib.c: drop trailing whitespace + * drivers/apc-hid.c, drivers/apc-hid.h: drivers/apc-hid.{c,h}: drop + trailing whitespace + * drivers/xppc-mib.c: drivers/xppc-mib.h: drop trailing whitespace + * drivers/tripplite-hid.h: drivers/tripplite-hid.h: drop trailing + whitespace + * drivers/snmp-ups.h: drivers/snmp-ups.h: drop trailing whitespace + * drivers/skel.c: drivers/skel.c: drop trailing whitespace + * drivers/richcomm_usb.c: drivers/richcomm_usb.c: drop trailing + whitespace + * drivers/powerware-mib.c: drivers/powerware-mib.c: drop trailing + whitespace + * drivers/openups-hid.c: drivers/openups-hid.c: drop trailing + whitespace + * drivers/oneac.c, drivers/oneac.h: drivers/oneac.{c,h}: drop + trailing whitespace + * drivers/nutdrv_atcl_usb.c: drivers/nutdrv_atcl_usb.c: drop trailing + whitespace + * drivers/riello.c, drivers/riello_ser.c, drivers/riello_usb.c: + drivers/riello*.{c,h}: drop trailing whitespaces + * drivers/apcsmart-old.c, drivers/apcsmart-old.h: drivers/apcsmart- + old.{c,h}: drop trailing whitespaces + * tools/nut-scanner/nut-scanner.c: tools/nut-scanner/nut-scanner.c: + fix whitespaces + * tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-ip.c, + tools/nut-scanner/nutscan-ip.h, tools/nut-scanner/scan_avahi.c, + tools/nut-scanner/scan_eaton_serial.c, tools/nut- + scanner/scan_ipmi.c, tools/nut-scanner/scan_usb.c: tools/nut- + scanner/*.{c,h}: drop trailing whitespaces + * server/netmisc.c: server/netmisc.c: drop trailing whitespaces + * server/netssl.c: server/netssl.c: drop trailing whitespaces + * server/upsd.c: server/upsd.c: drop trailing whitespaces + * drivers/ivtscd.c: drivers/ivtscd.c: drop trailing whitespaces + * drivers/powerp-bin.h, drivers/powerp-txt.h, drivers/powerpanel.c, + drivers/powerpanel.h: drivers/powerp*.{c,h}: drop trailing + whitespaces + * drivers/powerp-txt.c: drivers/powerp-txt.c: drop trailing + whitespaces + * drivers/powerp-bin.c: drivers/powerp-bin.c: drop trailing + whitespaces + * drivers/victronups.c: drivers/victronups.c: rectify whitespace + * drivers/upscode2.c: drivers/upscode2.c: rectify whitespace + +2020-11-05 Jim Klimov + + * drivers/tripplitesu.c: drivers/tripplitesu.c: drop trailing + whitespaces + * drivers/solis.c, drivers/solis.h: drivers/solis.{c,h}: rectify + whitespaces + * drivers/safenet.c: drivers/safenet.c: drop trailing whitespaces + * drivers/rhino.c: drivers/rhino.c: normalize whitespace heavily + * drivers/powercom.c: drivers/powercom.c: rectify leading whitespaces + * drivers/powercom.c: drivers/powercom.c: drop trailing whitespaces + * drivers/powercom.h: drivers/powercom.h: drop trailing whitespaces + * drivers/optiups.c: drivers/optiups.c: rectify whitespaces + * drivers/hidparser.c: drivers/hidparser.c: drop trailing whitespaces + * drivers/usb-common.c: drivers/usb-common.c: drop trailing + whitespaces + * drivers/libshut.h, drivers/libusb.h, drivers/usb-common.h: + drivers/libshut.h libusb.h usb-common.h: drop trailing whitespaces + * drivers/libshut.c: drivers/libshut.c: rectify whitespaces per style + guide + * drivers/mge-utalk.c: drivers/mge-utalk.c: drop trailing whitespaces + * drivers/metasys.c: drivers/metasys.c: drop trailing whitespaces + * drivers/masterguard.c: drivers/masterguard.c: rectify whitespaces + and drop comments opposing the project style guide + * drivers/masterguard.c: drivers/masterguard.c: drop trailing + whitespaces + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: rectify whitespaces + * drivers/liebert-esp2.c: drivers/liebert-esp2.c: drop trailing + whitespaces + * drivers/isbmex.c: drivers/isbmex.c: rectify whitespaces + * drivers/isbmex.c: drivers/isbmex.c: drop trailing whitespaces + * drivers/gamatronic.h: drivers/gamatronic.h: rectify whitespaces + * drivers/dummy-ups.c: drivers/dummy-ups.c: drop trailing whitespaces + * drivers/bestups.c: drivers/bestups.c: drop trailing whitespaces + * drivers/bestfortress.c: drivers/bestfortress.c: rectify whitespaces + * drivers/bestfcom.c: drivers/bestfcom.c: rectify whitespaces + * drivers/belkinunv.c: drivers/belkin.c: rectify whitespaces + * drivers/belkin.c: drivers/belkin.c: drop trailing whitespaces + * drivers/bcmxcp.c: drivers/bcmxcp.c: fix leading whitespaces + +2020-11-04 Jim Klimov + + * drivers/bcmxcp.c: drivers/bcmxcp.c: drop trailing whitespaces + * drivers/bcmxcp.h: drivers/bcmxcp.h: drop trailing whitespaces + * drivers/serial.c: drivers/serial.c: drop trailing whitespaces + * clients/upssched.c: clients/upssched.c: drop trailing whitespaces + * clients/upsmon.c: clients/upsmon.c: drop trailing whitespaces + * clients/upsset.c: clients/upsset.c: drop trailing whitespaces + * clients/upsimage.c: clients/upsimage.c: drop indented whitespaces + * clients/upsstats.c: clients/upsstats.c: drop trailing whitespaces + * clients/upslog.c: clients/upslog.c: drop trailing whitespaces + * clients/upsc.c: clients/upsc.c: drop trailing whitespaces + * clients/upsclient.c: clients/upsclient.c: drop trailing whitespaces + * common/snprintf.c: common/snprintf.c: rectify whitespace + +2020-11-06 amccartney + + * drivers/powervar-hid.c: Final clean up and edits for Powervar UPM + support + +2020-11-04 Jim Klimov + + * configure.ac: Fix issue #833 for (sys/)termios.h on BSD ...And + generally check if we CAN build serial drivers before trying to + (and/or guessing if we should try). + +2020-11-04 Jim Klimov + + * drivers/solis.c: Update solis.c Drop temporary unicode comment for + PR + * drivers/nutdrv_qx_voltronic.c: Update nutdrv_qx_voltronic.c Drop + temporary comment with unicode for PR + +2020-11-03 Eric Clappier + + * drivers/eaton-ats16-mib.c: Apply patch "Nut-scanner fix for + discovery ats16 with legacy NMC and newer Network-M2" + +2020-10-26 Arnaud Quette + + * drivers/eaton-pdu-marlin-mib.c: snmp-ups: fix outlet ID on Eaton + ePDU Tie outlet ID to a real OID, to avoid erroneous indexes (-1, + 0) + * docs/nut-names.txt, drivers/eaton-pdu-marlin-mib.c: snmp-ups: fix + Eaton ePDU switch ability Expose a general switchability of the + unit, using outlet.switchability, along with a more suitable per- + outlet mechanism + +2020-10-25 Jim Klimov + + * docs/man/Makefile.am: docs/man/Makefile.am : @echo diagnostic + messages without a trace by default + +2020-10-22 Arnaud Quette + + * drivers/main.c: Fix dstate init call WRT data dump Closes: + https://github.com/networkupstools/nut/issues/835 + +2020-10-15 Jim Klimov + + * docs/man/Makefile.am: docs/man/Makefile.am : in check-man-* + targets, count the checked files (to see better the cases where + none were available) + * docs/man/Makefile.am: docs/man/Makefile.am : typo fix ">&@" => + ">&2" for stderr + +2020-10-13 Jim Klimov + + * .travis.yml: .travis.yml (#823) : in default builds, disable + whatever is not in "_matrix_required" + * .travis.yml: .travis.yml (#823) : define a _matrix_linux and + _matrix_all groupings + * .travis.yml: .travis.yml (#823) : clarify the distro-dependent + relations of matrix jobs as required and allowfail per distro + +2020-10-12 Jim Klimov + + * docs/man/usbhid-ups.txt: Update usbhid-ups.txt Rearranged lines to + keep "all" block together, and finish the list item with a comma + without much context change ;) + * docs/nut.dict: Update nut.dict for PR #733 Add new product name + and vendor keywords + +2020-10-12 Jim Klimov + + * docs/acknowledgements.txt: docs/acknowledgements.txt: revise the + last paragraph for listing corporate contributors + +2020-10-12 amccartney + + * docs/man/usbhid-ups.txt, drivers/powervar-hid.c: Changes per NUT + review comments. Removed info fields from polling. Added + company/contributor info. Updated docs/man/usbhid-ups.txt + +2020-10-12 Jim Klimov + + * docs/nutdrv_qx-subdrivers.txt: docs/nutdrv_qx-subdrivers.txt: + revise a few typos + * docs/configure.txt: docs/configure.txt: update for gdlib pkg-config + support (follow-up to #809) + * docs/configure.txt: docs/configure.txt: update for gdlib pkg-config + support (follow-up to #809) + +2020-10-12 Jim Klimov + + * configure.ac: Update configure.ac Whitespace mess + +2020-10-12 Jim Klimov + + * docs/man/upsd.conf.txt: docs/man/upsd.conf.txt: mention that + ALLOW_NO_DEVICE envvar (e.g. from nut.conf) can override the + setting in upsd.conf + * conf/nut.conf.sample: conf/nut.conf.sample: fix ALLOW_NO_DEVICE + example to "export" it on a separate line + +2020-10-12 Jim Klimov + + * .travis.yml: .travis.yml (#823) : win bash has no time + +2020-10-12 Konstantin Gizdov + + * drivers/usbhid-ups.c: address some comments + +2020-10-12 Jim Klimov + + * .travis.yml: ci_build.sh (#823) : add gnu99-clang-win-nowarn + * ci_build.sh: ci_build.sh (#823) : only call dpkg on linux + * ci_build.sh: ci_build.sh (#823) : investigate win autogen + * .travis.yml: .travis.yml (#823) : fix delivery of ccache to win + builds + +2020-10-11 Jim Klimov + + * .travis.yml: .travis.yml (#823) : do not cache /usr/local/Cellar on + osx, it is too big and rejected anyway + * .travis.yml: .travis.yml (#823, #828) : extend matrix for osx + builds with -std=gnu* variants that seem to pass + * .travis.yml: .travis.yml (#823) : for osx builds, avoid "brew + update" by default, that since 2.0.0 release involves cleanup + automagically and takes a needless 15-30 minutes hit on a Travis + worker When desired we can set HOMEBREW_NO_AUTO_UPDATE + customizable per run + * .travis.yml: .travis.yml (#823) : for osx builds, add ccache; and + only bother for asciidoc + docbook-xsl if building docs + * .travis.yml: .travis.yml (#823) : cache locations related to Brew + between runs + * .travis.yml: .travis.yml (#823) : for now, enable CI_TRACE on Win + always (to find where ci_build.sh script dies) + * .travis.yml: .travis.yml : set jobs.fast_finish:true + +2020-10-10 Jim Klimov + + * .travis.yml: .travis.yml (#823) : group tests into YAML _matrix-* + lists to pick some easier for particular runs on dev branches + * .travis.yml: .travis.yml (#823) : xcode6.4 is deprecated on Travis, + try a newer oldest alternative (7.3) + * .travis.yml: .travis.yml (#823) : add c99-clang-xcode10.2-warn + * .travis.yml: .travis.yml (#823) : reorder some allowed_failure + tests to group logically + * .travis.yml: .travis.yml (#823) : drop gnu14-gcc-8-nowarn (no C14), + add gnu17-clang-8-nowarn + * .travis.yml: .travis.yml (#823) : drop gnu14 and gnu17 attempts + with gcc-7; try gnu14 with gcc-8 + * .travis.yml: .travis.yml (#823) : mark gnu17-gcc-9-nowarn as OK + * ci_build.sh: .travis.yml (#823) : give up on gdlib (--with-cgi) on + win for now + * .travis.yml: .travis.yml (#823) : add a few MacOS X and + Windows+clang9 build combos for diversity + * .travis.yml: .travis.yml (#823) : add more compilers and standards + to try, to collect max diags: c17-clang-8-warn gnu17-gcc-9-warn + * .travis.yml: .travis.yml (#823) : add more compilers and standards + to try : gnu14-gcc-7-nowarn gnu17-gcc-7-nowarn gnu17-gcc-9-nowarn + c99-clang-3.5-nowarn c17-clang-8-nowarn + * .travis.yml: .travis.yml (#823) : specify "compiler" in our + handmade matrix to hint to Travis which env we want + * .travis.yml: .travis.yml (#823) : comment the reference of C/C++ + standard support by gcc and clang versions used + * .travis.yml: .travis.yml : reshuffle default required builds order + to have the quicker ones more likely to fail in development + iterations to run first + * .travis.yml: .travis.yml : move BUILD_TYPE=default and + BUILD_TYPE=default-tgt:distcheck-light into common stack for + manageability + * .travis.yml: .travis.yml: declare linux "dist" that we want by + default + * ci_build.sh: ci_build.sh: handle runs with unspecified BUILD_TYPE + * ci_build.sh: ci_build.sh: report if PATH includes ccache, and if CC + and CXX understand passed C(XX)FLAGS + * ci_build.sh: ci_build.sh: report values of PATH, CC and CXX (and + versions of the latter) before adding CCACHE into the mix + +2020-10-09 Konstantin Gizdov + + * drivers/usbhid-ups.c: more compact logic + * drivers/usbhid-ups.c: remove leftover lines + * drivers/usbhid-ups.c: lay the groundwork for CyberPower UT + cputquirk + * drivers/usbhid-ups.c: fix indentation style + +2017-10-03 Arnaud Quette + + * docs/configure.txt: Remove an extraneous point + * docs/configure.txt: Update configure documentation for libusb + Document the possibility to override the auto-detection choice, + even though the implementation of this override is not yet + currently working + +2020-10-09 Jim Klimov + + * docs/developers.txt: docs/developers.txt : document coding style + examples for tabs vs spaces + * docs/developers.txt: docs/developers.txt : document a "for loop + initial declarations are only allowed in C99 or C11 mode" + portability offense + * docs/developers.txt: docs/developers.txt : document the official + C99+ standard support and that we have CI to help make sure what is + upheld + * .travis.yml: .travis.yml : update comment for the NUT_MATRIX_TAG + block of tests + * .travis.yml: .travis.yml : fix comment-naming for cDefault-gcc- + default-nowarn/gnu99-gcc-default-nowarn primary not-failing case to + keep up + * .travis.yml: .travis.yml : mark gnu89-gcc-default-nowarn as a not- + failing case to keep up + * drivers/solis.c: drivers/solis.c : fix C89 for-loop var + declarations + * .travis.yml: .travis.yml : mark gnu11-gcc-7-nowarn + gnu99-clang-5.0-nowarn as not-failing cases to keep up + * .travis.yml: .travis.yml : add gnu89-gcc-default-nowarn to the test + matrix to check if at least the basic syntax is okay (note that + current warnings for C89 seem to indicate faults that may be fatal + in binary code) + * .travis.yml: .travis.yml : mark gnu99-gcc-7-nowarn as a not-failing + case to keep up + * .travis.yml: .travis.yml : add gnu99-clang-5.0-nowarn to the test + matrix (hope clang can do GNU C dialect) + * .travis.yml: .travis.yml : add gnu11-gcc-7-nowarn to the test + matrix + +2020-10-08 Alexey Rodionov + + * .../python/app/locale/ru/LC_MESSAGES/NUT-Monitor.mo, + scripts/python/app/locale/ru/ru.po: Fixed two typos and translation + of the term load + +2020-10-08 Jim Klimov + + * .travis.yml: .travis.yml : add c11-clang-5.0-nowarn and + c11-clang-5.0-warn to the matrix + * .travis.yml: .travis.yml : add gnu99-gcc-7-nowarn + c99-clang-5.0-nowarn to test matrix (expected to be green) + * .travis.yml: .travis.yml : warning comment about multitoken CFLAGS + and distcheck + * ci_build.sh: ci_build.sh : spell case statements in consistent + style + * ci_build.sh: ci_build.sh : define default-all-errors separately + from default-alldrv + +2020-08-08 Sean McBride + + * clients/cgilib.c, clients/nutclient.cpp, clients/upsmon.c, + clients/upsset.c, drivers/al175.c, drivers/apcsmart-old.c, + drivers/asem.c, drivers/bcmxcp.c, drivers/belkinunv.c, + drivers/dstate.c, drivers/gamatronic.c, drivers/isbmex.c, + drivers/mge-utalk.c, drivers/nut-libfreeipmi.c, + drivers/nutdrv_qx_voltronic-qs-hex.c, + drivers/nutdrv_qx_voltronic.c, drivers/oneac.c, drivers/powercom.c, + drivers/rhino.c, drivers/riello_ser.c, drivers/snmp-ups.c, + drivers/solis.c, drivers/tripplite_usb.c, drivers/tripplitesu.c, + server/netssl.c, tools/nut-scanner/scan_nut.c: WIP: Fixed various + warnings and errors identified by cppcheck Specifically: + arrayIndexThenCheck,drivers/nutdrv_qx_voltronic-qs- + hex.c:222,style,Array index 'i' is used before limits check. + arrayIndexThenCheck,drivers/oneac.c:176,style,Array index 'i' is + used before limits check. + clarifyCalculation,drivers/belkinunv.c:1063,style,Clarify + calculation precedence for '&' and '?'. + clarifyCalculation,drivers/belkinunv.c:922,style,Clarify + calculation precedence for '&' and '?'. + clarifyCalculation,drivers/powercom.c:677,style,Clarify calculation + precedence for '&' and '?'. + clarifyCalculation,drivers/powercom.c:732,style,Clarify calculation + precedence for '&' and '?'. + clarifyCondition,drivers/asem.c:248,style,Boolean result is used in + bitwise operation. Clarify expression with parentheses. + duplicateConditionalAssign,drivers/solis.c:725,style,The statement + 'if (DaysOnWeek!=DaysOffWeek) DaysOnWeek=DaysOffWeek' is logically + equivalent to 'DaysOnWeek=DaysOffWeek'. + duplicateExpression,clients/cgilib.c:49,style,Same expression on + both sides of '||'. + duplicateExpression,drivers/nutdrv_qx_voltronic.c:270,style,Same + expression on both sides of '||'. + duplicateExpression,drivers/nutdrv_qx_voltronic.c:303,style,Same + expression on both sides of '||'. + duplicateExpression,drivers/nutdrv_qx_voltronic.c:397,style,Same + expression on both sides of '||'. identicalInnerCondition,drivers/t + ripplite_usb.c:579,warning,Identical inner 'if' condition is always + true. incorrectLogicOperator,drivers/dstate.c:1170,warning,Logical + conjunction always evaluates to false: c2 && !c2. + incorrectLogicOperator,drivers/rhino.c:190,warning,Logical + disjunction always evaluates to true: BattVoltage > 129 || + BattVoltage < 144. incorrectStringBooleanError,drivers/mge- + utalk.c:899,warning,Conversion of string literal "\r\n" to bool + always evaluates to true. + invalidPrintfArgType_sint,clients/upsset.c:393,warning,%d in format + string (no. 1) requires 'int' but the argument type is 'unsigned + int'. invalidPrintfArgType_sint,clients/upsset.c:676,warning,%d in + format string (no. 1) requires 'int' but the argument type is + 'unsigned int'. + invalidPrintfArgType_sint,drivers/isbmex.c:178,portability,%d in + format string (no. 1) requires 'int' but the argument type is + 'ssize_t {aka signed long}'. + invalidPrintfArgType_sint,drivers/tripplitesu.c:435,warning,%d in + format string (no. 1) requires 'int' but the argument type is + 'unsigned int'. + knownConditionTrueFalse,clients/upsmon.c:919,style,Condition 'un' + is always true + knownConditionTrueFalse,drivers/gamatronic.c:111,style,Condition + 'ret>=0' is always true + knownConditionTrueFalse,drivers/powercom.c:696,style,Condition + 'battval>bat0' is always true + knownConditionTrueFalse,drivers/solis.c:485,style,Condition + 'AppPower==0' is always false knownConditionTrueFalse,tools/nut- + scanner/scan_nut.c:180,style,Condition 'numa>=3' is always true + memleak,clients/upsset.c:664,error,Memory leak: val + nullPointerRedundantCheck,drivers/snmp-ups.c:1554,warning,Either + the condition 'info_template==NULL' is redundant or there is + possible null pointer dereference: info_template. + pointerLessThanZero,drivers/nut-libfreeipmi.c:864,style,A pointer + can not be negative so it is either pointless or an error to check + if it is. pointerLessThanZero,drivers/nut-libfreeipmi.c:884,style,A + pointer can not be negative so it is either pointless or an error + to check if it is. + postfixOperator,clients/nutclient.cpp:896,performance,Prefer prefix + ++/-- operators for non-primitive types. + redundantInitialization,drivers/al175.c:548,style,Redundant + initialization for 'reply'. The initialized value is overwritten + before it is read. + uninitMemberVar,clients/nutclient.cpp:504,warning,Member variable + 'TcpClient::_timeout' is not initialized in the constructor. + uninitMemberVar,clients/nutclient.cpp:513,warning,Member variable + 'TcpClient::_timeout' is not initialized in the constructor. + uninitvar,server/netssl.c:546,error,Uninitialized variable: ret + unsignedLessThanZero,drivers/apcsmart-old.c:928,style,Checking if + unsigned expression 'sdtype' is less than zero. + unsignedPositive,drivers/bcmxcp.c:785,style,Unsigned expression + 'commandByte' can't be negative so it is unnecessary to test it. + uselessAssignmentPtrArg,drivers/riello_ser.c:105,warning,Assignment + of function parameter has no effect outside the function. Did you + forget dereferencing it? + +2020-10-08 Jim Klimov + + * ci_build.sh: ci_build.sh : revise multi-token CONFIG_OPTS entries + * .travis.yml, ci_build.sh: .travis.yml / ci_build.sh : define a + BUILD_TYPE=default-all-errors specifically to list all files with + errors fatal for current build config (but not list whatever + succeds) + * ci_build.sh: ci_build.sh : allow to stack multi-token CC="ccache + clang" and such + * ci_build.sh: ci_build.sh : recognize is_clang() for ccache wrapping + * ci_build.sh: ci_build.sh : recognize is_clang() + * .travis.yml, ci_build.sh: Issue #823 : Set up Travis CI testing for + more compiler implementations and C/C++ standards + * ci_build.sh: ci_build.sh : fix a few historic typos + * ci_build.sh: ci_build.sh: make sure we build all possible binaries + in default-alldrv mode + +2020-10-08 Alexey Rodionov + + * .../app/locale/ru/LC_MESSAGES/NUT-Monitor.mo, + scripts/python/app/locale/ru/ru.po: Additional corrections of the + Russian translation + * .../app/locale/ru/LC_MESSAGES/NUT-Monitor.mo, + scripts/python/app/locale/ru/ru.po: Fixed typos, made changes + according to comments + +2020-10-08 Jim Klimov + + * drivers/Makefile.am: drivers/Makefile.am : drop redundant + pijuice_SOURCES listed in wrong section + +2020-10-07 Jim Klimov + + * docs/man/snmp-ups.txt, docs/nut.dict: Update snmp-ups manpage for + symmetrathreephase quirk to complete PR #788 + +2020-10-07 Jim Klimov + + * drivers/snmp-ups.c: Update snmp-ups.c Fixed indentation for + multiline if-clause + +2020-10-07 Jim Klimov + + * docs/man/Makefile.am, docs/man/index.txt, docs/man/pijuice.txt, + docs/nut.dict: Add initial manpage for pijuice driver, hastily + ripped off one for asem driver + * drivers/pijuice.c: pijuice.c cleanup : rectify leading indentations + * drivers/pijuice.c: pijuice.c cleanup : rectify tabulation of + definitions + * drivers/pijuice.c: pijuice.c cleanup : comment end of big block of + nested #if macros + * drivers/pijuice.c: pijuice.c cleanup : rectify indentation and + blank-line the default return + * drivers/pijuice.c: pijuice.c cleanup : indent stacked #if* macros + * drivers/pijuice.c: pijuice.c cleanup : trailing whitespaces + +2020-10-07 Jim Klimov + + * clients/upsmon.c: Update upsmon.c Log a warning if an UPS is both + OB+LB+Calibrating so due to this combo we do not tell the host to + shut down gracefully. Comment some ideas to work around such + situation in a smarter way if we have additional info to know if we + are in a safe environment just calibrating, or a known-unsafe one + with a real outage in progress. + * common/state.c: state.c: state_delinfo(): comment on immutables + For `state_delinfo()` not deleting immutable variables, comment + this near the function and log for runtime hits to help + troubleshooting. + +2020-10-06 Arnaud Quette + + * drivers/main.c: Driver datadump improvements Do not switch to + statepath, nor write pidfile, when using the datadump (-s -d) mode + +2020-09-22 Ross Williams + + * clients/upsmon.c, clients/upsmon.h: Do not shutdown if UPS is + performing calibration Some UPS calibration procedures (e.g. + CyberPower) involve discharging the battery below the LB level, but + we don't want systems to shut down if the UPS is only on battery + because it is calibrating. + +2019-04-01 Ross Williams + + * drivers/cyberpower-mib.c: cyberpower-mib: fix instant command + declarations Had desired OID values in default value field. Also, + default value for SU_TYPE_CMD should be NULL. + +2019-03-29 Ross Williams + + * drivers/cyberpower-mib.c: cyberpower-mib: Add instant commands + +2019-04-01 Ross Williams + + * drivers/cyberpower-mib.c: cyberpower-mib: got delay OID wrong Left + off .0 + * drivers/cyberpower-mib.c: cyberpower-mib: Add delay variables Add + some read/write variables affecting the sleep delay and return + delay. + * drivers/cyberpower-mib.c: cyberpower-mib: fix instant command + declarations Had desired OID values in default value field. Also, + default value for SU_TYPE_CMD should be NULL. + * drivers/cyberpower-mib.c: cyberpower-mib: NUT runtime is seconds + not minutes + * drivers/cyberpower-mib.c: cyberpower-mib: clarify status values + * drivers/cyberpower-mib.c: cyberpower-mib: correct sysOID At least + newer CyberPower management cards report a sysOID of CPS-MIB::ups, + not the base CyberPower enterprise MIB that was previously defined. + +2019-03-29 Ross Williams + + * drivers/cyberpower-mib.c: cyberpower-mib: Add instant commands + * drivers/cyberpower-mib.c: cyberpower-mib: add support for battery + status Reports LB, CAL, and RB flags + +2020-08-12 Konstantin Gizdov + + * drivers/usbhid-ups.c: initial patch that works + +2020-07-29 Fabrice Fontaine + + * m4/nut_check_libgd.m4: nut_check_libgd.m4: try to find gd through + pkg-config gdlib-config has been dropped from version 2.3.0 with h + ttps://github.com/libgd/libgd/commit/d62f608c7c4a814c70d4ba777725e3 + e62d9e2cde + +2020-07-21 Luka Kovačič + + * drivers/delta-hid.c: drivers: delta-hid: Update entry flags + appropriately Update entry flags to use HU_FLAG_QUICK_POLL for + status and alarm variables, HU_FLAG_SEMI_STATIC for variables that + can change on user changes and HU_FLAG_STATIC for variables that + don't need to be updated after init. + +2020-07-02 Luka Kovačič + + * drivers/Makefile.am, drivers/delta-hid.c, drivers/delta-hid.h, + drivers/usbhid-ups.c, scripts/upower/95-upower-hid.rules: drivers: + delta-hid: Add Delta HID subdriver Delta HID subdriver is added to + support Delta RT Series, Single Phase, 1/2/3 kVA UPS devices. The + driver was tested and tweaked on Delta RT 3 kVA UPS. + +2020-07-17 Alexey Rodionov + + * .../app/locale/ru/LC_MESSAGES/NUT-Monitor.mo, + scripts/python/app/locale/ru/ru.po: Add Russian translation for + NUT-Monitor + +2020-07-11 Matt Merhar + + * docs/security.txt: Fix typo in TCP Wrappers documentation + +2020-06-15 Florian Bernd + + * drivers/apcupsd-ups.c: Do not overwrite `poll_interval` in + `apcupsd-ups` This commit removes the hardcoded poll-interval of + 60 seconds and instead only makes sure that the user-defined + interval is greater than a minimum-interval. + * drivers/apcupsd-ups.c, drivers/apcupsd-ups.h: Do not call + `dstate_delinfo()` for LB-condition variables This commit fixes + the `ignorelb` flag for the `apcupsd-ups` driver. Previusly + "battery.charge" and "battery.runtime" was cleared before invoking + `status_commit()` which caused the LB-condition to always be + `false`. + * common/state.c: Respect `ST_FLAG_IMMUTABLE` in `dstate_delinfo()` + +2020-06-11 Eric Zinnikas + + * drivers/cyberpower-mib.c: Support CyberPower RMCARD205 + +2020-06-11 Peter Klein + + * clients/nutclient.cpp, clients/nutclient.h: Remove dynamic + exception specifications from clients/nutclient.cpp These are + invalid in c++17 and must be removed for compatibility with modern + compilers. + +2020-06-02 Jim Klimov + + * drivers/apc-ats-mib.c: apc-ats-mib.c : use a ..._MODEL_NAME macro + and bump version to complete earlier fix + +2020-05-31 Timothy Pearson + + * drivers/snmp-ups.c: Fix long-standing transfer threshold read bug + with APCC 3 phase Symmetra units + +2020-05-14 Arnaud Quette + + * tools/nut-scanner/scan_snmp.c: SNMP scan: check the match dup on + 'mib' instead of 'sysoid' This actually avoids duplication when + multiple sysOIDs are declared for the same MIB + +2020-05-01 gprints + + * drivers/liebert-hid.c: Update liebert-hid.c + +2020-04-28 Arnaud Quette + + * drivers/eaton-ats16-mib.c: snmp-ups: cleanup Eaton ATS16 with new + Network-M2 Duplicate the definition, as a workaround to the bugger + scanner data extraction, and point at the same eaton_ats16 name, + since there is no interest in separating mib2nut entries pointing + at the same MIB mapping + +2020-01-15 Clappier, Eric + + * drivers/ietf-mib.c: Issue corection filter ietf mib (cherry picked + from commit 93a64efbdae28355be60329b651d3c42c7ddedf8) + +2020-04-28 Arnaud Quette + + * tools/nut-snmpinfo.py: Fix Python issue in the SNMP scan extractor + +2020-01-15 Clappier, Eric + + * tools/nut-scanner/scan_snmp.c, tools/nut-snmpinfo.py: Fix nutscan + snmp (cherry picked from commit + bc5a6c218e21c0af454007e2929c084129b6f3ed) + * drivers/apc-ats-mib.c: Issue correction no pointer null at + beginning of the SNMP IDs device table (cherry picked from commit + 9d167892a36bf75d30839e7d4d6b53f037751666) + +2020-04-28 Arnaud Quette + + * drivers/huawei-mib.c: Huawei MIB: add a counter check OID This + avoids getting a false result when trying all OIDs, due to the use + of Net SNMP sysOID (.1.3.6.1.4.1.8072.3.2.10), found in various + implementations + +2016-05-25 Jim Klimov + + * drivers/huawei-mib.c: huawei-mib - renamed lookups to have + "huawei_*" prefix (cherry picked from commit + fd29f32b2837588518ec7bea07f414c2631d5c8f) + +2020-04-21 Jim Klimov + + * scripts/augeas/nutupsdconf.aug.in: nutupsdconf.aug.in: complete the + ALLOW_NO_DEVICE definition + * conf/nut.conf.sample, conf/upsd.conf.sample, + docs/man/upsd.conf.txt, scripts/augeas/nutupsdconf.aug.in, + scripts/augeas/tests/test_nut.aug, server/conf.c, server/upsd.c, + server/upsd.h: Rename NUT_NOCONF_ALLOWED to ALLOW_NO_DEVICE as + suggested in PR comments + * conf/nut.conf.sample: nut.conf.sample: update the comment about + NUT_NOCONF_ALLOWED + * server/upsd.c: upsd.c : CONST char* temp "envvar" as we do not + change the string later + +2020-04-17 Jim Klimov + + * conf/upsd.conf.sample, docs/man/upsd.conf.txt: Re-spell "Boolean" + to satisfy spell-checker + * conf/upsd.conf.sample, docs/man/upsd.conf.txt, + scripts/augeas/nutupsdconf.aug.in, + scripts/augeas/tests/test_nut.aug, server/conf.c, server/upsd.c, + server/upsd.h: Allow to configure NUT_NOCONF_ALLOWED option via + upsd.conf + +2020-04-17 Arnaud Quette + + * drivers/eaton-ats16-mib.c, drivers/eaton-ats16-mib.h, drivers/snmp- + ups.c: snmp-ups: add Eaton ATS16 with new Network-M2 Add support + for Eaton ATS16 using the new Network-M2 communication cards, and + including a fixed sysOID fingerprint + +2020-04-03 Jim Klimov + + * clients/nutclient.cpp: clients/nutclient.cpp: sanity-check + getDevicesVariableValues() called with empty device list + +2020-03-14 Jim Klimov + + * docs/nut.dict: nut.dict : fixes for NUT_NOCONF_ALLOWED addition + * 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: SystemD + service units: source EnvironmentFile=...nut.conf if available + * conf/nut.conf.sample: nut.conf.sample : prepare an uncommentable + line for NUT_NOCONF_ALLOWED=true + * server/upsd.c: server/upsd.c: introduce support for envvar + NUT_NOCONF_ALLOWED=true to allow starting with 0 ups.conf sections + +2018-09-19 Arnaud Quette + + * server/upsd.c: upsd should return EXIT_FAILURE when -c failed + +2020-02-19 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in: when autostarting/reloading upsd (nut-server), do + it for previously "failed" unit too + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in: do systemctl daemon-reload between editing a unit + definition and auto-starting it + +2018-12-18 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : centralize management of TIMEOUT_CMD and + TIMEOUT_ARGS, and use it for driver stop/start - it hangs too + sometimes + +2020-02-09 Laurent Bigonville + + * scripts/python/app/nut-monitor.appdata.xml, scripts/python/app/nut- + monitor.desktop: Update the appdata file to the latest version of + the specification (#727) * nut-monitor: Update the appdata file to + the latest version of the specification Fixes: #724 * nut- + monitor: Update the desktop file to follow the last version of the + sepcification + +2020-02-09 Jim Klimov + + * docs/Makefile.am, docs/documentation.txt, docs/nut.dict, + docs/solaris-usb.txt, scripts/Solaris/README: Add docs/solaris- + usb.txt for posterity (#755) + +2020-01-08 Fernando Chaves <38504809+fernandolcx@users.noreply.github.com> + + * drivers/apcupsd-ups.h: apcupsd-ups: add real power and current + variables LOAD_W => ups.realpower LOADAPNT => power.percent + OUTCURNT => `output.current` LOAD_VA => `ups.power` NOMAPNT => + `ups.power.nominal` Closes: + https://github.com/networkupstools/nut/pull/753 + +2019-11-06 Charles Lepple + + * data/driver.list.in: HCL: Add PowerWalker VFI 1000 CG PF1 Closes: + https://github.com/networkupstools/nut/issues/648 + +2019-09-18 andrewmccartney + + * drivers/Makefile.am, drivers/libusb.c, drivers/powervar-hid.c, + drivers/powervar-hid.h, drivers/usbhid-ups.c: Changes to add + support for Powervar UPM as usb-hid UPS. Includes adding a report + index to libusb.c in order to handle the composite device in the + UPM. + +2019-09-12 Andrew Anderson + + * drivers/pijuice.c: Conditionally include linux/i2c.h Check for + I2C_FUNC_I2C to avoid errors caused by conflicts between + linux/i2c-dev.h and linux/i2c.h + * configure.ac, drivers/pijuice.c: Add more granular I2C support + checks Accommodate one more variation of SMBUS/I2C support where + both the headers and the libraries exist and are usable. + * drivers/pijuice.c: Pull over the latest development version Clean + up the upsdebugX() labels Pull the conditional I2C support code + closer to the includes block Don't report battery temp as UPS temp + Warn if we adjust shutdown_delay + * drivers/pijuice.c: Fix the length passed into memset() + * drivers/asem.c: Add pijuice I2C driver for PiJuice HAT 4/4 Update + asem.c to complie cleanly by adding an include for + * configure.ac: Add pijuice I2C driver for PiJuice HAT 3/4 Check for + both the i2c-tools 3.x and 4.x include files (i2c-dev.h/smbus.h) + and set flags accordingly. Link with the i2c library file from + i2c-tools 4.x if it is available. + * drivers/Makefile.am: Add pijuice I2C driver for PiJuice HAT 2/4 + Update the driver Makefile.am to add pijuice driver to the + LINUX_I2C_DRIVERLIST + * drivers/pijuice.c: Add pijuice I2C driver for PiJuice HAT 1/4 Add + pijuice driver + +2019-09-02 Laurent Bigonville + + * scripts/python/app/nut-monitor.desktop: nut-monitor: Drop the .png + extension for the Icon in the .desktop file + +2019-08-18 Laurent Bigonville + + * scripts/python/Makefile.am, scripts/python/app/icons/256x256/nut- + monitor.png, .../python/app/{ => icons/48x48}/nut-monitor.png, + scripts/python/app/icons/64x64/nut-monitor.png, + scripts/python/app/icons/scalable/nut-monitor.svg: nut-monitor: Add + scalable, 64x64 and 256x256 icon for nut-monitor FTR, this icon + comes from gnome-icon-theme 2.28 + +2019-07-22 rpvelloso + + * drivers/solis.c: solis: avoid index out of bounds Since the + parameter taken by autonomy_calc() is used to index a couple of + arrays of 5 positions and the variable `im`, which is passed to + autonomy_calc(), can be equal to 4, blindly incrementing it by one, + when it's 4, leads to an index out of bounds. + +2019-07-30 Daniele Pezzini + + * drivers/nutdrv_siemens_sitop.c: nutdrv_siemens_sitop: move to the + new "battery.charge.approx" var + * data/cmdvartab, docs/nut-names.txt: Add and document a new + "battery.charge.approx" var + +2019-07-12 Spencer Shimko + + * drivers/tripplite_usb.c: Report load for Tripp Lite USB 3005 + protocol The debug output for a device using the Tripp Lite 09ae + 3005 protocol seems to show that the ups.debug.L is the load as + noted on mailing list posts. Decode it and report it as ups.load. + Tested on TRIPP LITE SMART500RT1U. + +2019-07-11 Jim Klimov + + * scripts/Solaris/nut-driver.xml.in: Solaris/nut-driver.xml.in : + constrain the impact of managing SMF instances for missing devices + * scripts/systemd/nut-driver@.service.in: nut-driver@.service.in : + fix back templated @SBINDIR@ + * scripts/systemd/nut-driver@.service.in: Problem: Attempts to start + a nut-driver@bogusname actually run upsdrvctl on everything + Solution: First check if service instance name is valid, then use + it Should fix https://github.com/42ity/nut/issues/87 + +2019-07-10 Laurent Bigonville + + * clients/Makefile.am, tools/nut-scanner/Makefile.am: libupsclient, + libnutscan: Only export symbols part of the public API Fixes: #713 + +2019-07-09 Laurent Bigonville + + * clients/upsclient.c, clients/upsmon.c, drivers/apcsmart.c, + drivers/bcmxcp.h, drivers/bestuferrups.c, drivers/main.c, + drivers/masterguard.c, drivers/metasys.c, drivers/mge-hid.c, + drivers/mge-mib.c, drivers/nutdrv_qx_q1.c, drivers/nutdrv_qx_q1.h, + drivers/optiups.c, drivers/solis.c, scripts/python/app/NUT-Monitor, + tools/nut-scanner/nut-scanner.c: Fix several typos + * configure.ac, lib/libupsclient.pc.in, m4/nut_check_libnss.m4, + m4/nut_check_libopenssl.m4: Use pkg-config module names instead of + listing the libraries Fixes: #709 + +2019-07-02 Jim Klimov + + * common/common.c: common.c : BUILD_64 not detected in some distros, + needs stdint.h + +2018-05-04 Matthijs ten Berge + + * docs/man/nutdrv_siemens_sitop.txt: Spelling fix + * drivers/nutdrv_siemens_sitop.c: Remove %-sign from variable values + * drivers/nutdrv_siemens_sitop.c: Fix line endings + * docs/man/nutdrv_siemens_sitop.txt: Better explanation of serial + port polling + +2018-04-11 Matthijs ten Berge + + * data/driver.list.in, docs/man/Makefile.am, docs/man/{siemens- + sitop.txt => nutdrv_siemens_sitop.txt}, drivers/Makefile.am, + drivers/{siemens-sitop.c => nutdrv_siemens_sitop.c}: Rename driver + siemens-sitop to nutdrv_siemens_sitop As requested in https://gith + ub.com/networkupstools/nut/pull/545#pullrequestreview-106712942 + +2018-03-26 Matthijs ten Berge + + * drivers/siemens-sitop.c: Various code improvements after review - + The number of delimiter characters is no longer hard-coded, but + will be detected and thrown away at runtime - Discard any remains + in the RX buffer after communication errors - collapse repeating + code - upsdrv_shutdown now uses instcmd (removes duplicate code) - + obsolete ups.* variables removed - poll_interval not hard-coded, + but give a warning when a large value is encountered - option + parsing improved + * docs/man/siemens-sitop.txt: Improve manpage layout + +2018-03-23 Matthijs ten Berge + + * docs/man/siemens-sitop.txt, docs/nut.dict: Spellcheck fixes + * data/driver.list.in, docs/man/Makefile.am, docs/man/siemens- + sitop.txt, drivers/Makefile.am, drivers/siemens-sitop.c: Initial + commit of siemens-sitop: driver for Siemens SITOP UPS500-series + UPSes + +2019-04-26 William Chase + + * drivers/bestfcom.c: Fix for Ferrups FE7000 "off" command (#692) + "off" command for FE7000 required at least 5 seconds for the + command to be accepted. Also should match the off with autostart + or "o" with "a" to be consistent with the manual: + https://www.eaton.com/content/dam/eaton/products/backup-power-ups- + surge-it-power-distribution/backup-power-ups/eaton-ferrups-tower- + ups/eaton-ferrups-FE-QFE-userguide-.pdf (o [time] a is how the + manual references the "short" command) + +2019-04-16 Ross Williams + + * drivers/snmp-ups.c: snmp-ups: add ability to set TimeTicks + correctly (#687) * snmp-ups: add ability to set TimeTicks + correctly Driver had been setting read/write parameters as either + Integer or String, but OIDs that expect TimeTicks cannot be set + using an Integer. snmp-ups already supported getting TimeTicks + correctly and had helper functions for setting TimeTicks, but logic + had not been implemented in su_setOID(). * Missing semicolon ;-( + * snmp-ups: use NUT's str_to_long() in su_setOID() Safer + conversion from provided strings to instant command or read/write + value. Omitted default value if !SU_MODE_INSTCMD because it is not + possible for read/write variable functions to be called without a + value (unlike instant commands). + +2019-04-11 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c, drivers/snmp-ups.c: [DNMY] Fix snmp + templates (#681) * eaton-pdu-marlin-mib.c : move "outlet.count" + query higher * snmp-ups.c : anticipate lack of OIDs in templates + +2019-04-05 Jim Klimov + + * .travis.yml, Makefile.am, ci_build.sh: Introduce shell script + syntax checks (#675) * Introduce shell script syntax checks * + Makefile.am : do not shellcheck/spellcheck by default as it can + fail for external circumstances (e.g. missing tools) * Makefile.am + : visibly separate the "check-scripts-syntax" implementation (with + current system shells) vs "shellcheck" which may get impemented + differently (with external tools) in later iterations * + Makefile.am : update the check-scripts-syntax comment (clarify + text, fix typo) * Makefile.am : clarify the check-scripts-syntax + vs shellcheck comment * .travis.yml and ci_build.sh : leave TBDs + for future shellcheck tool integration * ci_build.sh : call both + shellcheck and check-scripts-syntax targets; it does not duplicate + the work and reports while one calls another for now - and will do + two tests when they become independent + * configure.ac: configure.ac : fix mismatched usage of have_cxx11 + envvar (#689) + * server/conf.c: Problem: isdigit() receives a char* instead of char + (#690) Solution: as a quick fix, pick the first char of the string + we pass. The proper fix would be to use the str_*() API for safe + conversions, in a later iteration. See-also: + https://github.com/networkupstools/nut/issues/676 + +2019-04-01 Jim Klimov + + * include/common.h: common.h : use the common do/while idiom for + macro with if clause + +2019-04-01 Jim Klimov + + * common/common.c, include/common.h: Problem: upsdebug*() pass data + and allocate vars always Solution: wrap old well-known API + routines into macros that check debugging level first, and only + invest into calling routines and passing data later - if that would + not be in vain. + +2019-03-25 Jean-Baptiste Boric + + * tools/nut-scanner/scan_snmp.c: Fix nut-scanner SNMPv3 (#680) + +2019-03-19 Arnaud Quette + + * drivers/compaq-mib.c, drivers/eaton-ats16-mib.c, drivers/eaton-pdu- + marlin-mib.c, drivers/hpe-pdu-mib.c, drivers/netxml-ups.c, + drivers/powerware-mib.c: Refresh firmware information for Eaton/HPE + devices Despite the static nature of these data, firmware can be + updated by various means, and should thus be refreshed by the + driver, without needing a driver restart. A "semi static" approach + should be done in the end, as in usbhid-ups, but is not part of the + present development, though commented in the code. For the time + being, simply remove the STATIC flags to refresh the data (snmp- + ups) and allow to refresh product information (netxml-ups) + +2019-03-19 Jean-Baptiste Boric + + * tools/nut-scanner/scan_snmp.c: Fix SNMPv3 in nut-scanner (#679) + +2019-03-15 Arjen de Korte + + * clients/upsclient.c, clients/upssched.c, + m4/nut_check_libopenssl.m4, server/netssl.c: Add support for + openssl-1.1.0 (#504) * Add support for openssl-1.1.0 * Allow + TLSv1 and higher (not just TLSv1) * Fix check for empty string * + Report TLS handshake in debug mode * Update + nut_check_libopenssl.m4 * Update upsclient.c * Update netssl.c + +2019-03-14 Charles Lepple + + * docs/man/nutupsdrv.txt, docs/man/ups.conf.txt: nutupsdrv: reword + "user" directive section Closes: + https://github.com/networkupstools/nut/issues/336 Closes: + https://github.com/networkupstools/nut/issues/671 + +2019-03-11 Arnaud Quette + + * docs/new-clients.txt: libnutclient: add comments to the code sample + +2019-03-11 Jean-Baptiste Boric + + * clients/nutclient.cpp, clients/nutclient.h, docs/new-clients.txt, + docs/nut.dict: Implement tracking commands in libnutclient (#673) + * Implement tracking commands in libnutclient * Add + TrackingResult::INVALID_ARGUMENT + +2019-02-26 Arnaud Quette + + * drivers/solis.c: Fix regression in solis authors list + +2019-02-26 Roberto Panerai Velloso + + * drivers/solis.c, drivers/solis.h: Added author info for previous + merge https://github.com/networkupstools/nut/pull/511 (#672) * + added author information + +2019-02-26 Arnaud Quette + + * clients/Makefile.am, clients/upsclient.c, clients/upsclient.h, + clients/upscmd.c, clients/upsrw.c, common/snprintf.c, + conf/upsd.conf.sample, docs/man/Makefile.am, + docs/man/upscli_cleanup.txt, docs/man/upscli_readline.txt, + docs/man/upscli_sendline.txt, docs/man/upscmd.txt, + docs/man/upsd.conf.txt, docs/man/upsrw.txt, docs/net-protocol.txt, + docs/nut-names.txt, docs/nut.dict, docs/sock-protocol.txt, + drivers/dstate.c, drivers/upshandler.h, include/common.h, + scripts/augeas/nutupsdconf.aug.in, + scripts/augeas/tests/test_nut.aug, server/conf.c, server/netget.c, + server/netinstcmd.c, server/netset.c, server/nut_ctype.h, + server/sstate.c, server/upsd.c, server/upsd.h, tools/nut- + scanner/nut-scanner.c: INSTCMD and SET VAR status tracking + implementation (#659) * INSTCMD and SET VAR status tracking + implementation This commit implements the instant commands + (instcmd) and variables settings (setvar) status tracking, to get + the actual execution status from the driver * Missing Revision + history * Fix nut-names.txt modification that should not be here + * Augeas support: add CMDSETSTATUSDELAY for upsd.conf * INSTCMD + and SET VAR status tracking completion Following Daniele Pezzini + thorough review, sanitize and improve the code, and also complete + documentation * INSTCMD and SET VAR status tracking completion + implement support for status tracking in upscmd and upsrw * + upscmd/upsrw: delay retries for status tracking * Remove comment + There is no need to condition CMDSET_STATUS commands received by + upsd from the driver, on cmdset_status_enabled, since what matters + is the presence of a list and id * Complete comment * UUID v4 + implementation replaced the initial rxi/uuid4 library used by a + cross platform version. Though more basic, it is enough for our + needs, at least for now * status_info should be static * No + need for else, since fatalx is called before * Suppress \n from + debug output * Group sanity checks * Get rid of dynamic memory + allocation * Improve and enforce the use of UUID4_LEN * Comment + on the size of dest for nut_uuid_v4() * Move structures and + defines to more appropriate places * Add functions with timeout + Add upscli_sendline_timeout and upscli_readline_timeout, beside + from the classic blocking versions. Also make a common define for + timeout, and use it in upsclient and nut-scanner * upscmd/upsrw: + add a timeout option * Basic homebrew UUID v4 implementation * + Prefer to use static buffer for UUID * log actual result of + instcmd / setvar * Fix tracking ID reporting due to static memory + changes * upsclient: use unsigned int for timeouts Also, + explicit that upscli_cleanup() takes no argument. * upscmd/upsrw: + use unsigned int for timeout + our str_to_uint() for it Also, + slightly reword the help message for `-t` (timeout) option, in + order to clarify which is the unit (seconds) used for the provided + value. * upscmd/upsrw: don't sleep after receiving a non-PENDING + CMDSET_STATUS Also, remove some nesting in do_cmd() and do_set(). + * net-protocol: clarify the format of GET CMDSET_STATUS + + is not optional to get the status of a + command/setvar with CMDSET_STATUS, so drop the [square brackets] + from it. Also drop "quotes" in SET CMDSET_STATUS's , since + it's expected to be a single word. Plus, fix markup of INSTMCD's + parameter. * sock-protocol: align case and markup of + command parameters * dstate: fix handling of INSTCMD's optional + parameters We should still support the old `INSTCMD + []` format, and not only consider when also + `STATUS_ID ` is provided. Also, fix the format of our sock- + protocol commands mentioned in comments, and add function names to + debug info. * common: document the recently added things * upsd: + in INSTCMD/SET handlers, also accept NULL for status_id Plus: - + use a simpler approach to test if status_id is not empty, - align + the way the SET command is built to the one used for the INSTCMD + command. * upsd: drop unnecessary/unused global * upsd: move + sanity checks of cmdset_status_get() after declaration of vars + Also, drop some nesting in that function. * Move from + CMDSET_STATUS / STATUS_ID to TRACKING This is just a big, big + rename, no code changes. * upsd: refine the tracking API Add a + couple of functions to change in a predictable way the value of the + general enablement of tracking and make it visible only inside + upsd.c. Also, move the tracking type (tracking_t) and the list of + items inside upsd.c. * net-protocol: also return TRACKING between + OK and , for INSTCMD/SET VAR * dstate: *really* fix handling + of INSTCMD's optional parameters Erroring out on `INSTCMD + ` doesn't seem like a good idea... * common: massage + default timeouts Rename the default timeout used in network + operations by upsclient and nut-scanner to be more specific: from + DEFAULT_TIMEOUT to DEFAULT_NETWORK_TIMEOUT. Plus, make the default + timeout used when retrieving the result of an INSTCMD/SET VAR with + TRACKING enabled a common #define'd value + (DEFAULT_TRACKING_TIMEOUT), and use it also to publish the default + value of the -t option in the help messages of upscmd and upsrw. + As suggested by Charles Lepple. * upsd: ignore case of UUID4 in + tracking API Also, remove some nesting in tracking_del(). * + libupsclient: generate manpages for + upscli_{read,send}line_timeout() To keep things simple, at least + for now, only generate manpages and not html pages (and, as such, + don't even think of using our linkman AsciiDoc macro with those + functions, to avoid dead links). * libupsclient: bump version as + per recent changes - addition of upscli_{read,send}line_timeout(), + - upscli_cleanup() -> upcli_cleanup(void) Note: only increase + 'current' and not 'age', because the upscli_cleanup() change could + (potentially) make it not compatible with previous versions. * + upscmd/upsrw: warn that also the drivers need to support TRACKING, + for -w * Fix typo and spelling * Add check around atoi() + conversion + +2019-02-25 Roberto Panerai Velloso + + * drivers/solis.c, drivers/solis.h: solis: various improvements and + fixes - fixed two memory leaks (unnecessary strdup's), - removed + ser_flush calls that were causing the driver to desync, - + refactored code, mostly bit mainpulation functions, - other minor + improvements in source code. + +2019-02-23 Jim Klimov + + * clients/Makefile.am: clients/Makefile.am : also consider HAVE_CXX11 + for .la target + * tests/Makefile.am: tests/Makefile.am : explicitly consider + HAVE_CXX11 + * clients/Makefile.am, tests/Makefile.am: tests, clients Makefiles : + consider HAVE_CXX11 + * configure.ac: configure.ac : expose HAVE_CXX11 into automake + * configure.ac: configure.ac : add C++0X as draft C++11 support + detection (older GCC on some systems) + * configure.ac: configure.ac : refactor C++11 detection for + readability + * configure.ac: Problem: OpenBSD mktemp complains on short pattern + Solution: bump from XXXXX to XXXXXXX which did not complain in + another part of the configure script + +2019-02-20 Jim Klimov + + * clients/Makefile.am, tools/nut-scanner/Makefile.am: nut-scanner and + clients Makefile.am : comments about version-information + +2019-02-16 Jim Klimov + + * docs/nut.dict: nut.dict : add words for upsdrvsvcctl doc + +2019-02-08 Jim Klimov + + * common/common.c: Problem: 32-bit builds fail to load 64-bit libs + Solution: Do our best to guess the bitness of a build, and use it + in search paths for get_libname() + +2019-02-03 Daniele Pezzini + + * server/upsd.c: upsd: fix the calling of netcmds items' func() + Since, as per our network protocol, it's perfectly legal to have + single-word commands (and we already have a few, e.g. VER, NETVER, + HELP, ...), we do not do an early check to ensure that at least one + argument was provided to the command. As such, the list of words + generated by parseconf could actually end with the command itself. + That said, trying to access something that should not be there + doesn't seem like a good idea, so, only pass to netcmds items' + func() the list of arguments (which starts at the second item of + the list of words), if there are arguments, otherwise just pass + NULL. + * server/sstate.c: sstate: make sure ADDRANGE/DELRANGE have all the + needed parameters Since ADDRANGE and DELRANGE take 3 arguments + (, , ), we have to ensure all of them + were provided, before attempting to use them. + * drivers/dstate.c: dstate: fix dstate_delrange() socket protocol + command The documented (and used in server-side) command for + deleting a range is `DELRANGE `, not + `DELRANGE " "`, as used in + dstate_delrange(). So, fix that unused (well, at least in NUT) + function to use the correct format. Also, remove an extraneous + additional space in the command used in dstate_addrange(). + +2019-02-01 Arnaud Quette + + * configure.ac, scripts/augeas/Makefile.am: Augeas support: execute + lenses tests if possible This is however disabled for now, while + waiting to fix the reported issue Ref: + https://github.com/networkupstools/nut/issues/657 + * configure.ac: Fix wording that breaks some syntax highlighting + systems + * docs/nut-names.txt: Add the missing delayed versions of some + commands + +2019-01-30 Jean-Baptiste Boric + + * clients/nutclient.cpp, clients/nutclient.h: libnutclient: introduce + getDevicesVariableValues() (#654) A performance bottleneck was + identified within the 42ity project, where querying all variable + values from 300 ePDUs through upsd and libnutclient took 15 seconds + to complete. The new method TcpClient::getDevicesVariableValues() + allows querying device variable values in bulk, by sending all LIST + VAR commands ahead of time and then parsing all the results at + once. Throughput is vastly improved, with the mega-query completing + about 15 times faster. + +2019-01-28 Arnaud Quette + + * clients/Makefile.am, clients/nutclient.h: libnutclient: fix version + and interface * Library version should be updated to reflect + changes, and is now 1:0:0 * Interface should be adapted so that the + additional argument to instant commands can be optional + * drivers/eaton-pdu-marlin-mib.c, drivers/hpe-pdu-mib.c: snmp-ups: + support extra param for instcmd (Eaton/HPE) Add support for extra + parameter for instant commands on Eaton and HPE ePDU + * drivers/snmp-ups.c: snmp-ups: fix potential segfault when using + delayed instant commands, with a NULL default value, and not + providing a value, the driver can segfault + * docs/nut.dict: Fix spellcheck + * clients/nutclient.cpp, clients/nutclient.h, docs/net-protocol.txt: + Add support for extra parameter for instant commands Instant + commands were almost ready for supporting additional parameter. + However, it was not documented, and libnutclient was not supporting + it yet + +2019-01-24 Arnaud Quette + + * drivers/apc-ats-mib.c, drivers/apc-mib.c, drivers/apc-pdu-mib.c, + drivers/baytech-mib.c, drivers/bestpower-mib.c, drivers/compaq- + mib.c, drivers/cyberpower-mib.c, drivers/eaton-ats16-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/hpe-pdu-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/snmp- + ups.c, drivers/snmp-ups.h, scripts/subdriver/gen-snmp-subdriver.sh: + snmp-ups: Rework instant commands handling Use snmp_info_t->dfl, + which is a char*, instead of snmp_info_t->info_len for instant + commands default value. This allows to distinguish between commands + that do not require a mandatory value. For instcmd requiring a + parameter (such as *.delay), a NULL snmp_info_t->dfl and no + extradata will result in STAT_INSTCMD_INVALID value returned Also + adapt subdrivers and gen-snmp-subdriver.sh to match this + * drivers/delta_ups-mib.c, drivers/eaton-pdu-marlin-mib.c, + drivers/huawei-mib.c, drivers/snmp-ups.c, drivers/snmp-ups.h, + drivers/xppc-mib.c, scripts/subdriver/gen-snmp-subdriver.sh: snmp- + ups: Simplify the mapping structure * snmp_info_t->setvar is not + used anymore, so drop it, * hence, also delete flag SU_FLAG_SETINT + and references to it, * adapt subdrivers and gen-snmp-subdriver.sh + to match this + +2019-01-23 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: Fix warnings (memset-elt- + size/pointer-sign) + * drivers/snmp-ups.c: snmp-ups: Actually fix commands offset (off by + 1) The last fix was wrongly setting the offset to negative, and + substracting it again from the current device number, which + resulted in an addition, not a substraction + * drivers/mge-hid.c, drivers/usbhid-ups.c: usbhid-ups / MGE: bump + versions to reflect changes + +2019-01-22 Arnaud Quette + + * drivers/mge-hid.c, drivers/usbhid-ups.c, drivers/usbhid-ups.h: + usbhid-ups: Fix erroneous OB report on Eaton UPS Also created a + read accessor on status bits and move the related definitions to + the driver header + +2019-01-22 Jean-Baptiste Boric + + * drivers/mge-xml.c, drivers/netxml-ups.c, drivers/netxml-ups.h: + netxml-ups: Report calibration status (#650) + +2019-01-22 Arnaud Quette + + * data/driver.list.in, drivers/Makefile.am, drivers/hpe-pdu-mib.c, + drivers/hpe-pdu-mib.h, drivers/snmp-ups.c: snmp-ups: Add support + for HPE ePDU + +2019-01-21 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: Improve ALARM flag handling + +2019-01-17 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: Fix ALARM flag on non-daisychained + devices + * drivers/snmp-ups.c: snmp-ups: Fix erroneous integration of hpe_pdu + * drivers/snmp-ups.c: snmp-ups: Fix commands offset (off by 1) + * drivers/snmp-ups.c: snmp-ups: Fix detection and display of hex + strings + +2019-01-11 Arnaud Quette + + * drivers/compaq-mib.c: snmp-ups: Add firmware version for new + Network card Also bump HPE/Compaq subdriver version to 1.62 + +2018-12-04 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh : note to not skip full "main" evaluation in daemon + mode + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh : support SIGHUP causing a quick reconfig when + received both during the sleep and processing in-progress + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh : avoid continuous reconfiguration (esp. in daemon + mode) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : for many discovered changes, avoid the lag of + running systemctl daemon-reload for every item in the loop + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : in single-run, daemon and full-reconfig modes, + take note if the config file had changed while we were running - + re-sync services vs sections ASAP then + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : introduce calc_md5_file() and comment calc_md5() + a bit better + +2018-12-07 Scott Shambarger + + * clients/upsmon.c, clients/upssched.c, common/parseconf.c: Add + FD_CLOEXEC flag to config files, pipes and sockets File + descriptors are leaking to processes spawned by upsmod and + upssched, leading to SELinux errors when (for example) sendmail + attempts to read from fd #4. + +2018-12-01 mjan + + * drivers/Makefile.am, drivers/nutdrv_qx.c, + drivers/nutdrv_qx_hunnox.c, drivers/nutdrv_qx_hunnox.h: Add support + for Hunnox HNX-850 + +2018-11-19 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : critical typo fix (Environment is valid in + section Service, not Unit) + +2018-11-16 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : refactor upsconf_getSection_content() to have + one place of logic to add the parsed section line + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in, tests/nut-driver- + enumerator-test--ups.conf, tests/nut-driver-enumerator-test.sh: + nut-driver-enumerator.sh.in : section-name brackets should contain + a single token and not be inside another string + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : refactor upslist_normalizeFile_filter() into a + more readable standalone routine + +2018-11-13 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : update the list of config factors that mean an + USB nutdrv_qx device + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in, tests/nut-driver- + enumerator-test.sh: nut-driver-enumerator-test.sh / nut-driver- + enumerator-test--ups.conf / nut-driver-enumerator.sh.in : extend + upsconf_getValue() to query for several values in the same call to + more efficiently check if any key/flag is set + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in, tests/nut-driver- + enumerator-test--ups.conf, tests/nut-driver-enumerator-test.sh: + nut-driver-enumerator-test.sh / nut-driver-enumerator-test-- + ups.conf / nut-driver-enumerator.sh.in : do not ignore driver flags + followed by a comment + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : fix \t into TABCHAR + * tests/nut-driver-enumerator-test.sh: nut-driver-enumerator-test.sh + : show the expected vs actual diff in any shell interpreter + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : add a disclaimer about config parser (probable + non-)conformity to NUT binary definitions + * tests/nut-driver-enumerator-test--ups.conf: nut-driver-enumerator- + test--ups.conf : test a section with indented name + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in, tests/nut-driver- + enumerator-test--ups.conf, tests/nut-driver-enumerator-test.sh: + nut-driver-enumerator-test.sh / nut-driver-enumerator-test-- + ups.conf / nut-driver-enumerator.sh.in : in section-name lines, + ignore anything outside the first set of brackets + * tests/nut-driver-enumerator-test.sh: nut-driver-enumerator-test.sh + : show a diff of expected vs actual, if the shell allows in-place + docs + * tests/nut-driver-enumerator-test.sh: nut-driver-enumerator-test.sh + : suggest to a dev how to re-run the failed test verbosely + +2018-11-05 Jim Klimov + + * tools/Makefile.am, tools/nut-scanner/Makefile.am: tools/ Makefiles + : refactor with clarifications from DMF branch (#636) + +2018-11-04 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : fix svcprop queries to base service level + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : consider "unknown" systemd unit state as one to + be restarted + * scripts/upsdrvsvcctl/upsdrvsvcctl.in: upsdrvsvcctl.in : fix -D for + debugging level + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in, tests/nut-driver- + enumerator-test--ups.conf, tests/nut-driver-enumerator-test.sh: + nut-driver-enumerator-test.sh / nut-driver-enumerator.sh.in : + support USB and Serial modes for nutdrv_qx + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : track changes of global config and restart + drivers and nut-server if that happened + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in, tests/nut-driver- + enumerator-test.sh: nut-driver-enumerator-test.sh / nut-driver- + enumerator.sh.in : in upslist_debug() show also the global config + section + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in, tests/nut-driver- + enumerator-test--ups.conf, tests/nut-driver-enumerator-test.sh: + nut-driver-enumerator-test.sh / nut-driver-enumerator.sh.in : + support flag values (line is a single token) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : do not use an "other" section as a magic value + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : "break" the loop, not return from it (artefact + of moving code from a sub-shell) + +2018-11-01 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh : Use a timeout to restart/reload nut-server + (systemd) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh : Do not restart/reload nut-server if not already + running (systemd) + +2018-10-22 Robert W. Cashman + + * drivers/cyberpower-mib.c: Added UPS load, battery charge, input + voltage/frequency, and output voltage, MIB mappings to cyberpower- + mib.c + +2018-10-12 Jim Klimov + + * .travis.yml: .travis.yml : move nut-driver-enumerator-test jobs + lower in stack - we want slow jobs to start first + * .travis.yml: .travis.yml : matrix job seems to require having at + least two items + +2018-10-11 Jim Klimov + + * tests/nut-driver-enumerator-test.sh: Update nut-driver-enumerator- + test.sh Standardize the testing setup + +2018-10-11 Jim Klimov + + * builds/nut-driver-enumerator-test/ci_build.sh: builds/nut-driver- + enumerator-test/ci_build.sh : use the "selftest" dummy service + framework if systemd is not available in the testing OS environment + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : support a "selftest" dummy service framework + * builds/nut-driver-enumerator-test/ci_build.sh: builds/nut-driver- + enumerator-test/ci_build.sh : let the tests have some + SERVICE_FRAMEWORK + * tests/nut-driver-enumerator-test.sh: tests/nut-driver-enumerator- + test.sh : update envvar processing + * builds/nut-driver-enumerator-test/ci_build.sh: builds/nut-driver- + enumerator-test/ci_build.sh : export BUILDDIR SRCDIR for the test + script + * builds/nut-driver-enumerator-test/ci_build.sh: builds/nut-driver- + enumerator-test/ci_build.sh : debug the testing script itself + * .travis.yml, builds/nut-driver-enumerator-test/ci_build.sh, + tests/nut-driver-enumerator-test.sh: Problem: nut-driver-enumerator + not Travised Solution: Add call to its selftest + +2018-10-10 Jim Klimov + + * docs/nut.dict: nut.dict : add components of --show-all-configs + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : echo if there is nothing to reconfigure (add + timestamp, do not spam in daemonized loop by default) + * scripts/Solaris/postinstall.in, scripts/Solaris/preremove.in: + Solaris preremove.in postinstall.in : pass the last-active nut- + driver-enumerator instance across package upgrades done over a + short timeframe + * scripts/Solaris/postinstall.in, scripts/Solaris/preremove.in: + Solaris preremove.in postinstall.in : less spam from "svcadm clear" + of not-failed services + * scripts/Solaris/postinstall.in, scripts/Solaris/preremove.in: + Solaris preremove.in postinstall.in : support the multi-instance + nut-driver-enumerator service now + * tests/Makefile.am: tests/Makefile.am : EXTRA_DIST the new nut- + driver-enumerator-test script and config + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : echo if there is nothing to reconfigure (early + on or after the loop has done some changes) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : update comments regarding SMF service instance + wrapping + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : test for changed sections before testing for + changed set of section vs service names + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : small sanity check in + upslist_checksums_unchanged() + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : update comments regarding new support for + detection of changed device section contents + * scripts/upsdrvsvcctl/upsdrvsvcctl.in: upsdrvsvcctl.in : SMF service + management should wait for completion, to be same as systemd + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : optimize loop work + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : basic support for detecting changes in ups.conf + * tests/nut-driver-enumerator-test.sh: nut-driver-enumerator-test.sh + : commented a couple of FIXMEs illustrated by the test expected + data + * tests/nut-driver-enumerator-test.sh: nut-driver-enumerator-test.sh + : call testcase_upslist_debug() last in the suite + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : store SECTION_CONTENT in a variable and spit it + out once + * tests/nut-driver-enumerator-test.sh: nut-driver-enumerator-test.sh + : update tests for only trimming whitespace around first "=" + character + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : refer to systemd unit via SVCINST not $1 when + registering + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : update comments + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : drop unneeded assignment in calc_md5() + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : in upslist_normalizeFile() only trim whitespace + around first "=" character (do not touch subsequent ones in value + part) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : optimize upsconf_getValue() since we use pre- + normalized data + * tests/nut-driver-enumerator-test.sh: nut-driver-enumerator-test.sh + : add DEBUG=trace + * tests/nut-driver-enumerator-test--ups.conf, tests/nut-driver- + enumerator-test.sh: nut-driver-enumerator-test.sh : add a test case + for dummy-ups proxying to a localhost "remote" device; add examples + of quoted key values with spaces + +2018-10-09 Jim Klimov + + * tests/nut-driver-enumerator-test--ups.conf, tests/nut-driver- + enumerator-test.sh: nut-driver-enumerator-test.sh : add a test case + for querying global config pseudo-section + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : support getting global config values (when + device section value is empty) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : zsh not supported + * tests/nut-driver-enumerator-test.sh: nut-driver-enumerator-test.sh + : add a test case for config value that was quoted + * tests/nut-driver-enumerator-test.sh: nut-driver-enumerator-test.sh + : control values of section and device name checksums in + upsconf_debug() + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : expose section and device name checksums in + upsconf_debug() + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : introduce upsconf_getSection_MD5() to checksum + the normalized payload of a config section + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : in --reconfigure should exit() not return() + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : in systemd_validFullUnitName() add the .service + suffix if needed + * tests/.gitignore, tests/nut-driver-enumerator-test--ups.conf, + tests/nut-driver-enumerator-test.sh: Introduce simple unit tests + for nut-driver-enumerator.sh + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : expose upsconf_debug() and upslist_debug() to + CLI + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : avoid direct exit during loop processing + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : use a variable SYSTEMD_CONFPATH + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : use UPSCONF_DATA_SDP and rearrange getSection() + routines for certain use-cases + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : use upslist_readFile_once() in command-line + tools to avoid re-parsing the config many times + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : use cached UPSCONF_DATA in upsconf_getSection() + rather than FS access every time + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : rearrange and document the initial slurping and + normalization of ups.conf, reducing the work done + * docs/man/nut-driver-enumerator.txt, scripts/upsdrvsvcctl/nut- + driver-enumerator.sh.in, scripts/upsdrvsvcctl/upsdrvsvcctl.in: nut- + driver-enumerator.sh.in : add --show-configs to expose UPSCONF_DATA + with normalized content of ups.conf + +2018-10-05 Jim Klimov + + * scripts/upsdrvsvcctl/upsdrvsvcctl.in: upsdrvsvcctl.in : add + "reconf(igure)" call to pass into nut-driver-enumerator.sh + * scripts/upsdrvsvcctl/upsdrvsvcctl.in: upsdrvsvcctl.in : update + usage() + * docs/man/nut-driver-enumerator.txt, scripts/upsdrvsvcctl/nut- + driver-enumerator.sh.in: nut-driver-enumerator.txt : make + spellchecker happy + * scripts/Solaris/postinstall.in: solaris postinstall : + REPORT_RESTART_42=no when reconfiguring + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : update message for reconfig dropping of old + service + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : fix fall-through daemonization for DASH + * scripts/Solaris/README: Solaris README : update about two nut- + driver-enumerator instances + * docs/man/nut-driver-enumerator.txt: nut-driver-enumerator.txt : add + recently introduced options into manpage + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : typo fix + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : typo fix + * scripts/Solaris/nut-driver-enumerator.xml.in: nut-driver- + enumerator.xml.in : support daemonization into background (contract + service) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : support daemonization into background + * scripts/Solaris/nut-driver-enumerator.xml.in: nut-driver- + enumerator.xml.in : typo fix + * scripts/Solaris/nut-driver-enumerator.xml.in: nut-driver- + enumerator.xml.in : avoid creating default service twice + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : support SIGHUP for the daemon + * scripts/Solaris/README, scripts/Solaris/nut-driver- + enumerator.xml.in: nut-driver-enumerator : use --daemon(=freq) in + Solaris SMF service, implement it as an option (two prepackaged + services, with and without loop) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator : add --daemon(=freq) to monitor ups.conf vs. services + changes ourselves in a loop + * scripts/Solaris/postinstall.in: nut-driver-enumerator : use + --reconfigure to remake units from scratch in Solaris postinstall + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator : add --reconfigure to remake units from scratch + +2018-10-04 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : for network-depending connections, wait for + ifplugd to set up physical network, if enabled + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : for network-depending connections, wait for DNS + resolver to appear + * scripts/systemd/nut-driver-enumerator.service.in: nut-driver- + enumerator.service.in : do NOT remain active when done, allow nut- + driver-enumerator.path to start this again + * scripts/Solaris/README: Solaris README : note that there is no + dynamic refresh when ups.conf is changed + * scripts/Solaris/README: Solaris README : update reference to + upsdrvsvcctl directory + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : when removing a systemd instance, also remove + systemd complaints about it (if any) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : less ambiguity - manage ".service" instances as + such + +2018-10-03 Jim Klimov + + * common/common.c: get_libname() : support more 64-bit pathname + patterns (#609) + +2018-09-08 Jim Klimov + + * drivers/usbhid-ups.c: usbhid-ups.c : libusb/libshut tracing debug + text + +2018-10-02 Jim Klimov + + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : in systemd use-case, fall back to rude restart + if reload-or-restart of nut-server stalled and failed + +2018-09-28 Jim Klimov + + * scripts/systemd/nutshutdown.in: Update nutshutdown.in No strict + restrictions for fallback timeout + +2018-09-27 Jim Klimov + + * scripts/Solaris/nut-server.xml.in, scripts/Solaris/svc-nut- + server.in, scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut- + driver-enumerator.sh.in / nut-server.xml.in / svc-nut-server.in : + reload the running upsd instead of restarting it fully when + possible (Solaris SMF) + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : reload the running upsd instead of restarting it + fully when possible (Linux SystemD) + +2018-09-26 Jim Klimov + + * scripts/systemd/nut-driver-enumerator.path.in: nut-driver- + enumerator.path.in : typo fix for CONFDIR => CONFPATH + * docs/man/Makefile.am: docs/man/Makefile.am : handle other + nutclient*.3 manpages that are mass-implemented by some + libnutclient*.txt + * scripts/systemd/nutshutdown.in: nutshutdown.in : fallback short + timeout if config is absent or not parsable + * scripts/systemd/nutshutdown.in: nutshutdown.in : check that needed + programs exist first + +2018-09-19 Jim Klimov + + * configure.ac: configure.ac : syntactic sugar + * drivers/usbhid-ups.c: usbhid-ups.c : report the libusb version + involved in the driver at this time - reformatted + * drivers/usbhid-ups.c: usbhid-ups.c : report the libusb version + involved in the driver at this time - also the values registered + with comm_driver structure + * drivers/usbhid-ups.c: usbhid-ups.c : report the libusb version + involved in the driver at this time + * drivers/usbhid-ups.c: usbhid-ups.c : report the libusb version + involved in the driver at this time - reformatted + * drivers/usbhid-ups.c: usbhid-ups.c : report the libusb version + involved in the driver at this time - also the values registered + with comm_driver structure + * drivers/usbhid-ups.c: usbhid-ups.c : report the libusb version + involved in the driver at this time + * tools/Makefile.am, tools/nut-scanner/Makefile.am: Update comments + in tools(/nut-scanner)/Makefile.am regarding new more proper + dependency definitions + +2018-09-17 Daniele Pezzini + + * data/driver.list.in: HCL: update support level of some Meta System + devices As per the provided protocol: see nut-website's + 66d30c90401ff7929b25e5a87f9299b728f861ea + +2018-09-08 Jim Klimov + + * tools/Makefile.am: tools/Makefile.am : GENERATED_USB_FILES also + depend on nutdrv_qx.c + * tools/Makefile.am: tools/Makefile.am : generalize + GENERATED_SNMP_FILES too for consistency + * tools/Makefile.am: Makefile.am : fix back calling scripts from + distdir while being in builddir + +2018-09-07 Jim Klimov + + * tools/Makefile.am, tools/nut-snmpinfo.py, tools/nut-usbinfo.pl: + tools/nut-snmpinfo.py tools/nut-usbinfo.pl tools/Makefile : use + TOP_SRCDIR/TOP_BUILDDIR to pass with distcheck too + +2018-09-08 Jim Klimov + + * scripts/Solaris/postinstall.in: Solaris/postinstall.in : clarify + tests for present vs non-empty config files + * scripts/Solaris/postinstall.in, scripts/Solaris/postremove.in, + scripts/Solaris/preinstall.in, scripts/Solaris/preremove.in: Insert + or update header comments in Solaris pre/post-install/remove + scripts + +2018-09-07 Jim Klimov + + * tools/Makefile.am: tools/Makefile.am : update dependency on C + sources + * Makefile.am: Makefile.am : "dist" drivers/*.c before tools (which + generates further files from that) + * drivers/libusb0.c, drivers/libusb1.c: libusb0/1.c : ease debugging + by trace messages + * drivers/libusb1.c: libusb1.c : inverted order of + usb_communication_subdriver_t name/ver fields + * drivers/libusb0.c: libusb.c : inverted order of + usb_communication_subdriver_t name/ver fields + * configure.ac: configure.ac : syntactic sugar + * drivers/libusb.c: libusb.c : inverted order of + usb_communication_subdriver_t name/ver fields + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : fix initial setup with 0 service instances + present + * scripts/upsdrvsvcctl/nut-driver-enumerator.sh.in: nut-driver- + enumerator.sh.in : try to enable "nut-server" when restarting it + * tools/Makefile.am: tools/Makefile.am : avoid rebuilding generated + files after "make dist" over and over + * tools/nut-scanner/Makefile.am: tools/nut-scanner/Makefile.am : + structurally arrange built dependencies, reduce hardcoded + references to their names + +2018-09-06 Jim Klimov + + * drivers/libshut.c, drivers/libusb.c, drivers/usbhid-ups.c: libusb + tracing debug text + +2018-09-06 Daniele Pezzini + + * data/driver.list.in: HCL: add some Legrand devices supported by + nutdrv_qx Also, specify that Legrand Multiplug is USB-only. + * data/driver.list.in: HCL: update support level of some Meta System + devices As per the provided protocol: see nut-website's + 570c1e5e9f1fb4f82abef9359897b5159e88fc50 Also, fix name of "HF Line + /2". + +2018-09-06 Gabriele Taormina + + * drivers/metasys.c: metasys: retrieve also battery charge and + runtime The added command is only supported by devices with an 'id + code' >= 14, while for other, older, models the command is not + enabled by default, and the user has to perform a specific + procedure via serial to enable it (where supported). + +2018-09-05 Daniele Pezzini + + * drivers/metasys.c: metasys: remove useless initialisation of vars + +2018-08-27 Gabriele Taormina + + * data/driver.list.in, drivers/metasys.c: metasys: support some newer + Meta System and Legrand devices Add to the metasys driver a few + new models (Meta System DHEA, and others now branded Legrand) + speaking the Meta System UPS protocol. + * drivers/metasys.c: metasys: treat any '\0' in the serial number as + a '0' + * drivers/metasys.c: metasys: for bypass mode, call status_set() with + "BYPASS", not "BY" + * drivers/metasys.c: metasys: fix handling of errors/special values + As per protocol documentation, data is sent by the device with + unsigned integers of 8, 16 or 32 bits, with errors/special values + being: - for uint16: 0xFFFF and 0xFFFE, - for uint32: 0xFFFFFFFF. + Alas, those values are (and, probably, have always been) actually + reported in the documentation (mostly) as if their types were not + unsigned (so, in decimal: -1, and -2) and the metasys driver used + them like that, converting the values to non-fixed width signed + types (int and long) and then expecting a value of -1 or -2 to + signal a particular event, but this only happens on platforms where + int is exactly 16 bits, and long 32 bits. So, leave values as + unsigned types (adjusting all the printf formats accordingly), and + use the right hex values, instead. + * data/driver.list.in, drivers/Makefile.am, drivers/legrand-hid.c, + drivers/legrand-hid.h, drivers/usbhid-ups.c: usbhid-ups: add + Legrand subdriver + * data/driver.list.in, drivers/nutdrv_qx.c: nutdrv_qx: add support + for some Legrand USB devices + +2018-08-29 Jim Klimov + + * scripts/systemd/Makefile.am: EXTRA_DIST scripts/systemd/nut.target + also + +2018-08-21 Jim Klimov + + * m4/nut_check_libneon.m4: nut_check_libneon.m4 : shell typo fix + * m4/nut_check_libneon.m4: nut_check_libneon.m4 : do not AC_MSG_WARN + inside a standard message chain + * m4/nut_check_libneon.m4: nut_check_libneon.m4 : provide fallback + defaults when pkg-config fails + +2018-08-14 Jim Klimov + + * m4/nut_check_libneon.m4: nut_check_libneon.m4 : comment about + detecting without pkgconfig as a fallback + * m4/nut_check_libavahi.m4: nut_check_libavahi.m4 : typo fix + +2018-08-19 Daniele Pezzini + + * configure.ac: configure: fix messages of pkg-config checks The + PKG_*() macros we use there already print messages, therefore we + can't use AC_MSG_CHECKING() before calling them, and + AC_MSG_RESULT() after, or we will get something like: checking for + autoconf macro support of pkg-config... checking for pkg-config... + /usr/bin/pkg-config ^^^ AC_MSG_CHECKING() + ^^^ PKG_*() macro output checking pkg-config is at least version + 0.9.0... yes ^^^ PKG_*() macro output -- continuation ok ^^^ + AC_MSG_RESULT() checking for autoconf macro support of pkg-config + module checker... checking for dummy_PKG_CONFIG... yes ^^^ + AC_MSG_CHECKING() ^^^ + PKG_*() macro output ok ^^^ AC_MSG_RESULT() ...which is not + exactly desirable. So, move the messages to AC_MSG_NOTICE(), with + the result being explicitly printed only on failure (AC_MSG_WARN() + call). + * docs/man/Makefile.am: docs/man: fix man8 target for linux/i2c + * docs/man/Makefile.am, drivers/Makefile.am: nutdrv_qx: don't + duplicate make targets Since nutdrv_qx is both a serial and a USB + driver, up until now, its executable and manpages appeared in two + lists: serial and USB drivers, in order to be built in both cases, + when ./configure'd for only one of them... but, by doing this, when + ./configure'd for both, we ended up with dupes, which could + potentially cause problems, e.g. when installing them (and this + just happened). For the executable, luckily, libtool calls install + one file at a time, so this was not, and it still should not be, a + problem. For the manpages, we were previously saved by automake, + which splits the list of files to be installed in different calls + if they are too many (see automake's am__install_max var, currently + set to 40), so the two nutdrv_qx entries ended up in different + calls to install, but the 8b75b03 commit, by adding more manpages + before nutdrv_qx's ones, pushed also the first occurrence to the + second call to install, which already contained the other one, + causing an error. While other alternative, more flexible, but also + less portable, ways for solving this exist (e.g. using GNU make's + $(sort) on the generated lists), at least for now, prefer a more + portable solution, adding new intermediate lists for serial/USB + drivers and using simple automake conditionals. Close + https://github.com/networkupstools/nut/issues/594 + +2018-08-14 Jim Klimov + + * .gitignore, Makefile.am, README, common/Makefile.am, configure.ac, + docs/FAQ.txt, docs/config-notes.txt, docs/developers.txt, + docs/features.txt, docs/man/Makefile.am, docs/man/index.txt, + docs/man/nut-driver-enumerator.txt, docs/man/upsdrvctl.txt, + docs/man/upsdrvsvcctl.txt, docs/net-protocol.txt, docs/nut.dict, + include/Makefile.am, scripts/Aix/.gitignore, scripts/Aix/nut.init, + scripts/Aix/nut.init.in, scripts/Makefile.am, + scripts/Solaris/.gitignore, scripts/Solaris/Makefile.am, + scripts/Solaris/README, scripts/Solaris/makelocal.sh, + scripts/Solaris/nut-driver-enumerator.xml.in, scripts/Solaris/nut- + driver.xml.in, scripts/Solaris/nut-monitor.xml.in, + scripts/Solaris/nut-server.xml.in, scripts/Solaris/nut.in, + scripts/Solaris/nut.xml.in, scripts/Solaris/pkginfo.in, + scripts/Solaris/postinstall.in, scripts/Solaris/postremove, + scripts/Solaris/postremove.in, scripts/Solaris/preinstall, + scripts/Solaris/preinstall.in, scripts/Solaris/prepackage.py, + scripts/Solaris/{preproto.pl => preproto.pl.in}, + scripts/Solaris/preremove.in, scripts/Solaris/svc-nut-monitor.in, + scripts/Solaris/svc-nut-server.in, scripts/systemd/.gitignore, + scripts/systemd/Makefile.am, scripts/systemd/README, + scripts/systemd/nut-driver-enumerator.path.in, scripts/systemd/nut- + driver-enumerator.service.in, scripts/systemd/nut- + driver.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/nutshutdown.in, + scripts/upsdrvsvcctl/.gitignore, scripts/upsdrvsvcctl/Makefile.am, + scripts/upsdrvsvcctl/README, scripts/upsdrvsvcctl/nut-driver- + enumerator.sh.in, scripts/upsdrvsvcctl/upsdrvsvcctl.in: Use target + for drivers in Linux systemd (updated) and SMF instances for + drivers in new Solaris-like systems (and bring AIX initscript into + better shape) (#330) * Use target for drivers in systemd This + allows much better granularity and better monitoring in case of + multiple UPSes. * nut-driver.target improvements suggested by + @peterhoeg in PR#229 * systemd units dependencies revised and + commented * nut-driver-enumerator.sh initial commit * nut- + driver@.service.in : integrate comments from @peterhoeg about + extending unit requirements * WIP : initial integration of nut- + driver-enumerator.sh/service into makefiles etc. * nut-driver- + enumerator.sh renamed into nut-driver-enumerator.sh.in as it has + processable templates in code * nut-driver-enumerator.sh.in : add + its own config-file support to set the variables used inside (if + not via command-line env) * nut-driver-enumerator.sh.in : fix up + the copyright header * Subject: Fix systemd service file for + Debian From: Laurent Bigonville Forwarded: not- + needed * nut-driver-enumerator.sh.in : complete the Solaris SMF + support in the helper script * EXTRA_DIST the scripts/systemd/nut- + driver.target (non-templated) file * nut-driver-enumerator.sh.in : + updated comments (esp. about usage and exit-codes) and runtime + messages * nut-driver-enumerator.service.in : define an actual + service payload * nut-driver-enumerator.sh.in : refactor the logic + of MAIN PROGRAM into smaller routines for readability * nut- + driver-enumerator.sh.in : introduce routines to help define custom + dependencies of particular drivers on other services * nut-driver- + enumerator.sh.in : allow custom NUT_CONF_DIR from envvar, to + facilitate testing * nut-server.service.in : typo fix in comments + * nut-driver-enumerator.sh.in : support the concept of localhost + networking dependencies, and define vars with lists of services to + depend on * nut-driver-enumerator.sh.in : use proper FMRI:instance + separator for SMF * nut-driver-enumerator.sh.in : added variables + for dependency type on third-party service units * nut-driver- + enumerator.sh.in : change upsconf_getDriverMedia() output from tab- + separated to multiline; add upsconf_getMedia() and upsconf_debug() + and upslist_debug() * nut-driver-enumerator.sh.in : refactor with + upsconf_getValue() and cached pre-cooked ups.conf data; + infrastructure to configure service dependencies when adding the + service instance * Remove hardcoded dependencies on udev and + network from provided systemd units; add comments about extending + via drop-in files and that nut-driver-enumerator will do this for + nut-drivers * nutshutdown.in : mark executable * nut-driver- + enumerator.sh.in : complete the systemd drop-in support for custom + dependencies for a driver * nut-driver-enumerator.sh.in : complete + the SMF drop-in support for custom dependencies for a driver * + nut-driver-enumerator.sh.in : comment-away upslist_debug() in + default runs * WIP Adding Solaris SMF manifests for NUT * + Sanitize Solaris SVR4 packaging rules * Sanitize Solaris packaging + scripts some more * Add configure options for Solaris packaging + variants * Sanitize Solaris packaging scripts some more - consider + DESTDIR for installation root * Turn solaris preproto.pl into a + template so it uses proper (configured) user/group strings * + Makefile.am : ensure there is a DESTDIR set before packaging * + Makefile.am : use $(MAKE) $(AM_MAKEFLAGS) instead of explicit + "make" (mostly in packaging recipe) * makelocal.sh : commented and + revised * Solaris/Makefile.am : put generated SVR4 package into + builddir (not srcdir that may be readonly) to match other OS + recipes * Makefile.am : ensure the DESTDIR is used for packaging + purposes (when calling sub-makes) * Solaris/pkginfo.in : ARCH is + CPU_TYPE, not OS_NAME * GitIgnore built Solaris/NUT*.local.gz + product * GitIgnore built systemd files * GitIgnore + _install_pkgprotodir * Makefile.am : ensure only the custom + DESTDIR is used for packaging purposes * Makefile.am : convert the + big packaging "if" into "case"; link steps with "&&"; retain + DESTDIR if Solaris packaging fails; ensure the correct custom + DESTDIR is absent before packaging (and after Solaris packaging) * + Solaris/Makefile.am : Revise recipe-names and comments for Solaris + packaging variants * Solaris/Makefile.am and *.xml.in : relocate + SMF methods and manifests under NUT DATADIR to package compactly * + Solaris-SMF : svc-nut.in svc-nut-client.in : use @RUN_AS_*@ and + @PIDPATH@ vars instead of hardcoding * Solaris/Makefile.am : list + helper scripts and installation scripts and data in variables and + depend on them in packaging; chmod +x the scripts after copying + over to proto area * GitIgnore config.cache * Remove + Solaris/prepackage.py (unreferenced duplicate of precheck.py) * + Solaris/nut.in : sanitize the default init-script * + Solaris/Makefile.am : put init-scripts under NUT share (DATADIR) to + package it compactly; copy to OS dirs in postinstall * Makefile.am + .gitignore etc. relocate successfully built package files to + abs_top_builddir * Change Aix/nut.init to a .in template * svc- + nut.in svc-nut-client.in : consider nut.conf if available * + Solaris/Makefile.am and SVR4 scripts : install augeas lenses as + part of NUT package (in DATADIR at least) * configure.ac : comment + about sysconfdir for NUT * Sanitize Aix/nut.init.in * More + standardization of Solaris initscripts and SMF methods; use + LD_LIBRARY_PATH to prefer NUT provided libs in case of conflicts + (facilitate bundling with third-party packages) * + Solaris/Makefile.am : add ability to "make check" something here, + e.g. validate manifest XMLs * Solaris SMF XML manifests : fix + "dependent" definitions, and add dependencies on required config + files * configure.ac : fix a manually crafted "Checking for" into + using AC_MSG routines * Solaris SVR4 packaging should now take + care of SMF service registration/teardown * Solaris preremove.in + postinstall.in : Usage of @datadir@ caused "${prefix}" strings to + pop up - define the vars * Solaris scripts : use lower-cased + @datadir@ in templates processed by configure * + Solaris/preremove.in : fix FMRI pattern when removing package * + Solaris/postinstall.in : fix SMF manifest dir * + Solaris/postremove.in : fix verbose RM; wipe the /var/run/nut dir + too * Solaris/preremove.in : fix commands when removing package * + Solaris/postinstall.in : enable SMF services if configs are already + available (esp. create nut-driver instances) * + Solaris/preremove.in : fix commands when removing package * + Solaris/postinstall.in : enable SMF services if configs are already + available (esp. create nut-driver instances) - verbosity * + Solaris/nut-driver-enumerator.xml.in : use a unique dependency name + (avoid conflict in nut-driver instances chain of deps) * systemd + and Solaris : fix up embedded ${prefix} in service files and SMF + manifests after generation * systemd/README : add recent authors + * Define a NUT_DATADIR and NUT_LIBEXECDIR with expanded path values + to use in service manifests * Solaris : packaged service + addition/removal more verbose * nut-driver-enumerator.xml.in nut- + driver.xml.in : do not block startup of nut server * nut.xml.in : + do not block startup of nut server due to failed nut-driver- + enumerator * nut-driver-enumerator.sh.in : improve portability by + using TAB char as is (not regex \t which gets misinterpreted by + some tools) * nut-driver-enumerator.sh.in : comment the caveats * + nut-driver-enumerator.sh.in : apcsmart is serial only * nut- + driver-enumerator.sh.in : By default, update wrapping of devices + into services... but keep the door open to other uses of the script + * nut-driver-enumerator.sh.in : refactor a bit and add externally + callable actions * Introduce upsdrvsvcctl with semantics similar + to upsdrvctl, but managing stop/start of SMF or systemd unit + instances * nut-driver-enumerator.sh.in : consider possible + difference of device and service instance names * nut-driver- + enumerator.sh.in : refactor md5 * nut-driver-enumerator.xml.in : + add REFRESH action and do not die on RESTART * Mention nut-driver- + enumerator and upsdrvsvcctl in (systemd/|Solaris/)README * + upsdrvsvcctl.in : updated comments * upsdrvsvcctl.in : added a + resync option * Rename Solaris SMF services to match systemd + patterns and ease life for sysadmins * Add systemd nut.target to + manage the bundle of NUT services * config-notes.txt : document + the systemd and SMF support in NUT * nut.dict : update + spellchecker * Solaris/Makefile.am : support copying where attrs + can not be preserved * Solaris postinstall : report if services + were not instantly enabled due to missing config files * + upsdrvsvcctl.in : reformat prettily * nut-driver-enumerator.sh.in + : wrap usage() * nut-driver-enumerator.sh.in : added --list- + services-for-devices * nut-driver@.service.in : comment about + aligning timeouts with ups.conf maxstartdelay * nut.xml.in : + Revise comments * nut-driver-enumerator.sh.in : when amending + service unit instance config for systemd, update the Description to + state the NUT device section name * nut-driver-enumerator.sh.in : + support common NUT_CONFPATH envvar * Add upsdrvsvcctl.txt manpage + and references to upsdrvsvcctl in other docs * upsdrvsvcctl.txt + manpage : refer to service management system logs * upsdrvsvcctl : + support "list upsname" CLI action to help troubleshooting * + upsdrvsvcctl : add handling for "shutdown" command * Docs about + upsdrvsvcctl - clarify that it may not be preinstalled with non- + SMF/non-systemd OS packages * Pass spellcheck for upsdrvsvcctl doc + updates * Solaris packaging of nut-driver-enumerator.sh : deliver + into libexecdir same as in Linux * Move nut-driver- + enumerator.sh.in and upsdrvsvcctl.in into scripts/upsdrvsvcctl to + share on par between Linux and Solaris (for starters) * Use + @NUT_LIBEXECDIR@ for nut-driver-enumerator.sh * Introduce nut- + driver-enumerator.path.in for systemd * nut-driver- + enumerator.service.in : be part of nut.target, not common multi- + user * Systemd services : be PartOf=nut.target to propagate + service stops * postinstall.in : use NUT_DATADIR * nut- + monitor.xml.in : depend on nut-server (if locally running) * + nut.xml.in : fix path (use pre-eval-ed version) * nut-driver- + enumerator.sh.in : add a way to print out just an instance suffix + name * nut-driver-enumerator.sh.in : when printing full instance + name, do not add stuff if the argument is already a full name * + nut-driver-enumerator.sh.in : implement --get-device-for-service * + nut-driver (systemd/SMF) : use "nut-driver-enumerator.sh --get- + device-for-service" for current service instance name * nut.xml.in + : this service is transient * upsdrvsvcctl.in : fix parameter + passing * upsdrvsvcctl.in : "clear" the SMF service state when + stopping/starting, just in case it was failed * nut-driver- + enumerator.sh.in : restart upsd IFF the set of known-device + mappings was changed * Revise and relax some dependencies for + Solaris SMF services * nut-driver-enumerator.sh.in : info messages + go to stderr; reply for request only goes to stdout * nut-driver- + enumerator.sh.in : complete the upslist_equals() method * + nut.xml.in : never fail on stop (if component services did not + stop, it is their problem) * Solaris preremove.in SMF : clear + sevices before stopping them, just in case * upsdrvsvcctl.in : + post-process clearing of SMF service instances if any have failed + * nut.xml.in : never fail on stop (if component services did not + stop, it is their problem) * Solaris preremove.in SMF : remove nut + before services it depends on * main.c upsdrvctl.c : make debug + messages a bit more useful * Solaris preremove.in SMF : do not + block stopping NUT driver services, but follow up with + upsdrv(svc)ctl stop of everything * Solaris preremove.in SMF : + sleep after stopping drivers before removing their services * + Solaris preremove.in SMF : force-remove services of drivers * nut- + driver.xml.in : rename a dependency to avoid conflicts * Solaris + nut.xml.in : add a refresh action handler * Solaris postinstall.in + SMF : first use nut-driver-enumerator.sh.in to just register the + mappings, no autostarts * Solaris preremove.in SMF : stop drivers + with common method (and use NUT_SBINDIR) before going one by one * + Solaris postinstall.in SMF : start the drivers via upsdrvsvcctl + after registering (so the mapping is stable) * Solaris + postinstall.in preremove.in : NUT_SBINDIR => SBINDIR * Add manpage + for nut-driver-enumerator[8] * Handle EXTRA_DIST of + scripts/upsdrvsvcctl/ with their own Makefile * nut-driver- + enumerator.txt : change to be more like other page sources * + Spellcheck nut-driver-enumerator.txt * Add + scripts/upsdrvsvcctl/README * Update gitignores * List new + manpages upsdrvsvcctl nut-driver-enumerator in index * Add + upsdrvsvcctl do scripts/Makefile.am SUBDIRS * upsdrvsvcctl.in nut- + driver-enumerator.sh.in : Add a way to show configs per device * + nut-driver-enumerator.sh.in : fix upsconf_getValue() to return + success if key was found, or report an error if not * nut-driver- + enumerator.sh.in : expose upsconf_getValue() as --show-device- + config-value * nut-driver-enumerator.sh.in : NOTE on top about the + choice of simplified shell * nut-driver-enumerator.sh.in : in + upsconf_getSection() stop after printing out the section contents + * nut-driver-enumerator.sh.in : refactor upsconf_getValue() to use + upsconf_getSection() * nut-driver-enumerator.sh.in : update + comment in header * nut-driver-enumerator.service.in : do not fail + the systemd unit, it cannot restart * Fix references for + configure.in to point to configure.ac nowadays * nut-driver- + enumerator.sh.in : use fully-pathed SMF svccfg in all parts of code + consistently * nut-driver-enumerator.sh.in : comment about not- + detecting reconfigurations of existing sections currently + * docs/man/Makefile.am, scripts/subdriver/gen-snmp-subdriver.sh: + Upstream smaller fixes from 42ity NUT (#587) * gen-snmp- + subdriver.sh : replace multiline "echo" with questional tabbing by + a single-string "printf" * docs/man/Makefile.am : fix merge error + that broke manpage packaging + +2018-07-31 Daniele Pezzini + + * tools/nut-scanner/nut-scanner.c: nutscanner: get debug level early + (for nutscan_init()) and restore options (#541) * Revert "Problem: + nutscan_init() called before debug is enabled" This reverts commit + f613d45f78c96c290a1d63d4a2c3f28385d90d42. When parsing the command + line (or showing help), many options rely on a nutscan_avail_* var + already initialized by nutscan_init() -- moving that call after the + parsing of opts renders those options unavailable. * nutscanner: + parse debug level opts separately before anything else In order to + have early the value of the desired debug level (needed to + correctly debug nutscan_init()), split the parsing of command line + options into two loops: - the first one, before the call to + nutscan_init(), will only care about debug level, - the second one, + after the call to nutscan_init(), will consider the remaining (and + possibly depending on a nutscan_avail_* var already initialized by + nutscan_init()) arguments (and moan in case of errors). Closes + https://github.com/networkupstools/nut/issues/500 + +2018-07-28 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: support USB devices that don't + close their replies with a CR Since some devices, when + communicating via USB, don't close their replies to our + commands/queries with the expected (and mandated by the specs) CR, + rendering the driver almost useless as protocols get one less + character than they expect, update the various USB subdrivers + (leaving out the ones that rely on a CR to stop reading from the + device) to add the missing terminating CR in such cases (as long as + we get anything usable). This is a bit of a cheat, but, at least + for now, it will do -- not to mention the fact that it is way less + invasive than touching all the places of the driver that expect a + closing CR and all the qx2nut tables of the various protocols. + Close https://github.com/networkupstools/nut/issues/441 + +2018-07-25 mbastiaan <35669404+mbastiaan@users.noreply.github.com> + + * drivers/tripplite_usb.c: input_voltage_nominal, added case 6 + SMX500RT1U 230V requires case 6. + * drivers/tripplite_usb.c: Update tripplite_usb.c Incremented driver + version for pull request #584 + * data/driver.list.in: Update driver.list.in Added new line for + SMX500RT1U with product ID 0001. Updated line for other product IDs + +2018-07-24 mbastiaan <35669404+mbastiaan@users.noreply.github.com> + + * drivers/tripplite_usb.c: Update tripplite_usb.c Added + battery.charge status for 3005 protocol. Tested on SMX500RT1U, + charge level seems ok-ish considering how it's calculated and the + voltage jumping up and down. + +2018-06-17 Links + + * drivers/mge-hid.c: get PowerWalker VFI 2000 TGS working, read + values correctly + +2018-03-17 Steve Gilbert + + * drivers/libhid.c: In HIDGetEvents.c call to get_interrupt, increase + timeout from 250 to 750 ms to allow more time for UPS response + (cherry picked from commit 5cea18c04a79cd873347efeffb6bb869edd8643e + --@clepple) Closes: + https://github.com/networkupstools/nut/pull/543 Closes: + https://github.com/networkupstools/nut/issues/542 + +2018-05-24 Charles Lepple + + * drivers/tripplite-hid.c: usbhid-ups: Add support for + Delta/Minuteman UPS + https://github.com/networkupstools/nut/issues/555 + +2018-05-22 Jim Klimov + + * .travis.yml, ci_build.sh: Change the Travis test-case for + NO_PKG_CONFIG==true + +2018-05-18 Arnaud Quette + + * scripts/subdriver/gen-snmp-subdriver.sh: Improve the SNMP subdriver + generation script Provide a 3rd mode to allow an offline creation + for a complete MIB walk. In this mode, we get data from 1 file + (numeric snmpwalk dump of the whole SNMP tree). The sysOID is + extracted from the dump, and only the pointed subtree is used. A + MIB file MUST be provided, and is used to produce the string SNMP + walk. Also reformatted the whole script using tab only, and + reconciled with the DMF version. + +2018-05-15 Bernhard M. Wiedemann + + * tools/nut-snmpinfo.py, tools/nut-usbinfo.pl: Sort input file list + (#528) so that nut builds in a reproducible way in spite of + indeterministic filesystem readdir order and + http://bugs.python.org/issue30461 See https://reproducible- + builds.org/ for why this is good. + +2018-05-02 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: in 'sgs' USB subdriver, use + #define'd value for USB timeouts + +2018-03-15 Daniele Pezzini + + * tools/nut-scanner/scan_usb.c: nutscanner: in scan_usb.c, nullify + free()'d pointers that are later reused We assign 'device_name', + 'serialnumber' and 'vendor_name' only if the analyzed device + provides that data and, since we use these pointers also to check + if those items are available so that we can store and free() them, + after free()'ing them we must make them NULL, or the next device, + if it does not provide that data, will inherit the old (now + free()'d) pointer and will attempt to access it and re-free() it. + * drivers/libusb1.c: libusb1: don't use the same var to iterate both + devices and interface descriptor From our old libusb.c, libusb1.c + inherited a for loop that iterates over the interface descriptor in + order to try and find the HID descriptor among its 'extra' bytes. + Unluckily, it uses the same var (i) that's now used, at the same + time, for the iteration through the device list, in which it + happens to be nested. Since this obviously spells disaster, make + these vars unique (and add a bit of debugging info). + +2018-03-14 Daniele Pezzini + + * data/cmdvartab, docs/nut-names.txt: libusb: update example of + driver.version.usb and add it to cmdvartab + * drivers/libusb1.c: libusb1: publish actual libusb version + * tools/nut-scanner/scan_usb.c: libusb: in nutscanner, free busname + also on nutscan_new_device() errors or when done with it + * drivers/bcmxcp_usb.c, drivers/libusb0.c, drivers/libusb1.c, + drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c, tools/nut- + scanner/scan_usb.c: libusb: improve handling of errors when + allocating new memory - libusb 0.1 (when not shared with libusb + 1.0): prefer our xstrdup() function -- on errors, it'll + automatically call fatal*(), - libusb 1.0 (and nutscanner): don't + use our x{malloc,strdup,...}() functions, so that we can free the + list of devices (and close the device and call libusb_exit() in + nutscanner) before exiting. + * drivers/libusb1.c: libusb1: publish the interface we are actually + using + * drivers/richcomm_usb.c: richcomm_usb: use the local USB device + handle in usb_device_open() Although at that point of + usb_device_open(), both the local (handle) and the global (udev) + device handles point to the same thing, prefer the local one to + make things clearer. + * drivers/bcmxcp_usb.c, drivers/libusb0.c, drivers/libusb1.c, + drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c, tools/nut- + scanner/scan_usb.c: libusb: clean up after ourselves libusb 1.0: - + a device list allocated with libusb_get_device_list() must be + deallocated with a call to libusb_free_device_list(), - ditto for + the config descriptor. libusb 0.1 and 1.0: - release (commented- + out) interfaces when done with them, - remove unnecessary goto's + after calls to fatal*() functions, - nutscanner: also close the USB + device handle (and libusb_exit() for libusb 1.0) on errors. + +2018-03-13 Daniele Pezzini + + * drivers/bcmxcp_usb.c, drivers/tripplite_usb.c: usb drivers: free + USBDevice_t's dynamically allocated items when cleaning + +2018-03-13 Georg Altmann + + * docs/nut.dict: doc: update nut.dict + * INSTALL.nut: doc: Update installation instructions for FreeBSD + Details usb device permissions. Also pkg and new port config style. + +2018-03-10 Patrik Dufresne + + * drivers/powerp-txt.c: Fix tabs + * drivers/powerp-txt.c: Change status line parsing for CyberPower + OR1500LCDRTXL2U Add a new way to parse the status line in + powerpanel text driver to support CyberPower model OR1500LCDRTXL2U + with serial cable. This model doesn't provide temperature, but does + provide runtime. + +2018-03-09 Jim Klimov + + * drivers/main.c, drivers/upsdrvctl.c: main.c upsdrvctl.c : make + debug messages a bit more useful + +2018-03-05 Daniele Pezzini + + * drivers/richcomm_usb.c: richcomm_usb: don't libusb_exit() when + closing a previously opened device + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: don't libusb_exit() + when closing a previously opened device + * drivers/libusb1.c: libusb1: don't libusb_exit() when closing a + previously opened device + * drivers/riello_usb.c: riello_usb: use libusb_bulk_transfer() for + bulk operations + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: add missing 'inline' + keyword + +2018-03-04 Charles Lepple + + * drivers/usbhid-ups.c: usbhid-ups: fix instcmd logging before + fallback check The hidups_item pointer needs to be checked for + NULL before dereferencing. + +2018-02-28 Jim Klimov + + * drivers/snmp-ups.c: Fix the recently added update for Avocent + support (#532) * Problem: snmp-ups segfaults Solution: + base_snmp_template_index() prevented from processing empty argument + * Problem: index has to be counted for any device not just for + daisychain Solution: counted for both * Problem: debug info + needs improvement Solution: added * drivers/snmp-ups.c : bump + the version for public-release driver fix * snmp-ups.c : Fix + indentation for recent fixes + +2018-02-20 Bernhard M. Wiedemann + + * tools/nut-usbinfo.pl: Cleanup usbinfo code to reduce code + duplication and solve an associated FIXME + +2018-02-16 Arnaud Quette + + * data/driver.list.in, drivers/Makefile.am, drivers/emerson-avocent- + pdu-mib.c, drivers/emerson-avocent-pdu-mib.h, drivers/snmp-ups.c: + snmp-ups: Add support for Emerson Avocent PM3000 PDU + * drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: various + improvements This prepares the addition of newer devices + +2018-01-11 Daniele Pezzini + + * m4/nut_check_libusb.m4: autoconf: support libusb 0.1 + implementations identified as 'libusb-0.1' Make NUT_CHECK_LIBUSB + macro aware of those libusb 0.1 implementations named in their pkg- + config files as 'libusb-0.1', instead of just 'libusb' (e.g. on + FreeBSD). + +2018-01-10 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: update USB errors handling to + support both libusb 0.1 and 1.0 + +2018-01-02 Charles Lepple + + * configure.ac: Fix AC_MSG_*() quoting The autoconf quote characters + are `[` and `]` - no need for `"`. + +2018-01-01 Charles Lepple + + * m4/nut_check_libusb.m4: Add autoconf check for libusb_strerror() + Closes: https://github.com/networkupstools/nut/issues/509 + * docs/man/nutdrv_qx.txt, docs/man/snmp-ups.txt, + docs/man/ups.conf.txt, docs/man/usbhid-ups.txt: doc: Clean up + description of `pollfreq` and USB interrupts Closes: + https://github.com/networkupstools/nut/issues/476 + +2017-12-05 Jim Klimov + + * .travis.yml: .travis.yml : add a test-case for builds in absence of + pkg-config in the OS + +2017-11-29 Arnaud Quette + + * docs/configure.txt, docs/man/nutupsdrv.txt, docs/man/upsd.txt: doc: + missing documentation for NUT_* env vars Complete documentation + for upsd and drivers related to the environment variables + NUT_CONFPATH, NUT_STATEPATH and NUT_ALTPIDPATH + +2017-04-08 Sam Varshavchik + + * docs/man/Makefile.am: Fix creation of documentation from + libnutclient_misc.txt A simple .txt.3 rule doesn't understand that + libnutclient_misc.txt creates a bunch of .3. A parallel build, say + 'make -j 10' results in make trying to figure out how to build + nutclient_authenticate.3 before building libnutclient_misc.3, and + without a corresponding .txt in sight it gives up. Rebased onto + master by Charles Lepple clepple+nut@gmail.com Closes: + https://github.com/networkupstools/nut/pull/418 + +2017-11-28 Arnaud Quette + + * docs/man/usbhid-ups.txt: doc: minor formatting in usbhid-ups man + page + +2017-11-27 Arnaud Quette + + * docs/man/nutupsdrv.txt: doc: reword nutupsdrv man page Reference: + https://github.com/networkupstools/nut/issues/476 + +2017-11-27 Jim Klimov + + * tools/nut-scanner/nut-scanner.c: Problem: nutscan_init() called + before debug is enabled Solution: Move the call to this stateless + function to the point after we parse arguments and just before we'd + start the actual scans. Later this can be extended to also consider + which scans were requested and so which libs to load. Thanks to + @clepple for research in + https://github.com/networkupstools/nut/issues/500 + +2017-11-26 Charles Lepple + + * docs/man/usbhid-ups.txt: doc: reword other parts of usbhid-ups man + page + * docs/man/usbhid-ups.txt: doc: mention CPS delay quirks in usbhid- + ups man page Closes: + https://github.com/networkupstools/nut/issues/432 + * tools/nut-scanner/scan_usb.c: nut-scanner: update + usb_get_string_simple() for libusb-1.0 API Closes: + https://github.com/networkupstools/nut/issues/499 + * drivers/libusb1.c: libusb1: const-ify the USB interface number + Remove a few "magic numbers" from USB/HID-related calls. + * drivers/libusb1.c: libusb1: LBYL approach to + libusb_set_auto_detach_kernel_driver() Switch to look-before-you- + leap (LBYL) approach to calling + libusb_set_auto_detach_kernel_driver(), since FreeBSD (11.0 and + 11.1; probably others) requires root privileges to attempt the + kernel driver detach (even if no detach operation is needed). + * m4/nut_check_libusb.m4: libusb1: check for + libusb_kernel_driver_active() + +2017-11-21 Charles Lepple + + * data/driver.list.in: HCL: Change Riello IDG/IPG support level to 4 + The IDG and IPG models were not included in the protocol + documentation provided to the NUT project. Some values are also + returned as 0xFF/0xFFF/0xFFFF - see the HCL for details. Source: + http://lists.alioth.debian.org/pipermail/nut- + upsdev/2017-November/007357.html + +2017-11-17 Arnaud Quette + + * docs/man/nutupsdrv.txt, docs/man/usbhid-ups.txt: man pages: + clarification on polling parameters Explain difference between + pollfreq and pollinterval in usbhid-ups, and highlight the + pollinterval parameter use from ups.conf in nutupsdrv Closes: + https://github.com/networkupstools/nut/issues/476 + * data/driver.list.in: HCL: Eaton 9PX supported by mge-shut, usbhid- + ups and netxml-ups + * data/driver.list.in: HCL: Eaton ATS 30 supported by snmp-ups + * drivers/Makefile.am, drivers/mge-hid.c: mge-shut/usbhid-ups: + compute Output load for Eaton UPS When HID data + UPS.PowerConverter.Output.ActivePower is not present, compute a + realpower approximation using available data. This is needed for + Eaton 5E and some other units Closes: + https://github.com/networkupstools/nut/issues/484 + +2017-10-30 Michal Marek + + * Makefile.am, configure.ac, scripts/systemd/Makefile.am: + configure.ac: Fix systemd shutdown directory detection The + configure script assumes that systemd is installed below ${libdir}, + which is not true on many biarch Linux distros with /lib64. Instead + of guessing, use pkg-config to find the path and provide a --with- + systemdshutdowndir option so that make distcheck can override it. + Also, rename the internal varable to systemdshutdowndir to rhyme + with the respective systemd.pc variable. + +2017-10-20 Jim Klimov + + * configure.ac: Problem: configure fails on system without pkg-config + Solution: detect presence and usability of pkg-config program and + autotools macros (they end up as unexpanded tokens if pkg-config is + not installed), and use this knowledge to proceed with search for + libcppunit - or not. When the test is optional, we should not kill + the build if we can not make it due to missing tools. + +2017-10-11 Jim Klimov + + * drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : line- + breaks for readability and 80-col standard - pass 2 + * drivers/eaton-pdu-marlin-mib.c: eaton-pdu-marlin-mib.c : line- + breaks for readability and 80-col standard + +2017-10-08 Charles Lepple + + * docs/hid-subdrivers.txt: hid-subdrivers.txt: fix explore command + line Also reformat some surrounding text. Closes: + https://github.com/networkupstools/nut/issues/436 + * docs/hid-subdrivers.txt: hid-subdrivers.txt: clarify Tripp-Lite USB + reference Closes: + https://github.com/networkupstools/nut/issues/452 + * docs/man/powerpanel.txt: powerpanel: emphasize that this driver is + serial-only Apparently, the PowerPanel Plus vendor tool also has + USB support. + * docs/man/belkin.txt, docs/man/belkinunv.txt: belkin/belkinunv: add + links to man pages for other Belkin drivers + * docs/man/tripplite_usb.txt: tripplite_usb: update man page * Fix + link to tripplitesu(8) * Add 3005 protocol * Update protocol + variable name + * docs/man/dummy-ups.txt: dummy-ups: last state should be "OB LB" to + match text Also corrected a typo. + +2017-10-03 Arnaud Quette + + * docs/configure.txt: Update configure documentation for libusb + Document the possibility to override the auto-detection choice + +2017-10-04 Daniele Pezzini + + * configure.ac, m4/nut_check_libusb.m4: libusb 1.0 port: directly use + `--with-usb` to choose the library + +2017-10-03 Arnaud Quette + + * docs/configure.txt: Remove an extraneous point + * docs/configure.txt: Update configure documentation for libusb + Document the possibility to override the auto-detection choice, + even though the implementation of this override is not yet + currently working + +2017-10-02 Daniele Pezzini + + * docs/configure.txt, m4/nut_check_libusb.m4: libusb 1.0 port: + support libusb 0.1/-compat even when 1.0 is available Since libusb + 1.0 can happily coexist with libusb 0.1/libusb-compat, rework our + NUT_CHECK_LIBUSB macro so that, if both are available, libusb 1.0 + precedence can be overridden passing to `configure` appropriate + values for `--with-usb-includes` and `--with-usb-libs` (i.e. libusb + 0.1/libusb-compat-only settings). + * m4/nut_check_libusb.m4: libusb 1.0 port: expand a bit the + introductory comment of libusb ac macro + * m4/nut_check_libusb.m4: libusb 1.0 port: use only one AC_DEFINE'd + variable for libusb 0.1/-compat Libusb 0.1/libusb-compat can be + found with both pkg-config and with its own libusb-config, but, + regardless of how we found it, we need to use the same AC_DEFINE'd + variable to signal its presence. + * m4/nut_check_libusb.m4: libusb 1.0 port: don't check if libusb is + usable, if it's not available Since LIBUSB_VERSION is always non- + empty ('none', if libusb is not found), testing for non-emptiness + will always fail and libusb 0.1/libusb-compat checks will always be + performed. So, test instead that it is not 'none'. + +2017-03-22 Arnaud Quette + + * drivers/libusb1.c, drivers/nut_libusb.h, tools/nut- + scanner/scan_usb.c: Fix spacers + +2016-11-09 Charles Lepple + + * docs/nut-names.txt, drivers/libusb0.c, drivers/libusb1.c: Add + `driver.version.usb` variable Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-09-25 Charles Lepple + + * drivers/libusb1.c: libusb1: use return code from libusb_open() Per + , the handle is only populated when the return code + is 0. This fixes a crash during device detection where more than + one HID UPS is available, and the driver needs to skip the first + one. + +2016-09-02 Arnaud Quette + + * drivers/bcmxcp_usb.c, drivers/blazer_usb.c, drivers/libusb1.c, + drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c, drivers/riello_usb.c: libusb 1.0 port: fix + return code for interrupt ops libusb 1.0 returns on success, the + number of bytes actually transferred or otherwise an error code, + except for interrupt transfers, where the actual transfer size is + stored in a separate variable. The libusb 1.0 implementation in NUT + thus needed to be fixed to behave the same way than the libusb 0.1 + implementation Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-08-31 Arnaud Quette + + * drivers/libusb1.c: libusb 1.0 port: remove the check on USB device + count With the port to libusb 1.0, a sanity check was done on the + available number of USB devices to try. This however caused a + behavior regression, since the only device that NUT may have access + to can be the only UPS connected. In this case, the driver may exit + upon trying to reconnect if the device is transiently not available + Reference: https://github.com/networkupstools/nut/issues/300 + * drivers/libusb1.c, drivers/richcomm_usb.c: libusb 1.0 port: + complete usb_set_altinterface code usb_set_altinterface allows to + force the USB code to call `libusb_set_interface_alt_setting (0, + 0)` (equivalent to `libusb_set_altinterface(0)` in libusb 0.1), as + was done in NUT 2.7.2 and earlier. However, the libusb 1.0 + implementation was still missing the related code Reference: + https://github.com/networkupstools/nut/issues/300 + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c: libusb 1.0 port: + fix kernel driver detachment Following the recent modification for + the kernel driver detachment, and the related functions + availability depending on the platforms, nutdrv_atcl_usb and + richcomm_usb were using the wrong macro for + libusb_set_auto_detach_kernel_driver and were missing the libusb + 1.0 code for explicit kernel driver detachment Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-08-17 Arnaud Quette + + * drivers/libusb1.c, m4/nut_check_libusb.m4: libusb 1.0 port: rework + the kernel driver detachment libusb 1.0 has introduced a new + function (libusb_set_auto_detach_kernel_driver), beside from the + explicit kernel driver detachment request + (libusb_detach_kernel_driver). However, the former is not available + on all systems. As an example, FreeBSD 10.1-10.3 does not have + this. The detachment and interface claiming has been reworked to + handle this case (reported by Charles Lepple) Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-08-12 Arnaud Quette + + * drivers/libusb1.c: libusb 1.0: remove unused typesafe_control_msg() + workaround For libusb 0.1 implementation, we had to workaround a + libusb API goofs, by wrapping the base function usb_control_msg(), + and casting the variables to the right type. This is not needed for + libusb 1.0 implementation, but was wrongly left in the code + (reported by Charles Lepple) + +2016-08-11 Arnaud Quette + + * drivers/bcmxcp_usb.c: bcmxcp_usb: fix a warning on unused variable + * drivers/bcmxcp_usb.c, drivers/libusb1.c, drivers/nutdrv_atcl_usb.c, + drivers/richcomm_usb.c: libusb 1.0 port: simplify bus publication + bus publication was wrongly listing both the bus and the portname, + instead of the bus only. This may have caused some issue when + trying to match the port + * drivers/usbhid-ups.c: usbhid-ups/mge-shut: forgotten version bump + * drivers/usbhid-ups.c: usbhid-ups/mge-shut: rework errno/errors + handling libusb 1.0 has its own set of return codes, and error + interface. Rework the common HID core (shared between usbhid-ups + and mge-shut) so that error handling can work with both, and using + either libusb 0.1 or 1.0 for usbhid-ups + * tools/nut-scanner/scan_usb.c: nut-scanner: missing symbols lookup + for libusb 1.0 A few symbols from libusb 1.0 were wrongly used + directly, instead of being looked up and loaded at init time + * drivers/bcmxcp_usb.c, drivers/libusb1.c, drivers/nutdrv_atcl_usb.c, + drivers/richcomm_usb.c: libusb 1.0 port: add missing libusb_exit() + calls + * tools/nut-scanner/nutscan-init.c, tools/nut-scanner/scan_usb.c, + tools/nut-usbinfo.pl: nut-scanner: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c: Remove redundant + variable + * drivers/tripplite_usb.c: tripplite_usb: remove extraneous comment + char + * drivers/nut_libusb.h: permute typedef order of usb_dev_handle + * drivers/nutdrv_qx.c: nutdrv_qx: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * drivers/richcomm_usb.c: richcomm_usb: missing function remap for + libusb 0.1 usb_strerror was not remapped for libusb 0.1 + implementation + * drivers/tripplite_usb.c: tripplite_usb: initial port to libusb 1.0 + The port to libusb 1.0 is complete, at least from a build + perspective. This now needs to be tested with devices + * drivers/riello_usb.c: riello_usb: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + +2016-08-10 Arnaud Quette + + * drivers/richcomm_usb.c: richcomm_usb: initial port to libusb 1.0 + The port to libusb 1.0 is complete, at least from a build + perspective. This now needs to be tested with devices + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: add the missing detach + call libusb 1.0 provide its own routine for detaching kernel + driver + * drivers/Makefile.am, drivers/libhid.c, drivers/nut_libusb.h: + Forgotten occurences of libusb.h renaming NUT internal header + "libusb.h" was renamed, since it collides with the libusb 1.0 + header, which has the same name. A few occurences of reference and + documentation were however missing + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: initial port to libusb + 1.0 The port to libusb 1.0 is complete, at least from a build + perspective. This now needs to be tested with devices + * drivers/blazer_usb.c: blazer_usb: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * drivers/bcmxcp_usb.c: bcmxcp_usb: code cleanup + +2016-08-09 Arnaud Quette + + * drivers/bcmxcp_usb.c: bcmxcp_usb: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * docs/configure.txt, drivers/Makefile.am, drivers/libhid.c, + drivers/libhid.h, drivers/{libusb.c => libusb0.c}, + drivers/libusb1.c, drivers/{libusb.h => nut_libusb.h}, drivers/usb- + common.h, drivers/usbhid-ups.c: ushid-ups: complete the port to + libusb 1.0 The port to libusb 1.0 is now complete for usbhid-ups. + Other USB drivers (bcmxcp_usb, blazer_usb, nutdrv_atcl_usb, + richcomm_usb, riello_usb, tripplite_usb, nutdrv_qx) have still to + be addressed + +2016-08-01 Arnaud Quette + + * configure.ac, m4/nut_check_libusb.m4: Initial port to libusb 1.0 + Starting with the configure checks, to detect if libusb 1.0 if + available, and otherwise fall back to the libusb 0.1 backend + +2017-09-17 Jim Klimov + + * configure.ac, tests/Makefile.am: Improve configure script and + recipe for CPPUNIT and C++11 detection * Detect C++11 support and + its use for CPPUNIT tests through configure.ac - should address + issue #472 * Report after detecting C++11 support, presence of + libcppunit, and request for valgrind, whether we'd build the + cppunit tests * Update relevant comments in configure.ac + * drivers/libusb0.c, drivers/libusb1.c: libusb0.c / libusb1.c : + report more visibly if we encountered errors accessing the device + (issue #477) + * drivers/libusb0.c, drivers/libusb1.c: libusb0.c / libusb1.c : + sanitize indentation and break up long-lines + +2017-09-21 Spiros Ioannou + + * drivers/phoenixcontact_modbus.c: phoenixcontact_modbus: fix stale + data detection Also mark driver as DRV_BETA Source: + http://lists.alioth.debian.org/pipermail/nut- + upsdev/2017-September/007331.html + +2017-09-17 Jim Klimov + + * configure.ac: configure.ac : look for CPPUNIT after detecting pkg- + config presence, can help vs. issue #478 + +2017-09-06 Jim Klimov + + * common/common.c: common.c : dflt_statepath() / altpidpath() : + support defined-but-empty envvars to have same effect as not- + defined + * common/common.c: common.c : altpidpath() : support priority of an + envvar, like statepath does + +2017-09-05 Jim Klimov + + * drivers/main.c: main.c : update usage message with hints about + running as unprivileged user + +2017-08-28 Jim Klimov + + * .travis.yml, clients/upsclient.c, drivers/dstate.h, drivers/eaton- + pdu-marlin-mib.c, tests/Makefile.am: A few small fixes for cleaner + codebase and compilations (#466) * dstate.h : use our timehead.h + to have "struct timeval" defined * eaton-marlin : cosmetic + whitespace fixes * tests/Makefile.am : cppunit should build with + C++11 * .travis.yml : make sure to use "docker" env with its + gcc-4.8+ for support of C++11 in cppunit tests + +2017-08-24 Jim Klimov + + * docs/Makefile.am: docs/Makefile.am : fix up access rights for other + files in docs too (some PNGs end up inaccessible otherwise) + +2017-08-23 Arnaud Quette + + * docs/nut-names.txt, docs/nut.dict, drivers/eaton-ats16-mib.c: snmp- + ups: add support for input.phase.shift (#433) * snmp-ups: add + support for input.phase.shift ATS can now publish the electrical + dephasing between input sources * Make spellchecker happy about + "dephasing" + +2017-08-23 Christian Ehrhardt + + * drivers/Makefile.am: automake: only pass net-snmp cflags to snmp- + ups (#464) Other than formerly assumed in the makefile cflags can + be more than includes. And some of them need to be in sync in + regard to CFLAGS and LDFLAGS - for example usage of -fPIE. This + conflicts with a current assumption in the makefile "In any case, + CFLAGS are only -I options, so there is no harm". On a + Distribution where PIE is enabled by default, but disabled for + special cases (like net-snmp) the configure detection gets them as: + LIBNETSNMP_CFLAGS = -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -g + -O2 -fdebug-prefix-map=/build/net-snmp-nlMQSZ/net-snmp-5.7.3+dfsg=. + -specs=/usr/share/dpkg/no-pie-compile.specs -fstack-protector- + strong -Wformat -Werror=format-security -DNETSNMP_USE_INLINE + -Ulinux -Dlinux=linux -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv + -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE + -D_FILE_OFFSET_BITS=64 -I/usr/lib/x86_64-linux-gnu/perl/5.26/CORE + -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include LIBNETSNMP_LIBS = + -Wl,-Bsymbolic-functions -specs=/usr/share/dpkg/no-pie-link.specs + -Wl,-z,relro -Wl,-z,now -L/usr/lib/x86_64-linux-gnu -lnetsnmp + -lcrypto -lm Of importance are: -specs=/usr/share/dpkg/no-pie- + compile.specs -specs=/usr/share/dpkg/no-pie-link.specs Now when + compiling the non-snmp objects incorrectly get the + "-specs=/usr/share/dpkg/no-pie-compile.specs" due to the assumption + that it is safe to add up all CFLAGS to the global one. LDFLAGS + imported that way are only added to snmp. snmp_ups_LDADD = + $(LDADD_DRIVERS) $(LIBNETSNMP_LIBS) [...] snmp-ups$(EXEEXT): + $(snmp_ups_OBJECTS) $(snmp_ups_DEPENDENCIES) + $(EXTRA_snmp_ups_DEPENDENCIES) @rm -f snmp-ups$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(snmp_ups_OBJECTS) $(snmp_ups_LDADD) $(LIBS) + That leads to other (all non snmp_ups) objects in drivers failing + to build. They get the no-pie-compile.specs (incorrect) spec but + not the no-pie-link.specs on the link step. Some other parts like + mge_shut and nutdrv_qx already have custom CFLAGS/LDFLAGS that are + not added to the global CFLAGS. So despite the commend in the + makefile this doesn't seem to be new in general to nut. I don't + want to mess too much with your build system for now as I don't + know many of its implications. So I chose not the full drop of that + global CFLAGS merge, but a minimal patch for now which fixes the + issue described. Thereby closes #463 + +2017-08-23 Jim Klimov + + * docs/snmp-subdrivers.txt, drivers/Makefile.am, drivers/eaton-mib.h, + drivers/eaton-pdu-genesis2-mib.c, drivers/eaton-pdu-genesis2-mib.h, + drivers/{eaton-mib.c => eaton-pdu-marlin-mib.c}, drivers/eaton-pdu- + marlin-mib.h, drivers/eaton-pdu-pulizzi-mib.c, drivers/eaton-pdu- + pulizzi-mib.h, drivers/eaton-pdu-revelation-mib.c, drivers/eaton- + pdu-revelation-mib.h, drivers/snmp-ups.c: Eaton ePDU SNMP MIB file + split in four (#465) * snmp-subdrivers.txt : reference the + multitude of eaton subdrivers * eaton-mib.h renamed into separate + constituent headers * eaton-mib.c renamed into separate + constituent sources, earlier history retained in eaton-pdu- + genesis2-mib.c * eaton-pdu-revelation-mib.c eaton-pdu-pulizzi- + mib.c eaton-pdu-genesis2-mib.c : no use to include dstate.h here * + eaton-pdu-marlin-mib.c eaton-pdu-revelation-mib.c : port the + renamed structure names from original eaton-mib.c evolution + +2017-08-16 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix the rounding / truncation of some + values The multiplier system of the snmp-ups driver resulted in + some values being rounded to the nearby integer value, thus causing + a loss of the decimals and the value precision in general. This was + mainly visible on the value of currents, but also on some voltages + +2017-08-07 Tobby + + * drivers/apcupsd-ups.c: apcupsd-ups: interpret "SHUTTING DOWN" as + "LB" Fix issue https://github.com/networkupstools/nut/issues/460 + so NUT with apcupsd-ups driver will correctly initiate a shut down + on low battery. Bump version to 0.5 Closes: + https://github.com/networkupstools/nut/issues/460 Closes: + https://github.com/networkupstools/nut/issues/461 + +2017-08-10 Arnaud Quette + + * drivers/apc-ats-mib.c, drivers/apc-ats-mib.h: Remove exec bits on + SNMP subdrivers + +2017-08-02 Charles Lepple + + * drivers/cps-hid.c: CPS HID: add input.frequency and + output.frequency (0.5) Suggested by Andy Jan: + http://lists.alioth.debian.org/pipermail/nut- + upsuser/2017-August/010856.html + +2017-08-04 Arnaud Quette + + * docs/nut-names.txt: NUT namespace: fix an extraneous character + insertion A character was wrongly inserted during the previous + commit, triggering a spellcheck error + * drivers/eaton-mib.c: snmp-ups: Publish outlet.n.name for Eaton ePDU + * docs/nut-names.txt: Extend namespace for iPDU and outlets Extend + NUT namespace to also publish the name of an outlet, using + "outlet.n.name", beside from the existing "outlet.n.desc" + +2017-08-03 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: Fix the phase of outlet groups for + Eaton PDU Compute the phase to which an outlet group is connected + WRT the total number of phase(s) and the considered outlet group + number. + * drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: Introduce values + lookup functions As already used in other drivers, such as usbhid- + ups, introduce optional values lookup functions, beside from values + lookup mapping. This allows to have a more powerful and generic + values processing before publication + +2017-07-22 Charles Lepple + + * drivers/openups-hid.c: usbhid-ups: only check iOEMInformation once + for openups2 This prevents the 'libusb_get_string: invalid + argument' message from being logged continously. Patch provided by + Alphonse + http://lists.alioth.debian.org/pipermail/nut- + upsdev/2017-July/007314.html + +2017-02-02 Daniel Schaal + + * drivers/main.c: Add foreground option to drivers + * docs/man/upsd.txt, scripts/systemd/nut-server.service.in, + server/upsd.c: Add foreground option to upsd + +2016-12-17 Daniel Schaal + + * clients/upsmon.c, docs/man/upsmon.txt, scripts/systemd/nut- + monitor.service.in: Add option to run upsmon in foreground + +2017-06-26 Jim Klimov + + * docs/man/Makefile.am: docs/man/Makefile.am : Suffice to have + prebuilt docs in dist-ed sources only if DOC_INSTALL_DISTED_MANS is + enabled + * docs/man/Makefile.am: docs/man/Makefile.am : Fix up dist-ed manpage + source timestamps regardless of DOC_INSTALL_DISTED_MANS value + * docs/man/Makefile.am: docs/man/Makefile.am : Fix up manpage source + timestamps when dist-ing + * docs/Makefile.am: docs/Makefile.am : make sure the builddir copy of + docbook-xsl.css is writeable (file is copied from OS, some distros + have it 444 and not 644) + * docs/man/Makefile.am: docs/man/Makefile.am : do not rebuild docs + and do not error out if a prebuilt copy is among sources (not only + in builddir as before) + * configure.ac, docs/man/Makefile.am: configure.ac + docs/man/Makefile.am : track DOC_INSTALL_DISTED_MANS fallback + behavior + * configure.ac, m4/nut_check_asciidoc.m4: m4/nut_check_asciidoc.m4 + configure.ac : parametrize the required minimum versions + (asciidoc/a2x, dblatex) + * configure.ac: configure.ac : refer to detailed doc from --with-doc + help text; preset explicit nut_with_doc=man=auto value + * docs/man/Makefile.am: docs/man/Makefile.am : small typo in comment + * configure.ac: configure.ac : move comment to a more relevant line + +2017-06-25 Charles Lepple + + * tools/gitlog2changelog.py: gitlog2changelog: log parse errors for + Author and Date Suggested by Jim Klimov. + * tools/gitlog2changelog.py: gitlog2changelog: Date header only + occurs at start of line Alternative to + https://github.com/networkupstools/nut/pull/427 + +2017-06-13 Arnaud Quette + + * drivers/main.c: all drivers: update inline help for '-d ' + +2017-06-12 Arnaud Quette + + * drivers/powerware-mib.c: snmp-ups: add input.bypass.frequency for + Eaton 3ph + +2017-06-12 EVER-PowerSystems + + * drivers/ever-hid.c: fixed status names, added comments, fixed + duplicates + * drivers/ever-hid.c: fixed NUT names + +2017-06-12 Arnaud Quette + + * docs/man/nutupsdrv.txt, drivers/main.c: all drivers: change + dump_data from flag to variable The new option '-d dump_data' can + now accept the number of update loops requested as its value + +2017-06-09 Arnaud Quette + + * drivers/main.c: all drivers: add '-d' data dump option Add '-d' + option to the driver-core, which causes the driver to dump the data + tree in upsc-like format to stdout, and exit + +2017-06-09 Arnaud Quette + + * docs/man/nutupsdrv.txt, drivers/dstate.c, drivers/dstate.h, + drivers/main.c: all drivers: add '-d' data dump option Add '-d' + option to the driver-core, which causes the driver to dump the data + tree in upsc-like format to stdout, and exit + +2017-06-12 Emilien Kia (Eaton) + + * docs/man/nutupsdrv.txt, drivers/main.c: Add option to run driver on + standalone mode. (#423) When a driver is launched with '-s ' + instead of '-a ', the driver does not read ups.conf and only + looks for parameters on command line arguments (-x =). At + least, 'port' parameter shall be specified. + +2017-06-03 Charles Lepple + + * drivers/belkin-hid.c: usbhid-ups: add Liebert GXT4 USB VID:PID + [10AF:0000] Source: http://lists.alioth.debian.org/pipermail/nut- + upsuser/2017-June/010682.html Voltage and ConfigVoltage appear to + be scaled improperly per the debug output. + +2017-05-24 Arnaud Quette + + * docs/nut-names.txt, drivers/eaton-mib.c, drivers/snmp-ups.c: snmp- + ups: add support for outlet.group phase (#422) * snmp-ups: fix + oid2info value lookup When oid2info returns NULL, don't publish + the variable. Previously, this was returning "UNKNOWN" which was + not suitable * snmp-ups: add support for outlet.group phase + Outlets groups can now publish the electrical phase to which the + physical outlets group (Gang) is connected to. This is useful for + 3ph ePDU + +2017-05-21 Charles Lepple + + * data/driver.list.in: HCL: CPS EC750G Source: + http://lists.alioth.debian.org/pipermail/nut- + upsuser/2016-December/010461.html + * data/driver.list.in: HCL: CPS PR2200LCDRT2U (SNMP) + +2017-05-20 Charles Lepple + + * data/driver.list.in: HCL: Add APC Back-UPS CS; edit other APC USB + entries Closes: https://github.com/networkupstools/nut/issues/365 + * data/driver.list.in: HCL: CyberPower EC350G supported by usbhid-ups + (v2.7.3) Per @aurimasv on GitHub: > Test results: Tested on + FreeNAS 9.10.1. Unplugged the UPS and the system > shutdown after + 30 seconds. Closes: + https://github.com/networkupstools/nut/issues/347 Also sorted CPS + entries. + * data/driver.list.in: HCL: Powercool 350VA to 1600VA USB (v2.7.2+) + Closes: https://github.com/networkupstools/nut/issues/203 + * data/driver.list.in: HCL: Numeric Digital 800 plus works with + nutdrv_qx Closes: + https://github.com/networkupstools/nut/issues/115 (~ 2.7.4) + +2017-05-08 EVER-PowerSystems + + * drivers/Makefile.am: fixed errors in makefile + * drivers/Makefile.am, drivers/ever-hid.c, drivers/ever-hid.h, + drivers/usbhid-ups.c, scripts/upower/95-upower-hid.rules: add EVER + hid ups + +2017-04-21 Jim Klimov + + * docs/Makefile.am: docs: build cables html documentation Don't skip + cables from html documentation. + +2017-04-09 Jim Klimov + + * docs/Makefile.am: docs/Makefile.am : typo fix not-building + FAQ.chunked + +2017-04-21 Jim Klimov + + * docs/Makefile.am: docs/Makefile.am : make the working directory + contents writable before running a2x, so it can manage files copied + as read-only in earlier steps + +2017-04-10 Jim Klimov + + * docs/Makefile.am, docs/man/Makefile.am: Some systems detect html- + pages as "XML" - please them too + * docs/man/Makefile.am: Some systems detect man-pages as "ASCII text" + - please them + +2017-04-10 Jim Klimov + + * docs/man/Makefile.am: Update Makefile.am Some systems detect text + sources as "ISO-8859 English" text - please them. + +2017-04-09 Jim Klimov + + * docs/man/Makefile.am: docs/man/Makefile.am : fix check-man-html for + distcheck + * docs/man/Makefile.am: docs/man/Makefile.am : fix check-man-pages + for distcheck + * docs/man/Makefile.am: docs/man/Makefile.am : fix check-man-txt for + distcheck + * configure.ac, docs/Makefile.am, docs/man/Makefile.am: Add "make + check" for generated (or "released" pre-built) docs + * docs/Makefile.am: docs/Makefile.am : typo fix not-building + FAQ.chunked + * configure.ac: configure.ac : add --with- + doc(s)=all={yes,no,skip,auto} to manch e.g. man=skip etc. syntax + +2017-04-05 Arnaud Quette + + * data/driver.list.in: Add support for Eaton 9PX Split Phase 6/8/10 + kVA Using netxml-ups, usbhid-ups and mge-shut + * drivers/netxml-ups.c: netxml-ups: bump driver version In order to + reflect update for 2phases, bump driver version + * drivers/dstate.c: dstate_detect_phasecount: update for 2phases + Update the code to be able to handle 2phases devices, also known as + "split phases" + +2017-04-04 Arnaud Quette + + * MAINTAINERS, data/driver.list.in, docs/man/nutupsdrv.txt, + drivers/Makefile.am, drivers/mge-shut.c, drivers/mge-shut.h: + oldmge-shut: final deprecation and removal oldmge-shut is not + anymore part of the distribution, and is replaced by mge-shut + +2017-04-04 Arnaud Quette + + * clients/upsclient.c, drivers/gamatronic.c, drivers/openups-hid.c, + drivers/snmp-ups.c, server/netssl.c, tools/nut-scanner/nutscan- + ip.c, tools/nut-scanner/nutscan-serial.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: + Cppcheck improvements (#405) Fix all Cppcheck errors, using + standard c89: * Uninitialized variables, * Memory leak, * Brackets + balancing, * Common realloc mistake, * Possible null pointer + dereference, * Array index out of bounds, * Not null-terminated + string + +2017-03-31 Nash Kaminski + + * docs/man/liebert-esp2.txt, docs/nut.dict, drivers/liebert-esp2.c: + liebert-esp2 changes: Correct battery V scaling, update docs, + implement split-phase unit support (#412) * Update liebert-esp2 + documentation, include note that port on GXT2 series does not fully + follow RS-232 specs. * Refactor output format of liebert-esp2 + driver to follow that of other drivers to fix the nut-cgi interface + as well as for overall consistency. Implement support for 2 phase + i.e. split phase input Liebert GXT2 series units. Correct battery + voltage scaling for GXT2 series units as well. * Update nut.dict + * Update nut.dict + +2017-03-30 Jim Klimov + + * .travis.yml: Problem: NUT tests in Travis CI often wait for + default-withdoc Solution in .travis.yml : since Travis cloud + starts the jobs as soon as it has resources, move the bulk of + quicker matrix jobs to start after the longest withdocs build. + Experimental note: we still need one job defined in the simple + matrix for default environment, but can keep others in a single + explicitly ordered list. Now the "Running for" time got cut from + 8-9 to 5.5-6 minutes. + +2017-03-29 Jim Klimov + + * docs/Makefile.am: docs/Makefile.am : update comment about + spellcheck-sortdict post-processing, to make it more relevant + * docs/man/upsd.conf.txt, docs/nut.dict: Fix some more typos and add + nut.dict exceptions + +2017-03-29 Arnaud Quette + + * docs/man/upsd.conf.txt: upsd.conf.txt: fix a typo from the previous commit - * [r2318] drivers, drivers/Makefile.am, drivers/apc-mib.c, - drivers/apc-mib.h, drivers/apccmib.h, drivers/baytech-mib.c, - drivers/baytech-mib.h, drivers/baytechmib.h, - drivers/compaq-mib.c, drivers/compaq-mib.h, - drivers/cpqpowermib.h, drivers/eaton-aphel-mib.h, - drivers/eaton-mib.c, drivers/eaton-mib.h, drivers/ietf-mib.c, - drivers/ietf-mib.h, drivers/ietfmib.h, drivers/mge-mib.c, - drivers/mge-mib.h, drivers/mgemib.h, drivers/netvision-mib.c, - drivers/netvision-mib.h, drivers/netvisionmib.h, - drivers/powerware-mib.c, drivers/powerware-mib.h, - drivers/pwmib.h, drivers/raritan-mib.h, - drivers/raritan-pdu-mib.c, drivers/raritan-pdu-mib.h, - drivers/snmp-ups.c, drivers/snmp-ups.h: Extract subdriver info - from main driver body into separate modules. This prevents - namespace conflicts and ensures that changes in one subdriver - don't lead to surprise changes in others. - - It also allows to use a single mapping file to be used in several - subdrivers by specifying a different entry point (which doesn't - work if everything is in one module). - -2010-02-07 Charles Lepple - - * [r2317] drivers/apcsmart.c, drivers/apcsmart.h: apcsmart: Add - input.transfer.reason - - Contributed by Michael Haardt: - http://article.gmane.org/gmane.comp.monitoring.nut.devel/4498 - -2010-02-05 Arjen de Korte - - * [r2316] drivers/cpqpowermib.h: Could this be a Powerware OEM - device? - -2010-02-04 Arjen de Korte - - * [r2315] drivers/cpqpowermib.h: Based on patch from Philip Ward - [http://lists.alioth.debian.org/pipermail/nut-upsdev/2010-February/004509.html] - -2010-02-01 Arjen de Korte - - * [r2305] clients/upsimage.c, common/strerror.c, drivers/bcmxcp.c, - drivers/main-hal.c, drivers/powerman-pdu.c: Prefer snprintf over - sprintf to prevent overflowing buffers (also removes trailing - whitespace) - * [r2303] drivers/Makefile.am, drivers/cpqpowermib.h, - drivers/snmp-ups.c, man/snmp-ups.8: - -2010-01-31 Charles Lepple - - * [r2297] drivers/tripplite_usb.c: Revert trunk commit r2294, which - was meant for a branch. - * [r2296] drivers/clone-outlet.c: clone-outlet.c: remove executable - bit - * [r2294] drivers/tripplite_usb.c: tripplite_usb: initial changes - to test protocol 3004 - -2010-01-30 Arnaud Quette - - * [r2286] tools/Makefile.am, tools/device-recorder.sh: Create a - script to record device running sequence and dump it in a .seq - format. - The .seq file can then be used by dummy-ups to replay the - sequence. - -2010-01-28 Charles Lepple - - * [r2282] m4/nut_report_feature.m4: Another attempt to fix the - feature report on OS X. - -2010-01-27 Arjen de Korte - - * [r2281] m4/nut_report_feature.m4: Attempt to get rid of spurious - '-n' on MacOSX-10.5 BuildBot - * [r2280] m4/nut_check_libhal.m4: Prefer to use 'test' over '[ ]' - (on many shells, this first a built-in function while the second - is a symbolic link to 'test') - -2010-01-27 Charles Lepple - - * [r2279] m4/nut_check_libhal.m4: Remove fallback HAL information - path, and remove extra parentheses. - -2010-01-25 Arjen de Korte - - * [r2278] drivers/megatec.c: Don't check reliability of connection - at driver startup. This confuses users and really serves no - purpose for normal use. In case the connection is unreliable, it - should ultimately be the decision of the user whether or not it - is acceptable (not the driver). - * [r2277] drivers/apc-hid.c, drivers/belkin-hid.c, - drivers/cps-hid.c, drivers/explore-hid.c, drivers/liebert-hid.c, - drivers/mge-hid.c, drivers/powercom-hid.c, - drivers/tripplite-hid.c, include/common.h: The "config.h" header - should be the first included, since it contains the _GNU_SOURCE - declaration (enables Posix extensions to C) - * [r2276] configure.in: Add AC_USE_SYSTEM_EXTENSIONS to use - features of Posix that are extensions to C (requires Autoconf - 2.60 or better) - * [r2275] common/common.c: Fix compiler warning on MacOSX-10.5 - * [r2274] common/common.c: Fix compiler warning on FreeBSD - * [r2273] configure.in: - * [r2272] configure.in, drivers/mge-hid.c: Check for presence of - strptime() before using it - -2010-01-24 Arjen de Korte - - * [r2271] configure.in, drivers/mge-hid.c: The previous patch was a - resounding failure (reverting back to setting _XOPEN_SOURCE in - one specific source file instead) - * [r2270] configure.in: Request SUSv2 compliance for all sources - (experimental) - * [r2269] drivers/mge-hid.c: _XOPEN_SOURCE seems to break on - FreeBSD - * [r2268] drivers/mge-xml.c: Fix compiler warning - -2010-01-24 Charles Lepple - - * [r2267] drivers/mge-hid.c: Define _XOPEN_SOURCE=500 for - strptime() prototype in glibc2 - -2010-01-24 Arjen de Korte - - * [r2266] drivers/mge-hid.c: Removing stuff that was added to fix - strptime on Debian Etch (incompatible with FreeBSD) - -2010-01-23 Arjen de Korte - - * [r2265] drivers/mge-hid.c: Fourth attempt of fixing strptime() - declaration missing on Debian - * [r2264] drivers/mge-hid.c: Third attempt of fixing strptime() - declaration missing on Debian - * [r2263] drivers/mge-hid.c: Second attempt of fixing strptime() - declaration missing on Debian - * [r2262] drivers/apc-hid.c, drivers/belkin-hid.c, - drivers/cps-hid.c, drivers/explore-hid.c, drivers/liebert-hid.c, - drivers/mge-hid.c, drivers/powercom-hid.c, - drivers/tripplite-hid.c, scripts/subdriver/path-to-subdriver.sh: - Remove redundant #include's (are being dealt with by main.h) - * [r2261] data/cmdvartab: Add descriptions for - 'ups.timer.(start|reboot|shutdown)' variables - * [r2260] drivers/mge-hid.c: Need to define _XOPEN_SOURCE for - strptime() prototype in glibc2 - -2010-01-22 Arjen de Korte - - * [r2257] drivers/mge-shut.c, drivers/mge-shut.h: Change naming of - ups.delay.* variables to ups.timer.*, since writing these values - immediately starts the countdown (and not when a shutdown command - is issued) - * [r2256] drivers/powercom-hid.c: Fallback to stored value of - 'ups.delay.(start|shutdown)' only if no parameter is given (to - fix 'load.on' command) - -2010-01-21 Arjen de Korte - - * [r2255] drivers/powercom-hid.c: Fix beeper.status and add - load.on.delay command (to allow starting up with delay when UPS - is shutdown) - -2010-01-19 Arjen de Korte - - * [r2254] data/driver.list, drivers, drivers/Makefile.am, - drivers/liebertgxt2.c, man/Makefile.am, man/liebertgxt2.8: Based - on the patch from the below message (needs to be tested) - - http://lists.alioth.debian.org/pipermail/nut-upsdev/2010-January/004391.html - * [r2253] drivers/powercom-hid.c: Add - 'beeper.(enable|disable|mute)' instcmd's - -2010-01-17 Charles Lepple - - * [r2250] drivers/tripplite_usb.c: tripplite_usb: Detect protocol - before using tl_model - - Reported by Chase Wallis. - -2010-01-17 Arjen de Korte - - * [r2248] man/blazer.8: Add 'ippon' subdriver to man page - * [r2247] drivers/blazer_usb.c: ETIME is not defined on FreeBSD, so - make this test conditional (also fixes wrong sign) - -2010-01-13 Arjen de Korte - - * [r2244] drivers/blazer_usb.c: Close device handle after - usb_reset() is called and reconnect - * [r2243] drivers/blazer_usb.c: Attempt to clear stalled devices by - sending them an usb_reset() command - -2010-01-13 Charles Lepple - - * [r2242] drivers/tripplite_usb.c: tripplite_usb: don't reset - watchdog on SMARTPRO models - - Patch by Chase Wallis: - http://article.gmane.org/gmane.comp.monitoring.nut.devel/4376 - -2010-01-12 Arjen de Korte - - * [r2241] drivers/blazer_usb.c: Fix bug in ippon subdriver - -2010-01-07 Arjen de Korte - - * [r2240] drivers/blazer_usb.c: Fix minor bug in debug code - * [r2239] drivers/blazer_usb.c: Add experimental 'ippon' subdriver - to communicate with UPS devices of the same name - -2010-01-06 Arjen de Korte - - * [r2238] drivers/blazer_usb.c: Clear potential stall condition - while flushing interrupt pipe - * [r2237] drivers/libusb.c, drivers/usbhid-ups.c: Reconnect if - usb_clear_halt() is not implemented (older libusb on *BSD - systems) so that we don't get stuck with a stalled interrupt - endpoint (correction of 2235) - * [r2236] drivers/usbhid-ups.c: EPIPE should not result in - reconnecting since we're reading from a control endpoint here, - not an interrupt endpoint (where this would be an appropriate - action after attempting to fix the stall condition through - usb_clear_halt() first) - * [r2235] drivers/usbhid-ups.c: Reconnect if usb_clear_halt() is - not implemented (older libusb on *BSD systems) so that we don't - get stuck with a stalled interrupt endpoint - -2010-01-05 Arjen de Korte - - * [r2234] drivers/libusb.c: Don't ignore persistent "Broken pipe" - on stalled interrupt endpoint (only ignore them on control - endpoints) - * [r2233] drivers/libusb.c: Clear stall condition on interrupt - endpoint if needed (since we no longer reconnect, this may be - needed) - * [r2232] drivers/libusb.c, drivers/usbhid-ups.c: Change libusb.c - error handling. Most important (functional) change is that - "Broken pipe" is no longer considered a reason to reconnect - (fixes MGE/Eaton Ellipse series UPS stability problems). - -2010-01-04 Arjen de Korte - - * [r2231] drivers/libusb.c: Fix previous patch - * [r2230] drivers/libusb.c: Log message to syslog when - usb_get/set_* operation fails (except timeouts) at LOG_DEBUG to - make sure we have something to work with for debugging frequent - disconnects - -2010-01-02 Arjen de Korte - - * [r2224] m4/nut_check_libneon.m4: Fix output when library is not - installed - * [r2223] m4/nut_check_libhal.m4: Don't wast effort trying to - detect HAL stuff if we already know it is not available - * [r2222] m4/nut_check_libgd.m4: Remove braces around test - conditions - * [r2221] m4/nut_check_libpowerman.m4, m4/nut_check_libssl.m4: - Remove braces around test conditions - * [r2220] m4/nut_check_libusb.m4: Fix one "==" that was left behind - (and slightly improve message when pkg-config is not available) - -2010-01-01 Charles Lepple - - * [r2219] m4/nut_check_libusb.m4: Remove extra parentheses from - libusb test. - - Also change '==' to '=' for string equality test. - -2009-12-31 Arjen de Korte - - * [r2218] m4/nut_check_libusb.m4: Add pkg-config as method to - retrieve CFLAGS and LDFLAGS (but fall back to libusb-config) - -2009-12-30 Arjen de Korte - - * [r2217] drivers/libusb.c: Fix previous patch (failed to remove - closing #endif statement) - * [r2216] drivers/libusb.c, drivers/usbhid-ups.c: Enable the use of - the interrupt pipe on Solaris (for drivers that require this), - but disable it on the usbhid-ups driver (for which it is - optional). - * [r2215] drivers/powercom-hid.c: Honor 'offdelay' configuration - parameter and allow changing the 'ups.delay.shutdown' variable at - runtime - -2009-12-28 Arjen de Korte - - * [r2214] data/driver.list: Add new PowerCOM devices with HID PDC - interface to list of supported models - * [r2213] drivers/powercom-hid.c: The PowerCOM subdriver has now - reached a state where it is useable. Commands have been tested on - a BNT-500AP. - * [r2212] drivers/usbhid-ups.c: The composite commands - 'shutdown.return' and 'shutdown.stayoff' require 'load.on.delay' - and 'load.off.delay' (not 'ups.delay.start' and - 'ups.delay.shutdown'). - -2009-12-27 Charles Lepple - - * [r2203] scripts/hal/Makefile.am: Hard-code source file in - scripts/hal - -2009-12-26 Arjen de Korte - - * [r2202] m4/nut_check_libhal.m4: Revert previous patch that breaks - on OpenSUSE (and add HAL_CALLOUTS_PATH instead of relying on the - default) - * [r2201] m4/nut_check_libhal.m4: Use ${datarootdir} instead of - /usr/share or /usr/local/share (we check for the presence of a - subdirectory, so the chance of a false positive is low) - * [r2200] m4/nut_check_libneon.m4: Only check for optional - functions if we know library is available - * [r2199] m4/nut_check_libgd.m4: Simplify the --with-gd-includes - and --with-gd-libs processing - -2009-12-25 Arjen de Korte - - * [r2198] configure.in: FreeBSD requires both and - so explicitly use only these two headers to check for - availability of uu_lock - * [r2197] m4/nut_check_libusb.m4: Check for presence of 'usb.h' - (not 'libusb.h', which is what we use internally) - -2009-12-24 Charles Lepple - - * [r2196] m4/nut_check_libhal.m4: Test for FDI files in /usr/local - as well as /usr - - This should fix HAL-enabled builds on FreeBSD. - -2009-12-24 Arjen de Korte - - * [r2195] m4/nut_check_libhal.m4: If we can't detect the - HAL_FDI_PATH automatically, set it to /dev/null and emit warning - * [r2194] m4/nut_check_libusb.m4: Fix missing default -lusb library - and improve comments during detection - * [r2193] m4/nut_check_libusb.m4: Work around missing libusb-config - on FreeBSD 8 by falling back to defaults for CFLAGS and LDFLAGS - * [r2192] configure.in: Try to workaround some FreeBSD bugs - * [r2191] drivers/powercom-hid.c: Updated HID to NUT mappings (work - in progress and still quite broken, do not run on production - systems!) - -2009-12-22 Arjen de Korte - - * [r2190] drivers/libhid.c: Add debug information for input reports - that are not in the report descriptor - -2009-12-21 Arjen de Korte - - * [r2189] drivers/libhid.c: Use hexadecimal report numbers in debug - messages (to be consistent throughout the code) - -2009-12-20 Arjen de Korte - - * [r2188] m4/nut_check_libwrap.m4: Small improvement to better - mimic the behavior of AC_SEARCH_LIBS (by checking if we need to - add -lwrap before adding it to LIBS) - -2009-12-19 Arjen de Korte - - * [r2187] m4/ax_create_stdint_h.m4: Update location of Autoconf - Archive in header (so that we can check for modifications) - * [r2186] m4/nut_check_libgd.m4: AC_SEARCH_LIBS puts the result in - LIB, so we need to add that to the LIBGD_LDFLAGS (otherwise, this - will be part of the global LIBS that are used) - -2009-12-18 Arjen de Korte - - * [r2185] m4/nut_check_libgd.m4: Apparently, gdlib-config sometimes - fails to mention '-lgd' when asked for the LDFLAGS, so we need to - test once again if we need to include this library. - * [r2184] common/snprintf.c, configure.in: Instead of trying to - figure out if 'long long' is supported through AC_TRY_RUN - (obsolete), use AC_TYPE_LONG_LONG_INT (and AC_TYPE_LONG_DOUBLE). - Since this is only used by common/snprintf.c, only do this if - snprintf isn't a build-in function (which means probably never). - * [r2183] configure.in: Don't run preprocessor tests on - AC_CHECK_HEADERS (so CPPFLAGS is no longer needed). Replace shell - scripting by autoconf macros. - * [r2182] m4/nut_check_libgd.m4, m4/nut_check_libnetsnmp.m4, - m4/nut_check_libwrap.m4: Don't run preprocessor tests on - AC_CHECK_HEADERS (so CPPFLAGS is no longer needed). - * [r2181] m4/nut_check_libhal.m4: Don't run preprocessor tests on - AC_CHECK_HEADERS (so CPPFLAGS is no longer needed). Reformatted - macro (no functional changes). - * [r2180] m4/nut_check_libwrap.m4: Prefer AC_CHECK_HEADERS over - AC_CHECK_HEADER - * [r2179] m4/nut_check_libgd.m4: Set CPPFLAGS in case autoconf only - runs the preprocessor for AC_CHECK_HEADERS (which doesn't use - CFLAGS) - -2009-12-17 Arjen de Korte - - * [r2178] m4/nut_check_libnetsnmp.m4: Set CPPFLAGS in case autoconf - only runs the preprocessor (which doesn't use CFLAGS) - * [r2177] m4/nut_check_libneon.m4: Cleanup autoconf macro - * [r2176] clients/upsimage.c: Remove redundant test (this is - already handled by autoconf) - * [r2175] Makefile.am: - * [r2174] configure.in: Keep defaults and checks together - * [r2173] drivers/bcmxcp.c: Automatic variables must have a length - that can be computed at compile time rather than runtime. GCC - will happily accept this C++ construction here, but this is not - C. - - Follow the same principle as used elsewhere in the code, by hard - coding this to PW_ANSWER_MAX_SIZE, the maximum size of replies we - expect. - -2009-12-16 Arjen de Korte - - * [r2172] m4/nut_check_libgd.m4: Check for all GD specific header - files while we're at it - * [r2171] clients/upsimage.c: The HAVE_GD_H should not be used - here, it is better to check for HAVE_LIBGD since that one is only - set if both the header file and the gd library are found (and not - just the first). - * [r2170] m4/nut_check_libnetsnmp.m4: Cleanup autoconf macro - * [r2169] m4/nut_check_libgd.m4: Cleanup GD autoconf stuff (also - fixes double -lgd linker flag) - * [r2168] configure.in, m4/nut_check_ipv6.m4, - m4/nut_check_libssl.m4, m4/nut_check_libwrap.m4: Cleanup some - autoconf macros - -2009-12-15 Arjen de Korte - - * [r2167] m4/nut_check_libnetsnmp.m4: Use AC_CHECK_HEADER to check - for required headers. - * [r2166] m4/nut_check_libwrap.m4: Fix autoconf magic for Solaris. - Apparently, allow/deny_severity are not defined as weak symbols, - so autoconf fails with undefined symbols when checking for the - library through AC_SEARCH_LIBS. - -2009-12-15 Charles Lepple - - * [r2165] include/common.h: Fix __attribute__ in common.h - - Patch provided by Tim Rice - http://lists.alioth.debian.org/pipermail/nut-upsdev/2009-December/004288.html + * conf/upsd.conf.sample, docs/man/upsd.conf.txt: upsd.conf: + clarification on the LISTEN directive + +2017-03-22 Arnaud Quette + + * drivers/libusb1.c, drivers/nut_libusb.h, tools/nut- + scanner/scan_usb.c: Fix spacers + +2016-11-09 Charles Lepple + + * docs/nut-names.txt, drivers/libusb0.c, drivers/libusb1.c: Add + `driver.version.usb` variable Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-09-25 Charles Lepple + + * drivers/libusb1.c: libusb1: use return code from libusb_open() Per + , the handle is only populated when the return code + is 0. This fixes a crash during device detection where more than + one HID UPS is available, and the driver needs to skip the first + one. + +2016-09-02 Arnaud Quette + + * drivers/bcmxcp_usb.c, drivers/blazer_usb.c, drivers/libusb1.c, + drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c, drivers/riello_usb.c: libusb 1.0 port: fix + return code for interrupt ops libusb 1.0 returns on success, the + number of bytes actually transferred or otherwise an error code, + except for interrupt transfers, where the actual transfer size is + stored in a separate variable. The libusb 1.0 implementation in NUT + thus needed to be fixed to behave the same way than the libusb 0.1 + implementation Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-08-31 Arnaud Quette + + * drivers/libusb1.c: libusb 1.0 port: remove the check on USB device + count With the port to libusb 1.0, a sanity check was done on the + available number of USB devices to try. This however caused a + behavior regression, since the only device that NUT may have access + to can be the only UPS connected. In this case, the driver may exit + upon trying to reconnect if the device is transiently not available + Reference: https://github.com/networkupstools/nut/issues/300 + * drivers/libusb1.c, drivers/richcomm_usb.c: libusb 1.0 port: + complete usb_set_altinterface code usb_set_altinterface allows to + force the USB code to call `libusb_set_interface_alt_setting (0, + 0)` (equivalent to `libusb_set_altinterface(0)` in libusb 0.1), as + was done in NUT 2.7.2 and earlier. However, the libusb 1.0 + implementation was still missing the related code Reference: + https://github.com/networkupstools/nut/issues/300 + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c: libusb 1.0 port: + fix kernel driver detachment Following the recent modification for + the kernel driver detachment, and the related functions + availability depending on the platforms, nutdrv_atcl_usb and + richcomm_usb were using the wrong macro for + libusb_set_auto_detach_kernel_driver and were missing the libusb + 1.0 code for explicit kernel driver detachment Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-08-17 Arnaud Quette + + * drivers/libusb1.c, m4/nut_check_libusb.m4: libusb 1.0 port: rework + the kernel driver detachment libusb 1.0 has introduced a new + function (libusb_set_auto_detach_kernel_driver), beside from the + explicit kernel driver detachment request + (libusb_detach_kernel_driver). However, the former is not available + on all systems. As an example, FreeBSD 10.1-10.3 does not have + this. The detachment and interface claiming has been reworked to + handle this case (reported by Charles Lepple) Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-08-12 Arnaud Quette + + * drivers/libusb1.c: libusb 1.0: remove unused typesafe_control_msg() + workaround For libusb 0.1 implementation, we had to workaround a + libusb API goofs, by wrapping the base function usb_control_msg(), + and casting the variables to the right type. This is not needed for + libusb 1.0 implementation, but was wrongly left in the code + (reported by Charles Lepple) + +2016-08-11 Arnaud Quette + + * drivers/bcmxcp_usb.c: bcmxcp_usb: fix a warning on unused variable + * drivers/bcmxcp_usb.c, drivers/libusb1.c, drivers/nutdrv_atcl_usb.c, + drivers/richcomm_usb.c: libusb 1.0 port: simplify bus publication + bus publication was wrongly listing both the bus and the portname, + instead of the bus only. This may have caused some issue when + trying to match the port + * drivers/usbhid-ups.c: usbhid-ups/mge-shut: rework errno/errors + handling libusb 1.0 has its own set of return codes, and error + interface. Rework the common HID core (shared between usbhid-ups + and mge-shut) so that error handling can work with both, and using + either libusb 0.1 or 1.0 for usbhid-ups + * tools/nut-scanner/scan_usb.c: nut-scanner: missing symbols lookup + for libusb 1.0 A few symbols from libusb 1.0 were wrongly used + directly, instead of being looked up and loaded at init time + * drivers/bcmxcp_usb.c, drivers/libusb1.c, drivers/nutdrv_atcl_usb.c, + drivers/richcomm_usb.c: libusb 1.0 port: add missing libusb_exit() + calls + * tools/nut-scanner/nutscan-init.c, tools/nut-scanner/scan_usb.c, + tools/nut-usbinfo.pl: nut-scanner: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c: Remove redundant + variable + * drivers/tripplite_usb.c: tripplite_usb: remove extraneous comment + char + * drivers/nut_libusb.h: permute typedef order of usb_dev_handle + * drivers/nutdrv_qx.c: nutdrv_qx: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * drivers/richcomm_usb.c: richcomm_usb: missing function remap for + libusb 0.1 usb_strerror was not remapped for libusb 0.1 + implementation + * drivers/tripplite_usb.c: tripplite_usb: initial port to libusb 1.0 + The port to libusb 1.0 is complete, at least from a build + perspective. This now needs to be tested with devices + * drivers/riello_usb.c: riello_usb: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + +2016-08-10 Arnaud Quette + + * drivers/richcomm_usb.c: richcomm_usb: initial port to libusb 1.0 + The port to libusb 1.0 is complete, at least from a build + perspective. This now needs to be tested with devices + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: add the missing detach + call libusb 1.0 provide its own routine for detaching kernel + driver + * drivers/Makefile.am, drivers/libhid.c, drivers/nut_libusb.h: + Forgotten occurences of libusb.h renaming NUT internal header + "libusb.h" was renamed, since it collides with the libusb 1.0 + header, which has the same name. A few occurences of reference and + documentation were however missing + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: initial port to libusb + 1.0 The port to libusb 1.0 is complete, at least from a build + perspective. This now needs to be tested with devices + * drivers/blazer_usb.c: blazer_usb: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * drivers/bcmxcp_usb.c: bcmxcp_usb: code cleanup + +2016-08-09 Arnaud Quette + + * drivers/bcmxcp_usb.c: bcmxcp_usb: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * docs/configure.txt, drivers/Makefile.am, drivers/libhid.c, + drivers/libhid.h, drivers/{libusb.c => libusb0.c}, + drivers/libusb1.c, drivers/{libusb.h => nut_libusb.h}, drivers/usb- + common.h, drivers/usbhid-ups.c: ushid-ups: complete the port to + libusb 1.0 The port to libusb 1.0 is now complete for usbhid-ups. + Other USB drivers (bcmxcp_usb, blazer_usb, nutdrv_atcl_usb, + richcomm_usb, riello_usb, tripplite_usb, nutdrv_qx) have still to + be addressed + +2016-08-01 Arnaud Quette + + * configure.ac, m4/nut_check_libusb.m4: Initial port to libusb 1.0 + Starting with the configure checks, to detect if libusb 1.0 if + available, and otherwise fall back to the libusb 0.1 backend + +2017-03-22 Arnaud Quette + + * clients/upssched-cmd, conf/upssched.conf.sample.in: upssched: align + documentation and sample files Align documentation and sample + configuration and script, so that the whole is more coherent + +2017-03-21 Arnaud Quette + + * docs/scheduling.txt: upssched: some clarification on TIMER + +2017-03-20 Charles Lepple + + * docs/nut.dict: Re-sort nut.dict (#406) * Re-sort nut.dict * + nut.dict header line + +2017-03-13 Spiros Ioannou + + * configure.ac, data/driver.list.in, docs/man/Makefile.am, + docs/man/index.txt, docs/man/phoenixcontact_modbus.txt, + docs/nut.dict, drivers/Makefile.am, + drivers/phoenixcontact_modbus.c, m4/nut_check_libmodbus.m4: + phoenixcontact_modbus driver Closes: + https://github.com/networkupstools/nut/pull/404 + +2017-03-14 Spiros Ioannou + + * .travis.yml: added libmodbus-dev to travis configuration + +2017-03-15 Jim Klimov + + * docs/config-notes.txt: config-notes.txt : small clarifications in + the text + * docs/developers.txt: developers.txt : small clarifications in the + text and line-wrapping and backticks + * docs/config-notes.txt: config-notes.txt : small clarifications in + the text and line-wrapping + * docs/cables.txt: cables.txt : line-wrapping + * docs/asciidoc.txt: asciidoc.txt : line-wrapping + * docs/acknowledgements.txt: acknowledgements.txt : line-wrapping + * docs/support.txt: support.txt : small clarifications in the text + and line-wrapping + * docs/security.txt: security.txt : small clarifications in the text + and line-wrapping + * docs/outlets.txt: outlets.txt : line-wrapping + * docs/new-drivers.txt: new-drivers.txt : line-wrapping + * docs/net-protocol.txt: net-protocol.txt : line-wrapping + * docs/maintainer-guide.txt: maintainer-guide.txt : small + clarifications in the text and line-wrapping and backticks + * docs/macros.txt: macros.txt : line-wrapping + * docs/history.txt: history.txt : line-wrapping + * docs/features.txt: features.txt : small clarifications in the text + and line-wrapping and backticks + * docs/download.txt: download.txt : line-wrapping + * docs/developers.txt: developers.txt : small clarifications in the + text and line-wrapping and backticks + * docs/daisychain.txt: daisychain.txt : small clarifications in the + text and line-wrapping + * docs/configure.txt: configure.txt : small clarifications in the + text + * docs/config-notes.txt: config-notes.txt : small clarifications in + the text + * docs/acknowledgements.txt: acknowledgements.txt : small + clarifications in the text + * docs/FAQ.txt, docs/nutdrv_qx-subdrivers.txt: nutdrv_qx- + subdrivers.txt : small clarifications in the text + +2017-03-13 Jim Klimov + + * docs/nut.dict: nut.dict : add "distros" slangey + * docs/configure.txt, docs/contact-closure.txt, docs/daisychain.txt, + docs/developers.txt, docs/features.txt, docs/history.txt, docs/net- + protocol.txt, docs/new-drivers.txt, docs/nut-names.txt, docs/nut- + qa.txt, docs/nutdrv_qx-subdrivers.txt, docs/outlets.txt, docs/sock- + protocol.txt: docs/*.txt : cleanup long-dash (use double-minus) + * docs/acknowledgements.txt, docs/cables.txt, docs/configure.txt, + docs/contact-closure.txt, docs/design.txt, docs/developer- + guide.txt, docs/developers.txt, docs/documentation.txt, + docs/download.txt, docs/features.txt, docs/hid-subdrivers.txt, + docs/history.txt, docs/macros.txt, docs/maintainer-guide.txt, + docs/net-protocol.txt, docs/new-clients.txt, docs/new-drivers.txt, + docs/nut-names.txt, docs/nut-qa.txt, docs/outlets.txt, + docs/packager-guide.txt, docs/snmp-subdrivers.txt, docs/snmp.txt, + docs/sock-protocol.txt, docs/support.txt, docs/user-manual.txt: + docs/*.txt : cleanup trailing whitespace + +2017-03-13 Arnaud Quette + + * scripts/systemd/nutshutdown.in: Prefer @CONFPATH@ over @sysconfdir@ + Otherwise, the generated nutshutdown script can end up with a non + fully expanded path like "${prefix}/etc/nut.conf" when not + specifying --sysconfdir and using default flags + +2017-01-28 Laurent Bigonville + + * scripts/systemd/nutshutdown.in: Add support for POWEROFF_WAIT + parameter Use "systemctl reboot --force --force" to reboot the + machine has not been shutdown after the POWEROFF_WAIT delay. + Closes: #382 + +2017-03-04 Jim Klimov + + * drivers/snmp-ups.c: snmp-ups.c : presumed typo fix : NUT var for + bypass mapping is "input.bypass" (fix the caller too) + +2017-03-15 Jim Klimov + + * docs/nut.dict: nut.dict : know of "nowait" + +2017-01-28 Jim Klimov + + * docs/man/ups.conf.txt, docs/man/upsdrvctl.txt, drivers/upsdrvctl.c: + From: Arnaud Quette Date: Sat, 7 Jun 2014 + 02:27:15 +0200 Subject: [PATCH] Add 'nowait' option for upsdrvctl + in ups.conf The nowait flag allow to tell upsdrvctl to not wait at + all for the driver(s) to execute the request command. The default + behavior, when this variable is omitted, is to wait 'maxstartdelay' + seconds + +2017-03-13 Arnaud Quette + + * scripts/systemd/nutshutdown.in: Prefer @CONFPATH@ over @sysconfdir@ + Otherwise, the generated nutshutdown script can end up with a non + fully expanded path like "${prefix}/etc/nut.conf" when not + specifying --sysconfdir and using default flags + * docs/scheduling.txt: Disambiguate FHS - Filesystem Hierarchy + Standard + * docs/security.txt: Missing space + +2017-03-13 Jim Klimov + + * docs/FAQ.txt, docs/config-notes.txt, docs/scheduling.txt, + docs/security.txt: Some docs/ files revised to backtick pathnames, + clean up trailing whitespace, and use double-minuses for long-dash + in sentences + * docs/nut.dict: docs/nut.dict : add "FHS" + +2017-03-04 Arnaud Quette + + * docs/FAQ.txt, docs/config-notes.txt, docs/scheduling.txt, + docs/security.txt: Try to adapt paths in documentation + Documentation still widely uses the default paths source when + compiled from source. While it is feasible to adapt some at + compilation time, it is not desirable since, for example, the + online documentation on networkupstools.org has to be generic. So + try to make these paths more generic when possible, and otherwise + make a note + +2017-03-04 Jim Klimov + + * docs/hid-subdrivers.txt, docs/nut.dict: spellcheck: "futher" is a + mistaken exception in custom dictionary + * docs/nut.dict: nut.dict bumped to support nut-website documents + with words that Travis does not know + * drivers/snmp-ups.c: snmp-ups.c : presumed typo fix : NUT var for + bypass mapping is "input.bypass" (fix the caller too) + * docs/nut.dict: nut.dict bumped to support nut-website documents + with words that Travis does not know + * docs/nut.dict: nut.dict bumped to support nut-website documents + +2017-03-02 Arnaud Quette + + * tools/nut-ddl-dump.sh: nut-ddl-dump.sh: various improvements + Improve the script to generate NUT device dumps by adding: * a + header line that mentions the generation source (automatic) and + date * add upsrw dump as comments * add upscmd dump as comments + * drivers/eaton-ats16-mib.c: snmp-ups: ATS16 fixes for ambient sensor + values Values for the attached ambient sensor to an ATS16 were + erroneously multiplied by 10 + +2017-03-01 Jim Klimov + + * drivers/mge-xml.c: Update mge-xml.c Include drivers/main.h to get + testvar() declared properly + +2017-03-01 Jim Klimov + + * docs/man/upscli_init.txt: docs/man/upscli_init.txt : rephrase the + text to pass spellcheck (and human readability) and wrap some long + lines + * drivers/snmp-ups.c: snmp-ups.c : presumed typo fix : NUT var for + bypass mapping is "input.bypass" + * drivers/snmp-ups.c: snmp-ups.c : added comments about some + daisychain global vars + +2017-02-28 Jim Klimov + + * drivers/snmp-ups.c: drivers/snmp-ups.c : in snmp_ups_walk(), report + in log if aborting because of exit_flag + * drivers/snmp-ups.c: drivers/snmp-ups.c : in snmp_ups_walk(), update + some comments + * drivers/snmp-ups.c: drivers/snmp-ups.c : presumed typo fix in + comment about daisy (should be "1..N" not "2..N" in final code) + * drivers/snmp-ups.c: drivers/snmp-ups.c : comment in snmp_ups_walk() + about daisychains vs unitary devices + * drivers/snmp-ups.c: drivers/snmp-ups.c : comment in snmp_ups_walk() + about daisychains vs unitary devices + * drivers/snmp-ups.c: drivers/snmp-ups.c : fix trailing whitespace + * drivers/dstate.c, drivers/dstate.h, drivers/usbhid-ups.h: + drivers/dstate.c : in dstate_detect_phasecount() do not hardcode a + buf[] size but use a macro + * drivers/dstate.c: drivers/dstate.c : extend a comment about 2-phase + devices into dstate_detect_phasecount() + +2017-02-12 Jim Klimov + + * drivers/dstate.c: dstate.c : catch a few more zero value + representation and comment about others + +2017-02-10 Jim Klimov + + * drivers/dstate.c: dstate.c : refactor dstate_detect_phasecount() : + change the report about calculated values to use common format with + __func__ + * drivers/dstate.c: dstate.c : refactor dstate_detect_phasecount() : + change the no-longer-sexy overgrown one-liners with a readable + macro + * drivers/dstate.c: dstate.c : important typo fixed for + dstate_detect_phasecount() + * drivers/dstate.c: dstate.c : revise comment for + dstate_detect_phasecount() + * drivers/dstate.c: dstate.c : address code style (move var + declarations to top of scope) + * drivers/dstate.c: dstate.c : address some nit-picks + +2017-02-09 Jim Klimov + + * drivers/dstate.c, drivers/dstate.h, drivers/mge-xml.c: Refactor + dstate_detect_phasecount(), adding a read-only mode (so the caller + can query the guesswork logic without changing active dstates) + * drivers/dstate.c, drivers/dstate.h, drivers/mge-xml.c: Refactor the + dstate guesswork and setting for 1/3 phases, move it to common + dstate.c/.h and rename to dstate_detect_phasecount() + * drivers/mge-xml.c: Refactor recent logic into a common + set_phasecount() + * drivers/mge-xml.c: Drop an empty line + * drivers/mge-xml.c: mge-xml.c : calculate + (input|bypass|output).phases number (1 or 3) based on available + non-zero measurements - typo fix for "INPUT.bypass." + * drivers/mge-xml.c: mge-xml.c : calculate + (input|bypass|output).phases number (1 or 3) based on available + non-zero measurements - consider absence of Lx values for 1-phase + case + * drivers/mge-xml.c: mge-xml.c : calculate + (input|bypass|output).phases number (1 or 3) based on available + non-zero measurements - also consider current (amps) + * drivers/mge-xml.c: mge-xml.c : calculate + (input|bypass|output).phases number (1 or 3) based on available + non-zero measurements + +2017-02-28 Jim Klimov + + * docs/man/netxml-ups.txt, drivers/mge-xml.c, drivers/netxml-ups.c: + mge-xml / netxml-ups : reimplement do_convert_deci as a simple + VAR_FLAG setting + +2017-02-27 Jim Klimov + + * drivers/mge-xml.c: mge-xml.c : add debug logging of values which + were converted + * docs/man/netxml-ups.txt, docs/nut.dict, drivers/mge-xml.c, + drivers/netxml-ups.c: netxml-ups and mge-xml : allow users to + reenable legacy convert_deci() behavior at run-time, with a + configuration toggle (documented) + * drivers/mge-xml.c: mge-xml.c : updated comment about convert_deci() + pre-history + +2017-02-21 Jim Klimov + + * drivers/mge-xml.c: drivers/mge-xml.c : when reporting deprecation + of convert_deci(), do it once visibly with details like issue + tracker URL, and in regular debug messages refer to that line + +2017-02-20 Jim Klimov + + * drivers/mge-xml.c: drivers/mge-xml.c : in convert_deci() now report + it is deprecated (with debug level 5) so we get reports if + deprecation bites anyone in reality + * drivers/mge-xml.c: drivers/mge-xml.c : bump subdriver version + * drivers/mge-xml.c: drivers/mge-xml.c : bump copyrights + +2017-02-18 Jim Klimov + + * drivers/mge-xml.c: Disable convert_deci() that was needed a decade + ago Left the old code in place, commented away. If devices with + old NetXML pop up (those which served in XML 10x the measured + value), fixes can be applied based on voltage and amps and power + (order of magnitude comparison), or perhaps model names and/or + firmware versions or release dates, if we get those. + +2017-02-27 Jim Klimov + + * drivers/netxml-ups.c: netxml-ups.c : typo fix (shutdwon => + shutdown) + * docs/man/netxml-ups.txt: docs/man/netxml-ups.txt : trailing + whitespace fixes + +2017-02-28 Jim Klimov + + * data/Makefile.am: data/Makefile.am : did not link back to + "spellcheck-sortdict" + +2017-02-04 Steven Bell + + * docs/nut.dict: Removed line left over from merge conflict. Ooops! + +2017-01-28 Laurent Bigonville + + * scripts/systemd/nutshutdown.in: Add support for POWEROFF_WAIT + parameter Use "systemctl reboot --force --force" to reboot the + machine has not been shutdown after the POWEROFF_WAIT delay. + Closes: #382 + +2017-01-28 Jim Klimov + + * drivers/eaton-ats30-mib.c: drivers/eaton-ats30-mib.c : fix + whitespace + * drivers/snmp-ups.c: drivers/snmp-ups.c : fix trailing whitespaces + * docs/nut.dict: nut.dict : know of "nowait" + * docs/Makefile.am: docs/Makefile.am : after spellcheck-interactive, + advise how to review the dictionary changes and avoid regressions + * conf/upsd.conf.sample, conf/upsmon.conf.sample.in, + conf/upssched.conf.sample.in, docs/nut.dict: Spellchecked the conf/ + sample files + * Makefile.am, conf/Makefile.am: Spellcheck the conf/ directory + * conf/upsd.users.sample, conf/upsmon.conf.sample.in: + upsmon.conf.sample.in : clarify nuances of master/slave systems, + and special use-cases of SHUTDOWNCMD and powervalue==0 + * conf/hosts.conf.sample, conf/nut.conf.sample, conf/ups.conf.sample, + conf/upsd.conf.sample, conf/upsd.users.sample, + conf/upsmon.conf.sample.in, conf/upssched.conf.sample.in, + conf/upsset.conf.sample, conf/upsstats.html.sample: Sample + configuration files : fix leading and trailing whitespace (mix of + tab/space) + * conf/ups.conf.sample: ups.conf.sample : move maxretry example + higher in the file so it is before driver-block examples + * drivers/apc-pdu-mib.c: Date: Fri Aug 19 02:43:44 2016 +0200 apc- + pdu-mib.c fixes : * added trailing NULLs for proper structure size; + * fixed some items' flags; * fixed whitespace; * bumped MIBmap + version + * data/driver.list.in, drivers/Makefile.am, drivers/apc-pdu-mib.c, + drivers/apc-pdu-mib.h, drivers/snmp-ups.c: From: Arnaud Quette + Date: Fri, 8 Apr 2016 14:40:00 +0200 + Subject: [PATCH] snmp-ups: support APC PDU Based on initial work + and data from Opengear, using SNMP subdriver creation script, add + support for the more recent APC PDU. This was tested with a + AP8958, but should cover other models + * docs/man/ups.conf.txt, docs/man/upsdrvctl.txt, drivers/upsdrvctl.c: + From: Arnaud Quette Date: Sat, 7 Jun 2014 + 02:27:15 +0200 Subject: [PATCH] Add 'nowait' option for upsdrvctl + in ups.conf The nowait flag allow to tell upsdrvctl to not wait at + all for the driver(s) to execute the request command. The default + behavior, when this variable is omitted, is to wait 'maxstartdelay' + seconds + * conf/ups.conf.sample: Document and pre-set the "maxretry" option in + ups.conf.sample + +2017-01-27 Jim Klimov + + * drivers/eaton-ats16-mib.c, drivers/eaton-ats30-mib.c: Prefix + structures in eaton-atsXY-mib.c files with an eaton_atsXY rather + than just atsXY + * README: README: not asciidoc, and redistributed - do not link to + volatile build status + +2017-01-27 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: Fix counter OID matching In case of + multiple similar sysOID (i.e. same sysOID in different subdrivers), + there is a counter matching OID (generally using the model OID). + However, the matching was causing a crash of snmp-ups in case where + it was not the right MIB mapping and the OID for model entry was + not available + +2017-01-27 Steven Bell + + * docs/man/upscli_connect.txt, docs/nut.dict: Fixed issues with + documentation for automated spellcheck during CI check. + +2017-01-27 Jim Klimov + + * docs/nut.dict: docs/nut.dict : sorted to facilitate further + maintenance + +2017-01-27 Arnaud Quette + + * Makefile.am, data/Makefile.am, data/cmdvartab: Integrate cmdvartab + to the spellcheck target This also includes 2 spelling fixes + +2017-01-27 Jim Klimov + + * NEWS, docs/nut.dict: Spellcheck : Fixed typo in Tore O*r*petveit's + name + * README: README : embed a Travis status image link for NUT Master + branch + * Makefile.am, docs/.gitignore, docs/Makefile.am, + docs/man/Makefile.am: Spellcheck : add a recipe to keep nut.dict + sorted so git diffs are clearer + * Makefile.am: Makefile.am : when calling spellcheck or spellcheck- + interactive for several subdirs, do not stop after the first failed + sub-make + +2017-01-27 Steven Bell + + * docs/man/upscli_add_host_cert.txt, docs/man/upscli_connect.txt, + docs/man/upscli_init.txt: Updated and corrected documentation. + +2017-01-27 Arnaud Quette + + * drivers/Makefile.am, drivers/eaton-ats16-mib.c, drivers/eaton- + ats16-mib.h, drivers/snmp-ups.c: snmp-ups: rename Eaton ATS16 + resources Rename the subdriver files along with the structure and + entries, to make a clear difference with the newly added + eaton_ats30. This completes the previous commit, where some files + was erroneously committed + * drivers/{eaton-ats-mib.c => eaton-ats16-mib.c}, drivers/{eaton-ats- + mib.h => eaton-ats16-mib.h}, drivers/eaton-ats30-mib.c: Fix + unterminated comment, from previous commit + * tools/nut-scanner/scan_snmp.c: nut-scanner: force numeric + resolution of OIDs As done in snmp-ups, force the numeric + resolution of OIDs, to ensure correct OID matching in all cases + * drivers/snmp-ups.c: Only free variable when needed in + su_setvar/su_setOID Previously, we tried to free temporary + pointers in all cases. However, this pointer may ever point at the + static structure, in case we do not need to instantiate variable + (outlet.* collection), and which causes a crash of the driver + * drivers/eaton-ats30-mib.c: Add a comment on the unused OIDs + * drivers/snmp-ups.c: Fix spacing + * drivers/eaton-ats30-mib.c, drivers/eaton-ats30-mib.h: Fix legal + information + +2017-01-26 Tomas Halman + + * drivers/Makefile.am, drivers/eaton-ats30-mib.c, drivers/eaton- + ats30-mib.h, drivers/snmp-ups.c: snmp-ups: support Eaton Automatic + Transfer Switch ATS30 ATS30 MIB differs from previously integrated + EATON ATS driver. + +2016-09-14 Jim Klimov + + * common/common.c: common.c : revised upsdebugx() and upslogx() calls + to not trail an extra newline + * common/common.c, configure.ac: Add support for system library + directories with names based on short target/build/host OS spec too + +2017-01-24 Jim Klimov + + * common/common.c, configure.ac: Add support for system library + directories with names based on target/build/host OS spec (for GCC + at least) + +2016-09-14 Jim Klimov + + * common/common.c: common.c : added logging and small optimizations + during get_libname() + * common/common.c: common.c : add /usr/local/lib64 to search path + +2017-01-19 Jim Klimov + + * tools/nut-scanner/nutscan-init.c: nutscan-init.c : We can also use + libusb-compat from newer libusb-1.0 releases (issue #361) + +2016-09-14 Jim Klimov + + * tools/nut-scanner/nutscan-init.c: nut-scanner : support libneon- + gnutls.so as an alternative name + +2016-07-12 Carlos Dominguez + + * common/common.c, include/common.h, tools/nut-scanner/nutscan- + init.c: Arnaud's patch applied, dynamic library bug fixed, tested! + +2016-07-04 Arnaud Quette + + * common/common.c, include/common.h, tools/nut-scanner/nutscan- + init.c: Move get_libname() to common This function, originally + created for nut-scanner, to be able to lookup for libraries loaded + using libtool loader, is now also useful for the DMF support. This + last loads libneon at runtime, to load DMF structure (including the + one for nut-scanner) and unload it once the file were read + +2017-01-23 Jim Klimov + + * drivers/mge-hid.c, drivers/nutdrv_qx.h, + drivers/nutdrv_qx_bestups.c: Fix the non-ASCII quote character away + from C sources + * docs/daisychain.txt, docs/man/al175.txt, docs/man/apcsmart.txt, + docs/man/apcupsd-ups.txt, docs/man/bcmxcp_usb.txt, + docs/man/bestups.txt, docs/man/blazer-common.txt, + docs/man/clone.txt, docs/man/libnutclient_commands.txt, + docs/man/libnutclient_misc.txt, docs/man/libnutclient_tcp.txt, + docs/man/libnutclient_variables.txt, docs/man/macosx-ups.txt, + docs/man/mge-shut.txt, docs/man/nut-scanner.txt, + docs/man/nutdrv_qx.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_get_serial_ports_list.txt, docs/man/nutupsdrv.txt, + docs/man/skel.txt, docs/man/snmp-ups.txt, docs/man/solis.txt, + docs/man/ups.conf.txt, docs/man/upscode2.txt, + docs/man/upsd.conf.txt, docs/man/upsd.txt, + docs/man/upsmon.conf.txt, docs/man/upsmon.txt, docs/man/upsrw.txt, + docs/man/upssched.conf.txt, docs/man/upsstats.html.txt, + docs/man/usbhid-ups.txt, docs/nut.dict: Update nut.dict and manpage + sources after initial spellchecking integration + * Makefile.am, ci_build.sh, docs/man/Makefile.am: + docs/man/Makefile.am : track all manpage sources in a separate + variable and use that for spellchecker + * docs/Makefile.am: docs/Makefile.am : add daisychain to ALL_TXT_SRC + * docs/Makefile.am: docs/Makefile.am : revised TODOs for spellchecker + +2017-01-20 Jim Klimov + + * .travis.yml: Enable valgrind in travis matrix + +2017-01-21 Jim Klimov + + * indent.sh: Initial commit of indent.sh helper + +2017-01-20 Jim Klimov + + * Makefile.am, tests/Makefile.am: VALGRIND: abuse distcheck to run + tested programs in debug mode under valgrind + * configure.ac: valgrind config fix + * ci_build.sh: Travis : make spellcheck failures fatal now + * docs/nut.dict: docs/nut.dict : add another word missed by earlier + private dict + * docs/nut.dict: docs/nut.dict : try to enable UTF8 contributor names + * docs/Makefile.am: docs/Makefile.am : try to enable UTF8 in args and + env + * .travis.yml, ci_build.sh: Travis : enable i2c tests + * .travis.yml: .travis.yml : rearrange apt deps and special case for + doc/spell tests in the matrix + * .travis.yml, ci_build.sh: Travis: port the test-script structure + from DMF brach (better case than if) + +2017-01-19 Jim Klimov + + * docs/nut.dict: docs/nut.dict : add some words not in dictionaries + available to Travis CI; add some developer names to the dictionary + * NEWS, TODO, UPGRADING, common/parseconf.c, docs/FAQ.txt, + docs/acknowledgements.txt, docs/cables/sms.txt, docs/config- + notes.txt, docs/download.txt, docs/hid-subdrivers.txt, docs/new- + drivers.txt, docs/nut-qa.txt, docs/nut.dict, docs/nutdrv_qx- + subdrivers.txt, docs/packager-guide.txt, docs/snmp-subdrivers.txt, + lib/README, scripts/augeas/README: Spellchecker : Fix or rephrase + issues found by spellchecker, and update the NUT custom dictionary + * docs/developers.txt: docs/developers.txt : fix non-ASCII tick + character + * docs/acknowledgements.txt, docs/packager-guide.txt: Added myself to + docs/acknowledgements.txt docs/packager-guide.txt + * docs/nut-qa.txt: docs/nut-qa.txt : rearranged the paragraph with CI + (to fit in 80 cols) and added link to Travis CI dashboard for NUT + branches + * docs/packager-guide.txt: docs/packager-guide.txt : rearranged the + paragraph with recommended package description (to fit in 80 cols) + * docs/developers.txt: docs/developers.txt : mention the recently + added Travis CI integration + * docs/developers.txt: docs/developers.txt : reformat the paragraph + on distcheck-light, and mention the recently added option to skip + building docs + * Makefile.am: Makefile.am : allow to call from workspace root the + docs/Makefile for targets: spellcheck spellcheck-interactive doc + +2017-01-19 Jim Klimov + + * docs/Makefile.am: docs/Makefile.am : parametrize aspell common + args; add togglable debugging of aspell setup + +2017-01-19 Jim Klimov + + * ci_build.sh, docs/Makefile.am: docs/Makefile.am + Travis : support + a SPELLCHECK_ERROR_FATAL toggle, and use it from Travis for now * + docs/Makefile.am : also report if the build succeeds despite + spellcheck errors (due to this setting) + * docs/Makefile.am: docs/Makefile.am : name the en lang explicitly + * docs/Makefile.am: docs/Makefile.am : big reorganization of + spellcheck * spellcheck targets should fail the build not only if + the last document failed the test * make sure to use custom + spellcheck dictionary from NUT source tree; revise erroring out if + automatic aspell finds issues * also set LC_ALL=C for aspell * + revised spellcheck failure message to suggest next steps for the + human * comment the spellcheck test; use more portable shell test + (instead of bracket); do not fail on empty aspell outputs + +2016-09-07 Jim Klimov + + * configure.ac: configure.ac : add potential usage of valgrind, + optional and configurable/detectable + +2017-01-19 Jim Klimov + + * .travis.yml, ci_build.sh: Travis CI should call spellcheck as a + separate spellchecking job (parallelize, optimize for speed, + separate error causes/reports) + * .travis.yml: .travis.yml : add libcppunit to travis env, so tests + in NUT will be enabled + +2017-01-11 Jim Klimov + + * .travis.yml: .travis.yml : drop comment for PR #354 + +2016-11-21 Jim Klimov + + * common/snprintf.c: common/snprintf.c : avoid a few compilation + warnings and a possible crash due to padded ints in variadic + functions + * common/snprintf.c, configure.ac: common/snprintf.c and configure.ac + : avoid a few compilation warnings + +2017-01-06 Daniele Pezzini + + * common/state.c: state: consider also ST_FLAG_NUMBER flags + * drivers/dstate.c: dstate: report ST_FLAG_NUMBERs also in response + to a DUMPALL request + * drivers/dstate.c: dstate: when dealing with ranges, don't lose + already-set flags Ranges are now explicitly flagged as numbers, + but the use of dstate_setflags() means that we substitute any + previously-set flag with the ones we pass to that function, losing, + for example, an already-set r/w status, with the result of making + an affected var unchangeable. Use instead the newly added + dstate_addflags() function, which preserves already-set flags. + * drivers/dstate.c, drivers/dstate.h: dstate: add a couple of + functions to ease the manipulation of flags + +2017-01-10 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix device.type setting in daisychain + mode device.type was not set due to a coding error, but pushed to + device.model (reported by Evgeny "Jim" Klimov from Eaton) + * drivers/main.c: drivers: set the default device.type even earlier + device.type default setting to "ups" has to be done prior to the + initups() call, otherwise some devices (such as daisychained PDUs) + will not be able to override it + +2017-01-04 Jim Klimov + + * ci_build.sh: ci_build.sh : list contents of installation directory + * ci_build.sh: ci_build.sh : fix installation directories for /etc + and udev, devd and hotplug (not hardcoded root paths) + * ci_build.sh: ci_build.sh : list contents of installation directory + * ci_build.sh: ci_build.sh : fix installation directories for /etc + and udev, devd and hotplug (not hardcoded root paths) + * .travis.yml, ci_build.sh: Travis : take advantage of "--with- + doc=skip" support recently added in configure and Makefiles + +2016-09-13 Jim Klimov + + * configure.ac, docs/man/Makefile.am: configure.ac, + docs/man/Makefile.am - support SKIP_MANS as an explicit non-fatal + situation + +2017-01-04 Jim Klimov + + * ci_build.sh: ci_build.sh : comment about missing i2c + * ci_build.sh: ci_build.sh : generalize the skipping of distcheck and + make it more comprehensible in script code + * .travis.yml: .travis.yml : include the headers needed for i2c + * .travis.yml: .travis.yml : use specific libgd + * .travis.yml: .travis.yml : add graphics pkgs for CGI builds + * ci_build.sh: .travis.yml / ci_build.sh : speed up with parallel + build (fall back to sequential if this fails) + * .travis.yml, ci_build.sh: .travis.yml / ci_build.sh : current NUT + does not skip docs safely, so enable just manpages in default build + * .travis.yml: .travis.yml : add libipmimonitoring packages too + * .travis.yml: .travis.yml : older freeipmi in Travis Ubuntu 12.04.5 + * ci_build.sh: ci_build.sh : fix the doc-skipping option + * .travis.yml: .travis.yml : apparently, libfreeipmi16 pkg requires + extra invitation + * .travis.yml, ci_build.sh: Travis : require docs tools only for + "default-withdoc" builds; change "default" to skip the docs (and + try to pass distcheck) + * .travis.yml: .travis.yml : only define default-alldrv once + * .travis.yml, ci_build.sh: Initial integration of a travis matrix + build (different scenarios) + * .gitignore, .travis.yml, ci_build.sh, docs/Makefile.am: Initial + commits of config and script files for Travis CI automatic + validation (simply do a compile and distcheck) + +2017-01-04 Arnaud Quette + + * m4/nut_check_asciidoc.m4: Minor typo fixes + +2017-01-04 Jim Klimov + + * configure.ac: configure.ac : switch default option to "--with- + doc=man=auto" so ordinary builds succeed by default on any system + * configure.ac: configure.ac alias + * configure.ac: configure.ac : add the "--with-docs" as alias to "-- + with-doc" + * configure.ac, m4/ax_compare_version.m4, m4/nut_check_asciidoc.m4: + Refactor nut_check_asciidoc.m4 and configure.ac to check all doc- + tools in one place (and also only once), and fix comments and some + coding issues + +2016-12-29 Charles Lepple + + * docs/new-drivers.txt: docs: reword/reformat new-drivers.txt + Distinguish HID PDC from Q*, etc. + +2016-11-29 Florian Bruhin + + * tools/gitlog2changelog.py: Fix gitlog2changelog.py on python 3 + * scripts/augeas/gen-nutupsconf-aug.py: Make gen-nutupsconf-aug.py + work with Python 3 This makes the script work with Python 2.6+. + Fixes #345. + +2016-11-28 Daniele Pezzini + + * configure.ac: configure: fix checks for a2x-built docs Since, + starting from commit d4a55ed, we now check that documents are + buildable in an 'external' directory, we need to call a2x with '-- + destination-dir' pointing to that directory, otherwise a2x will put + the generated documents in the same directory where source files + are and then testing the non-existent files under our 'external' + directory will always fail, meaning that we will never pass these + checks. + +2016-11-21 Jim Klimov + + * docs/Makefile.am: EXTRA_DIST the docs/asciidoc.txt as used in + configure script checks + * configure.ac: configure.ac : avoid nonportable "mktemp --tmpdir" + option + +2016-11-17 Michal Soltys + + * autogen.sh: autogen.sh: minor script fixup In case any of the perl + / python parts fails (for example if system default is python3, the + script will complain about print), cd ../.. won't be executed. + Furthermore - if any of those scripts fail, there's no point in + continuing as both files are mandatory. + * docs/man/apcsmart.txt, drivers/apcsmart.c, drivers/apcsmart.h: + apcsmart: CS "hack" updates This patch adds cshdelay option (with + default set to 3.5s) between "simulate power failure" and "soft + hibernate" commands. + +2016-11-16 Arnaud Quette + + * drivers/mge-hid.c: sbhid-ups: fix Eaton/MGE mapping for beeper + handling Two HID Paths exists for handling beeper status and + commands. However, only one historic was implement, which was not + actually suitable for issuing the commands on newer units (such as + 3S, 5P*, ...) (reported by Sergey Talchuk) Closes: + https://github.com/networkupstools/nut/issues/9 + * drivers/usbhid-ups.c: usbhid-ups: adjust debuging info + +2016-11-09 Charles Lepple + + * docs/nut-names.txt, drivers/libusb0.c, drivers/libusb1.c: Add + `driver.version.usb` variable Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-11-03 Charles Lepple + + * data/driver.list.in: HCL: CP1500EPFCLCD Source: + https://github.com/networkupstools/nut/issues/337 + +2016-11-02 Charles Lepple -2009-12-10 Arnaud Quette + * data/driver.list.in: HCL: Eaton 5E2200VA Reference: + https://github.com/networkupstools/nut/issues/335 + * data/driver.list.in: HCL: Eaton Ellipse PRO 650 VA (USB) supported + by usbhid-ups Closes: + https://github.com/networkupstools/nut/issues/255 - * [r2163] drivers/mge-utalk.c: complete r2151 with the - implementation details that were removed from the new mge-utalk - man page. +2016-10-21 Charles Lepple -2009-12-09 Arnaud Quette - - * [r2161] drivers/mge-hid.c: complete alarms and status handling - for Eaton / MGE / Dell. - -2009-12-04 Arnaud Quette - - * [r2153] m4/nut_check_libssl.m4: fix a wrong pkg-config call - parameter, that resulted in using pkg-config's own version - instead of OpenSSL's one. - -2009-12-02 Arnaud Quette - - * [r2148] drivers/libhid.c: skip reports 254/255 for Eaton / MGE / - Dell due to special handling needs - -2009-11-30 Arjen de Korte - - * [r2145] man/upsd.8, man/upsd.conf.5, man/upsd.users.5: Add - upgrading notes for versions earlier than nut-2.4.0 - * [r2143] drivers/usbhid-ups.c, drivers/usbhid-ups.h: Use contents - of interrupt report. In case these are broken, set 'pollonly' - flag in ups.conf or use_interrupt_pipe = FALSE in subdriver (when - device matches!) - -2009-11-26 Arjen de Korte - - * [r2141] man/usbhid-ups.8: Document the 'pollonly' flag - -2009-11-25 Arjen de Korte - - * [r2140] drivers/microdowell.c: Fix compiler warning (dead code, - no functional change) - * [r2139] drivers/usbhid-ups.c: Fix compiler warning - * [r2138] drivers/usbhid-ups.c: Add some USB error codes observed - in the field for possible future handling (and the comments from - the headerfiles where these are defined) + * docs/download.txt: download.txt: Add Slackware link -2009-11-24 Arjen de Korte +2016-10-12 Kirill Ovchinnikov - * [r2133] drivers/mge-hid.c: We already know if the value to the - reverse conversion functions should be a time or date value, so - there is no need to guess it. + * drivers/apc-mib.c, drivers/snmp-ups.c: apc-mib.c modified for + ups.delay.{start,shutdown} to include SU_TYPE_TIME -2009-11-23 Arnaud Quette +2016-10-11 Yann E. MORIN - * [r2128] drivers/mge-hid.c: - fix mge_time_date_conversion_nuf() - to actually use the input value - - force ignoring the DST offset for the output value + * clients/upsclient.c: client/ups: add missing include struct + timeval is declared in sys/time.h, so we need to #include it. -2009-11-19 Arnaud Quette +2016-10-11 Arnaud Quette - * [r2122] data/driver.list, drivers/libshut.c, man/mge-shut.8: Add - serial / SHUT support for the new Dell UPS range - - list all models in driver.list using newmge-shut, - - add "battery.runtime.elapsed" support, - - update mge-shut manual page and add an alias for newmge-shut. + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c: + Remove unimplement nut-scanner option The -F --fingerprints-file + option, used to provide an additional list of SNMP fingerprints, + was never implemented, but made its way into the code. Remove it, + at least while waiting for an actual implementation + * docs/man/nut-scanner.txt: Update nut-scanner manual page + * tools/nut-scanner/nutscan-device.c, tools/nut- + scanner/scan_xml_http.c: Fix c++ style comments -2009-11-19 Arjen de Korte +2016-04-03 Alica - * [r2121] drivers/mge-hid.c: Prefer to use non-negated logic when - possible (also minimizes changes) + * conf/upsstats.html.sample: upsstats.html: Conform to HTML 4.01 + Strict Closes: https://github.com/networkupstools/nut/pull/278 + * conf/upsstats-single.html.sample: upsstats-single.html: Conform to + HTML 4.01 Strict -2009-11-19 Arnaud Quette +2016-10-05 Arnaud Quette - * [r2119] data/driver.list, docs/new-names.txt, drivers/mge-hid.c, - man/usbhid-ups.8, scripts/dkp/95-devkit-power-hid.rules, - scripts/hal/ups-nut-device.fdi.in, - scripts/hotplug/libhid.usermap, scripts/udev/nut-usbups.rules.in: - Add USB support for the new Dell UPS range - - list all models in driver.list, - - add "battery.runtime.elapsed" in mge-hid.c and NUT namespace, - - adapt ups.model formating to Dell rules, - - update USB helper files, - - update usbhid-ups manual page. + * common/common.c: Fix c++ style comments + * drivers/snmp-ups.c: Fix exit code for --list -2009-11-18 Arjen de Korte +2016-09-28 Jim Klimov - * [r2118] drivers/netxml-ups.c: Re-subscribe to NMC when it doesn't - send us alarm messages anymore + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c, + tools/nut-scanner/scan_xml_http.c: nut-scanner : implement single- + IP and IP-range UDP NetXML device discovery + * tools/nut-scanner/scan_snmp.c: scan_xml_http.c : fix leading + whitespaces (SPACE vs TABs mixed in code) + * tools/nut-scanner/scan_snmp.c: scan_xml_http.c : replace some + fprintf with upsdebugx + * tools/nut-scanner/nut-scanner.c: nut-scanner.c : increased debug- + tracing messages of nut-scanner progress + * tools/nut-scanner/nut-scanner.c: nut-scanner.c : replaced printq() + with standard upsdebugx(), added "-D" option to increase debug + verbosity as common in NUT, moved the help text printout to its own + function -2009-11-18 Arnaud Quette +2016-09-27 Jim Klimov - * [r2117] drivers/mge-xml.c: minor typo fix on comment + * common/common.c, include/common.h: common.c/.h : simplify the + upsdebugx() enhancement (no need to fight with warnings/pragmas) -Mon Nov 16 01:57:23 UTC 2009 / Charles Lepple +2016-09-26 Arnaud Quette - - drivers/tripplite_usb.c: fix copy-n-paste error in load.on instcmd. + * scripts/systemd/nut-server.service.in: systemd: add reload support + for nut-server / upsd Add ExecReload entry to execute a + configuration reload of upsd, using the available 'upsd -c reload' -Fri Oct 9 11:26:49 UTC 2009 / Arjen de Korte +2016-09-25 Charles Lepple -- m4/nut_check_libssl.m4,nut_check_libusb.m4: show version information during - configuration + * drivers/libusb1.c: libusb1: use return code from libusb_open() Per + , the handle is only populated when the return code + is 0. This fixes a crash during device detection where more than + one HID UPS is available, and the driver needs to skip the first + one. + +2016-09-21 Jim Klimov + + * include/common.h: common.h : rearranged the + ENABLE_WARNING/DISABLE_WARNING macro definitions so they are only + called for supported compilers and generate empty macros (no-op) + for others -Thu Oct 8 19:38:03 UTC 2009 / Arjen de Korte +2016-09-20 Jim Klimov + + * common/common.c: common.c : move anti-warning macros out of the + function body, some compilers do not like that + +2016-09-19 Jim Klimov + + * tools/nut-scanner/scan_xml_http.c: scan_xml_http.c : do not suggest + NetXML support for ePDUs (almost exclusively they are XMLv4 and do + not work with current NUT) + +2016-09-18 Jim Klimov + + * common/common.c: common.c : in upsdebugx() added "[Dx]" prefix : do + not add it for level 0 + +2016-09-17 Jim Klimov + + * common/common.c, include/common.h: common.c : augment upsdebugx() + and upsdebug_with_errno() by prepending the debug-level to logged + messages + * common/common.c: common.c : fix whitespaces + +2016-09-17 Jim Klimov + + * configure.ac: configure.ac : do not fail configuration if a doctype + picked with "auto" can not be built on this system - just skip it + +2016-09-15 Jim Klimov + + * drivers/snmp-ups.c: Added and documented an snmp-ups argument to + list currently loaded MIB-to-NUT mappings (typo fix) + * docs/man/snmp-ups.txt, drivers/snmp-ups.c: Added and documented an + snmp-ups argument to list currently loaded MIB-to-NUT mappings + * drivers/snmp-ups.c: snmp-ups.c : small typo fix + * docs/man/snmp-ups.txt, drivers/ietf-mib.c: Mention tripplite + mapping in snmp-ups manpage; updated some comments about it in + ietf-mib.c + * configure.ac: configure.ac : when verifying ability to build docs, + consider out-of-tree builds too + +2016-09-14 Jim Klimov + + * configure.ac: configure.ac : verify that we can actually build a + simple or chunked HTML document, beside having nominal versions of + software + * configure.ac: configure.ac : verify that we can actually build a + manpage document, beside having nominal versions of software + * configure.ac: configure.ac : verify that we can actually build a + simple PDF document, beside having nominal versions of software + +2016-09-13 Jim Klimov + + * drivers/ietf-mib.c: Give the Tripplite SNMP MIB a name, do not + duplicate "ietf" entries + +2016-09-02 Arnaud Quette + + * drivers/bcmxcp_usb.c, drivers/blazer_usb.c, drivers/libusb1.c, + drivers/nutdrv_atcl_usb.c, drivers/nutdrv_qx.c, + drivers/richcomm_usb.c, drivers/riello_usb.c: libusb 1.0 port: fix + return code for interrupt ops libusb 1.0 returns on success, the + number of bytes actually transferred or otherwise an error code, + except for interrupt transfers, where the actual transfer size is + stored in a separate variable. The libusb 1.0 implementation in NUT + thus needed to be fixed to behave the same way than the libusb 0.1 + implementation Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-08-31 Arnaud Quette + + * drivers/libusb1.c: libusb 1.0 port: remove the check on USB device + count With the port to libusb 1.0, a sanity check was done on the + available number of USB devices to try. This however caused a + behavior regression, since the only device that NUT may have access + to can be the only UPS connected. In this case, the driver may exit + upon trying to reconnect if the device is transiently not available + Reference: https://github.com/networkupstools/nut/issues/300 + * drivers/libusb1.c, drivers/richcomm_usb.c: libusb 1.0 port: + complete usb_set_altinterface code usb_set_altinterface allows to + force the USB code to call `libusb_set_interface_alt_setting (0, + 0)` (equivalent to `libusb_set_altinterface(0)` in libusb 0.1), as + was done in NUT 2.7.2 and earlier. However, the libusb 1.0 + implementation was still missing the related code Reference: + https://github.com/networkupstools/nut/issues/300 + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c: libusb 1.0 port: + fix kernel driver detachment Following the recent modification for + the kernel driver detachment, and the related functions + availability depending on the platforms, nutdrv_atcl_usb and + richcomm_usb were using the wrong macro for + libusb_set_auto_detach_kernel_driver and were missing the libusb + 1.0 code for explicit kernel driver detachment Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-08-17 Arnaud Quette + + * drivers/libusb1.c, m4/nut_check_libusb.m4: libusb 1.0 port: rework + the kernel driver detachment libusb 1.0 has introduced a new + function (libusb_set_auto_detach_kernel_driver), beside from the + explicit kernel driver detachment request + (libusb_detach_kernel_driver). However, the former is not available + on all systems. As an example, FreeBSD 10.1-10.3 does not have + this. The detachment and interface claiming has been reworked to + handle this case (reported by Charles Lepple) Reference: + https://github.com/networkupstools/nut/issues/300 + +2016-08-16 Arnaud Quette + + * clients/upsrw.c: upsrw: display the variable type beside ENUM / + RANGE upsrw now displays more information, beside the ENUM and + RANGE, such as the variable type (NUMBER or STRING), and the + maximum length for STRING Closes: + https://github.com/networkupstools/nut/issues/267 + * include/extstate.h: Add an explicit type NONE (ST_FLAG_NONE) + Reference: https://github.com/networkupstools/nut/issues/267 + * server/netget.c: Modify server side publication for variable type + ENUM can be either NUMBER or STRING, which was previously not + published. Reference: + https://github.com/networkupstools/nut/issues/267 + * drivers/dstate.c: Automatically set the "NUMBER" flag for ranges + Ranges, added through dstate_addrange(), only support numeric + ranges. So automatically add the ST_FLAG_NUMBER flag to range + Reference: https://github.com/networkupstools/nut/issues/267 + * drivers/dstate.c: Support ST_FLAG_NUMBER in dstate_setflags() + Allow the drivers to explicitly use ST_FLAG_NUMBER through + dstate_setflags() Reference: + https://github.com/networkupstools/nut/issues/267 + * include/extstate.h: Add an explicit type NUMBER (ST_FLAG_NUMBER) + Beside from the existing ST_FLAG_STRING, a need has arise to have + an explicit type NUMBER, and thus a flag for this type, can be used + generally, and more specifically with the driver primitive + dstate_setflags() Reference: + https://github.com/networkupstools/nut/issues/267 + +2016-08-12 Arnaud Quette + + * drivers/libusb1.c: libusb 1.0: remove unused typesafe_control_msg() + workaround For libusb 0.1 implementation, we had to workaround a + libusb API goofs, by wrapping the base function usb_control_msg(), + and casting the variables to the right type. This is not needed for + libusb 1.0 implementation, but was wrongly left in the code + (reported by Charles Lepple) + * clients/upsrw.c: upsrw: display current values of NUMBER variables + References: https://github.com/networkupstools/nut/issues/267 + * drivers/snmp-ups.c: snmp-ups: discard decimals when set to "0" + Publish values as integer when decimals are set to "0". This at + least makes sense for some values that are real integers (phases + and outlets counts for example), but also with many other values + that have not sufficient precision to provide decimals + +2016-08-11 Arnaud Quette + + * drivers/bcmxcp_usb.c: bcmxcp_usb: fix a warning on unused variable + * drivers/bcmxcp_usb.c, drivers/libusb1.c, drivers/nutdrv_atcl_usb.c, + drivers/richcomm_usb.c: libusb 1.0 port: simplify bus publication + bus publication was wrongly listing both the bus and the portname, + instead of the bus only. This may have caused some issue when + trying to match the port + * drivers/usbhid-ups.c: usbhid-ups/mge-shut: forgotten version bump + * drivers/usbhid-ups.c: usbhid-ups/mge-shut: rework errno/errors + handling libusb 1.0 has its own set of return codes, and error + interface. Rework the common HID core (shared between usbhid-ups + and mge-shut) so that error handling can work with both, and using + either libusb 0.1 or 1.0 for usbhid-ups + * tools/nut-scanner/scan_usb.c: nut-scanner: missing symbols lookup + for libusb 1.0 A few symbols from libusb 1.0 were wrongly used + directly, instead of being looked up and loaded at init time + * drivers/bcmxcp_usb.c, drivers/libusb1.c, drivers/nutdrv_atcl_usb.c, + drivers/richcomm_usb.c: libusb 1.0 port: add missing libusb_exit() + calls + * tools/nut-scanner/nutscan-init.c, tools/nut-scanner/scan_usb.c, + tools/nut-usbinfo.pl: nut-scanner: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * drivers/nutdrv_atcl_usb.c, drivers/richcomm_usb.c: Remove redundant + variable + * drivers/tripplite_usb.c: tripplite_usb: remove extraneous comment + char + * drivers/nut_libusb.h: permute typedef order of usb_dev_handle + * drivers/nutdrv_qx.c: nutdrv_qx: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * drivers/richcomm_usb.c: richcomm_usb: missing function remap for + libusb 0.1 usb_strerror was not remapped for libusb 0.1 + implementation + * drivers/tripplite_usb.c: tripplite_usb: initial port to libusb 1.0 + The port to libusb 1.0 is complete, at least from a build + perspective. This now needs to be tested with devices + * drivers/riello_usb.c: riello_usb: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + +2016-08-10 Arnaud Quette + + * drivers/richcomm_usb.c: richcomm_usb: initial port to libusb 1.0 + The port to libusb 1.0 is complete, at least from a build + perspective. This now needs to be tested with devices + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: add the missing detach + call libusb 1.0 provide its own routine for detaching kernel + driver + * drivers/Makefile.am, drivers/libhid.c, drivers/nut_libusb.h: + Forgotten occurences of libusb.h renaming NUT internal header + "libusb.h" was renamed, since it collides with the libusb 1.0 + header, which has the same name. A few occurences of reference and + documentation were however missing + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: initial port to libusb + 1.0 The port to libusb 1.0 is complete, at least from a build + perspective. This now needs to be tested with devices + * drivers/blazer_usb.c: blazer_usb: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * drivers/bcmxcp_usb.c: bcmxcp_usb: code cleanup + +2016-08-09 Arnaud Quette + + * drivers/bcmxcp_usb.c: bcmxcp_usb: initial port to libusb 1.0 The + port to libusb 1.0 is complete, at least from a build perspective. + This now needs to be tested with devices + * docs/configure.txt, drivers/Makefile.am, drivers/libhid.c, + drivers/libhid.h, drivers/{libusb.c => libusb0.c}, + drivers/libusb1.c, drivers/{libusb.h => nut_libusb.h}, drivers/usb- + common.h, drivers/usbhid-ups.c: ushid-ups: complete the port to + libusb 1.0 The port to libusb 1.0 is now complete for usbhid-ups. + Other USB drivers (bcmxcp_usb, blazer_usb, nutdrv_atcl_usb, + richcomm_usb, riello_usb, tripplite_usb, nutdrv_qx) have still to + be addressed + +2016-08-06 Jim Klimov + + * docs/man/dummy-ups.txt: dummy-ups.txt : noted the sleep between + loops + * docs/man/dummy-ups.txt: dummy-ups.txt : text and formatting revised + to be clearer to the uninitiated + +2016-08-04 Arnaud Quette + + * docs/man/snmp-ups.txt: snmp-ups: document the use of non-standard + port SNMP agent may publish data over a non-standard port, i.e. + not 161. This feature is supported since the origin, but was not + explicitly documented nor usable + +2016-08-01 Arnaud Quette + + * configure.ac, m4/nut_check_libusb.m4: Initial port to libusb 1.0 + Starting with the configure checks, to detect if libusb 1.0 if + available, and otherwise fall back to the libusb 0.1 backend + +2016-07-11 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix device.type publication In + daisychain mode at least, device.type was not set to its actual + value, using the current mapping structure, but defaulting to "ups" + (reported by Tomas Halman, from Eaton) + * drivers/snmp-ups.c: snmp-ups: fix and improve match_sysoid The + function was returning FALSE instead of NULL in one case. Also + retry at most 3 times to get the sysOID + +2016-07-07 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix instant commands publication + With non-daisychain setup, there was a bug that created an infinite + test loop when trying to add instant commands + +2016-06-30 Tomas Halman + + * clients/nutclient.cpp: nutclient: fix library segmentation fault if + device name doesn't exists. If device doesn't exist, getClient() + returns NULL. Then calling the method like + getClient()->getDeviceDescription(getName()) causes segfault. We + rather check the status and throw an exception in this case. + +2016-06-25 Charles Lepple + + * docs/acknowledgements.txt: doc: fix acknowledgements link to GitHub + +2016-06-23 Timothy Pearson + + * drivers/libhid.c, drivers/tripplite-hid.c, drivers/usbhid-ups.c, + scripts/upower/95-upower-hid.rules: Add support for SU3000LCD2UHV + Note that protocol 1330 does not respond to requests for + UPS.OutletSystem.Outlet.DelayBeforeReboot, therefore those requests + needed to be bypassed in the driver. + +2016-06-23 Arnaud Quette + + * drivers/mge-xml.c: netxml-ups: detect the unsupported XML v4 + protocol The XML/PDC protocol had an update with version 4, for + ePDU. However, this version is not supported by netxml-ups. We now + detect this version, and explicitly exit with an "XML v4 protocol + is not supported!" message + * drivers/netxml-ups.c: netxml-ups: fix a segmentation fault + netxml_get_page() was not checking if page is NULL, hence resulting + in a segmentation fault with Eaton ePDU, which use the unsupported + version 4 of the XML/PDC protocol. Bump the driver version to 0.41 + +2016-06-13 Tomas Halman + + * clients/nutclient.cpp: NUT client library: internal::Socket class + must close socket in destructor. + +2016-04-16 Charles Lepple + + * data/driver.list.in, drivers/mge-hid.c, scripts/upower/95-upower- + hid.rules: usbhid-ups: add IBM USB VID Reference: + http://article.gmane.org/gmane.comp.monitoring.nut.user/7721 and + http://news.gmane.org/find- + root.php?message_id=5712AB29.6040001%40delphinidae.org.uk + +2016-06-09 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: 2nd pass on fixing memory leaks Fix + some remaining memory leaks reported by Coverity scan + * drivers/snmp-ups.c: snmp-ups: fix memory leaks and incorrect + expression Following the registration of NUT in Coverity scan, a + number of issues were identified. This is the very first set of QA + fixes related to this static code analysis + +2016-06-08 Arnaud Quette + + * Makefile.am: AIX package: reference the exact tarball version + +2016-06-07 Charles Lepple + + * docs/download.txt: Update VMware ESXi package link (from René + Garcia) + +2016-06-07 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix some regression due to daisychain + A few issues were remaining, following the daisychain support + addition. Issues were related to, at least, 3ph initialization and + data not being published, and identified with Eaton 3ph units, + using the "pw" MIB (reported by Yves Clauzel, from Eaton) + +2016-06-05 Timothy Pearson + + * drivers/powerp-txt.c: Add deep battery test for CyberPower + OL3000RMXL2U + +2016-05-31 Arnaud Quette + + * drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: support + daisychain commands and settings Daisychain commands and settings + on subdevices are now supported. Since 95% of the code of these two + functions was similar, a new function called su_setOID() was + created, and is now called by su_setvar and su_instcmd. This new + function is also daisychain-aware + * drivers/dstate.c: dstate: adapt daisychain devices functions For + daisychain devices, we increase the counter when alarms are present + on a subdevice, but don't decrease the count when the buffer is + empty. Otherwise, we may not get the ALARM flag in ups.status, + while there are some alarms present on device.X + * drivers/eaton-mib.c: snmp-ups: fix input.L2.voltage on Eaton G2/G3 + PDU This data entry was missing the daisychain formatting + directive, which resulted in this data not being published + (reported by Vyskocil Michal from Eaton) + +2016-05-27 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix regression related to daisychain + Fix a few regression with unitary devices, related to the + daisychain changes of the SNMP core engine + * drivers/dstate.c: dstate: enforce underflow to not generate false + alarm The newly introduced daisychain mechanism, with alarm + counters (not just boolean) introduced a potential underflow on + alarm_commit, which resulted in false positive "ALARM" flag + publication in ups.status + * drivers/snmp-ups.c: snmp-ups: update for daisychain Update the + daisychain implementation, as per the latest specification, + including considerations on "device.0". Alarms are also handled for + the daisychain devices. Initial code for settings and commands is + also present, but will be completed in subsequent commits, along + with a final cleanup and potential composite settings and commands + on "device.0" (that are then applied to all daisychain devices) + * drivers/eaton-mib.c: snmp-ups: fix some daisychain data for Eaton + PDU Some data (outlet.%i.current, outlet.%i.power, + outlet.%i.load.{off,on,cycle} and + outlet.group.%i.load.{off,on,cycle}) were missing the daisychain + formatting string, and were hence not published + * docs/daisychain.txt, drivers/dstate.c, drivers/dstate.h: dstate: + add functions to address daisychain alarms Add 2 new functions, + device_alarm_init() and device_alarm_commit(), to address + daisychain devices: these acts as the standard alarm_{init,commit}, + but only clearing / committing the alarm buffer, and not + reinitializing the main alarm counter. Hence, the "device.0" (whole + daisychain) knows if it has to publish the "ALARM" flag in + ups.status + +2016-05-25 Arnaud Quette + + * docs/new-drivers.txt: daisychain: add a reference for drivers and + alarms + * docs/daisychain.txt: daisychain: update specification for alarms + handling + * drivers/eaton-mib.c, drivers/snmp-ups.c, drivers/snmp-ups.h: snmp- + ups: daisychain update, fix and completion Following the + specification update on "device.0" consideration, adapt the current + implementation. For now, the whole daisychain will only publish + device.{mfr,model,count}. Initial support for settings and commands + was also added, and will be expanded to "device.0" + * docs/daisychain.txt: daisychain: update and fix specification + * docs/daisychain.txt: daisychain: update specification as per + discussion + +2016-05-23 Arnaud Quette + + * docs/Makefile.am, docs/daisychain.txt, docs/developer-guide.txt, + docs/user-manual.txt: daisychain documentation: fix documentation + building The daisychain documentation was missing from the build + rules, and from the documentation integration, which resulted in + documentation build being broken (reported by Charles Lepple). As a + side note, the documentation (both user and developer) will need + some update and cleanup, now that there is more content Closes: + https://github.com/networkupstools/nut/issues/291 + * drivers/eaton-mib.c: snmp-ups: Eaton Aphel Revelation updates + Update Eaton Aphel Revelation MIB mapping, by fixing outlets + switchability publication and adding "device.revision". This last + data still has to be submitted as an RFC for extending NUT + variables namespace + +2016-05-19 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix daisychain regression A bug was + discovered with the new daisychain code and non-daisychained + device, resulting in data not being published + +2016-05-18 Arnaud Quette + + * drivers/compaq-mib.c, drivers/ietf-mib.c, drivers/mge-mib.c, + drivers/netvision-mib.c, drivers/powerware-mib.c, drivers/snmp- + ups.c, drivers/snmp-ups.h: snmp-ups: daisychain handling of 1ph / + 3ph phases Per device phases management is now available in + daisychain mode, for input, output and bypass. The overall + mechanism for phase determination has also changed to something + more generic, and not requiring the SU_FLAG_SETINT flag + * drivers/eaton-mib.c: snmp-ups: fix input.phases for Eaton G2 / G3 + ePDU The current implementation was using the number of input, not + the number of phase(s) + +2016-05-17 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: initial daisychain support for Eaton + PDU Following the base implementation for daisychain support in + the SNMP driver core (snmp-ups), add support for daisychain for + Eaton PDU. Commands definitions are disabled for now, and will be + addressed in a subsequent commit + * drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: base daisychain + support This commit includes the initial support for daisychain. + There are however a number of limitations that still need to be + addressed, such as: * {input,output,bypass}.phase handling: for + now, mixed / hybrid daisychains are not supported * All devices + alarms are pushed to "ups.alarm" without discriminant (i.e. not + "device.X" appended to the alarm) * commands and settings are not + yet handled * non-regression testing on unitary devices have to be + done + * README, docs/outlets.txt, docs/user-manual.txt: Documentation + adjustments + * docs/daisychain.txt, docs/nut-names.txt: daisychain: initial + specification and documentation + * drivers/mge-hid.c: mge-shut/usbhid-ups: list AEG PROTECT NAS vendor + 06da AEG PROTECT NAS were previously using VendorID / ProductID + 0x2b2d / 0xffff, and are now using 0x06da / 0xffff. Also bump the + mge-hid subdriver version to 1.40 + +2016-05-13 Arnaud Quette + + * docs/man/nutupsdrv.txt: Mention explicitly the default pollinterval + As in ups.conf manual page, mention the default poll interval, to + make it clear + +2016-05-10 Arnaud Quette + + * docs/nut-qa.txt: NUT QA: add Coverity static code analysis + information NUT is now a registered Coverity project, and can thus + get static code analysis from it. This is just a first step, and + actions are needed to address the actual defects and complete the + project configuration. Due thanks to Synopsys, Inc., mother firm of + Coverity, for providing this service to Opensource project + +2016-05-09 Arnaud Quette + + * drivers/apc-mib.c, drivers/snmp-ups.h: snmp-ups: remove the + redundant SU_TYPE_STRING define SU_TYPE_STRING was originally + created to expose a required cast to string. However, it is + redundant with ST_FLAG_STRING, and not useful in the end. The only + subdriver that was using it is apc-mib (UPS support) and this was a + no-op + * README: Fix wrong link reference The "NUT outlets management and + PDU notes" were wrongly referred to as "Configuring automatic UPS + shutdowns + +2016-05-04 Jim Klimov + + * .gitignore, docs/.gitignore: GitIgnore some built documents + +2016-05-03 Jim Klimov + + * configure.ac: configure.ac : prefer "/usr/share/augeas/lenses/dist" + over "/usr/share/augeas/lenses" if present + +2016-05-03 Arnaud Quette + + * docs/configure.txt: Document Augeas lenses configure option Add + documentation on the new configure option --with-augeas-lenses- + dir=PATH + +2016-05-03 Jim Klimov + + * docs/Makefile.am, docs/man/Makefile.am: Follow-up to NUT PR#281 - + notice for the future + * docs/Makefile.am, docs/man/Makefile.am: Revert toxic commit: "a2x + says "--destination-dir" is only valid for HTML... so let us reduce + complaints reported in build" This reverts commit + fe17861c4ea12679b3ebfefa8a6d692d79d99f2d because in fact asciidoc + (8.6.9) lies about not supporting the flag, and it is reqired for + `ASCIIDOC_VERBOSE=-v make distcheck-light` to pass. So let's keep + it complaining but working. + * Makefile.am, configure.ac, scripts/augeas/Makefile.am: Allow "make + install" to deliver Augeas lenses into the path defined by + configure (defaults to /usr/share/augeas/lenses) + +2016-05-02 Jim Klimov + + * docs/Makefile.am, docs/man/Makefile.am: a2x says "--destination- + dir" is only valid for HTML... so let us reduce complaints reported + in build + * configure.ac: configure.ac : by default, "--with-doc=man=yes" to + match legacy expectations, and permit "make dist" out of the box + +2016-04-26 Arnaud Quette + + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c: nut- + scanner: Force numeric OIDs resolution Force numeric OIDs + resolution (ie, do not resolve to textual names) and disable MIB + loading. This is mostly for the convenience of debug and results + output + * scripts/subdriver/gen-snmp-subdriver.sh: SNMP subdriver generator: + add a FIXME - - m4/nut_check_libneon.m4,nut_check_libusb.m4: changes in autoconf magic to - detect optional functions (without making assumptions on where they are - located) - - configure.in: update for the above - - drivers/libusb.c,netxml-ups.c,richcomm_usb.c: update for the above - -Wed Oct 7 17:53:42 UTC 2009 / Arnaud Quette +2016-04-11 Michal Vyskocil + + * drivers/netvision-mib.c: netvision-mib: uses 0 as dfl Change to + NULL as other subdrivers does + +2016-04-11 Arnaud Quette + + * tools/nut-scanner/nutscan-init.c: nut-scanner: additional search + path Prepend "/usr/" to the provided --libdir, in case this one + points at "/lib/..." or similar, and not to "/usr/lib/..." - * drivers/dummy-ups.c: dummy-ups general improvements - - dummy mode now loop on reading the .dev file, instead of reading it once. - Interacting through this method is also possible, by changing the .dev file - content on the fly, - - dummy mode now support actions (TIMER only ATM) in the .dev file. This - allows to have an automated scripting sequence (see data/evolution.dev and - dummy-ups manpage for examples), - - repeater mode now check the upsd connection, and reconnect if needed, - (reported by Gabor Kiss) - - cleanup the inline TODO list, - - bump the driver version to 0.10. - * man/dummy-ups.8: update according to the above changes. - * data/epdu-managed.dev: new dummy-ups definition file. +2016-04-09 Émilien Kia -Wed Oct 7 14:05:35 UTC 2009 / Arjen de Korte + * clients/nutclient.cpp: Correctly increment pointer in + stringset_to_strarr and stringvector_to_strarr. Fix bug #232 + * tests/Makefile.am, tests/nutclienttest.cpp: Create unit test + (failing for now) to test bug #232 (nutclient: + stringset_to_strarr() and stringvector_to_strarr() only work for + one element). + * clients/nutclient.cpp: Make string[set|vector]_to_strarr public to + be accessible to unit tests. + * clients/nutclient.h: Make nut::Client::~Client virtual. Prevent + compilation warning [-Wdelete-non-virtual-dtor]. - - drivers/snmp-ups.c: remove suspicious code for shutdown.* commands +2016-03-23 Jim Klimov -Wed Oct 7 13:43:15 UTC 2009 / Arjen de Korte + * configure.ac, docs/configure.txt, docs/man/Makefile.am: Added + WITH_MANS support (to toggle generation of manpages) and revised + other documentation formats - - drivers/apc-hid.c: add support for Back-UPS RS series test.battery.* - commands (experimental) +2016-04-08 Jim Klimov -Tue Oct 6 19:39:22 UTC 2009 / Arjen de Korte + * configure.ac, docs/configure.txt: configure.ac : do not inspect + systemdunitdir with pkg-info if we asked not to use it at all - - m4/nut_check_libssl.m4: use pkg-config for compiler and linker flags - - m4/nut_check_libusb.m4: minor change - -Tue Oct 6 19:16:08 UTC 2009 / Arjen de Korte +2016-04-07 Arnaud Quette - - MAINTAINERS: Remove entry for Peter Selinger (by request) - -Tue Oct 6 12:13:01 UTC 2009 / Arnaud Quette + * drivers/raritan-px2-mib.c: snmp-ups: fix a missing field in + raritan_px2 mapping The default value (dfl field) was missing, and + thus producing a compilation warning - - drivers/mge-shut.c: actually apply the low battery level if provided (either - through "-x lowbatt" or ups.conf). Also change the driver reported name from - "MGE UPS SYSTEMS" to "Eaton". - (reported by Daniel O'Connor) +2016-04-07 Jim Klimov -Mon Oct 5 20:02:42 UTC 2009 / Arnaud Quette + * docs/configure.txt, m4/nut_check_libgd.m4, + m4/nut_check_libnetsnmp.m4: Allow to customize path to gdlib-config + and net-snmp-config programs - - drivers/nut_usb.c: remove the calls to usb_set_configuration() and - usb_set_altinterface(), which were not needed and caused troubles - with some Eaton / Powerware models. Also add some older HP T500 / T750 which - seem to be supported, - - data/driver.list: add entries for the above. +2016-04-06 Arnaud Quette -Mon Sep 21 08:30:18 UTC 2009 / Arjen de Korte + * data/driver.list.in, docs/man/snmp-ups.txt, drivers/Makefile.am, + drivers/raritan-px2-mib.c, drivers/raritan-px2-mib.h, drivers/snmp- + ups.c: snmp-ups: support Raritan Dominion PX2 PDU Based on initial + work and data from Opengear, using SNMP subdriver creation script, + add support for the more recent Raritan PDU, model PX2. This was + tested with a PX2-1486 (Metered Input), but should cover all PX2 + models + * scripts/subdriver/gen-snmp-subdriver.sh: SNMP subdriver creation + script: minor updates + +2016-03-23 Jim Klimov + + * configure.ac: Fix "--with-doc=auto" to use present doc-gens * + configure.ac : when using "--with-doc" do actually proceed if some + supported methods are found and some are not... build what we can + on this platform * configure.ac : revised upon peer review : + yes==all, default(empty)==no as documented in --help, auto guesser + must be explicit + +2016-03-24 Kirill Ovchinnikov + + * drivers/snmp-ups.c, drivers/snmp-ups.h: Added a feature of power on + and power off delay time writing to UPS configuration; Added + support of writing "timeticks" values to su_setvar() routine + +2016-03-23 Michal Vyskocil + + * drivers/eaton-mib.c: Bumb version of eaton-mib + +2016-03-23 Arnaud Quette + + * docs/man/snmp-ups.txt, docs/snmp.txt: Fix references to the SNMP + section of protocols + +2016-03-22 Michal Vyskocil + + * drivers/snmp-ups.h: snmp-ups: mark SU_FLAG_OK as internal to the + driver + * drivers/eaton-mib.c: snmp-ups: add outlet type to Eaton Marlin MIB + +2016-03-22 Arnaud Quette + + * configure.ac: Remove the extraneous GNU in front of FreeIPMI + Messages are now more homogeneous + * docs/configure.txt: Clarify multiple specifier for --with-doc + * docs/configure.txt: Update FreeIPMI requirements The documented + requirements were out of date, compared to the tests done at + configure time + +2016-03-22 Michal Vyskocil + + * drivers/snmp-ups.h: snmp-ups: enhance documentation of some flags + Mark SU_FLAG_OK as deprecated and SU_FLAG_STALE as internal to + driver. This helps new developers to write or extend snmp + subdrivers. + * docs/nut-names.txt: Document outlet.n.type Add and document + outlet.n.type variable, which provides information about physical + outlet type. + +2016-03-19 Charles Lepple + + * configure.ac: Version to 2.7.4.1 for snapshots + +2016-03-18 Marty R + + * docs/download.txt: Update OpenWRT package information The previous + link is over 5 years old, nut is now maintained in the packages + repository on GitHub. + +2016-03-10 Arnaud Quette + + * tools/nut-scanner/Makefile.am: Fix nut-scanner compilation in some + environments Following the commits 5187dab (common: add some + string-related functions) and e767df5 (common: consolidate some + string-related functions), the build rules of nut-scanner were not + updated to also use str.c. Since the libcommon.la dependency was + still there, some environments managed to build cleanly, while + other are failing. Update build dependencies to fix this situation + * drivers/powerware-mib.c: snmp-ups: Eaton 3ph UPS improvements Fix + the battery test status reporting, and start to simplify the + mapping layout by getting rid of some #define. Also add the + following: - battery test result "Unknown" - last battery + replacement date (battery.date) - output.voltage thresholds (high + and low) and nominal value + * drivers/snmp-ups.c: snmp-ups: add a debug trace on + nut_snmp_get_int() + +2016-03-09 Arnaud Quette + + * configure.ac: Fix autoreconf on Debian For some reason, Automake + doesn't search the current directory correctly when searching for + helper scripts, when 'nut' is running as a git-submodule, as it is + the case with the website repository + * configure.ac: update version to 2.7.4 + * drivers/apc-ats-mib.c: snmp-ups: add APC ATS input.source + * drivers/snmp-ups.c: snmp-ups: fix the matching OID tests For both + sysOID and classic methods, we used to test one of the two OIDs + provided in the mib2nut structures. However, these two OIDs + (oid_pwr_status and oid_auto_check) tend to be redundant and + confusing. Replace these matching by an extraction of + {ups,device}.model + * drivers/nut-libfreeipmi.c: nut-ipmipsu: fix compilation warnings + * NEWS, UPGRADING, docs/FAQ.txt, docs/net-protocol.txt, docs/new- + drivers.txt, docs/nut-names.txt, docs/nutdrv_qx-subdrivers.txt, + docs/packager-guide.txt, docs/snmp-subdrivers.txt, lib/README, + scripts/augeas/README: Fix spelling and typo errors Following the + spell-checking scope expansion, do a spell-checking pass + * docs/documentation.txt: Update documentation as per the new devices + scope + * docs/features.txt, docs/user-manual.txt: Update documentation as + per the new devices scope + * docs/Makefile.am: Expand spell-checking scope Add more documents, + outside of the docs/ directory Closes: + https://github.com/networkupstools/nut/issues/222 + +2016-03-08 Arnaud Quette + + * configure.ac, tools/Makefile.am, tools/driver-list-format.sh: Check + driver.list[.in] format at make dist time Instead of checking + driver.list.in at configure time, move the checking and + modification into a script that is called at make dist time. The + script can also be called manually, and will try to fix both + driver.list.in and driver.list + +2016-03-07 Arnaud Quette + + * drivers/powerware-mib.c: Remove an erroneous test This was made + test the enumerated values registration in snmp-ups, and should not + have been committed + * data/driver.list.in: HCL: APC ATS AP7724 supported by snmp-ups + These Automatic Transfer Switch should be supported by snmp-ups, + however this was not tested at all Reference: + https://github.com/networkupstools/nut/issues/260 + * NEWS, UPGRADING: Update for release 2.7.4 + * drivers/Makefile.am, drivers/apc-ats-mib.c, drivers/apc-ats-mib.h, + drivers/snmp-ups.c: snmp-ups: support APC Automatic Transfer Switch + Following the recent extension of NUT scope and variable namespace, + to support Automatic Transfer Switch (ATS), implement SNMP support + for APC ATS (with help from "maaboo" through github) Reference: + https://github.com/networkupstools/nut/issues/260 + +2016-03-04 Arnaud Quette + + * drivers/baytech-mib.c, drivers/bestpower-mib.c, drivers/compaq- + mib.c, drivers/cyberpower-mib.c, drivers/eaton-mib.c, drivers/mge- + mib.c, drivers/netvision-mib.c, drivers/powerware-mib.c, + drivers/raritan-pdu-mib.c: snmp-ups: fix mib2nut structures Non + existent OIDs, for testing MIB selection, must be expressed as NULL + and not as empty string ("") for the algorithm to work + +2016-03-03 Daniele Pezzini + + * docs/download.txt: docs: update several download links + +2016-03-03 Arnaud Quette + + * docs/man/upsrw.txt, docs/net-protocol.txt: Clarification on NUMBER + type float values Clarify a bit more documentation on how to + express float values, when using upsrw. That is to say, using + decimal (base 10) english-based representation, so using a dot, in + non-scientific notation. So hexadecimal, exponents, and comma for + thousands separator are forbiden + * clients/upsrw.c, docs/net-protocol.txt, server/netget.c: Prefer + NUMBER to NUMERIC for variable type As per discussion on the + Github pull request, NUMBER would be more suitable than NUMERIC + +2015-11-22 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: increase timeouts in 'sgs' USB + subdriver Apparently the previously used timeouts in the 'sgs' USB + subdriver were not always enough, so increase them. + +2015-11-11 Daniele Pezzini + + * data/driver.list.in: HCL: various TS Shara UPSes supported by + nutdrv_qx Protocol: 'megatec' USB subdriver: 'sgs' + * drivers/nutdrv_qx.c: nutdrv_qx: make sure 'sgs' USB subdriver uses + only what it reads Since, in 'sgs' USB subdriver, we read only 8 + bytes at a time and we expect the first byte to tell us the length + of the data that follows, make sure we don't use more than what we + read from the device in case the first byte is not what we expect + it to be. + +2015-03-04 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: increase verbosity of 'sgs' USB + subdriver In 'sgs' USB subdriver: - be more verbose when + debugging, - always print the return code when dealing with an + error. + +2014-01-31 Daniele Pezzini + + * docs/man/nutdrv_qx.txt: nutdrv_qx: update man page for new 'sgs' + USB subdriver + +2014-01-31 Ronaldo Yamada + + * drivers/nutdrv_qx.c: nutdrv_qx: add new 'sgs' USB subdriver to + support TS Shara units + +2016-03-02 Arnaud Quette + + * data/driver.list.in: HCL: added Eaton Powerware 9125-5000g + Supported with the additional USB card, with the bcmxcp_usb driver + * docs/man/upsrw.txt, docs/net-protocol.txt: Clarification on NUMERIC + type float values Clarify documentation on how to express float + values, when using upsrw. That is to say, using decimal english- + based representation, so using a dot + * drivers/mge-xml.c: netxml-ups: fix Eaton XML published data Some + raw protocol data were wrongly published, and are now commented. + Also add some R/W flags to ambient thresholds Closes: + https://github.com/networkupstools/nut/issues/201 + * tools/nut-scanner/nut-scanner.c: nut-scanner: fix thread attachment + Add a test to have the right thread waiting for the scan to be + complete (patch from Michal Hlavinka, Red Hat) + * configure.ac, 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: nut-scanner: + don't depend on development libraries nut-scanner was previously + trying to use directly libXXX.so (libusb-0.1, libfreeipmi, + libnetsnmp, libavahi-client, libneon, libupsclient}. However, these + files are generally provided by the development packages. nut- + scanner now tries to look at some known paths, including the one + provided through --libdir, to find the correct libraries Closes: + https://github.com/networkupstools/nut/issues/233 + +2016-03-01 Arnaud Quette + + * clients/upsrw.c, docs/net-protocol.txt, server/netget.c: Default to + type NUMERIC for variables Any variable that is not STRING, RANGE + or ENUM is just a simple numeric value. The protocol documentation + (net-protocol.txt) was previously stating that "The default , + when omitted, is integer." which was not fully true, since a + variable could also be a float. Hence, the wording was changed to + advertise this, and that each driver is then responsible for + handling values as either integer or float. Moreover, instead of + returning a TYPE "UNKNOWN", return "NUMERIC", which is more + suitable, and aligned with the NUT protocol specification + * tools/nut-snmpinfo.py: SNMP subdriver generator: fix output + formatting + * tools/nut-snmpinfo.py: SNMP subdriver generator: discard commented + lines Discard any commented mib2nut_info_t declaration, which + should thus not be taken into account + +2016-02-26 Arnaud Quette + + * data/driver.list.in, drivers/Makefile.am, drivers/eaton-ats-mib.c, + drivers/eaton-ats-mib.h, drivers/snmp-ups.c: snmp-ups: support + Eaton Automatic Transfer Switch Following the recent extension of + NUT scope and variable namespace, to support Automatic Transfer + Switch (ATS), implement SNMP support for Eaton ATS. Note that this + device can also be supported through Eaton XML/PDC (XML over HTTP) + protocol, supported by the NUT netxml-ups driver + * data/cmdvartab, docs/nut-names.txt: Extend namespace for Automatic + Transfer Switch (ATS) Extend NUT namespace to support a new type + of power device: ATS - Automatic Transfer Switch. These devices + are used to setup 2 power systems, such as UPS, to power a single + power supply system, and be able to automatically transfer between + the input sources in case of failure of the primary one. The added + variable are for now limited to 'input.source' and + 'input.source.preferred', but may be extended if needed + +2016-02-25 C Fraire + + * docs/scheduling.txt: Fix docs location of upssched to sbin + +2016-02-25 Arnaud Quette + + * scripts/subdriver/gen-snmp-subdriver.sh: snmp-ups: add the last + missing element in the structure + * drivers/apc-mib.c, drivers/bestpower-mib.c, drivers/compaq-mib.c, + drivers/cyberpower-mib.c, drivers/delta_ups-mib.c, drivers/huawei- + mib.c, drivers/ietf-mib.c, drivers/mge-mib.c, drivers/netvision- + mib.c, drivers/powerware-mib.c, drivers/xppc-mib.c, + scripts/subdriver/gen-snmp-subdriver.sh: snmp-ups: fix values + lookup terminating element The terminating element should really + be NULL, and not the string "NULL", as it was originally done, back + in 2002 + * drivers/snmp-ups.c: snmp-ups: revert order of the NULL/"NULL" test + Fix a segfault when doing first the string comparison test + * drivers/snmp-ups.c: snmp-ups: register values enumerations + Whenever there is a values lookup structure for read/write data, + push the values as enumerations for upsrw + * drivers/snmp-ups.c: snmp-ups: try to lookup values for numeric + elements Numeric elements can also use the value resolution + mechanism + * drivers/snmp-ups.c: snmp-ups: counter test sysOID with a test OID + Some devices have buggy sysOID exposed. Allow to counter test + another OID, to be able to select between different mapping + structures + +2016-02-24 Arnaud Quette + + * scripts/subdriver/gen-snmp-subdriver.sh: SNMP subdriver creation + script: allow sysOID override Allow to use -s to override buggy + sysOID in some device FW. In this case, the sysOID entry in the + mib2nut structure should be set to NULL + +2016-02-11 Arnaud Quette + + * drivers/raritan-pdu-mib.c: snmp-ups: fix macaddr support for + Raritan PDU Raritan MIB was fixed to expose macaddr on + device.macaddr instead of ups.macaddr + * drivers/baytech-mib.c: snmp-ups: fix macaddr support for Baytech + PDU Baytech MIB was fixed to expose macaddr on device.macaddr + instead of ups.macaddr + * drivers/eaton-mib.c: snmp-ups: fix and complete macaddr support for + Eaton Eaton G2 and G3 can now expose the MAC address of the + device, using device.macaddr. Eaton G1 Aphel was fixed to expose + this data on device.macaddr instead of ups.macaddr + * drivers/snmp-ups.c: snmp-ups: add support for hexadecimal octet + strings + * drivers/snmp-ups.c: snmp-ups: fallback for classic MIB detection + If the sysOID matching has failed, then snmp-ups uses ups.model to + get an OID to test. In case ups.model is not available, fallback to + trying to use device.model instead + * docs/images/nut_layering.png, docs/images/nut_layering.svg: Refresh + and complete NUT architecture diagram + +2016-02-08 Arnaud Quette + + * drivers/powerware-mib.c: snmp-ups: extend Eaton 3ph outputSource + values map Add the new status values for xupsOutputSource + (.1.3.6.1.4.1.534.1.4.5.0), that maps to both ups.status and + ups.type + +2016-02-03 Arnaud Quette + + * drivers/powerware-mib.c: snmp-ups: improve support for Eaton 3ph + Improve support for temperature and humidity data, including: - + ups.temperature now available - fixing ambient.temperature + (previously pointing at a wrong OID) - ambient.humidity now + available - the following settings now available: * + ups.temperature.low * ups.temperature.high * ambient.humidity.high + * ambient.humidity.low * ambient.temperature.high * + ambient.temperature.low + +2016-02-01 Daniele Pezzini + + * data/driver.list.in: HCL: various APCUPSD-controlled APC devices + via apcupsd-ups Originally reported by GitHub user @Thermionix. + Reference: https://github.com/networkupstools/nut/pull/215 + +2016-01-31 Charles Lepple + + * docs/man/nutdrv_atcl_usb.txt: man/nutdrv_atcl_usb: point to + nutdrv_qx (fuji) for 0001:0000 Also update best guess for the USB- + to-serial converter situation. + * docs/FAQ.txt: FAQ: udevadm for fixing permissions + +2016-01-30 Charles Lepple + + * drivers/nut-libfreeipmi.c: FreeIPMI: do not split function + arguments with a conditional Alternate approach to suggestion by + Romero B. de S. Malaquias Closes: + https://github.com/networkupstools/nut/pull/250 + +2016-01-24 Charles Lepple + + * docs/config-notes.txt: Documentation: fix formatting Put syntax + examples in verbatim mode, and remove spaces from ends of lines. + * drivers/apc-hid.c: usbhid-ups: handle missing USB strings in APC + code Closes: https://github.com/networkupstools/nut/issues/258 + Might fix: + https://bugs.launchpad.net/ubuntu/+source/nut/+bug/1483615 + +2016-01-23 Charles Lepple + + * data/driver.list.in: HCL: added NHS Laser Senoidal 5000VA Source: + http://article.gmane.org/gmane.comp.monitoring.nut.devel/7123 + Closes: https://github.com/networkupstools/nut/issues/254 + +2016-01-14 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix staleness detection With some + ePDUs or devices using template for outlet and outlet.group, + communication loss with the device were not detected, due to the + handling mechanism. Simply skipping commands for templates, after + the init time, is sufficient to avoid this issue + +2016-01-05 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: improve stale communication recovery + Disable the 10 iterations to retry communicating with stale device. + This was leading up to 10 x 30 seconds, so 5mn, before being able + to get data again + * docs/new-drivers.txt, docs/nut-names.txt: Document + battery.charger.status This will in time replace the historic CHRG + and DISCHRG flags published in ups.status. Closes + https://github.com/networkupstools/nut/issues/196 + +2016-01-03 Charles Lepple + + * data/driver.list.in: HCL: Sweex model P220 via blazer_usb + Reference: https://github.com/networkupstools/nut/issues/251 + +2016-01-04 Arnaud Quette + + * drivers/ietf-mib.c, drivers/ietf-mib.h, drivers/snmp-ups.c: snmp- + ups: add support for Tripplite units on IETF mib These devices + expose ".1.3.6.1.4.1.850.1", which could be supported through this + specific MIB. For now, just link that to the IETF MIB, to provide + a first level of support Reference: + https://github.com/networkupstools/nut/issues/171 + +2015-12-30 Arnaud Quette + + * configure.ac: First stab at checking driver.list.in format + +2015-12-29 Charles Lepple + + * scripts/upower/95-upower-hid.rules: upower: update for AEG + +2015-12-29 Arnaud Quette + + * drivers/powercom.c: Fix the processing of output voltage for KIN + units The processing of output voltage requires to also take into + account the line voltage, as reported by Patrik Dufresne. This may + still need some further adjustments Reference: + https://github.com/networkupstools/nut/issues/187 + * drivers/powercom.c: Fix the processing of input voltage for KIN + units The processing of input voltage requires to also take into + account the line voltage, as reported by Patrik Dufresne. Also bump + the driver version to 0.16, since 0.15 was already used, but not + set Reference: https://github.com/networkupstools/nut/issues/187 + * drivers/mge-hid.c: Fix letter case for AEG USB VendorID The letter + case of this VendorID may be important for generated files, such as + the udev ones (reported by Charles Lepple) + +2015-12-28 Arnaud Quette + + * data/driver.list.in, drivers/mge-hid.c: HCL: AEG PROTECT B / NAS + supported by usbhid-ups Reference: + https://github.com/networkupstools/nut/issues/249 + +2015-12-17 Daniele Pezzini + + * data/driver.list.in: HCL: Legrand Keor Multiplug supported by + nutdrv_qx Reference: + https://github.com/networkupstools/nut/issues/248 + +2015-12-09 Andrey Jr. Melnikov + + * drivers/bcmxcp_usb.c: Don't call usb_close() after reset + +2015-12-08 Andrey Jr. Melnikov + + * drivers/bcmxcp_usb.c: Call usb_reset() when driver unable to claim + device + * drivers/bcmxcp.h, drivers/bcmxcp_usb.c: Refactor get_answer() + routine, make it properly deal with multi-packets responses. Lower + stack usage. + +2015-07-27 Daniele Pezzini + + * common/common.c, common/str.c, drivers/bcmxcp.c, drivers/blazer.c, + drivers/blazer_ser.c, drivers/blazer_usb.c, drivers/libhid.c, + drivers/mge-xml.c, drivers/nutdrv_qx.c, drivers/powerp-bin.c, + drivers/powerp-txt.c, drivers/powerpanel.c, drivers/tripplitesu.c, + drivers/upscode2.c, include/common.h, include/str.h, server/upsd.c, + tools/nut-scanner/scan_usb.c: common: consolidate some string- + related functions Move *trim*() functions from common to str. + Prepend the 'str_' common prefix. Bailout early if string is NULL + or empty. In *trim_m() functions, make sure the string containing + characters to be removed is not NULL and bailout early if empty. + Add new str_trim[_m]() functions to remove both leading and + trailing characters at the same time. Update all the tree + accordingly; versioning where appropriate. + * common/Makefile.am, common/str.c, include/Makefile.am, + include/common.h, include/str.h: common: add some string-related + functions + +2015-11-10 Charles Lepple + + * data/driver.list.in: HCL: Electrys UPS 2500 (nutdrv_qx and + blazer_ser) Closes + https://github.com/networkupstools/nut/issues/241 + * data/driver.list.in: HCL: Eaton E Series DX UPS 1-20 kVA uses + blazer_ser Closes + https://github.com/networkupstools/nut/issues/238 + +2015-11-09 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: add number of outlets in Eaton ePDU + groups + * docs/nut-names.txt: Add a variable for the number of outlets in a + group Added 'outlet.group.n.count' which provides the number of + outlets in the outlet group 'n' + +2015-11-06 Daniele Pezzini + + * drivers/nutdrv_qx_voltronic-qs.c: nutdrv_qx: update 'voltronic-qs' + subdriver Since, for devices supported by 'voltronic-qs' + subdriver, in reality: - invalid commands or queries are echoed + back, - accepted commands are followed by action without any + further reply, update the subdriver interface accordingly. Also: - + change slightly the way we publish protocol as ups.firmware.aux, - + update F's reply examples and some info_type (ratings; + output.frequency) in QX to NUT table to reflect reality, - increase + version number. + +2015-10-19 Daniele Pezzini + + * drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: improve 'T' + protocol support in 'voltronic-qs-hex' subdriver Since the last + byte of the reply to the QS query (before the trailing CR) of + devices that implement the 'T' protocol holds in reality ratings + informations (nominal output frequency/voltage and nominal battery + voltage) in its bits, change the 'voltronic-qs-hex' subdriver + accordingly. Also: - change slightly the way we publish protocol as + ups.firmware.aux, - increase version number. + * drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: simplify + {in,out}put voltage conversion in 'voltronic-qs-hex' In + 'voltronic-qs-hex' subdriver, instead of calculating separately the + fractional and integer part of input and output voltage, do it at + once. Also, increase version number. + * drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: improve protocol + identification in 'voltronic-qs-hex' Since 'V' protocol, in + reality, never happens to use the encoded version of the reply to + the QS query, but it always uses the plain version already + implemented in 'voltronic-qs' subdriver, remove it from the + identification process of 'voltronic-qs-hex' subdriver. Also, + remove some non-significant entries from the testing table and + increase version number. + * drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: harmonize + declarations/definitions in 'voltronic-qs-hex' In 'voltronic-qs- + hex' subdriver, the scope of support functions is limited to the + subdriver as rightly stated in forward declarations, so correct + their definitions to reflect that. Also, increase version number. + +2015-10-09 Arnaud Quette + + * docs/nut-qa.txt: Reference Black Duck OpenHUB in QA documentation + Closes networkupstools/nut#192 + +2015-10-08 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: also use __func__ for additional + traces + * drivers/powerware-mib.c: powerware-mib: more comments for RFC + device.event Add more comments on the need to RFC device.event for + some data that are currently published under ups.alarm + * drivers/powerware-mib.c: snmp-ups: improve Eaton 3-phase UPS alarms + reporting Eaton 3phase UPS, using the Powerware MIB, can expose + many new alarms. Also use the standard driver "X.YY" versioning, + and bump subdriver release to "0.85" + * drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: fix and improve + the ups.alarms mechanism This mechanism allows to walk a subtree + (array) of alarms, composed of OID references. The object + referenced should not be accessible, but rather when present, this + means that the alarm condition is TRUE. Both ups.status and/or + ups.alarm values can be provided + * drivers/snmp-ups.c: snmp-ups: fix on some snprintf calls Some + snprintf calls are using dynamically allocated variables, which + doesn't work with sizeof + * drivers/snmp-ups.c: snmp-ups: use __func__ in debug messages + * drivers/snmp-ups.c: snmp-ups: nut_snmp_get_oid() returns TRUE on + success + * drivers/snmp-ups.c: snmp-ups: only use snprintf calls instead of + sprintf + * drivers/eaton-mib.c, drivers/snmp-ups.c: snmp-ups: simplify + handling of other alarms outlet, outlet groups and phase alarms + are now using a simplified approach that does not require specific + lookup structure to adapt alarm messages. This applies to Eaton + ePDU G2/G3 + +2015-09-22 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix a typo error in debug message + Unknown is spelled with an ending N (reported by Evgeny "Jim" + Klimov, from Eaton) + * drivers/snmp-ups.c: snmp-ups: optimize phase number extraction + efficiency Since we know that we are processing an alarm for a + phase "Lx", don't use strchr, but simply index (reported by Evgeny + "Jim" Klimov, from Eaton) + * docs/nut-names.txt, drivers/eaton-mib.c: snmp-ups: use dash- + separator for out-of-range For the sake of coherence with other + status relative to thresholds, "out of range" frequency status now + also use dash as separator, instead of space + * drivers/eaton-mib.c: Fix a spelling error in comments + * drivers/eaton-mib.c: snmp-ups: fix a typo error on Eaton ePDU G2/G3 + MIB Critical is really spelled critical, and not cricital, as used + in the various status thresholds value-lookup structures (reported + by Evgeny "Jim" Klimov, from Eaton) + * data/cmdvartab: Mention the unit for ambient humidity information + Add an explicit mention that ambient information related to + humidity use the "(percent)" unit + * data/cmdvartab, docs/nut-names.txt: Mention the unit for input + voltage information Add an explicit mention that input information + related to voltage use the "Volts (V)" unit + * data/cmdvartab: Mention the unit for ambient temperature + information Add an explicit mention that ambient information + related to temperature use the "degrees C" unit + +2015-09-18 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: add outlet group identifier for + Eaton ePDU Eaton ePDU can now publish the parent group of each + outlet + * docs/nut-names.txt: Extend outlet collection namespace with group + ID An outlet can now publish the group to which it belongs to + * drivers/snmp-ups.c: snmp-ups: complete nut_snmp_get_{str,int} + These methods now allow to get the value of an OID returned by the + source OID (as for the sysOID). In case of failure (non existent + OID), the functions return the last part of the returned OID (ex: + 1.2.3 => 3) + * drivers/snmp-ups.c: snmp-ups: create a nut_snmp_get_oid() function + This method allows to get the value of an OID which is also an OID + (as for the sysOID), without trying to get the value of the pointed + OID. This will allow to use nut_snmp_get_{int,str}() the get the + value of the pointed OID + +2015-09-17 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: outlet groups type handling for + Eaton ePDU Eaton ePDU can now publish the type of outlet group + * docs/nut-names.txt: Extend outlet group collection namespace with + type The type of outlet group can now be published, part of the + new outlet.group data collection + * drivers/eaton-mib.c: snmp-ups: outlet groups commands for Eaton + ePDU Eaton ePDU can now handle commands outlet groups, including + on, off and reboot (cycle) + * drivers/snmp-ups.c: snmp-ups: fix commands handling for outlet + groups The su_instcmd() function of snmp-ups is now adapted to + support outlet groups + * drivers/eaton-mib.c: Advanced outlets groups alarm handling for + Eaton ePDU Eaton ePDU can now handle alarms on outlets groups, for + voltage and current, relative to the configured thresholds + * drivers/snmp-ups.c: snmp-ups: improvements for outlet groups and + alarms Improve the code for general template management, including + outlets and outlets groups for now, and add alarm management for + outlet groups, the same way as for outlets + +2015-09-16 Arnaud Quette + + * drivers/snmp-ups.c: snmp-ups: fix set variable for outlet groups + The setvar() function of snmp-ups is now adapted to support outlet + groups + * drivers/eaton-mib.c: snmp-ups: outlet groups handling for Eaton + ePDU Eaton ePDU can now handle outlet groups, including voltage + and current (with thresholds and status relative to the configured + thresholds), along with power and realpower. A subsequent commit + will address the alarms, settings and commands. Bump subdriver + version to 0.30 + * drivers/snmp-ups.c: snmp-ups: update debug message The template + guestimation function name was changed, but the debug message was + left with the old function name + +2015-09-15 Arnaud Quette + + * docs/nut-names.txt: Extend NUT namespace with outlet.group + collection A new data collection, called "outlet.group", is now + available. It provides grouped management for a set of outlets. The + same principles and data than the outlet collection apply to + outlet.group + * drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: adapt template + mechanisms for outlet groups The template handling mechanisms, + originally created for outlets, is now adapted to also manage + outlet groups + +2015-09-14 root + + * docs/nut-names.txt: Add a note on the outlet.count variable + +2015-09-14 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: add nominal input current for Eaton + ePDU snmp-ups now provides input.[Lx.]current.nominal for Eaton + ePDU G2/G3, both for 1phase and 3phase + * drivers/eaton-mib.c: snmp-ups: better input.power handling for + Eaton ePDUs Improve the way we declare and process input.power, as + previously done for input.realpower, in order to address the + variations between Eaton ePDUs G2 and G3 + +2015-09-11 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: publish part number for Eaton ePDU + device.part was standardized in NUT namespace, so enable the + declaration for Eaton ePDU + * drivers/eaton-mib.c: snmp-ups: 3-phase alarm handling for Eaton + ePDU Eaton ePDU can now handle alarms on 3-phase, currently + limited to voltage and current, relative to the configured + thresholds + * drivers/snmp-ups.c: snmp-ups: implement 3-phase alarm handling + snmp-ups now allows to publish 3-phase alarms in ups.alarm, the + same way as with outlet. Declaration of such alarms are done using + "Lx.alarm". info_lkp_t structures messages are shared templates + with outlets, and use the string formats to include the context + (outlet or phase) and the number (of the outlet or phase) in alarm + messages. These alarms are then published in "ups.alarm", with the + standard mechanism for alarm publication + * docs/nut-names.txt: Extend 3-phase collection namespace with alarms + 3-phase data collection now allows to specify alarms, the same way + than with the outlet collection ("outlet.n.alarm"), but using + "Lx.alarm" (for example "L1.alarm"). These alarms are then + published in "ups.alarm", with the standard mechanism for alarm + publication + * drivers/eaton-mib.c: Advanced threshold handling for Eaton 3-phase + ePDU Eaton ePDU can now handle warning and critical thresholds + settings and status for input voltage and current on 3-phase units. + Alarms are however still to be implement + * docs/nut-names.txt: Extend 3-phase collection namespace with + threshold 3-phase data collection now allows to specify low / high + warning and critical thresholds for voltage and current. Status + relative to the thresholds also exist for these data + +2015-09-07 Arnaud Quette + + * drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: fix loss of + precision when setting values su_setvar() was losing precision + when converting and casting the provided values to send to the SNMP + agent. As an example, with an OID in millivolt (multiplier set to + 0.001), when providing 238 (V) using upsrw, the value sent to the + SNMP agent was 237999, so leaking 0.1 volt + +2015-09-04 Arnaud Quette + + * drivers/dstate.c: Extend ups.alarm internal buffer to 1024 chars + Currently, ups.alarm can hold up to 256 chars to expose alarms. + With the recent outlet alarms handling addition, the buffer may + quickly be to small. Thus, increase to 1024, which may still not + be sufficient but already provides a bit more room + * drivers/eaton-mib.c: snmp-ups: outlet alarm handling for Eaton ePDU + Eaton ePDU can now handle alarms on outlets, currently limited to + outlet voltage and current, relative to the configured thresholds + * drivers/snmp-ups.c: snmp-ups: implement outlets / PDU alarm + handling snmp-ups now allows to publish outlets and PDU alarms in + ups.alarm, the same way as with ups.status. Declaration of such + alarms are done using the outlet template mechanism + ("outlet.%i.alarm"). info_lkp_t structures messages can also use + the string formats to include the outlet number in alarm messages. + These alarms are then published in "ups.alarm", with the standard + mechanism for alarm publication + * docs/nut-names.txt: Extend outlet collection namespace with alarms + Outlet data collection now allows to specify alarms, using the + template definitions ("outlet.n.alarm"). These alarms are then + published in "ups.alarm", with the standard mechanism for alarm + publication + +2015-09-02 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: outlet threshold handling for Eaton + ePDU Eaton ePDU can now handle warning and critical thresholds + settings and status for outlet voltage and current + * docs/nut-names.txt: Extend outlet collection namespace with + threshold Outlet data collection now allows to specify low / high + warning and critical thresholds for voltage and current. Status + relative to the thresholds also exist for these data + +2015-09-01 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: alarms handling for Eaton ePDU + Eaton ePDU can now publish alarms, related to input status + (voltage, frequency and current) and ambient status (temperature + and humidity). Note that alarms are still published under + ups.alarms, though these should belong to either pdu.alarms or + better device.alarms + * drivers/eaton-mib.c: Advanced input threshold handling for Eaton + ePDU Eaton ePDU can now handle warning and critical thresholds + settings and status for input voltage and current, along with the + frequency status + * data/cmdvartab, docs/nut-names.txt: Extend input collection + namespace with threshold Input data collection now allows to + specify low / high warning and critical thresholds for voltage and + current. Status relative to the thresholds also exist for these + data, and for the frequency + +2015-08-31 Arnaud Quette + + * drivers/eaton-mib.c: snmp-ups: ambient dry contacts support for + Eaton ePDU Eaton ambient modules, connected on ePDU, now publish + the status of the connected dry contacts sensors + * data/cmdvartab, docs/nut-names.txt: Extend ambient collection + namespace with dry contacts Ambient data collection now allow to + specify dry contacts sensor status + * drivers/eaton-mib.c: snmp-ups: fix Eaton Pulizzi Switched PDU + multiplier As per the previous commit, to well handle integer RW + variables + * drivers/eaton-mib.c: snmp-ups: ambient threshold handling for Eaton + ePDU Eaton ePDU can now handle warning and critical thresholds and + status for both humidity and temperature + * data/cmdvartab, docs/nut-names.txt: Extend ambient collection + namespace with threshold Ambient data collection now allow to + specify warning and critical thresholds + * drivers/eaton-mib.c: snmp-ups: publish presence of Eaton ambient + sensor Publish the actual presence of ambient sensor for Eaton + ePDU G2 and G3 + * data/cmdvartab, docs/nut-names.txt: Publish the actual presence of + an ambient sensor A new data was created (ambient.present) to + publish the actual presence of an ambient sensor + +2015-10-06 Charles Lepple + + * data/driver.list.in: HCL: Asium P700, Micropower LCD 1000 and Eaton + 5E1100iUSB + +2015-10-06 Daniele Pezzini + + * data/driver.list.in: HCL: LYONN CTB-800V supported by nutdrv_qx + Protocol: 'voltronic-qs-hex' Reference: + https://github.com/networkupstools/nut/pull/230 + +2015-08-22 Mariano + + * drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: add support for + LYONN CTB-800V Small protocol validation change in 'voltronic-qs- + hex' subdriver to add support for the protocol used by the LYONN + CTB-800V UPS. + +2015-09-28 Arnaud Quette + + * docs/new-drivers.txt: Fix spacing error + +2015-09-22 Charles Lepple + + * drivers/solis.c, drivers/solis.h: solis: remove additional warnings + The "Waiting" flag is always zero, and several other variables were + not used. + * drivers/solis.c, drivers/solis.h: solis: clean up warnings Comment + out unused constants, and add 'static' and 'const' wherever + possible. + +2015-09-20 Charles Lepple + + * drivers/Makefile.am, drivers/solis.c: solis: math fixes As + mentioned here: https://github.com/networkupstools/nut/pull/235 + +2015-09-19 bsalvador + + * drivers/solis.c, drivers/solis.h: solis: patch for Microsol Back- + Ups BZ1200-BR patch for correct reading for Microsol Back-Ups + BZ1200-BR (rebased onto solis_debug branch, and cleaned up + whitespace. -- CFL) Closes + https://github.com/networkupstools/nut/pull/235 and Closes + https://github.com/networkupstools/nut/pull/236 + +2015-09-16 Arnaud Quette + + * data/driver.list.in, docs/man/snmp-ups.txt, drivers/powerware- + mib.c, drivers/powerware-mib.h, drivers/snmp-ups.c: snmp-ups: add + Eaton Power Xpert Gateway UPS Card This newer generation of SNMP + card is used for BladeUPS or other UPS, and is serving the same + XUPS MIB, as in the "pw" subdriver + * scripts/subdriver/gen-snmp-subdriver.sh: Update SNMP subdriver + generation script Complete the documentation, by adding some notes + and examples ; Fix the MIBs directories list and the "keep + temporary files" option + +2015-09-11 Arnaud Quette + + * drivers/snmp-ups.c: Improve log/debug output trace + +2015-09-08 Charles Lepple + + * drivers/solis.c: solis: resync with end-of-packet character (0.64) + Suggested by @rpvelloso in https://github.com/networkupstools/nut/i + ssues/231#issuecomment-134795747 Note that the driver could + possibly get out-of-sync after initial detection. + +2015-09-07 Charles Lepple + + * docs/man/macosx-ups.txt, drivers/macosx-ups.c: macosx-ups: + gracefully handle disconnection of UPS Tested on 10.9.5 and + 10.10.5. Returns "data stale" when UPS disappears. + +2015-09-07 Arnaud Quette + + * drivers/powerware-mib.c: Bump Powerware SNMP subdriver version + +2015-09-04 Charles Lepple + + * Makefile.am, docs/configure.txt, docs/new-clients.txt, tools/nut- + scanner/README: doc: correct remaining `--with-lib` references + Credit: Paul Vermeer + +2015-09-01 Arnaud Quette + + * drivers/snmp-ups.h: Minor updates to TODO comments + * drivers/snmp-ups.c: Implement ups.alarm for SNMP snmp-ups now + allows to publish alarms in ups.alarm, the same way as with + ups.status + +2015-08-31 Arnaud Quette - - drivers/tripplite-hid.c: add ECO550UPS to list of supported devices. - - data/driver.list: add an entry for the above. + * drivers/snmp-ups.c: Proper handling of integer RW variables RW + variables were previously supposed to always be strings. Thus, the + multiplier (using the info_len field) was not applied. Also allow + setting float values, not only integer + * drivers/snmp-ups.c, drivers/snmp-ups.h: Fix default SNMP retries + and timeout The previous patch was using the default values from + Net-SNMP, which are set to -1. When the user was not providing + overriden values, this was causing the driver to not be able to + establish the communication with the device. The default values are + now fixed, as per documented (i.e. 5 retries and timeout of 1 + second). Also bump the driver version to 0.74 + * docs/man/ups.conf.txt, drivers/dstate.c: Make more obvious the + socket write failure Document the error that require the use of + the 'synchronous' flag. Also use debug level 1 instead of 2 for the + debug message -Sun Sep 20 19:06:34 UTC 2009 / Arjen de Korte +2015-08-23 Charles Lepple - - drivers/tripplite-hid.c: fix broken matcher function that would - unconditionally reject possibly supported devices, even when the - productid option was supplied. + * drivers/solis.c: solis: Add upsdebug*() and upslogx() calls for + diagnostics -Tue Sep 15 09:06:32 UTC 2009 / Arnaud Quette +2015-08-18 Kenny Root - - data/driver.list: add an entry for Eaton E Series DX UPS (1-20 kVA) with - mge-utalk. + * drivers/powerware-mib.c: Add ups.start.auto for Powerware SNMP Use + the IETF UPS MIB to indicate to Powerware devices that it should + restart when mains power is applied. + * drivers/powerware-mib.c: Fix some indentation problems in PowerWare + SNMP + * drivers/powerware-mib.c: Add shutdown.return for Powerware SNMP + The Powerware MIB supports the concept of shutting down with a + delay and then returning when line power is restored. The delay is + set to 0 seconds currently. + * drivers/powerware-mib.c: Add load.{off,on}.delay for Powerware SNMP + The commands to shut down with delay have existed since the first + version of the Powerware MIB so add the newer commands + "load.off.delay" and "load.on.delay" to aid in shutdown scripts. + +2015-08-07 Arnaud Quette + + * drivers/dummy-ups.c, drivers/dummy-ups.h: Fix dummy-ups for + external value changes dummy-ups allow to change the values of the + publicated variables through the standard upsrw tool. This method + is handy to script value changes, in a controlled way, compared to + the dynamic version (using the TIMER keyword in .dev files), which + changes the values in a non controlled way. Bump driver version to + 0.14 + * m4/nut_check_libnss.m4: Fully check for a working Mozilla NSS + Rework the NSS tests so that just having runtime libraries + installed is not enough. Moreover, since GNU libc6 also provides a + nss.h header, the test now checks for both nss.h and ssl.h Closes + networkupstools/nut#184 + * docs/download.txt: Fix Red Hat / Fedora packages repository URL + +2015-08-03 Tomas Halman + + * clients/nutclient.cpp: Problem: nutclient library sometimes reads + socket closed by server. Solution: proper read return value + evaluation + +2015-08-04 Arnaud Quette + + * tools/nut-scanner/scan_snmp.c: Fix a crash on a 2nd call to + libnutscan on behalf of Tomas Halman, from Eaton Opensource Team + +2015-07-24 Nash Kaminski + + * drivers/tripplitesu.c: tripplitesu: Fix initialization when + tripplite firmware is buggy With some Tripplite SU1000RT2U (and + possibly more) UPS's, a firmware bug causes a malformed response to + the very first command that is sent after the serial port is opened + following a warm or cold boot of the system. My theory is that this + related to either the RS232 data lines or handshaking lines being + pulled high once the server's UART is powered however I have not + determined precisely if this is related to the data line being + pulled high or the handshaking lines being asserted. However, I + have been able to consistently reproduce the issue where the driver + fails to start on the first attempt after a cold/warm boot across 3 + different machines and 2 SU1000RT2U UPS's. To workaround this, the + initial enumeration is repeated a 2nd time after 300ms(to allow all + garbage data to arrive) if the first attempt fails, which allows + the driver to consistently startup successfully on the 1st attempt. + Closes networkupstools/nut#220 + +2015-07-24 Tim Smith + + * INSTALL.nut: Spelling fixes Spelling fixes and capitalization of + SUSE + +2015-07-23 Arnaud Quette + + * scripts/augeas/nutupsconf.aug.tpl: Update Augeas lens for ups.conf + Add the various missing global directives and ups fields + +2015-07-20 Daniele Pezzini + + * data/driver.list.in: HCL: fix case and spacing + +2015-07-18 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: when targeting 'UPS No Ack' + consider also the trailing CR In 'fabula' and 'krauler' USB + subdrivers, take into account also the trailing CR in the reply + while looking for a 'UPS No Ack'. + * drivers/nutdrv_qx.c: nutdrv_qx: stay true to return code in + 'fabula' USB subdriver In 'fabula' USB subdriver, when reading + 'UPS No Ack' from device, since we already mimic a timeout, also + empty the reply. + +2015-07-11 Charles Lepple + + * data/driver.list.in: HCL: Fideltronic INIGO Viper 1200 supported by + nutdrv_qx + +2015-07-02 Charles Lepple + + * drivers/usbhid-ups.c: usbhid-ups: bump version to 0.41 Both the + eaton_dual_reportdesc and usbhid_ups_input_vs_feature branches + claimed version 0.40, so let's disambiguate the merged version. + +2015-07-02 Arnaud Quette + + * drivers/libhid.c: Add a debug trace for the number of HID objects + found + * drivers/hidtypes.h: Fix testing typo MAX_REPORT is really 500 (HID + objects), not 50! + * drivers/hidparser.c: Report when there are further unprocessed HID + objects Following the last commits, and especially the MAX_REPORT + one, warn whenever there are remaining HID objects that were not + processed. This may serve + * drivers/hidtypes.h: Increase the maximum number of HID objects The + previous value (300) was causing a trim of the remaining objects. + Increase the value to 500, which should give a bit of time + * drivers/libshut.c, drivers/libshut.h, drivers/libusb.c, + drivers/usb-common.h, drivers/usbhid-ups.c: Add support for Eaton + dual HID report descriptor All devices use HID descriptor at index + 0. However, some newer Eaton units have a light HID descriptor at + index 0, and the full version is at index 1 (in which case, + bcdDevice == 0x0202). This dual report descriptor approach is due + to the fact that the main report descriptor is now too heavy, and + cause some BIOS to hang. A light version is thus provided at the + default index, solving this BIOS issues + +2015-06-27 Charles Lepple + + * drivers/macosx-ups.c: macosx-ups: fix for 10.10 (Yosemite); v1.1 + In OS X 10.9 and earlier, IOPSGetPowerSourcesInfo() returned a + CFDictionary. In 10.10 it returns a CFArray. Programmers are + supposed to use IOPSGetPowerSourceDescription() to gloss over this + distinction. However, this does not make it easy to distinguish + between a laptop battery and an UPS. So the "port" driver option no + longer has any effect. https://developer.apple.com/library/mac/doc + umentation/IOKit/Reference/IOPowerSources_header_reference/#//apple + _ref/c/func/IOPSGetPowerSourceDescription + +2015-06-22 Arnaud Quette + + * scripts/upower/95-upower-hid.rules, tools/nut-usbinfo.pl: Update + UPower HID rules and generator + +2015-06-11 Charles Lepple + + * drivers/usbhid-ups.c: usbhid-ups.c: fall back to HID Input type if + not a Feature + +2015-06-07 Charles Lepple + + * drivers/tripplite-hid.c: tripplite-hid.c: device.part is static + (version 0.82) + +2015-06-04 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: make sure processed item's + boundaries are not wrong + +2015-04-26 Nick Mayerhofer + + * docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c, + drivers/nutdrv_qx.h: nutdrv_qx: improve documentation for some + methods + +2015-06-04 Daniele Pezzini + + * docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c, + drivers/nutdrv_qx.h: nutdrv_qx: remove redundant comments and + update docs + +2015-04-28 Nick Mayerhofer + + * drivers/nutdrv_qx_voltronic.c: nutdrv_qx: move var declaration in + 'voltronic' subdriver Move variable declaration to fulfill + condition '3.3. Portability' of the developer guide. Bump version. + * drivers/libhid.c: libhid: replace "flush loop" with memset Move to + the C way of setting memory (memset), replacing a for loop with a + few anti-patterns in it: - for (...; ; i++) - for (...; i < + MAGIC_NUMBER; ...) - for (...) array[i] = 0 + +2015-05-18 Daniele Pezzini + + * docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c, + drivers/nutdrv_qx.h, drivers/nutdrv_qx_bestups.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-hex.c, + drivers/nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_voltronic.c, + drivers/nutdrv_qx_zinto.c: nutdrv_qx: give subdrivers a last chance + to process the command Add (and document) a new function + ('preprocess_command()') to preprocess the command to be sent to + the device, just before the actual sending and, in case of instant + commands/setvars, after the 'preprocess()' function has been + triggered (if appropriate). As an example, this function can be + useful to add to all commands (both queries and instant + commands/setvars) a CRC or to fill the command of a query with some + data. Also, in qx_process(), address buf size vs item->answer size + earlier. Update all subdrivers accordingly, bump versions. + +2015-06-01 Arnaud Quette + + * docs/man/snmp-ups.txt, drivers/snmp-ups.c, drivers/snmp-ups.h: + Provide access to Net-SNMP timeout and retries Two new extra + arguments are now available to allow overriding Net-SNMP number of + retries (snmp_retries) and timeout per retry (snmp_timeout). These + respectively maps to snmpcmd "-r retries" and "-t timeout" + +2015-05-29 Arnaud Quette + + * scripts/upower/95-upower-hid.rules: Update UPower HID rules + * tools/nut-usbinfo.pl: Fix UPower device matching for recent kernels + As per the UPower patch below referenced, hiddev* devices now have + class "usbmisc", rather than "usb". See + http://cgit.freedesktop.org/upower/commit/rules/95-upower- + hid.rules?id=9f31068707fc79744961cea7258b0eb262effbf1 + +2015-05-28 Arnaud Quette + + * tools/nut-scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c, + tools/nut-scanner/nutscan-device.c, tools/nut-scanner/nutscan- + device.h, tools/nut-scanner/nutscan-display.c, tools/nut- + scanner/nutscan-init.c, tools/nut-scanner/nutscan-init.h, + tools/nut-scanner/nutscan-ip.c, tools/nut-scanner/nutscan-ip.h, + tools/nut-scanner/nutscan-serial.c, tools/nut-scanner/nutscan- + serial.h, tools/nut-scanner/scan_avahi.c, tools/nut- + scanner/scan_eaton_serial.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: + Fix legal information on source-code headers Copyright and author + were not mentioned as it should be. Most of the nut-scanner + copyright belongs to EATON, apart from few parts. Files + descriptions are now also in Doxygen format + +2015-05-18 Daniele Pezzini + + * docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c, + drivers/nutdrv_qx.h, drivers/nutdrv_qx_bestups.c, + drivers/nutdrv_qx_blazer-common.c, drivers/nutdrv_qx_blazer- + common.h, 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-hex.c, + drivers/nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_voltronic.c, + drivers/nutdrv_qx_zinto.c: nutdrv_qx: make preprocessed value's + size_t a const There's no need to intervene on the passed-to-the- + function value of a preprocessed value's size_t, so clarify it is a + const. Update all subdrivers accordingly, bump versions. + * drivers/nutdrv_qx.c: nutdrv_qx: make sure an answer is not reused + if preprocess_answer() fails If an item's preprocess_answer() + function fails, the answer should not be considered valid and + inherited by the following items with the same command. Therefore, + on failure, clear the answer so that the following items are forced + to query the device and preprocess the answer anew, if appropriate. + +2015-05-13 Arnaud Quette + + * docs/download.txt: Update NUT packages for Windows to 2.6.5-6 + +2015-05-07 Arnaud Quette + + * scripts/systemd/nut-server.service.in: Restore systemd relationship + with nut-driver service The Requires directive from nut-server to + nut-driver was previously removed, since it was preventing upsd + from starting whenever one or more drivers, among several, was + failing to start. Use the Wants directive, a weaker version of + Requires, which will start upsd even if the nut-driver unit fails + to start. closes https://github.com/networkupstools/nut/issues/200 + +2015-04-23 Arnaud Quette + + * Makefile.am: Cleanup GPG signature before generation + +2015-04-22 Arnaud Quette + + * configure.ac: bump version back to 2.7.3.1 + * configure.ac: Restore version 2.7.3 for release + * docs/security.txt: Missing link reference update The filename of + the previous GPG release key was not updated, leading to pointing + to the current release key + +2015-04-08 Nick Mayerhofer + + * docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c, + drivers/nutdrv_qx.h: nutdrv_qx: clarify docs/inline comments + +2015-04-16 Arnaud Quette + + * configure.ac: bump version to 2.7.3.1 + +2015-04-15 Arnaud Quette + + * configure.ac: update version to 2.7.3 + * docs/security.txt: Update release signature verification The + release manager key has change. Update the documentation to reflect + it, along with keeping necessary for checking the previous releases + * docs/download.txt: Fix formatting issue + * NEWS, UPGRADING: Final update for release 2.7.3 Complete the + release information for NUT 2.7.3 + * docs/maintainer-guide.txt: Store some comments for latter + processing + +2015-04-10 Arnaud Quette + + * drivers/mge-hid.c: Improve Eaton ABM support for USB/HID units As + per clarifications from David G. Miller (Eaton ABM expert) and + customers request, when ABM is enabled, we now both publish the + following as per the ABM information: - the 5 status bits + {charging, discharging, floating, resting, off} under + battery.charger.status - the 2 historical status bits {CHRG, + DISCHRG} under ups.status When ABM is disabled, we just publish the + 2 historical status bits {CHRG, DISCHRG} under ups.status, as per + UPS.PowerSummary.PresentStatus.{Charging,Discharging}, as done + previously + +2015-04-02 Arnaud Quette + + * conf/ups.conf.sample, docs/man/ups.conf.txt, drivers/dstate.c, + drivers/dstate.h, drivers/main.c: Improve synchronous driver flag + implementation The previous commit was suffering a number of + issues. The present commit fixes these, along with adding more + documentation and a better and more understandable implementation + code. Thanks to Daniele Pezzini for the thorough review Closes: + https://github.com/networkupstools/nut/issues/197 + +2015-04-01 Arnaud Quette + + * docs/man/ups.conf.txt, drivers/dstate.c, drivers/dstate.h, + drivers/main.c: Implement synchronous driver flag As per issue + #197, NUT drivers work by default in asynchronous mode. This means + that all data are pushed by the driver on the communication socket + to upsd (Unix socket on Unix, Named pipe on Windows) without + waiting for these data to be actually consumed. With some HW, such + as ePDUs, that can produce a lot of data, asynchronous mode may + cause some congestion, resulting in the socket to be full, and the + driver to appear as not connected. By enabling the 'synchronous' + flag, the driver will wait for data to be consumed by upsd, prior + to publishing more. This can be enabled either globally or per + driver. + +2015-04-07 Arnaud Quette + + * scripts/systemd/nut-server.service.in: Do not Require systemd nut- + driver for nut-server Put the Requires=nut-driver.service in + comment for nut-server systemd unit file. Thus we don't require + drivers to be successfully started! This was a change of behavior + compared to init SysV, and could prevent from accessing + successfully started drivers, or at least to audit a system + Closes: https://github.com/networkupstools/nut/issues/200 + +2015-04-04 Charles Lepple + + * UPGRADING: UPGRADING: mention SSL permissions (#199) + * docs/security.txt: NSS SSL documentation Addresses new behavior as + part of the NSS forking fix (#199). Formatting and wording fixed as + well. + +2015-04-04 Émilien Kia + + * server/upsd.c: Initialize SSL after deamonize and downgrade to + user. Fix issue #190 - upsd: NSS SSL only working in debug mode + https://github.com/networkupstools/nut/issues/190 + +2015-04-02 Arnaud Quette + + * drivers/eaton-mib.c: Better input.realpower handling for Eaton + ePDUs G2/G3 Improve the way we declare and process + input.realpower, in order to address the variations between Eaton + ePDUs G2 and G3 + +2015-03-19 Arnaud Quette + + * docs/nut-names.txt: Document new variables and commands addition + The variables and commands that were added were not described in + the NUT namespace document. These are: input.transfer.delay - + battery.energysave.load - battery.energysave.delay - + battery.charger.status - outlet.1.shutdown.return - + outlet.2.shutdown.return + * drivers/bcmxcp.c: Fix the letter case of ABM and outlets status + For more coherence with NUT status publication, these status are + now lower case + * drivers/bcmxcp.c: Add missing Author + +2014-10-10 gavrilov-i + + * data/cmdvartab, drivers/bcmxcp.c, drivers/bcmxcp.h: drivers/bcmxcp: + advanced features Closes: #158 Added setvar function exec result + parsing Add command to turn load on after shutdown.stayoff and + shutdown.return. Outlet control changed. Outlet control via + commands "outlet.n.load.on/off" like in other drivers. Variable + outlet.n.staus now only for reading. Some code changes in + outlet.n.shutdown.return command - now supporting more than 3 + outlets (up to 9). Add descriptions to new and some old variables + and commands. Add "bypass.start" command, for enabling bypass. For + returning in On-Line mode exec "load.on" command. Additional + checks of UPS vars. Now add zero var only if it could be changed. + +2015-04-01 Arnaud Quette + + * drivers/eaton-mib.c: Workaround input.{power,realpower} for Eaton + ePDUs Add variable declarations to handle missing + input.{power,realpower} on Eaton ePDUs G2 and G3 1phase. On 3phase, + these variables point at SNMP OIDs that sum up the 3 phases + information. These OIDs should also be present on 1phase, however + it's actually not the case. So simply duplicate the L1 declaration + +2015-03-31 Arnaud Quette + + * drivers/powerware-mib.c: Implement battery.charger.status for Eaton + SNMP This new official variable now replaces the historic + 'vendor.specific.abmstatus', as per other similar implementations + (in usbhid-ups and bcmxcp drivers) + +2015-03-27 Arnaud Quette + + * drivers/mge-hid.c: Implement Eaton ABM support for USB/HID units + Add support for Eaton Advanced Battery Monitoring, for USB/HID + units. Information are provided through the new + battery.charger.status. For now, at least, when ABM is enabled, the + historic CHRG and DISCHRG flags are not published anymore in + ups.status + +2015-03-26 Stuart Henderson + + * data/driver.list.in, docs/man/snmp-ups.txt, docs/snmp- + subdrivers.txt, drivers/Makefile.am, drivers/huawei-mib.c, + drivers/huawei-mib.h, drivers/snmp-ups.c: snmp-ups: new subdriver + for Huawei "Hi, the [commit] below adds a new subdriver for snmp- + ups to support Huawei UPS, based on an observed walk from a + UPS5000-E with a few bits filled in from the MIBs (copy at + http://junkpile.org/HUAWEI_UPS_MIB/)." http://news.gmane.org/find- + root.php?message_id=slrnmh6npf.tg7.stu%40naiad.spacehopper.org + +2015-03-25 Daniele Pezzini + + * drivers/nutdrv_qx_voltronic.c: nutdrv_qx: add support in + 'voltronic' subdriver for P13 protocol + +2015-03-24 Arnaud Quette + + * drivers/mge-hid.c: Complementary Energy Saving data for Eaton USB + devices Add a 2nd HID path for battery.energysave.delay. Depending + on the exact device model, different implementations may be used + +2015-03-22 Daniele Pezzini + + * NEWS: nutdrv_qx: update NEWS about new 'fuji' USB subdriver + +2015-03-21 Daniele Pezzini + + * drivers/nutdrv_qx.c, drivers/nutdrv_qx.h: nutdrv_qx: typedef + testing_t only if TESTING is #defined First reported by GitHub + user @nickma82 + * docs/man/nutdrv_qx.txt, docs/nutdrv_qx-subdrivers.txt: nutdrv_qx: + document 'voltronic-qs-hex' subdriver in man pages + * docs/man/nutdrv_qx.txt, drivers/nutdrv_qx_bestups.c, + drivers/nutdrv_qx_blazer-common.c, drivers/nutdrv_qx_blazer- + common.h, 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-hex.c, + drivers/nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_zinto.c: + nutdrv_qx: add 'ignoresab' flag to support bogus devices Some + UPSes incorrectly report the 'Shutdown Active' bit (7th bit of the + 'status byte') as always on (=1), consequently making the driver + believe the UPS is nearing a shutdown (and, as a result, ups.status + always contains FSD). To workaround this issue, add a new + 'ignoresab' flag that makes the driver do just what its name tells + (IGNORE Status Active Bit) skipping the relative item in qx2nut + tables. References: - + http://lists.alioth.debian.org/pipermail/nut- + upsdev/2015-March/006896.html - + https://github.com/networkupstools/nut/issues/195 + +2015-03-11 Arnaud Quette + + * data/cmdvartab, docs/nut-names.txt: Add some new variable names, + related to ePDUs Add new variables names, related to ePDUs, such + as input.*.load, input.*.realpower and input.*.power + * drivers/eaton-mib.c: Minor update to comments + +2015-02-04 Arnaud Quette + + * drivers/eaton-mib.c: Fix outlet.{power,realpower} data mapping + According to the new mapping using the input collection, these two + data mapping were targeting at the wrong OIDs. + +2015-02-03 Arnaud Quette + + * drivers/eaton-mib.c: Fix and complete a bit Eaton ePDUs support + Add some new data mapping to improve support for Eaton ePDUs. This + commit includes some new NUT data names that requires approval + before being merged + +2015-03-19 Arnaud Quette + + * data/cmdvartab, docs/nut-names.txt, drivers/mge-hid.c: Add more + Energy Saving features for Eaton USB devices Add two new Energy + Saving features: - battery.energysave.delay: to configure the delay + before switching off the UPS if running on battery and load level + low (in minutes) - battery.energysave.realpower: to switch off the + UPS if running on battery and power consumption on UPS output is + lower than this value (expressed in Watts). Note that documentation + in nut-names.txt and cmdvartab was limited to difference with an + upcoming branch merge, that will add the others + * drivers/mge-hid.c: Align Energy Saving variable names Change + ups.load.energysave to battery.energysave.load, to be coherent with + the latest commit made in the bcmxcp driver + +2015-03-10 Arnaud Quette + + * data/cmdvartab, drivers/mge-hid.c: Add a new EnergySaving threshold + for Eaton UPSs Add 'ups.load.energysave' parameter, to enable + energy saving when the power consumption on the UPS output drops + below this value (in percent). This new variable however requires + to go through the NUT RFC process to get approved + +2015-03-19 Arnaud Quette + + * tools/Makefile.am: Also distribute nut-ddl-dump.sh helper script + +2015-03-18 Daniele Pezzini + + * data/driver.list.in: HCL: EUROCASE EA200N 2000VA supported by + nutdrv_qx Protocol: 'megatec' USB subdriver: 'fuji' Reference: ht + tp://thread.gmane.org/gmane.comp.monitoring.nut.user/8808/focus=908 + 1 + * drivers/nutdrv_qx_bestups.c, drivers/nutdrv_qx_blazer-common.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-hex.c, + drivers/nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_zinto.c: + nutdrv_qx: remove redundancy in blazer-common-dependent subdrivers + Since main nutdrv_qx driver already sets an alarm when FSD arises + (see nutdrv_qx.c>ups_alarm_set()), there is no need to do so in the + various subdrivers. So, in order to prevent a duplicated alarm + message, remove all unneeded code from the affected subdrivers (all + the ones that depend on nutdrv_qx_blazer-common). + +2015-03-17 Daniele Pezzini + + * data/driver.list.in: HCL: update Mecer ME-1000-WTU (supported by + nutdrv_qx) Tested by @sliverc (Oliver Sauder) on NUT 2.7.1 + Reference: https://github.com/networkupstools/nut/issues/148 + +2015-03-16 Daniele Pezzini + + * docs/man/nutdrv_qx.txt: nutdrv_qx: document USB subdrivers' + glitches + * drivers/nutdrv_qx.c: nutdrv_qx: add workaround in 'fuji' subdriver + to support all shutdown.returns As 'fuji' subdriver discards all + the commands of more than 3 characters, in order to support 'SnRm' + shutdown.returns (and hence the standard 'S.5R0003' shutdown.return + with DEFAULT_{ON,OFF}DELAYs) map 'SnRm' shutdown.returns to the + corresponding 'Sn' commands, meanwhile ignoring ups.delay.start and + making the UPS turn on the load as soon as power is back. + * drivers/nutdrv_qx.c: nutdrv_qx: fix command handling in 'fuji' + subdriver 'fuji' subdriver supported devices only allow one 8 + bytes interrupt as a command/query: make the subdriver discard (and + echo back) all the too long commands. + +2014-11-08 Daniele Pezzini + + * docs/man/nutdrv_qx.txt: nutdrv_qx: update man for the new 'fabula' + and 'fuji' USB subdrivers + +2014-06-26 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: add new 'fuji' USB subdriver Add a + new USB subdriver ('fuji') to support models manufactured by Fuji + (and others) and accompained by UPSmart2000I software. + +2015-03-15 Charles Lepple + + * docs/developers.txt, docs/new-drivers.txt: doc: document build + dependencies, etc. Closes: + https://github.com/networkupstools/nut/issues/189 + * docs/nutdrv_qx-subdrivers.txt: doc: fold a few long preformatted + lines in nutdrv_qx developer guide + * docs/FAQ.txt: docs: FAQ update This addresses several issues: * + https://github.com/networkupstools/nut/issues/19 * + https://github.com/networkupstools/nut/issues/191 and Closes: + https://github.com/networkupstools/nut/issues/161 + * docs/man/Makefile.am: docs/man: provide additional detail for + missing asciidoc/a2x error + * configure.ac: configure: indicate required version of + Asciidoc/A2X/dblatex Still doesn't address data-only packages like + docbook-xsl, so leaving this issue open. Reference: + https://github.com/networkupstools/nut/issues/162 + * docs/Makefile.am, docs/man/Makefile.am: Pass --nonet to xsltproc + This prevents xsltproc from downloading DocBook XSL files for each + step in the documentation build process. Reference: + https://github.com/networkupstools/nut/issues/172 Still need to + document what to do if the build fails. + +2015-03-10 Arnaud Quette + + * docs/documentation.txt: Reference DDL on the Documentation page + Add a reference to the NUT Devices Dumps Library (DDL) on the + Documentation page, both for the website and the distributed + documentation. There are separate references, to distinguish the + DDL interest from a user and a developer point of view + +2015-03-06 Arnaud Quette + + * tools/nut-ddl-dump.sh: First stab at a helper script to generate + device dumps This preliminary version only generates .dev (static) + dump files. However, a merge with nut-recorder.sh, which generates + .seq files (dynamic simulation) is to be considered, along with an + improved version for the newer .nds format + +2015-02-24 Charles Lepple + + * data/driver.list.in: HCL: CPS Value 1500ELCD-RU @ 2.6.3 Source: + http://news.gmane.org/find- + root.php?message_id=1423241134.6830.8.camel%40ignatev + * data/driver.list.in: HCL: JAWAN JW-UPSLC02 with blazer_usb @ 2.7.2 + Source: http://news.gmane.org/find-root.php?message_id=SNT404%2dEAS + 8312A94DDAF0FAD4B7702BA52A0%40phx.gbl + +2015-02-22 Charles Lepple + + * scripts/python/app/NUT-Monitor, scripts/python/app/gui-1.3.glade: + NUT-Monitor: updated version to 1.3.1 + +2015-02-14 Charles Lepple + + * NEWS, UPGRADING: NEWS/UPGRADING for 2.7.3 + +2015-02-14 Daniele Pezzini + + * docs/man/nutdrv_qx.txt: nutdrv_qx: specify 'bestups' ranges in man + pages -Tue Sep 15 08:16:32 UTC 2009 / Arnaud Quette +2015-01-03 Daniele Pezzini - - data/driver.list: add an entry for Eaton E Series NV UPS (400-2000 VA) with - megatec_usb (reported by Vitor Choi Feitosa). + * drivers/nutdrv_qx_bestups.c: nutdrv_qx: bestups - add support for + 'M' query -Tue Sep 8 18:57:51 UTC 2009 / Arjen de Korte +2014-11-02 Daniele Pezzini - - m4/nut_check_libnetsnmp.m4: check for presence of header files to see - if development files are installed + * docs/man/nutdrv_qx.txt, docs/nutdrv_qx-subdrivers.txt: nutdrv_qx: + update man pages for new 'bestups' subdriver + * drivers/Makefile.am, drivers/nutdrv_qx.c, + drivers/nutdrv_qx_bestups.c, drivers/nutdrv_qx_bestups.h: + nutdrv_qx: add BestUPS subdriver (protocol=bestups) A subdriver + using Best Power/Sola Australia protocol as described in + http://www.networkupstools.org/protocols/sola.html Based also on + bestups.c and meant to eventually replace it. -Tue Sep 8 09:39:24 UTC 2009 / Arnaud Quette +2015-02-14 Michael Fincham - - drivers/ivtscd.c: complete general information (device.{mfr,model,type}), - - man/ivtscd.8, man/Makefile.am: add the manpage for ivtscd driver, - - data/driver.list: add an entry for IVT SCD-series devices. + * scripts/python/app/NUT-Monitor: Correct unsafe permissions on + ~/.nut-monitor (Debian #777706) fix-permissions-on-start.debdiff + from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777706#24 + Closes: https://github.com/networkupstools/nut/issues/185 -Fri Sep 4 08:36:21 UTC 2009 / Arnaud Quette +2015-02-14 Michal Soltys - - scripts/perl/Nut.pm: embed the NUT Perl client module, - (patch from Gabor Kiss) - - COPYING, scripts/README: update information for Perl module inclusion. + * drivers/apcsmart.c: apcsmart: fix SEGV in apc_getcaps() ups ... -Fri Sep 4 08:12:52 UTC 2009 / Arnaud Quette +2015-02-13 Michal Soltys - - drivers/apc-hid.c: fix input.transfer.reason support by using the standard - BOOL lookup mechanism (thanks Arjen), and bump the subdriver version to 0.94. + * drivers/apcsmart.c, drivers/apcsmart.h: apcsmart: fix command set + parsing for protocol version 4 The issue was discovered with + Smart-UPS RT 10000 XL by surr, see + https://github.com/networkupstools/nut/issues/180 When protocol + version is 4, command set query returns string with additional + section after another '.' . This patch updates the code to handle + such string as well. -Thu Sep 3 11:49:12 UTC 2009 / Arnaud Quette +2015-02-10 Charles Lepple - - drivers/apc-hid.c: add input.transfer.reason and input.sensitivity, along - with some more reverse engineered information. - (reported by Markus Wildi) + * configure.ac: configure.ac: bump version to 2.7.2.6 for snapshots + * scripts/upower/95-upower-hid.rules: upower: regenerate for Powercom + PID 0001 (PR #121) + * configure.ac: configure.ac: add bug report URL Should be + compatible with Autoconf 2.59 and newer. -Wed Sep 2 19:52:21 UTC 2009 / Arjen de Korte +2015-02-04 Arnaud Quette - - drivers/ietfmib.h,drivers/mgemib.h: Indexes start at 1 (not 0). + * drivers/netvision-mib.c: Improve support for on-battery detection + Add support for upsAlarmOnBattery OID, to better detect on-battery + events (reported by Henning Fehrmann) + * drivers/libhid.c, drivers/libhid.h: Fix compilation warning related + to sign comparison -Tue Aug 25 20:40:28 UTC 2009 / Arjen de Korte +2015-01-31 Ryan Underwood - - drivers/usbhid-ups.[ch]: remove delayed matching which wasn't really - useful, since it requires claiming the device, breaking any existing - bindings in the process (should also fix Alioth bug #311869) + * drivers/apc-hid.c, scripts/upower/95-upower-hid.rules: Add a + product ID for APC AP9584 USB kit. Resolves + networkupstools/nut#181 -Tue Aug 18 01:22:14 UTC 2009 / Charles Lepple +2015-01-12 Charles Lepple - - drivers/bestfortress.c, man/bestfortress.8, data/driver.list: Resurrect the - bestfortress driver (submitted by Stuart D. Gathman) + * scripts/upower/95-upower-hid.rules: upower: regenerate rules file + for OpenUPS PID 0xd005 + * Makefile.am: Add systemd unit dir fix for 'make distcheck' -Sat Aug 15 17:42:49 UTC 2009 / Charles Lepple +2015-01-11 Sergey Kvachonok - - drivers/cps-hid.c, data/driver.list: Add CyberPower OR2200 to usbhid-ups - (reported by James Erickson) + * configure.ac: Undo ${systemdsystemunitdir} mangling. Running sed + 's/\/lib/\${libdir}/' destroys any ${systemdsystemunitdir} values + that don't start with '/lib' e.g. '/usr/lib64/systemd/system' + becomes '/usr/usr/lib6464/systemd/system'. If a local installation + prefix is needed use appropriately prefixed --with- + systemdsystemunitdir='' parameter instead. -Wed Aug 12 13:42:21 UTC 2009 / Arnaud Quette +2015-01-02 Charles Lepple - - data/drivers.list: also list Inform Informer Compact 1000VA with blazer_ser - (reported by Mutlu Tunç) + * docs/cables.txt, docs/config-notes.txt, docs/configure.txt, + docs/features.txt, docs/history.txt, docs/man/nutdrv_qx.txt, + docs/nut-names.txt, docs/scheduling.txt, docs/security.txt: docs: + typo fixes -Mon Aug 10 12:18:42 UTC 2009 / Arnaud Quette +2015-01-01 Charles Lepple - - drivers/mge-xml.c: add support for newer Eaton ePDU monitored - - man/netxml-ups.8: add a reference to Eaton ePDU monitored - - data/drivers.list: update the Eaton ePDU monitored to include netxml-ups + * docs/cables.txt: docs: MGE NMC pinout Closes + https://github.com/networkupstools/nut/issues/141 + * docs/cables.txt: docs: Best Power cable pinout Closes + https://github.com/networkupstools/nut/issues/164 + * INSTALL.nut: docs: clarify group ownership of directory in + INSTALL.nut Closes + https://github.com/networkupstools/nut/issues/151 + * docs/man/dummy-ups.txt: docs: dummy-ups repeater mode requires `@` + in port name Also reworded parts of the man page. -Sun Aug 9 15:43:21 UTC 2009 / Arnaud Quette +2014-12-17 bsalvador - - data/drivers.list: add Inform Informer Compact 1000VA - (reported by Mutlu Tunç) + * drivers/solis.c: Update solis.c to force ScanReceivePack() -Fri Jul 31 03:07:27 UTC 2009 / Charles Lepple +2014-12-12 Andy Juniper - - drivers/liebert.c: Hard-code the baud rate to 9600 to prevent problems with - noise. + * clients/upslog.c, docs/man/upslog.txt: upslog: break out of sleep + on SIGUSR1 and log immediately Reference: + http://news.gmane.org/find- + root.php?message_id=54863D44.3000902%40freeuk.com -Wed Jul 29 01:37:06 UTC 2009 / Charles Lepple +2014-11-25 Charles Lepple - - data/driver.list: Add "CP 1500C" to compatibility list for usbhid-ups - (reported by Svein Skogen) + * data/driver.list.in: HCL: additional NHS models -Mon Jul 27 22:00:00 UTC 2009 / Arnaud Quette +2014-11-17 Charles Lepple - - tools/nut-usbinfo.pl, scripts/dkp/95-devkit-power-hid.rules: remove - the 0x prefix from the VendorIDs + * data/driver.list.in: HCL: NHS Sistemas de Energia: Expert C + Isolador series Source: http://news.gmane.org/find-root.php?messag + e_id=CADe06rfE5MA%3dyWDZzofPsC7TOgGOU4TRSoi67uMXedymA9L7ow%40mail.g + mail.com -Mon Jul 27 11:21:21 UTC 2009 / Arnaud Quette +2014-11-07 Arnaud Quette - - tools/nut-usbinfo.pl, scripts/dkp/95-devkit-power-hid.rules: generate - the DeviceKit-power rule file, so that it can be maintained up to - date from the NUT source. - -Mon Jul 20 19:20:35 UTC 2009 / Arjen de Korte + * scripts/subdriver/gen-snmp-subdriver.sh: Various minor fixes to the + SNMP subdriver generator - - Renamed 'virtual' to 'clone' driver, to resolve a conflict with the - Postfix virtual domain mail delivery agent man pages +2014-11-06 Charles Lepple -Sat Jul 11 15:58:16 UTC 2009 / Charles Lepple + * drivers/openups-hid.c: openups-hid: Fix scale factors for 0xd005 + (0.4) Previous commit had extra scale factors applied. + * drivers/openups-hid.c, drivers/openups-hid.h: openups-hid: voltage + scale factors based on product IDs + * drivers/openups-hid.c: openups-hid: remove a const; this will + require more thought The USB matching routines should have their + parameters marked as "const" to indicate that they do not modify + the matching tables, but that will require more invasive changes. + Roll this back for now. - * Makefile.am: Add "." to "find" command +2014-11-05 Charles Lepple -Sat Jul 11 14:25:00 UTC 2009 / Charles Lepple + * drivers/openups-hid.c: openups-hid: const and float/double fixups + (0.2) + * drivers/openups-hid.c: openups-hid: add USB ProductID d005 for + OpenUPS2 - * drivers/nut_usb.c: Add usb_strerror() to USB error messages. +2014-11-05 Arnaud Quette -Tue Jul 7 11:06:32 UTC 2009 / Arnaud Quette + * Makefile.am: Store the git start point as a variable For + ChangeLog, we now store the git start point (older reference) in a + separate variable, to make the process more clear - * device collection completion, for the transition period - - drivers/main.c: remap device.{mfr,model,serial} from the ups.* - equivalent, and preset device.type to ups so that it only has to be - overriden if necessary. - - drivers/skel.c: some update for the device collection - - docs/new-names.txt: add the device collection description +2014-10-31 Charles Lepple -Mon Jul 6 09:28:10 UTC 2009 / Arnaud Quette + * docs/download.txt: Update VMware ESXi package link (from René + Garcia) - - drivers/tripplite.c: fix the reading with some SmartUPS models - (patch from Robert Waldie, Opengear) +2014-10-29 Charles Lepple -Tue Jun 30 13:28:42 UTC 2009 / Arnaud Quette + * scripts/upower/95-upower-hid.rules: upower: Update Belkin and + Liebert rules Follow-up to issue #159. + * drivers/belkin-hid.c, drivers/liebert-hid.c: usbhid-ups: comments + describing Belkin/Liebert/Phoenixtec situation Follow-up to issue + #159. + * data/driver.list.in: HCL: Rucelf UPOII-3000-96-EL supported by + blazer_ser Manufacturer: + http://www.rucelf.ua/en/catalog/upoii-3000-96-el/ Closes: + https://github.com/networkupstools/nut/issues/165 - - drivers/baytechmib.h: add outlet.{current,voltage} and fix some - comments (from Scott Burns, Opengear) +2014-10-28 Elio Parisi -Wed May 27 20:35:41 UTC 2009 / Arjen de Korte + * drivers/riello_usb.c: riello_usb: explicitly claim USB interface + Reference: http://news.gmane.org/find-root.php?message_id=7731ed2f9 + 8014b8a90e695a06d077970%40AM3PR07MB289.eurprd07.prod.outlook.com + and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=738122 - - clients/upsmon.c: multilevel debug information (similar to other NUT - binaries) +2014-10-20 Elio Parisi -Mon May 25 19:53:02 UTC 2009 / Arjen de Korte + * drivers/riello_usb.c: riello_usb: timeouts and error handling + (0.03) Small changes in riello_usb.c that solved some problem with + managing transmission errors between the Raspberry Pi and Riello + ups (thanks to Fredrik Öberg): introducing timeout in reading ups + data in cypress_command; enhanced handling error codes + http://news.gmane.org/find-root.php?message_id=f5294e5579574bcbaf5c + dd95523e0b68%40AM3PR07MB289.eurprd07.prod.outlook.com + * drivers/riello_ser.c: riello_ser: enhanced handling error codes + (0.03) - * Enable timestamp on debug messages by default - - common/common.c: prepend elapsed number of seconds and microseconds - since start of program for upsdebug() messages, - - drivers/upsdrvctl.c: inform people that adding debug flags to upsdrvctl - is not the way to debug a driver, - - revert remainder of previous patch - -Mon May 18 11:48:31 UTC 2009 / Arnaud Quette +2014-10-20 Charles Lepple + + * docs/.gitignore: docs: docinfo.xml is now auto-generated + +2014-10-20 Nik Soggia + + * drivers/Makefile.am: missing -lm in drivers/Makefile.am Both + bcmxcp and bcmxcp_usb use ldexp(), so both need `-lm`. + http://news.gmane.org/find- + root.php?message_id=544515BA.4060804%40niksoggia.it + +2014-10-10 Paul Chavent + + * drivers/belkin-hid.c: drivers : add Liebert GXT3 device. + * drivers/main.c: drivers : fix possible memory leak. In arguments + parsing, if user option is passed. + +2014-09-30 Michal Soltys + + * drivers/apcsmart.c: apcsmart: increase passes in setvar_enum() + Current 6 is not enough for bigger units - especially if we swap to + the value directly preceeding the current setting. + +2014-09-27 Daniele Pezzini + + * configure.ac, docs/Makefile.am, docs/docinfo.xml, + docs/docinfo.xml.in: docs: add NUT version number/date in PDF + documents Reference: + https://github.com/networkupstools/nut/issues/150 + * docs/chunked.xsl, docs/common.xsl, docs/xhtml.xsl: docs: move + DocBook options common to html stylesheets to common.xsl + * docs/Makefile.am, docs/common.xsl: docs: add NUT version + number/date into footer of HTML pages Reference: + https://github.com/networkupstools/nut/issues/150 + +2014-09-28 Arnaud Quette + + * docs/configure.txt: Clarify a bit more Avahi build requirements + * tools/nut-scanner/Makefile.am: Don't reference subdir-object with + $(top_srcdir) Replace references to objects in separate + directories that were using $(top_srcdir) by the expanded version + '../../'. The variable was otherwise part of the path, resulting in + build failures. This completes commit f8abb9b Closes + networkupstools/nut#155 + * configure.ac: Explicitly use subdir-objects in automake init + Closes networkupstools/nut#155 + +2014-09-27 Arnaud Quette + + * configure.ac, m4/nut_check_asciidoc.m4: Also check for source- + highlight at configure time source-highlight is used for + documentation generation. It's however optional, so we just check + for the sake of completion + +2014-09-27 Arnaud Quette + + * docs/man/Makefile.am, docs/man/asciidoc.conf: Add NUT version + number into footer of HTML man pages Override AsciiDoc default for + footer-txt to include NUT version number into footer of HTML man + pages. This commit addresses the 2nd point of + networkupstools/nut#150 + +2014-09-26 Charles Lepple + + * drivers/tripplite_usb.c: tripplite_usb: set input.voltage.nominal + back to 230V (0.30) Keeps the input.voltage and output.voltage + scaling from 0.28 Discussion: + http://article.gmane.org/gmane.comp.monitoring.nut.user/8719 + +2014-09-26 Arnaud Quette + + * conf/upsmon.conf.sample.in, docs/man/nut.conf.txt, + docs/man/upsmon.conf.txt, docs/packager-guide.txt: Replace outdated + references to shutdown.txt shutdown.txt was merged into config- + notes.txt during the AsciiDoc conversion of the whole documentation + and website. This content is now available in the docs/config- + notes.txt file, section [[UPS_shutdown]] "Configuring automatic + shutdowns for low battery events" + * conf/upsmon.conf.sample.in: Fix default value of POWERDOWNFLAG + POWERDOWNFLAG path changed from the hard-coded value /etc/killpower + to the build-time generated @CONFPATH@/killpower. This resulted in + an unexpected value '/etc/nut/killpower', at least on Debian. + (reported by Laurent Bigonville) Closes networkupstools/nut#74 + +2014-09-25 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: move to ltrim_m()/rtrim_m() + functions + * common/common.c, include/common.h: Add ltrim_m()/rtrim_m() + functions to trim several chars at the same time Also, make + ltrim() / rtrim() wrappers around ltrim_m() / rtrim_m(). + * common/common.c: Make ltrim() modify the input string Also, always + check string length in both ltrim() and rtrim(). Reference: + https://github.com/networkupstools/nut/issues/154 + +2014-09-25 Charles Lepple + + * data/driver.list.in: HCL: sort Tripp Lite models by name, then + increasing power I know this doesn't allow the cell merging code + to do as much, but this should make it easier to find models. + * data/driver.list.in: HCL: add Tripp Lite OMNIVSINT800 + (tripplite_usb) Source: + http://article.gmane.org/gmane.comp.monitoring.nut.user/8713 + * drivers/tripplite_usb.c: tripplite_usb: scale min/max voltages for + SMART protocol (0.29) Observed in a dump file from driver version + 0.11. Scale input.voltage.minimum and input.voltage.maximum the + same way as other voltages. + * drivers/tripplite_usb.c: tripplite_usb: fix voltage scaling for + 240V/1001 (0.28) Reported by Dave Williams: + http://article.gmane.org/gmane.comp.monitoring.nut.user/8713 The + input.voltage and output.voltage scaling for Protocol 1001 did not + factor in the input_voltage_scaled value. + +2014-09-24 Arnaud Quette + + * scripts/python/app/nut-monitor.appdata.xml: Fix compliance of NUT- + Monitor FreeDesktop AppData file Following the upstream update (by + David Goncalves), update the screenshots width and height to + conform to AppData specification: + http://people.freedesktop.org/~hughsient/appdata/ Closes + networkupstools/nut#127 + +2014-05-18 Charles Lepple + + * drivers/genericups.c: genericups: log cable type overrides as they + are parsed Fixes networkupstools/nut#28 Better than nothing, but + without a unit to test against, I don't want to make any more + intrusive changes. + +2014-09-17 Arnaud Quette + + * docs/nut-qa.txt: Minor update and completion Use the new Debian + package tracker URL and add Redhat / Fedora bug tracker + +2014-09-15 Daniele Pezzini + + * data/driver.list.in: HCL: add devices supported by nutdrv_qx - + Fideltronik LUPUS 500 USB Protocol: 'megatec' USB subdriver: + 'fabula' Reference: http://lists.alioth.debian.org/pipermail/nut- + upsuser/2014-June/009059.html - FTUPS FT-1000BS(T) / Voltronic + Power Apex 1KVA Protocol: 'voltronic-qs-hex' USB devices -> USB + subdriver: 'cypress' - FTUPS FT-1000BS / Voltronic Power Imperial + 1KVA Protocol: 'voltronic-qs' USB devices -> USB subdriver: + 'cypress' + +2014-07-11 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: improve the USB matching procedure + Consider also the iManufacturer/iProduct strings when checking + devices (if subdriver is not specified) to assign the right + subdriver in case the VID:PID couple is not specific enough. + +2014-06-30 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: add new 'fabula' USB subdriver Add + a new USB subdriver ('fabula') to support models + manufactured/rebranded by Fideltronik and accompained by + UPSilon2000 software. Reference: + http://lists.alioth.debian.org/pipermail/nut- + upsuser/2014-June/009059.html + +2014-09-03 Daniele Pezzini + + * drivers/Makefile.am, drivers/nutdrv_qx.c, + drivers/nutdrv_qx_voltronic-qs-hex.c, drivers/nutdrv_qx_voltronic- + qs-hex.h: nutdrv_qx: add Voltronic-QS-Hex subdriver + (protocol=voltronic-qs-hex) A subdriver using a protocol, specific + to UPSes manufactured by Voltronic Power, partially Hex-encoded + (e.g. 'QS' reply) and supporting some megatec commands. + * docs/nutdrv_qx-subdrivers.txt: nutdrv_qx: update docs about added + support for more complex UPS answers + * drivers/nutdrv_qx.c, drivers/nutdrv_qx.h, + 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: add basic support for more complex UPS answers Add + support (also in 'TESTING' mode) for '\0' chars in raw UPS answers + and the ability to preprocess answers before anything else (e.g.: + for CRC, decoding, ...). Increase verbosity of USB subdrivers and + serial communication. Always print also the return code when + dealing with an error. Update all subdrivers accordingly, bump + versions. + +2014-09-08 Charles Lepple + + * docs/documentation.txt: docs: Add link to Roger Price's openSUSE + writeup + +2014-09-04 Daniele Pezzini + + * drivers/nutdrv_qx.c: nutdrv_qx: prevent a vicious loop when + unexpected answers happen If a 'QX_FLAG_QUICK_POLL' item gets an + unexpected (non-empty) answer and, after returning from + 'qx_ups_walk()', it is not followed by at least one item using a + different 'command', the driver will loop endlessly using the same + 'broken' answer instead of trying to get a new one from the UPS. To + solve this issue, make sure to have an empty 'previous_item' when + starting 'qx_ups_walk()'. Also, bail out of 'qx_ups_walk()' when a + 'QX_FLAG_QUICK_POLL' item can't be preprocessed properly through + 'ups_infoval_set()'. + +2014-09-04 Charles Lepple - * Enable timestamp on output messages (format "%H:%M:%S: msg") - - common/common.c, include/common.h: modify vupslog() to allow optional - appending of a timestamp on debug output, - - clients/upsmon.c, drivers/main.c, drivers/upsdrvctl.c, server/upsd.c: - enable timestamping using the "-T" option, - - man/upsmon.8, man/nutupsdrv.8, man/upsdrvctl.8, man/upsd.8: document the - timestamp option. + * docs/man/asem.txt: docs: recommend I2C bus name for asem driver -Thu May 14 19:19:52 UTC 2009 / Arnaud Quette +2014-09-03 Arnaud Quette - - drivers/baytechmib.h: add native NUT support for Baytech SNMP PDUs (RPCs), - - drivers/snmp-ups.c: enable Baytech MIB, - - drivers/Makefile.am: add the new MIB file, - - data/driver.list: add the supported PDUs from BayTech, - - man/snmp-ups.8: document the new MIB and devices. - (patch from Scott Burns, Opengear) + * docs/man/nut-scanner.txt: Fix typo error in nut-scanner doc The + example network range scanned when using 192.168.0.0/25 is actually + 192.168.0.0 to 192.168.0.12*7* not (i.e. not .128) as previously + stated (reported by Evgeny 'Jim' Klimov) Closes + networkupstools/nut#144 -Thu May 14 21:06:11 UTC 2009 / Arnaud Quette +2014-09-02 Charles Lepple - - drivers/raritan-mib.h: use the outlets template mechanism and remove all - the OIDs defines for a better readability - - drivers/snmp-ups.c: enable Raritan MIB back. - -Thu May 14 19:19:52 UTC 2009 / Arnaud Quette + * data/driver.list.in, drivers/belkin-hid.c: HCL: Belkin Regulator + PRO-USB 050d:0f51 (0.17) + https://github.com/networkupstools/nut/issues/149 - - drivers/eaton-aphel-mib.h: use the outlets template mechanism. +2014-08-22 Charles Lepple -Thu May 14 14:44:22 UTC 2009 / Arnaud Quette + * data/driver.list.in: HCL: Mecer ME-100-WTU with blazer_usb USB + VID:PID = 0665:5161 Tested by @silvec (Oliver Sauder) on NUT 2.6.3 + Reference: https://github.com/networkupstools/nut/issues/148 - - docs/configure.txt: a bit of completion and standardisation. +2014-08-19 Charles Lepple -Thu May 14 14:23:41 UTC 2009 / Arnaud Quette + * docs/documentation.txt: docs: update links for two articles - - drivers/snmp-ups.[ch]: add a template mechanism for outlets declaration, and - the needed helpers. Also disable temporarily the Raritan MIB as it conflicts - with Eaton (Aphel) . +2014-08-17 Charles Lepple -Wed May 13 13:54:32 UTC 2009 / Arnaud Quette + * tools/nut-usbinfo.pl: nut-usbinfo: fix FreeBSD devd.conf to use + $cdev + * scripts/upower/95-upower-hid.rules: 95-upower-hid.rules: updated by + nut-usbinfo.pl URL updated in previous commit. + * tools/nut-usbinfo.pl: nut-usbinfo: change link from Alioth SVN to + GitHub + * scripts/udev/.gitignore: udev: ignore 62-nut-usbups.rules Follow- + up commit to networkupstools/nut#140 - - man/Makefile.am, man/nut.conf.5: add a manpage for nut.conf - (patch from Debian BTS, #528222) +2014-08-17 Yann E. MORIN -Tue May 05 13:26:21 UTC 2009 / Arnaud Quette + * conf/Makefile.am: conf/: fix parallel install Do not reference the + upsmon.conf.sample twice, otherwise install, with a high number of + make jobs, may fail, like so: http://autobuild.buildroot.net/result + s/256/2567e13cd5bc702bc3a38a1d6fc8e34022cc7db5/build-end.log --- + This is not a rare occurence, as my testing managed to trigger the + issue in about 1 test out of 10 on average, on a not-so-fast + machine. - - drivers/apcsmart.h: add support for older SmartUPS 600 responding to other - D codes (D7, D8 and D9) - (patch from Konstantin 'Kastus' Shchuka) +2014-08-16 Charles Lepple -Tue May 05 02:01:13 UTC 2009 / Charles Lepple + * tools/nut-usbinfo.pl: nut-usbinfo: ignore *.orig files - - drivers/tripplite_usb.c, man/tripplite_usb.8, data/driver.list: update list - of units tested with tripplite_usb +2014-08-14 Émilien Kia -Mon May 04 08:11:01 UTC 2009 / Arnaud Quette + * configure.ac, docs/man/Makefile.am, m4/nut_check_asciidoc.m4: Test + presence of xmllint for manpages doc generation. + * configure.ac, docs/man/Makefile.am, m4/nut_check_asciidoc.m4: Test + presence of xsltproc for manpages doc generation. - - drivers/apcsmart.[ch]: add support for older SmartUPS, which do not respond - to the ^Z, a or b commands (used to inquire the supported data) - (patch from Thomas Juerges) +2014-08-04 Charles Lepple -Thu Apr 30 21:20:42 UTC 2009 / Arnaud Quette + * docs/man/ups.conf.txt, drivers/libusb.c: Remove redundant + usb_set_altinterface(), unless user requests it Adds flag/value to + USB driver options. Closes networkupstools/nut#138 - - data/driver.list: add Apollo 1000A and 1000F compatibility with genericups - upstype=4 (reported by mvochin) +2014-08-09 Charles Lepple -Thu Apr 23 12:46:12 UTC 2009 / Arnaud Quette + * drivers/blazer_usb.c, drivers/libusb.c, drivers/nutdrv_qx.c, + drivers/tripplite_usb.c, drivers/usb-common.h, drivers/usbhid- + ups.c: libusb.c: consolidate USB-related addvar() calls + * drivers/cps-hid.c: usbhid-ups (CPS): determine battery.voltage + scale factor at runtime If the battery.voltage reading is greater + than 1.4x battery.voltage.nominal, apply a scale factor of 2/3 to + bring the voltage back in line. Closes networkupstools/nut#142 - - man/snmp-ups.8: remove the EXPERIMENTAL section to the profit of a LIMITATION - section. +2014-08-08 Arnaud Quette -Fri Apr 17 13:26:21 UTC 2009 / Arnaud Quette + * docs/man/nut-scanner.txt: Fix typo error Fix a typo error on "-B" + option (reported by Evgeny 'Jim' Klimov) - - data/driver.list: add UPSonic DS-800 compatibility with megatec_usb - (reported by Nick Jenkins) +2014-08-05 Arnaud Quette -Sun Mar 29 20:59:09 UTC 2009 / Arjen de Korte + * scripts/python/Makefile.am: Distribute FreeDesktop AppData file for + NUT Monitor FreeDesktop AppData file for NUT Monitor was not + distributed, waiting for some approval - - drivers/netxml.c: Either do a quick poll or a complete poll (not both). +2014-08-01 Arnaud Quette -Sun Mar 29 20:21:19 UTC 2009 / Arjen de Korte + * scripts/udev/Makefile.am, scripts/udev/README: Fix USB permission + issues related to Linux / udev Rename udev rules file to 62-nut- + usbups.rules, to prevent NUT USB privileges from being overwritten + Closes #140 + * docs/cables.txt: Fix typo error on Eaton / MGE USB-RJ45 cable - * clients/upsimage.c, clients/upsstats.c: - - Add ups.temperature, ambient.temperature and ambient.humidity (sorry folks, - Celsius only for now). - - The graph for the battery.charge now honors battery.charge.low for the red zone. - - The number of minor dashes for the battery.charge is reduced. - - Value on the scales is now right aligned. Display of negative values is corrected. - * conf/upsstats-single.html.sample: - - If ambient.(temperature|humidity) is supported, an 'Ambient' column is added to - display the bars for them. +2014-07-14 Charles Lepple -Thu Mar 26 20:04:53 UTC 2009 / Arjen de Korte + * scripts/Aix/.gitignore: Ignore generated AIX spec file - * drivers/netxml.[ch], drivers/mge-xml.c: - - Allow multiple entry points for the initial XML page that is loaded - - Use different XML pages for quick and full status updates (the latter - is only polled once every 10 times) - -Mon Mar 23 17:34:10 UTC 2009 / Kjell Claesson +2014-07-14 Giuseppe Corbelli - - data/driver.list, add Eaton Powerware 9130 compatibility with bcmxcp and usbhid-ups. + * AUTHORS, docs/man/asem.txt: asem: additional documentation + http://article.gmane.org/gmane.comp.monitoring.nut.devel/6741 -Sun Mar 22 01:13:18 UTC 2009 / Alexander I. Gordeev +2014-07-13 Charles Lepple - - drivers/blazer_usb.c: read data from device until timeout. + * docs/man/upscli_get.txt: upscli_get(): mention SIGPIPE handling + Closes: #132 + * data/driver.list.in: HCL: distinguish between Tripp Lite old and + new protocol 3005 -Mon Mar 16 22:10:30 UTC 2009 / Kjell Claesson +2014-07-13 Arnaud Quette - - drivers/bcmxcp.[ch]: Extend alarm map to fix debug crash on PW9130. Driver version 0.22. + * scripts/python/app/nut-monitor.appdata.xml: Complete FreeDesktop + AppData file for NUT Monitor As per Richard Hughes comments, in + #127, complete the description field -Wed Mar 04 19:37:12 UTC 2009 / Arnaud Quette +2014-07-12 Arnaud Quette - - drivers/mge-utalk.c: fix enable_ups_comm() - (patch from Hans-Werner Paulsen) + * scripts/Aix/nut-aix.spec.in: Minor adjustments as per Github + comments + * docs/configure.txt: Add missing documentation for configure option + The new asem driver introduced --with-linux_i2c, for which + documentation was missing in configure documentation -Sun Mar 01 19:51:54 UTC 2009 / Arnaud Quette +2014-07-11 Charles Lepple - - data/driver.list, drivers/tripplite-hid.c: add HP T750 INTL - (reported by KP Kirchdoerfer) + * NEWS, data/driver.list.in, docs/man/Makefile.am, docs/man/asem.txt, + docs/man/index.txt: asem: documentation + +2014-07-07 Giuseppe Corbelli + + * configure.ac, data/driver.list.in, drivers/Makefile.am, + drivers/asem.c: Support for ASEM UPS on Linux/i2c Patch from + http://article.gmane.org/gmane.comp.monitoring.nut.devel/6723 + Thread: http://news.gmane.org/find- + root.php?message_id=53A83FCB.1080808%40copanitalia.com Builds on + Ubuntu 12.10 and 14.04; requires libi2c-dev -Fri Feb 27 09:33:27 UTC 2009 / Arnaud Quette +2014-07-05 Charles Lepple + + * drivers/tripplite_usb.c: tripplite_usb: fix typos in bin2d() and + control_outlet() (0.27) + * drivers/tripplite_usb.c: tripplite_usb: control_outlet() for + protocol 3005 (0.26) + * drivers/tripplite_usb.c: tripplite_usb: Additional 3005 protocol + support (0.25) http://news.gmane.org/find-root.php?message_id=CAFe + iwyG8HCfg%2dQqxcwhnm1Yo0z0F0BLyOPCYX%2d4yMMFg8sB4QQ%40mail.gmail.co + m + * drivers/tripplite_usb.c: tripplite_usb: basic support for 3005 + binary protocol (0.24) Based on logs from SMART500RT1U + +2014-07-04 vesnn + + * drivers/powercom.c: Update powercom.c Fix Powercom Imperial + initialization for models since 2009 with USB interface. + +2014-06-23 Arnaud Quette + + * scripts/python/app/nut-monitor.appdata.xml: Create a FreeDesktop + AppData file for NUT Monitor appData files provide to users long + descriptions, screenshots and other useful information on + application. This will mainly serve for Software Center like + applications + +2014-06-19 Charles Lepple + + * data/driver.list.in: HCL: Lacerda New Orion 800VA with blazer_usb + http://news.gmane.org/find-root.php?message_id=CANDysWwqgTUMYU03QbP + T8JxEtLd38mvwfTMMhZqS%3d%2diGpdvJDA%40mail.gmail.com + +2014-06-17 Charles Lepple + + * data/driver.list.in: HCL: add APC-Microsol entry for solis + * drivers/solis.c: solis: silence clang warnings about extra + parentheses Since we're in the neighborhood (#133)... Typically, + the idiom is either: if ( a == b ) for equality checking, or: if + ( ( a = b ) ) for assignment with a comparison. + * drivers/solis.c, drivers/solis.h: solis: eliminate fixed-length + string buffer for model name The new APC model name overflows the + buffer. (#133) + +2014-06-16 bsalvador + + * drivers/solis.c: Update on solis.c to add more support to Back-UPS + 1200BR + * drivers/solis.c: Update solis.c to support Microsol-APC Unit. + Added support to Back-UPS 1200BR (Microsol-APC) unit. + +2014-06-15 Charles Lepple + + * docs/man/upscli_get.txt, docs/man/upscli_list_next.txt, + docs/man/upscli_list_start.txt: docs: synchronize upscli_* + numq/numa with header There were a few leftover signed int + parameters in the man pages, but the headers and implementation use + 'unsigned int'. Closes: + https://github.com/networkupstools/nut/issues/131 + * docs/man/solis.txt: docs: mention APC in Microsol driver man page + * docs/man/apcsmart.txt: docs: point APC Microsol users from apcsmart + to solis Also make some of the formatting and grammar self- + consistent. + * drivers/solis.c: solis: recognize APC BZ1200-BR and BZ2200BI-BR + (0.62) Patch suggested by Bruno Salvador for BZ1200-BR, and also + tested by Douglas A. Augusto on BZ2200BI-BR. Reference: * + http://forums.freenas.org/index.php?threads/nobreak-bz1200-br-back- + ups-rs-1200va-600w-bivolt-115-nt.20247/ * + http://news.gmane.org/find-root.php?message_id=CACu22%2d3Nn2R%3dQQe + 9uy%5fPXHRduaPaFgCp2Sw4ra57Ow2qDQcOJQ%40mail.gmail.com + +2014-06-08 Arnaud Quette + + * scripts/subdriver/gen-snmp-subdriver.sh: Inline documentation fixes + +2014-06-03 george + + * scripts/python/module/PyNUT.py: Fixed version description. + * scripts/python/module/PyNUT.py: Added author information, bumped + version. According to the semantic versioning scheme + (http://semver.org/), adding features that do not break backwards + compatibility with previous releases means that the minor version + number should be incremented. + * scripts/python/module/PyNUT.py: Change format of raise keyword. + Fixes PyNUT Python 3 compatibility. + * scripts/python/module/PyNUT.py: PyNUT: Create a custom exception + class. This maintains backwards compatibility, and allows calling + programs to use "except PyNUTError" instead of "except Exception" + when using PyNUT methods. See + https://wiki.python.org/moin/HandlingExceptions for more + information. + * scripts/python/module/PyNUT.py: Fix error when raising without an + Exception. Raising without a valid exception is invalid: >>> + raise Traceback (most recent call last): File "", line 1, in + TypeError: exceptions must be old-style classes or derived + from BaseException, not NoneType >>> raise Exception Traceback + (most recent call last): File "", line 1, in + Exception Changing this to "raise Exception" fixes this problem. + +2014-06-01 Charles Lepple + + * docs/man/tripplite_usb.txt, drivers/tripplite_usb.c: tripplite_usb: + last tweaks, for now. Initialize bv_12V to a dummy value, since + gcc can't see that it is used in the union of both conditionals + where it is set. Also, align the documentation with the strange + definition of empty used by the Tripp Lite state-of-charge + approximation. + * drivers/tripplite_usb.c: tripplite_usb: silence warning (0.23) + Pedantic, to be sure, but someone might try the driver with a + protocol not listed, and sure enough, bv_12V won't be initialized. + * docs/man/tripplite_usb.txt, drivers/tripplite_usb.c: tripplite_usb: + expose battery_min/_max as variables (0.22) + http://news.gmane.org/find- + root.php?message_id=21370.36829.817425.464627%40godel.bruda.ca + +2014-05-27 Charles Lepple + + * data/driver.list.in: HCL: GRAFENTHAL PR-3000-HS supported by snmp- + ups Tested with 2.6.5-3 (0.68) on Windows (IETF MIB 1.4). Some + NUT variables are zero - further testing may be needed. Reference: + http://news.gmane.org/find-root.php?message_id=75FC7A5479BA4A4E8ADF + 76BC3AD3E568581EC753%40MS03.MACLE.DE + +2014-05-23 Charles Lepple + + * drivers/tripplite_usb.c: tripplite_usb: use dv/dq charge + calculation for all models (0.21) + +2014-05-20 Andrew Burdo + + * drivers/powercom-hid.c: Add comments for some values. + * drivers/usbhid-ups.c: Reuse variable. + * drivers/usbhid-ups.c: Add default case. + +2014-05-18 Charles Lepple + + * scripts/upower/95-upower-hid.rules: upower: regenerate rules file + USB VID:PID = 10af:0004 This dependency graph makes my head spin. + * configure.ac: configure.ac: version to 2.7.2.5 for snapshots + +2014-05-13 Daniele Pezzini + + * drivers/compaq-mib.c: compaq-mib: comment out no longer used items + As per 31827d5faa86377efb7a92b7aec322cc4c7a275f + +2014-05-03 Daniele Pezzini + + * docs/download.txt: docs: add Void Linux in download/Binary packages + Reference: https://github.com/networkupstools/nut/issues/125 + +2014-05-03 Charles Lepple + + * docs/Makefile.am: docs: add mge-usb-rj45.jpg to distribution + +2014-05-02 Arnaud Quette + + * docs/images/cables/mge-usb-rj45.jpg: Add MGE information on USB- + RJ45 cable The illustration matching the previous commit was still + needed on the nut repository, and not on the nut-website on + * docs/cables.txt: Add MGE information on USB-RJ45 cable These + information were provided by MGE years ago, and were waiting for + counter testing. Martin De Graaf - Loyer has now fixed this. Note + that the matching illustration will be committed on the new nut- + website repository + +2014-04-29 Andrew Burdo + + * drivers/powercom-hid.c, drivers/usbhid-ups.c: Bump versions. + * data/driver.list.in, docs/man/usbhid-ups.txt: Update documentation. + * drivers/usbhid-ups.c: Reconnect on interrupt read error. + * drivers/libhid.c, drivers/libhid.h, drivers/powercom-hid.c, + drivers/usbhid-ups.c: Reading from the interrupt pipe implies that + you use INPUT flagged objects. + * drivers/powercom-hid.c: Remove erroneous status. + * drivers/powercom-hid.c: Comment non-compliant variables. + +2014-04-17 Andrew Burdo + + * drivers/libhid.c, drivers/libhid.h, drivers/powercom-hid.c, + drivers/usbhid-ups.c: Add support for 0d9f:0001 (USB HID, + Powercom). - - data/driver.list: add Mustek PowerMust 424 / 636 / 848 (USB) compatibility - with blazer_usb (reported by Vitaly Polyakov) +2014-04-17 Arnaud Quette -Fri Feb 27 09:07:05 UTC 2009 / Arnaud Quette + * NEWS, UPGRADING, configure.ac: Update for release 2.7.2 Complete + the release information for NUT 2.7.2 - - drivers/apcsmart.[ch]: add APC Matrix 5000, vintage 12/00 - (patch from Jarett Stevens) +2014-04-17 Stephen J. Butler -Tue Feb 17 22:00:01 UTC 2009 / Arnaud Quette + * drivers/tripplite-hid.c: Scale for SMART1500LCDT - - drivers/Makefile.am: Fix snmp-ups overlinking with lcrypto. - (Debian Lintian report) +2014-04-07 Arnaud Quette -2.4.1 + * drivers/compaq-mib.c: Fix erroneous status in HP/Compaq SNMP MIB + Using the most recent HP firmware (1.76), erroneous on-battery + status were reported. Also disable an erroneous low-battery + definition (pointing nowhere), while waiting for actual + improvements (report and patch from Philippe Andersson ; Closes + networkupstools/nut#117) -Mon Feb 16 17:41:32 UTC 2009 / Arnaud Quette +2014-04-06 Daniele Pezzini - - configure.in: 2.4.1 + * drivers/mge-xml.c: mge-xml: fix compile-time warnings, versioning -Mon Feb 16 16:13:47 UTC 2009 / David Goncalves +2014-04-05 Charles Lepple - - scripts/python/app/NUT-Monitor: Changed version from 1.0 to 1.1. Changed - the way NUT-Monitor deals with 'ups.status' var to better handle composite - status (OL + TRIM, OL + CHRG, ...) + * data/driver.list.in: HCL: Numeric Digital 800 plus USB VID:PID = + 0665:5161 Reference: networkupstools/nut#115 (blazer_usb @ 2.6.4; + waiting for confirmation with nutdrv_qx) + * data/driver.list.in: HCL: Eaton Powerware 3105 supported by + bcmxcp_usb Closes networkupstools/nut#117 + * data/driver.list.in, drivers/belkin-hid.c: usbhid-ups/belkin-hid: + add support for Emerson Network Power Liebert PSI 1440 USB VID:PID + = 10af:0004 + http://article.gmane.org/gmane.comp.monitoring.nut.user/8479 -Thu Feb 12 13:23:41 UTC 2009 / Arnaud Quette +2014-04-05 Arnaud Quette - - scripts/udev/Makefile.am, scripts/hal/Makefile.am, scripts/hotplug/Makefile.am, - Makefile.am: fix the autotools issue with the clean/distclean target removing - the USB helper files. + * drivers/al175.c: Fix data format warnings on all architectures + Complete commit 7daa0feb6ed4f1c29bfe14c8e491ba198a4ba643, and + actually fix some of the warnings related data format. Also bump + al175 driver revision + * clients/Makefile.am: Update libupsclient library version + information Following the recent export of libcommon functions in + libupsclient, update the library version information to 4:0:0 -Wed Feb 11 10:43:10 UTC 2009 / Kjell Claesson +2014-04-04 Arnaud Quette - - data/driver.list: Updated list with ups supported by microdowell driver. + * drivers/al175.c: Fix data format warnings Fix a few warnings + related data format, in debug code + * clients/Makefile.am: Add libnutclient library version information + Add the missing LDFLAGS for adding version information -Thu Feb 05 22:16:10 UTC 2009 / Kjell Claesson +2014-03-21 Arnaud Quette - - drivers/microdowell.c: Cleaned some of the code. Fixed reading of ups.conf variables. + * data/driver.list.in: [HCL] CABAC UPS-1700DV2 supported by + blazer_usb Reported by jammin84 Closes #113 + * clients/Makefile.am, common/Makefile.am: Link libupsclient with + libcommon Fix undefined references related to functions of + libcommon. This issue was reported on Debian: + https://bugs.debian.org/731156 (patch from Matthias Klose ; Closes + Github issue #73) -Wed Feb 04 15:01:20 UTC 2009 / Kjell Claesson +2014-03-18 Charles Lepple - - Added microdowell.c/h into drivers/. add man/microdowell.8. Adjusted - drivers/Makefile.am and man/makefile.am. Adjusted the code for 2.4.0 - in the microdowell.c. + * data/driver.list.in: [HCL] Digitus DN-170014 supported by + richcomm_usb Reference: + http://lists.alioth.debian.org/pipermail/nut- + upsdev/2014-March/006695.html -or- http://news.gmane.org/find-root. + php?message_id=CADq9dvWMx0xBz9XXkVKXCre4ox%2d2kSeHtD7LW39eEDH1RCY8s + Q%40mail.gmail.com -*** File trimmed here 28 January 2009 *** +2014-03-05 Charles Lepple -For entries before this point, start with version 2.4.1 and work back. + * UPGRADING: Added note about --enable-option-checking=fatal Closes + #99 (really) + +2014-03-05 Émilien Kia + + * scripts/Aix/nut-aix.spec.in: Make web source path independant from + specific version. + * scripts/Aix/nut-aix.spec.in: Use configure-dependant variables + instead of statically defined ones for user and group. + * configure.ac: Use $target_cpu instead of calling uname to know cpu + type. Fix crosscompilation. + +2013-06-14 Vaclav Krpec + + * scripts/Aix/nut-aix.spec.in, scripts/Aix/nut.init: AIX: packaging & + init script improvements (cherry picked from commit + ce195e3a2eff1abbd8e192f4d3e278017d7ffb21) + +2013-06-12 Vaclav Krpec + + * scripts/Aix/nut.init: Fixed client startup detection (cherry + picked from commit 23df5e811cc9008bfa0a37bd174b59890a3760a6) + * scripts/Aix/nut-aix.spec.in: Fixed AIX RPM specfile (cherry picked + from commit 11ba37bf36dcda0398c8c62fab838dd00e54c5db) + +2013-06-11 Vaclav Krpec + + * scripts/Aix/nut-aix.spec.in: Allow libneon-based XML driver & + scanning for AIX (cherry picked from commit + 4c2e89ec584b2015b22f4599d1571c26f2f94e3d) + +2013-06-10 Vaclav Krpec + + * clients/Makefile.am: Fix of AIX-specific parseconf linking bug + Added dummy do_upsconf_args to binaries that use libcommon to + satisfy the linker. libcommon links libparseconf, which calls + do_upsconf_args supplied from above as an implementation-specific + routine. (cherry picked from commit + 0078f9383d3a7af4f3edfed6c78de387a12c6b2b) + +2013-04-25 Vaclav Krpec + + * clients/Makefile.am, clients/upsclient.c, configure.ac: + linupsclient: NUT scanning on AIX bugfix 1/ A simmilar bug like in + Solaris is in AIX itself---non-blocking connect may return -1 while + errno == 0. Shall be treated as EINPROGRESS. 2/ Linking of + libupsclent.so on AIX requires libcommon, otherwise scanning for + NUT crashes with SIGSEGV on unresolved usplogx (cherry picked from + commit 16177f99bc995852bb86d2183958f24f11993632) + +2013-03-13 Vaclav Krpec + + * Makefile.am: AIX packages: make package does the trick (cherry + picked from commit 1d25bd2868339decace5b3028c834746f2824670) + +2013-03-12 Vaclav Krpec + + * scripts/Aix/nut-aix.spec.in, scripts/Aix/nut.init: AIX packaging: + nut-client uninstal bugfix Packages clean uninstallation + (lost/forgotten commit) (cherry picked from commit + f6dd1aec5d2157a3ba3654621fa8e2ac88b060f9) + +2013-03-08 Vaclav Krpec + + * clients/upsclient.c, configure.ac: Solaris/i386: non-blocking + connect WA (cherry picked from commit + d2b466b9ee5402074ccbf7f2967433350affdbcc) + +2013-03-04 Vaclav Krpec + + * Makefile.am, configure.ac, scripts/Aix/nut-aix.spec.in, + scripts/Aix/nut.init: AIX packaging AIX init script and RPM spec. + file added (cherry picked from commit + 3851525edcb417f96a5d1c12fb786b85095b54d4) + +2014-03-03 Charles Lepple + + * data/driver.list.in: HCL: various updates * Closes + https://github.com/networkupstools/nut/issues/107 + * http://lists.alioth.debian.org/pipermail/nut- + upsdev/2013-November/006564.html * http://news.gmane.org/find- + root.php?message_id=50D9D460.1080408%40gmail.com + * http://news.gmane.org/find-root.php?message_id=CA%2b4duQ%3dppW%2b + Pz%2bRVPVXJyFLj0HErh1ZOtm5tk8b6n5Nd5kSk0g%40mail.gmail.com * + http://news.gmane.org/find- + root.php?message_id=528EC53C.9000801%40me.com + * docs/nut-qa.txt: NUT QA document: updated and reworded + * docs/nut-qa.txt: NUT QA document: CR->LF + * docs/FAQ.txt: FAQ: minor updates Update the bestfortress entry, + fix the mythicbeasts URL, and reword a few entries. + +2014-02-13 Charles Lepple + + * docs/man/upsimage.cgi.txt: upsimage.cgi(8): update GD homepage + +2014-03-03 Émilien Kia + + * drivers/nutdrv_qx.h: Detect if TRUE (and FALSE) are already defined + and define bool_t accordingly. + +2014-02-27 Arnaud Quette + + * UPGRADING: Add a note on Hardware Abstraction Layer removal + * INSTALL.nut, autogen.sh, configure.ac, docs/Makefile.am, + docs/configure.txt, docs/developers.txt, docs/features.txt, + docs/macros.txt, docs/new-drivers.txt, docs/nut-hal.txt, + docs/packager-guide.txt, drivers/Makefile.am, drivers/dstate-hal.c, + drivers/dstate-hal.h, drivers/main-hal.c, drivers/main-hal.h, + m4/nut_check_libhal.m4, m4/nut_config_libhal.m4: Remove the + remaining HAL files and references Remove the remaining build + rules, source code and documentation related to the FreeDesktop + Hardware Abstraction Layer (HAL) support. For the record, with this + HAL implementation, NUT drivers were sending data over DBus + (Closes: #99) + +2014-02-24 Charles Lepple + + * drivers/blazer_usb.c, drivers/libusb.c, drivers/nutdrv_qx.c, + drivers/riello_usb.c, drivers/usbhid-ups.c: OpenBSD ports tree + patches for EPROTO Closes networkupstools/nut#44 + +2014-02-26 Arnaud Quette + + * scripts/Makefile.am, scripts/README, scripts/hal/.gitignore, + scripts/hal/Makefile.am, tools/nut-usbinfo.pl: Remove the + generation of HAL support files Remove the code supporting the + generation of HAL FDI file. This is the first commit of a set to + address Github issue #99 + * drivers/snmp-ups.c: Fix snmp-ups segmentation fault A basic sanity + check was missing in the core code of snmp-ups, causing a driver + crash under some specific circumstances, at driver initialisation + time. Hence, this does not affect production systems + * README, UPGRADING, docs/FAQ.txt, docs/config-notes.txt, + drivers/Makefile.am, scripts/Solaris/nut.in, + scripts/Solaris/postinstall.in, scripts/Solaris/preremove.in, + scripts/systemd/nut-driver.service.in, + scripts/systemd/nutshutdown.in: Closes #96: Install upsdrvctl to + $prefix/sbin Install upsdrvctl to $prefix/sbin rather than + $driverexec. upsdrvctl has been historically standing beside the + drivers. It now resides in the system binaries ($prefix/sbin) + directory + +2014-02-25 Arnaud Quette + + * drivers/mge-hid.c: Add improved support for Eaton 5P Add the + necessary hooks to improve support for Eaton 5P range. This + includes post-processing of the model name, along with handling + rules for battery voltage (actual and nominal) + +2014-02-19 Daniele Pezzini + + * docs/Makefile.am, docs/chunked.xsl, docs/common.xsl, + docs/xhtml.xsl: docs: prevent smartphones from being too smart + (docbook) Add HTML tag to not auto-create telephone number + links on mobile browsers also in docbook processed documents. + Reference: https://github.com/networkupstools/nut/issues/78 XSL + files source: - + https://github.com/asciidoc/asciidoc/blob/master/docbook- + xsl/common.xsl - + https://github.com/asciidoc/asciidoc/blob/master/docbook- + xsl/xhtml.xsl - + https://github.com/asciidoc/asciidoc/blob/master/docbook- + xsl/chunked.xsl + * docs/man/asciidoc.conf: docs: prevent smartphones from being too + smart Add HTML tag to not auto-create telephone number + links on mobile browsers. Reference: + https://github.com/networkupstools/nut/issues/78 + +2014-02-15 Arnaud Quette + + * docs/acknowledgements.txt: Update NUT team membership for Daniele + Pezzini Daniele Pezzini is a now a NUT senior developer + +2014-02-14 Arnaud Quette + + * docs/acknowledgements.txt, docs/website/news.txt: Formalizing the + end of the relationship with Eaton The situation of the + relationship with Eaton has evolved, and since 2011 Eaton does not + support NUT anymore. This may still evolve in the future. But for + now, please do not consider anymore that buying Eaton products will + provide you with official support from Eaton, or a better level of + device support in NUT. + +2014-02-14 Charles Lepple + + * Makefile.am: devd: use staging directory for distcheck + * drivers/Makefile.am, drivers/snmp-ups.c, drivers/xppc-mib.c, + drivers/xppc-mib.h: snmp-ups: add XPPC-MIB for Tripp Lite + SU10KRT3/1X + * scripts/subdriver/gen-snmp-subdriver.sh: gen-snmp-subdriver.sh: + documentation updates + +2014-02-10 Charles Lepple + + * scripts/subdriver/gen-snmp-subdriver.sh: gen-snmp-subdriver.sh: fix + option typos * Use '-M' for MIB directories, to match snmpwalk and + the help text. * Add space before '-c' in snmpwalk (not sure how + this worked before) + * scripts/Makefile.am: cosmetic: Indent scripts/Makefile.am + EXTRA_DIST continuation lines + * scripts/Makefile.am: Add gen-snmp-subdriver.sh to distribution + tarball + +2014-02-14 Arnaud Quette + + * docs/acknowledgements.txt: Update NUT team membership for Frédéric + Bohe Frederic Bohe, NUT senior developer and Eaton contractor from + 2009 to 2013, is now a retired member. Thanks for all the hard work + on the Windows port, nut-scanner, Unix packaging, support, ... Also + update the developers membership page, from Alioth to GitHub + +2013-02-24 Charles Lepple + + * autogen.sh, configure.ac, scripts/Makefile.am, + scripts/devd/.gitignore, scripts/devd/Makefile.am, + scripts/devd/README, tools/nut-usbinfo.pl: FreeBSD: generate + devd.conf files for USB UPSes This adds a --with-devd-dir=PATH + option to ./configure, which defaults to /usr/local/etc/devd (or + /etc/devd, whichever is found first). Unlike udev, there does not + seem to be a way to re-trigger rules at runtime. This means you + will likely need to unplug and replug your UPS after installing the + new nut-usb.conf file. + +2014-02-13 Arnaud Quette + + * .gitignore, server/.gitignore: Minor completion to gitignore files + Add a few more exotic targets, related to debug or official + distribution + +2014-02-11 Daniele Pezzini + + * .gitignore, clients/.gitignore, common/.gitignore, conf/.gitignore, + data/.gitignore, data/html/.gitignore, docs/.gitignore, + docs/man/.gitignore, docs/website/.gitignore, + docs/website/scripts/.gitignore, drivers/.gitignore, + include/.gitignore, lib/.gitignore, m4/.gitignore, + scripts/.gitignore, scripts/HP-UX/.gitignore, + scripts/Solaris/.gitignore, scripts/augeas/.gitignore, + scripts/avahi/.gitignore, scripts/hal/.gitignore, + scripts/hotplug/.gitignore, scripts/python/.gitignore, + scripts/systemd/.gitignore, scripts/udev/.gitignore, + scripts/ufw/.gitignore, server/.gitignore, tests/.gitignore, + tools/.gitignore, tools/nut-scanner/.gitignore: Simplify gitignore + files Remove redundancies and old/svn things. Limit the scope + wherever it makes sense. Ignore all cscope files and test logs. + Make ignoring generated files easier to maintain. + +2014-02-11 Charles Lepple + + * drivers/libshut.c: libshut: partially revert PnP/RTS change + Reported by Baruch Even. It is unclear how this will work after + running nut-scanner, but it is more important to keep the drivers + working. Reference: 65db105 / + 2013-09-24T08:18:00Z!fredericbohe@eaton.com Closes: + networkupstools/nut#91 + +2014-02-09 Daniele Pezzini + + * docs/man/nutdrv_qx.txt: nutdrv_qx: update manpage for the newly + supported Voltronic Power P98 units + * drivers/nutdrv_qx.c, drivers/nutdrv_qx_mecer.c, + drivers/nutdrv_qx_mecer.h: nutdrv_qx: improve support for + '(ACK/(NAK' and Voltronic Power P98 UPSes In 'mecer' subdriver's + claim function try to get protocol (QPI, for Voltronic Power + devices) used by the UPS: - supported devices are Voltronic Power's + P98 units - if the UPS doesn't support the QPI command, use its + reply to identify whether it uses '(ACK\r'/'(NAK\r' replies This + way we can catch '(ACK/(NAK' devices, while previously the 'mecer' + subdriver was 'hidden' by the 'megatec' (echo back/'ACK/NAK') one. + Plus Q1 units with 'ACK'/'NAK' replies or echoing back not + supported and rejected commands are no longer wrongly 'claimed' by + the 'mecer' subdriver. + +2014-02-03 Daniele Pezzini + + * docs/.gitignore, docs/Makefile.am, docs/documentation.txt: docs: + build PDF also for cables.txt + +2014-02-02 Daniele Pezzini + + * Makefile.am, configure.ac, docs/.gitignore, docs/Makefile.am, + docs/man/.gitignore, docs/man/Makefile.am, docs/stable-hcl.txt, + docs/user-manual.txt, docs/website/.gitignore, + docs/website/Makefile.am, docs/website/css/ie-overrides.css, + docs/website/css/web-layout.css, + docs/website/css/xhtml11-quirks.css, docs/website/css/xhtml11.css, + docs/website/faviconut.ico, docs/website/faviconut.png, + docs/website/news.txt, docs/website/old-news.txt, + docs/website/projects.txt, docs/website/scripts/.gitignore, + docs/website/scripts/filter_png.js, docs/website/scripts/jquery.js, + docs/website/scripts/nut_jquery.js, docs/website/scripts/toc.js, + docs/website/ups-protocols.txt, docs/website/web-layout.conf, + docs/website/website.txt, tools/Makefile.am, tools/nut-hclinfo.py: + website: move to a standalone website + +2014-01-18 Daniele Pezzini + + * docs/net-protocol.txt: docs: fix a couple of asciidoc errors in + net-protocols.txt + * server/netlist.c: net-protocol: fix closing line of LIST RANGE + +2014-01-16 Charles Lepple + + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: fix permissions-based + crash, and enable vendor variable (1.1) + +2014-01-13 Charles Lepple + + * .gitignore: Ignore cscope.out + * docs/man/.gitignore, docs/man/nutdrv_atcl_usb.txt, + drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: documentation and + logging (v1.0) + +2014-01-11 Charles Lepple + + * drivers/apc-mib.c: snmp-ups: APC SmartBoost and SmartTrim are OL + SmartBoost and SmartTrim are voltage regulation functions that + prevent the UPS from using the battery during brownouts and + overvoltages, so the BOOST and TRIM states are also mapped to OL. + Reference: + http://article.gmane.org/gmane.comp.monitoring.nut.devel/6583 + * data/driver.list.in: [HCL] MicroDowell B.Box LP 500: genericups + type 7 Closes networkupstools/nut#83 From @lxp: UPS shutdown + only works when on-battery and has a delay of about 1min until + execution (something between 50sec to 1min 30sec on mine). + References: http://www.ezdirect.it/pdf/lp500.pdf + https://forums.gentoo.org/viewtopic-t-730172-start-0.html + +2014-01-11 Daniele Pezzini + + * drivers/blazer_ser.c, drivers/blazer_usb.c: blazer: fix man page + references + +2014-01-11 Charles Lepple + + * docs/man/nutdrv_atcl_usb.txt, drivers/nutdrv_atcl_usb.c: + nutdrv_atcl: match iManufacturer (vendor) string + * docs/man/snmp-ups.txt: snmp-ups: update and edit documentation + +2014-01-11 Daniele Pezzini + + * data/driver.list.in: HCL: add Atlantis Land/Voltronic Power units + supported by nutdrv_qx + * drivers/nutdrv_qx_blazer-common.c, drivers/nutdrv_qx_blazer- + common.h: nutdrv_qx: fix nutdrv_qx_blazer-common.{c,h} header + comments + * docs/man/nutdrv_qx.txt, docs/nutdrv_qx-subdrivers.txt: nutdrv_qx: + update manuals for new 'voltronic-qs' subdriver + +2013-12-05 Daniele Pezzini + + * drivers/Makefile.am, drivers/nutdrv_qx.c, + drivers/nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_voltronic-qs.h: + nutdrv_qx: add Voltronic-QS subdriver (nutdrv_qx + protocol=voltronic-qs) A subdriver using a protocol, specific to + UPSes manufactured by Voltronic Power, based on the 'mustek' one + (i.e. 'QS'). + +2014-01-01 Charles Lepple + + * drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: adjusted logging and + retries (v0.02) + * data/driver.list.in, docs/man/Makefile.am, docs/man/index.txt, + docs/man/nutdrv_atcl_usb.txt: nutdrv_atcl_usb: man page and HCL + entries + +2013-12-31 Charles Lepple + + * drivers/.gitignore, drivers/Makefile.am, drivers/nutdrv_atcl_usb.c, + tools/nut-usbinfo.pl: nutdrv_atcl_usb: 'ATCL FOR UPS' new driver + Reference: http://news.gmane.org/find- + root.php?message_id=%3c52B4C54E.1050106%40ariwainer.com.ar%3e + * drivers/libusb.c, drivers/usb-common.h: Move USB_TIMEOUT to usb- + common.h + +2013-12-31 Laurent Bigonville + + * .gitignore, INSTALL => INSTALL.nut, Makefile.am, docs/FAQ.txt, + docs/Makefile.am, docs/configure.txt, docs/packager-guide.txt, + docs/user-manual.txt: Rename INSTALL to INSTALL.nut Rename it to + INSTALL.nut so autoreconf will not try to overwrite it. In Debian + tools like dh_autoreconf calls autoreconf with -f which overwrite + the INSTALL file. + +2013-12-27 Charles Lepple + + * scripts/subdriver/gen-usbhid-subdriver.sh: usbhid-ups: fix call to + is_usb_device_supported() The is_usb_device_supported() function + now takes a USBDevice_t* instead of a pair of USB ID values. + +2013-12-22 Florian Bruhin + + * data/driver.list.in, docs/man/powercom.txt, drivers/powercom.c: Add + OptiUPS VS 575C support to PowerCom Reference: + http://news.gmane.org/find- + root.php?message_id=%3c20131126085646.GM28832%40lupin%3e + +2013-12-11 Denis Yantarev + + * drivers/blazer_usb.c, drivers/nutdrv_qx.c: Fixed incorrectly + reported Ippon response length + +2013-11-30 Daniele Pezzini + + * docs/man/nutdrv_qx.txt, drivers/nutdrv_qx.c, + drivers/nutdrv_qx_blazer-common.c, drivers/nutdrv_qx_blazer- + common.h, drivers/nutdrv_qx_megatec-old.c, + drivers/nutdrv_qx_mustek.c, drivers/nutdrv_qx_q1.c: nutdrv_qx: fix + 'megatec/old' and 'mustek' subdrivers' claim functions Address, + for 'megatec/old' and 'mustek' subdrivers, the same problem fixed + in commit 720975f4de910b270ba705a7f2981c2ee33ca2eb for Q1-based + ones: - Make the claim function of 'megatec/old' and 'mustek' + subdrivers not poll the UPS for 'vendor' informations as they are + not really needed to set these protocols apart from the other ones + (i.e. the 'status' poll is specific enough, at the time of + writing). - Move common 'light' claim function to nutdrv_qx_blazer- + common.{c,h}. - Update manual. - Versioning. + +2013-11-24 Daniele Pezzini + + * docs/nutdrv_qx-subdrivers.txt: nutdrv_qx: improve developer manual + Get rid of useless tables. Fix minor errors/typos. + * drivers/nutdrv_qx.c: nutdrv_qx: versioning + * docs/man/nutdrv_qx.txt, docs/nutdrv_qx-subdrivers.txt: nutdrv_qx: + update manuals for new Q1 subdriver and improve readability + +2013-11-23 Daniele Pezzini + + * drivers/Makefile.am, drivers/nutdrv_qx.c, drivers/nutdrv_qx_q1.c, + drivers/nutdrv_qx_q1.h: nutdrv_qx: add new 'fallback' Q1 subdriver + Add new 'Q1' subdriver. This subdriver implements the same protocol + as the one used by the 'megatec' subdriver minus the vendor (I) and + ratings (F) queries. In the claim function: - it doesn't even try + to get 'vendor' informations (I) - it checks only status (Q1), + through 'input.voltage' variable Therefore it should be able to + work even if the UPS doesn't support vendor/ratings *and* the user + doesn't use the 'novendor'/'norating' flags, as long as: - the UPS + replies a Q1-compliant answer (i.e. not necessary filled with all + of the Q1-required data, but at least of the right length and with + not available data filled with some replacement character) - the + UPS reports a valid input.voltage (used in the claim function) - + the UPS reports valid status bits (1st, 2nd, 3rd, 6th, 7th are the + mandatory ones) This commit reintroduces a functionality of the + blazer subdrivers that was lost because now, in order to tell + whether a device is supported by a subdriver or not, if the user + doesn't call the driver with the 'novendor' flag, both the status + (Q1) and the vendor (I/FW?) queries are needed (that's to better + discern the subdrivers). Reference: + http://lists.alioth.debian.org/pipermail/nut- + upsuser/2013-November/008692.html + +2013-11-23 Charles Lepple + + * configure.in => configure.ac: Rename configure.in to configure.ac + autoconf has been warning about this for a while - let's fix it + before too many branches get created with the old name. + * configure.in: configure.in: bump version to 2.7.1.5 Some packaging + systems don't like the -pre# system. + +2013-11-21 Laurent Bigonville + + * docs/man/ups.conf.txt, docs/man/upsdrvctl.txt, drivers/upsdrvctl.c: + Provide retry options for upsdrvctl and driver(s) As recently seen + in Debian (bugs #694717 and #677143), it may be required to have + upsdrvctl retrying to start the driver in case of failure. More + specifically, a mix of init system (V and systemd), udev and USB + device(s) can result in the /dev entry not being available at + driver startup, thus resulting in a general failure to start NUT. + This commit provides at least a way to overcome this issue. A more + suitable solution will require more work on NUT design. This + patch if based on Arnaud Quette proposal + +2013-11-20 Arnaud Quette + + * Makefile.am: Maintainers targets: distribution signature / hashes + Create some handy targets to ease and automate release publication + +2013-11-19 Charles Lepple + + * configure.in: configure: update version to 2.7.1 + * docs/website/news.txt: news: add 2.7.1 release + * Makefile.am: ChangeLog: use full path to generator script + * docs/website/projects.txt: website: update related project links + +2013-11-18 Arnaud Quette + + * NEWS: Minor reordering of the news + +2013-11-18 Kirill Smelkov + + * MAINTAINERS, docs/man/.gitignore, docs/man/Makefile.am, + docs/man/al175.txt, docs/man/index.txt, docs/man/nutupsdrv.txt, + docs/new-drivers.txt, drivers/Makefile.am, drivers/al175.c: al175: + updated driver, please restore it Back in 2005 I was young and + idealistic, that's why you finally marked al175 as 'broken', but + now I understand your points (some) and that in NUT you need good + portability. So this time I've checked that al175 compiles with + CC="gcc -std=c89 -pedantic", and CC="gcc -std=c99 -pedantic" Also, + I've tried to clean-up the driver based on feedback from 2009, but + unfortunately I no longer have hardware to test and will not have + any in foreseable future, so the driver was reworked to meet the + project code quality criteria, without testing on real hardware. + Some bugs may have crept in. Changes since last posting in 2009: + - patch rebased on top of current master (v2.6.5-400-g214c442); - + added reference to COMLI communication protocol document; - status + decode errors go to log, instead of setting non-conformant status + like "?T", "?OOST", etc. For such errors new loglevel is + allocated; - "High Battery" status is back; - converted tracing + macros to direct use of upsdebugx and numbers 1,2,3,4 for loglevels + as requested (but now lines got longer because of explicit __func__ + usage); - lowered usage of other macros (e.g. REVERSE_BITS + inlined); - alarm(3) is not used anymore - instead whole I/O + transaction time budget is maintained manually; - man page + converted to asciidoc and supported variables list is merged into + it; - upsdebug_ascii moved to common.c and to separate patch. + ~~~~ Changes since al175 was removed from NUT tree in 2008: - + alloca was eliminated through the help of automatic variables - + debugging/tracing were reworked to (almost always) use NUT builtins + - al175 now uses 3 debug levels for (1=user-level info, 2=protocol + debugging, 3=I/O tracing) - rechecked + http://eu1.networkupstools.org/doc/2.2.0/developers.html and + applied where apporpiate Also > This driver does not support + upsdrv_shutdown(), which makes > it not very useful in a real world + application. This alone > warrants 'experimental' status, but for + the below mentioned > reasons (to name a few), it's flagged + 'broken' instead. Yes, at present shutdown is not supported, and + unfortunately now I don't have AL175 hardware at hand, so that I + can't write it and verify the implementation. I've marked the + driver as DRV_EXPERIMENTAL, although it was tested by us as part of + our systems to work OK for more than three years in production + environment on ships (and we don't need shutdown there -- in + critical situations the system has to operate as long as possible, + untill the battery is empty) Also, all of the previous issues + listed below are now fixed in this al175 version: - ‘return’ with + a value, in function returning void (2x) - anonymous variadic + macros were introduced in C99 - C++ style comments are not allowed + in ISO C90 - ISO C forbids braced-groups within expressions (5x) - + ISO C90 forbids specifying subobject to initialize (16x) - ISO C99 + requires rest arguments to be used (18x) Yes, "All the world is + not an x86 Linux box," and I've tried to make all the world happy. + Please apply. Thanks, Kirill. + * common/common.c, docs/developers.txt, include/common.h: common: + upsdebug_ascii() - to dump a message in ascii For debugging ASCII- + based protocols with control characters (e.g. COMLI) it is handy to + dump messages not in hex, but in ascii with human readable codes. + Add utility function to do it. + +2013-11-17 Charles Lepple + + * docs/man/.gitignore, drivers/.gitignore: apcupsd-ups: ignore + generated files + * drivers/apcupsd-ups.c: apcupsd-ups: fix cut-n-paste error + * drivers/apcupsd-ups.c: apcupsd-ups 0.04: use O_NONBLOCK instead of + FIONBIO + * NEWS, docs/man/index.txt: apcupsd-ups: add NEWS and man page link + * UPGRADING: Mention upsrw output change. + * docs/man/nut-recorder.txt: Reword nut-recorder man page + * UPGRADING: UPGRADING: link to man pages for changed drivers + * configure.in: Bump version to 2.7.1-pre2 + * NEWS, UPGRADING: Update NEWS and UPGRADING for 2.7.1 Closes: + networkupstools#37 + * data/driver.list.in: HCL: StarPower PCF-800VA Reported by Don. + Reference: http://news.gmane.org/find-root.php?message_id=%3cCAPO%2 + bLDnApF3ALNfp%5fwaVpHqSuJ9sajKCKXPXLLsAWUWww7Of%3dw%40mail.gmail.co + m%3e + * data/driver.list.in: HCL: Atlantis Land A03-P551(V1.2) supported by + blazer_usb Reported by Giovanni Panozzo. Reference: + http://news.gmane.org/find- + root.php?message_id=%3c51B76B0C.1080109%40panozzo.it%3e Note that + blazer_usb will eventually be replaced by nutdrv_qx. + * clients/nutclient.h, clients/upsclient.c, + conf/upsmon.conf.sample.in, configure.in, docs/FAQ.txt, + docs/man/libnutclient.txt, docs/man/libnutclient_general.txt, + docs/man/upsmon.conf.txt, docs/security.txt, drivers/powerman- + pdu.c, server/netssl.c: Replace 'connexion' with 'connection' in + English contexts Also reworded a few phrases surrounding the + replacements. + * docs/man/.gitignore: asciidoc: ignore all generated blazer*.html + files + * data/driver.list.in: HCL: update CyberPower entries, including + CP900AVR Reported by Craig Duttweiler Reference: + http://news.gmane.org/find- + root.php?message_id=%3c51295F86.4080601%40twistedsanity.net%3e + * docs/stable-hcl.txt: GitHub issues can also be used to report HCL + updates + * docs/website/projects.txt: Update links to related projects + * docs/download.txt: Update download page * Re-added link to + Buildbot snapshot generator * Updated a few links + +2013-11-13 Daniele Pezzini + + * docs/man/.gitignore, drivers/.gitignore: Add nutdrv_qx to + .gitignore files and remove voltronic from them + +2013-11-12 Charles Lepple + + * docs/man/Makefile.am: a2x: use --destination-dir This option seems + to work now. Previously, Asciidoc source files were copied to the + destination directory, but this did not account for included files. + +2013-11-12 Daniele Pezzini + + * docs/man/nutdrv_qx.txt: nutdrv_qx: fix cross links in manpage + Remove links to voltronic manuals. Fix links to blazer manuals. + +2013-11-12 Charles Lepple + + * .gitignore: git: ignore test-driver, and sort ignores list test- + driver is apparently part of automake, generated for libcpp unit + tests. + +2013-11-10 Charles Lepple + + * docs/man/Makefile.am: Include blazer-common.txt in built tarball + +2013-11-10 Daniele Pezzini + + * clients/upsrw.c: upsrw: publish also the maximum length of STRING + rw variables + +2013-11-09 Daniele Pezzini + + * docs/website/scripts/nut_jquery.js: HCL: Improve readability of + nut_jquery.js + * docs/website/scripts/nut_jquery.js: HCL: make support-level filter + show items with a 'higher or equal' level Reference: https://githu + b.com/networkupstools/nut/issues/48#issuecomment-28134135 + * data/driver.list.in: nutdrv_qx: readd HCL's items lost with the + revert of the voltronic merge + * data/driver.list.in: nutdrv_qx: remove superfluous indications from + the HCL + * data/driver.list.in, docs/Makefile.am, docs/man/Makefile.am, + docs/man/index.txt, docs/man/{blzr.txt => nutdrv_qx.txt}, + docs/man/nutupsdrv.txt, docs/new-drivers.txt, ...lzr-subdrivers.txt + => nutdrv_qx-subdrivers.txt}, drivers/Makefile.am, drivers/{blzr.c + => nutdrv_qx.c}, drivers/{blzr.h => nutdrv_qx.h}, ...r_blazer- + common.c => nutdrv_qx_blazer-common.c}, ...r_blazer-common.h => + nutdrv_qx_blazer-common.h}, drivers/{blzr_mecer.c => + nutdrv_qx_mecer.c}, drivers/{blzr_mecer.h => nutdrv_qx_mecer.h}, + ...{blzr_megatec-old.c => nutdrv_qx_megatec-old.c}, + ...{blzr_megatec-old.h => nutdrv_qx_megatec-old.h}, + drivers/{blzr_megatec.c => nutdrv_qx_megatec.c}, + drivers/{blzr_megatec.h => nutdrv_qx_megatec.h}, + drivers/{blzr_mustek.c => nutdrv_qx_mustek.c}, + drivers/{blzr_mustek.h => nutdrv_qx_mustek.h}, + .../{blzr_voltronic.c => nutdrv_qx_voltronic.c}, + .../{blzr_voltronic.h => nutdrv_qx_voltronic.h}, + drivers/{blzr_zinto.c => nutdrv_qx_zinto.c}, drivers/{blzr_zinto.h + => nutdrv_qx_zinto.h}, tools/nut-usbinfo.pl: nutdrv_qx: rename + 'blzr' driver to 'nutdrv_qx' Reference: + http://lists.alioth.debian.org/pipermail/nut- + upsdev/2013-November/006555.html + * docs/stable-hcl.txt, docs/website/css/web-layout.css: Address Issue + #48 (text-based browsers) Reference: https://github.com/networkups + tools/nut/issues/48#issuecomment-28107101 + +2013-11-08 Arnaud Quette + + * docs/website/projects.txt: Cleanup NUT related projects + +2013-10-25 Daniele Pezzini + + * drivers/blazer.c: blazer: Support UPSes that reply '(ACK' when an + instant command succeeds + * drivers/blazer.c: blazer: Fix a discrepancy in the handling of + instant commands Check if the reply we got back from the UPS is + 'ACK' also for the commands stored in the array. + +2013-10-17 Daniele Pezzini + + * docs/man/blazer-common.txt: blazer: Cosmetic changes + * drivers/blazer_ser.c, drivers/blazer_usb.c: blazer: Fix + blazer_{ser,usb} + TESTING Those things are useless when TESTING + is defined + * docs/man/blazer-common.txt: blazer: Fix user manuals + {Serial,USB}-specific sections belong to 'Extra arguments' section + * drivers/blazer_ser.c, drivers/blazer_usb.c: blazer: Versioning + * drivers/blazer.c: blazer: Add more log infos in instcmd + +2013-10-16 Daniele Pezzini + + * docs/man/Makefile.am, docs/man/{blazer.txt => blazer-common.txt}, + docs/man/blazer_ser.txt, docs/man/blazer_usb.txt, + docs/man/index.txt, docs/man/nutupsdrv.txt: blazer: Fix {usb,ser} + manual Split the old blazer manual in two manuals named after + their executables with a common source. + * docs/man/blazer.txt: blazer: Fix user manual Fix minor errors Add + ranges Fix test.battery.start (i.e. minutes instead of seconds) + * drivers/blazer.c: blazer: Fix shutdown sequence Split stop pending + shutdown and shutdown itself so that if we have problems stopping + the shutdown (e.g. there's no shutdown pending and the UPS, because + of that, echoes back the command) we can still shutdown the UPS. + * drivers/blazer.c: blazer: Fix minor error in battery guesstimation + We need both battery.voltage.low and battery.voltage.high to + 'guesstimate' the battery charge + * drivers/blazer.c: blazer: Fix test.battery.start T00 doesn't make + any sense: the range should be 01-99 minutes + * drivers/blazer.c: blazer: Fix shutdown.return 'SnR0000' is meant + to put the UPS down and not return 'Sn' should be used instead when + ondelay is 0 + * drivers/blazer.c: blazer: Fix shutdown delay 'offdelay' as used by + this driver is meant to be in the .2-.9 (12..54 seconds) and 01-10 + (60..600 seconds) range. + +2013-11-03 Charles Lepple + + * data/driver.list.in, docs/man/.gitignore, docs/man/Makefile.am, + docs/man/index.txt, docs/man/voltronic_ser.txt, + docs/man/voltronic_usb.txt, drivers/Makefile.am, + drivers/voltronic.c, drivers/voltronic.h, drivers/voltronic_ser.c, + drivers/voltronic_usb.c, tools/nut-usbinfo.pl: Revert "Merge branch + 'voltronic-driver'" This reverts commit + de07fc7f5e7f68b91507b2bf3d4d3b92b774c3ed, reversing changes made to + a074844f88ca352780dd881b5fa3c435832d165e. The voltronic + funtionality will be a subdriver of the new blazer driver. + +2013-11-04 Daniele Pezzini + + * drivers/blzr_voltronic.c: blzr: Fix log message + * drivers/blzr_voltronic.c: blzr: Fix compile-time error Reference: + http://lists.alioth.debian.org/pipermail/nut- + upsdev/2013-November/006549.html + +2013-10-25 Daniele Pezzini + + * drivers/blzr.c: blzr: Cosmetic changes + * drivers/blzr_megatec-old.c, drivers/blzr_megatec.c, + drivers/blzr_mustek.c, drivers/blzr_zinto.c: blzr: Remove + duplicates in the testing struct + +2013-11-04 Daniele Pezzini + + * drivers/blzr_blazer-common.c, drivers/blzr_blazer-common.h: blzr: + Fix blzr_blazer-common.{c,h} header comments + +2013-10-25 Daniele Pezzini + + * docs/blzr-subdrivers.txt, docs/man/blzr.txt, drivers/Makefile.am, + drivers/blzr.c, drivers/blzr_mecer.c, drivers/blzr_mecer.h: blzr: + Add Mecer subdiver (blzr protocol=mecer) A subdriver covering an + idiom similar to the one used by the megatec subdriver, but with + these peculiarities: - if a command/query is rejected or invalid, + the UPS will reply '(NAK\r' - if a command succeeds, the UPS will + reply '(ACK\r' + +2013-10-17 Daniele Pezzini + + * docs/blzr-subdrivers.txt: blzr: Improve developer manual Add note + on how to group items in blzr2nut array. + * drivers/blzr_voltronic.c: blzr: Fix switch/case Forgot to break at + the end of the case + * docs/man/blzr.txt, drivers/blzr.c, drivers/blzr_voltronic.c: blzr: + Cosmetic changes + +2013-10-16 Daniele Pezzini + + * data/driver.list.in, docs/Makefile.am, docs/blzr-subdrivers.txt, + docs/man/Makefile.am, docs/man/blzr.txt, docs/man/index.txt, + docs/man/nutupsdrv.txt, docs/new-drivers.txt, drivers/Makefile.am, + drivers/blzr.c, drivers/blzr.h, drivers/blzr_blazer-common.c, + drivers/blzr_blazer-common.h, drivers/blzr_megatec-old.c, + drivers/blzr_megatec-old.h, drivers/blzr_megatec.c, + drivers/blzr_megatec.h, drivers/blzr_mustek.c, + drivers/blzr_mustek.h, drivers/blzr_voltronic.c, + drivers/blzr_voltronic.h, drivers/blzr_zinto.c, + drivers/blzr_zinto.h, drivers/dstate-hal.c, drivers/dstate-hal.h, + tools/nut-usbinfo.pl: blzr: New driver 'blzr' New driver for Q* + UPSes. Based on blazer, usbhid-ups and voltronic driver. This + might address Issue #25 + +2013-11-04 Charles Lepple + + * include/Makefile.am: nut_include.h: fail gracefully if git fails + Fix proposed by Jim Klimov. + +2013-11-03 Charles Lepple + + * docs/stable-hcl.txt: HCL: typos + * data/driver.list.in, docs/stable-hcl.txt: HCL: minor cleanup + Remove a duplicate Tripp Lite entry, and add a missing "a". + * docs/stable-hcl.txt: HCL documentation: reword + * data/driver.list.in, docs/acknowledgements.txt: HCL: incorporate + Tripp Lite test results Source: + http://article.gmane.org/gmane.comp.monitoring.nut.user/8173 + * docs/Makefile.am, docs/website/Makefile.am: HCL: additional + dependencies Apparently still not complete, though. + * docs/website/scripts/nut_jquery.js: HCL JavaScript: make key case- + insensitive Also special-case the spelling change for Tripp Lite. + TODO: make the value matching case-insensitive as well. + * docs/website/scripts/nut_jquery.js: HCL JavaScript: update the USB- + matching code Slightly more accurate, but later on we should + really track the connection type as a first-class attribute for + each entry in the HCL. Matching the driver name is brittle. + * docs/website/scripts/nut_jquery.js, tools/nut-hclinfo.py: HCL + generation: don't combine driver names The Python and JavaScript + code for generating the HCL was combining adjacent drivers even + when the support level was different. This clutters up the driver + list a bit, but presents a more accurate picture of support levels. + +2013-10-28 Michal Soltys + + * docs/man/apcsmart.txt: apcsmart: minor man update A short note + about availabilty of apcsmart-old. + * docs/man/apcsmart.txt, drivers/apcsmart.c, drivers/apcsmart.h: + apcsmart: string/comment/text trivial changes + +2013-10-27 Charles Lepple + + * tools/nut-scanner/nutscan-device.c: [nut-scanner] Remove unused + variable + +2013-10-18 Vaclav Krpec + + * tools/nut-scanner/nutscan-device.c, tools/nut-scanner/nutscan- + device.h, tools/nut-scanner/nutscan-display.c, tools/nut- + scanner/scan_nut.c: Nutscan fix and enhancement Closes #60 (GitHub + Pull Request via fbohe) + * docs/man/netxml-ups.txt, drivers/mge-xml.c, drivers/mge-xml.h, + drivers/netxml-ups.c: netxml: added RW access, fixed FSD/shutdown + duration bugs, etc. * Fixed bugs in resolution of FSD condition + and computation of shutdown duration. * Added System.* UPS + variables. * Enabled RW access to appropriate UPS variables. * + Added UPS veriables value convertors. * Added support for XML + protocol v3 {GET|SET}_OBJECT query implementing getvar and setvar + routines. * netxml driver man page updated to include info about + the driver-specific configuration parameters. Closes #59 (GitHub + pull request: "Enhancement for netxml driver") Pull request by: + Frédéric BOHE + * clients/upsc.c, clients/upscmd.c, clients/upslog.c, + clients/upsrw.c: Fix AIX linkage of do_upsconf_args() Closes #58 + (GitHub pull request "Fix AIX build") (cherry picked from commit + 5fc7518f97d2738d791c3c77f2257d05e3a9da3b) + +2013-10-26 Charles Lepple + + * configure.in: Define _REENTRANT for all Solaris and AIX platforms. + This is essentially the final commit in pull request #39. + +2013-10-24 Frédéric BOHE + + * drivers/mge-hid.c: Fix wrong OFF status reported when on battery. + UPS.BatterySystem.Charger.PresentStatus.Used is not related to UPS + outputs being on or off but rather to the charger being on or off. + +2013-10-16 Daniele Pezzini + + * scripts/python/Makefile.am, scripts/python/app/gui-1.3.glade, + .../app/locale/it/LC_MESSAGES/NUT-Monitor.mo, + scripts/python/app/locale/it/it.po, scripts/python/app/nut- + monitor.desktop: Add italian translation + * scripts/python/app/locale/fr/fr.po: Add source of french + translation + * scripts/python/app/gui-1.3.glade.h, scripts/python/app/locale/NUT- + Monitor.pot: Add translation sources + +2013-10-16 Frédéric BOHE + + * drivers/powerware-mib.c, drivers/snmp-ups.c, drivers/snmp-ups.h: + Fix Low Battery detection with ConnectUPS cards The low battery + OID itself cannot be read directly. Low battery alarms OID appears + in an alarm array. + +2013-10-02 Arnaud Quette + + * data/driver.list.in: [HCL] Add support for Eaton 5S Add Eaton 5S + (USB ID 0x0463:0xffff) to the list of usbhid-ups supported models + (reported by Matt Ivie) + +2013-10-02 Frédéric BOHE + + * data/driver.list.in: [HCL] update Eaton UPS + +2013-09-30 Frédéric BOHE + + * drivers/libshut.c: Increment driver revision + +2013-09-28 Alf Høgemark + + * drivers/bcmxcp.c: bcmxcp: Fix handling of date and time format The + date and time bytes are packed BCD, so it must be properly decoded. + The check for the Julian or Month:Day format was wrong Info on + format taken from http://old.networkupstools.org/protocols/eaton/XC + P_Rev_C1_Public_021309.pdf + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for some + more meters and one more command Add mapping for + PW_SET_TIME_AND_DATE command. Add mapping for input.bypass.voltage, + input.bypass.L1-N.voltage, input.bypass.L2-N.voltage, + input.bypass.L3-N.voltage. Add mapping for input.bypass.frequency. + Add mapping for ups.power.nominal if provided as meter, it was + previously only set on init. Change mapping for ups.realpower for + single phase. Tested on Eaton PW9130. + * drivers/bcmxcp.c: bcmxcp: Remove newline on debug output for + outlets + +2013-09-24 Frédéric BOHE + + * drivers/libshut.c, tools/nut-scanner/scan_eaton_serial.c: Change + RTS init level for PnP devices Setting RTS line to 1 disturbs + communication with some devices using serial plug and play feature. + So we need to initialize it to 0. + +2013-09-07 Arnaud Quette + + * data/driver.list.in: Add support for Forza FX-1500LCD Add Forza + FX-1500LCD (USB ID 0x0665:0x5161) to the list of blazer_usb + supported models (reported by Gabor Tjong A Hung) + * data/driver.list.in: Add Schneider APC AP9630 SNMP management card + Add Schneider APC AP9630 SNMP management card to the list of snmp- + ups supported models. Note that it requires the option + "privProtocol=AES" to work (reported by Tim Rice) + * drivers/.gitignore: Git ignore drivers/voltronic_{ser,usb} Add + drivers/voltronic_{ser,usb} to the list of Git ignored files + +2013-08-28 Charles Lepple + + * packaging/RedHat/.gitignore, packaging/debian/.gitignore, + packaging/mandriva/.gitignore, packaging/opensuse/.gitignore: + Remove .gitignore files from long-gone packaging directory. + +2013-08-28 Daniele Pezzini + + * docs/website/css/web-layout.css: Improve CSS readability + * docs/stable-hcl.txt, docs/website/css/web-layout.css: Address Issue + #48 Move legend out of filters' block. (HTML+CSS) + +2013-08-10 Alf Høgemark + + * drivers/bcmxcp.c: bcmxcp: Add instcmd for system test capabilities + based on what UPS support + +2013-08-09 Alf Høgemark + + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Code restructure, + declare variables at top of method After re-reading code style, + compiled with -pedantic, and got some warnings, so moved variable + declarations to the top of methods + * drivers/bcmxcp.c, drivers/bcmxcp_io.h, drivers/bcmxcp_ser.c, + drivers/bcmxcp_usb.c: bcmxcp: Reformat code, remove tabs in the + middle of lines. No code changes After re-reading the developer + code style guide, use spaces and not tabs in the middle of lines to + align text + * drivers/bcmxcp.h: bcmxcp: Reformat code, remove tabs in the middle + of lines. No code changes After re-reading the developer code + style guide, use spaces and not tabs in the middle of lines to + align text + * drivers/bcmxcp.c: bcmxcp: Refactor code, use if-else if rather than + 4 if statements + +2013-08-08 Alf Høgemark + + * drivers/bcmxcp.c: bcmxcp: Add parameter to nut_find_infoval to + control debug output We do not want debug output if + nut_find_infoval does not find a mapped value in all cases. For + example, when a command byte is not mapped to a instcmd, we do not + want debug output. + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Remove + PW_UPDATE_POWER_SOURCE_STATUS_COMMAND, it seems very unlikely to be + used + * drivers/bcmxcp.h: bcmxcp: Cosmetic changes constant definitions. No + code changes. + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Use command map to + control which instcmd are supported Use the command map info + retrieved from UPS to list all commands supported by the UPS at + debug level 2. Use the info from command map to set up which + instcmd the UPS supports. + * drivers/bcmxcp.c: bcmxcp: Use info_lkp_t structure for mapping + topology info Make code simpler by using the info_lkp_t structure + for mapping value from topology block to text presented to user as + ups.description + * drivers/bcmxcp.c: bcmxcp: Cosmetic commentary fixes and remove some + empty lines. No code changes + * drivers/bcmxcp.c: bcmxcp: Output unsupported alarms on debug level + 3, not level 2 The supported alarms in alarm map is outputted at + debug level 2. The unsupported alarms should be outputted at debug + level 3, it is not that interesting. Also remove debug outputted + empty line after table heading line for meter map and alarm map. + * drivers/bcmxcp.c: bcmxcp: Refactor code for setting which alarms + are supported, to avoid code duplication Refactor the code which + checks the alarm map for supported alarms, by making a new method + which checks the alarm bit to see if the alarm is supported. + * drivers/bcmxcp.c: bcmxcp: Only include ups.serial and device.part + if they have a value Only set info about ups.serial and + device.part if the UPS actually report useful info for these. + Remove the handling of space characters as meaning string + termination for ups.serial, this is not done for part number, and + according to bcmxcp spec are these both 16 byte ascii text + messages. Move Nominal output frequence handling up, placing it + just below Nominal output voltage + +2013-08-04 Charles Lepple + + * docs/man/index.txt, docs/man/voltronic_ser.txt, + docs/man/voltronic_usb.txt: voltronic* documentation updates - Add + to man page index - Reword a few sections - Fix typos - Comment out + USB section in voltronic_ser.txt Long-term, we should probably + figure out a better way to maintain two parallel driver pages like + this. The blazer man page is the same for both, with .so links for + the man pages, but then you have USB info in a serial driver page. + For now, voltronic_usb.txt is just a copy of voltronic_ser.txt with + a few _ser-to-_usb replacements. + +2013-08-01 Daniele Pezzini + + * drivers/voltronic.c: Get rid of 'god.knows' variables + +2013-07-26 Arnaud Quette + + * drivers/powercom-hid.c: Forgotten subdriver version bump + +2013-07-25 Arnaud Quette + + * docs/man/upsc.txt, docs/man/upscmd.txt, docs/man/upsrw.txt: + Complete upsclient commands usage note Add a note for scripting + usage, for upsc, upscmd and upsrw, to state the obvious: only + consider the output from stdout for data requested. stderr may + contain error messages, which can disrupt your script execution. + Address the second task and closes Github issue #30 + * clients/upsclient.c: Fix a minor regression in upsclient output + NSS support has introduced a minor regression in upsclient output. + Clients such as upsc, upscmd and upsrw were particularly affected. + This patch restores a default behavior similar to prior versions. + However, "-v" option remains to be implemented. Address the first + task of Github issue #30 + +2013-07-24 Charles Lepple + + * docs/website/web-layout.conf: Add GitHub link to website sidebar + +2013-07-24 Frédéric BOHE + + * configure.in: Fix wrong errno reported by connect on Solaris + Closes issue #43 + * clients/upsclient.c: Fix connect in multi-threaded environnement on + AIX Closes issue #42 + +2013-07-23 Frédéric BOHE + + * clients/upsclient.c: Fix nut-scanner crash on nut server scan, + upscli_sslinit calls upscli_readline which might calls + upscli_disconnect in case of error. upscli_disconnect frees + ups->host and set it to NULL, so it is illegal to use ups->host + after a call to upscli_sslinit. + +2013-07-23 Charles Lepple + + * clients/Makefile.am: Revert "Fix connect in multi-thread + environnement on Solaris" This reverts the previous commit. It + overwrites the CFLAGS which specifies one of the key include + directories. + +2013-07-23 Frédéric BOHE + + * clients/Makefile.am: Fix connect in multi-thread environnement on + Solaris + * tools/nut-scanner/nutscan-device.c, tools/nut-scanner/nutscan- + device.h, tools/nut-scanner/scan_avahi.c, tools/nut- + scanner/scan_eaton_serial.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: + [nut-scanner] Make sure to return the first device of the list. + +2013-07-22 Charles Lepple + + * docs/download.txt: Download information: reference Git + * configure.in: Bump NUT version to 2.7.1-pre1 + +2013-07-21 Charles Lepple + + * include/Makefile.am: nut_version.h: trim tag characters through + first slash + +2013-04-27 Charles Lepple + + * include/Makefile.am: nut_version.h: remove SVN plumbing This + should eliminate the "Unversioned directory" message. The source of + the version information is also listed in nut_version.h Closes + Github issue #15 + +2013-07-16 Sven Putteneers + + * scripts/python/app/NUT-Monitor: NUT-Monitor: parse battery.runtime + as float Without this patch, I get a flood of "Invalid literal for + int with base 10: '28500.00" errors. http://news.gmane.org/find- + root.php?message_id=%3c51E54B99.9030908%40gmail.com%3e + +2013-07-10 Arnaud Quette + + * docs/website/news.txt, docs/website/projects.txt: Reference walNUT + Gnome Shell extension + +2013-07-09 Charles Lepple + + * drivers/riello_ser.c, drivers/riello_usb.c: riello: suppress some + warnings about %lu versus %u + +2013-07-09 Elio Parisi + + * drivers/riello.h, drivers/riello_ser.c, drivers/riello_usb.c: + riello: whitespace fixes, and read nominal values only once Bumped + driver versions to 0.02 + +2013-07-07 Alf Høgemark + + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add support for reading + topology map and setting ups.description based on it + * drivers/bcmxcp.c: bcmxcp: Initialize variables in + calculate_ups_load method + * drivers/bcmxcp.c: bcmxcp: Output more info hardware capabilities in + debug mode Add some more debug output on driver init, to let us + know what the hardware support. Outputs length of alarm history + log, topology block length and maximum supported command length. + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for + input.quality to meters + * drivers/bcmxcp.c: bcmxcp: Add Alf Høgemark as one of the authors + for the driver + * drivers/bcmxcp.c: bcmxcp: Only calculate ups.load if the UPS does + not report it directly If the UPS does not report a meter mapped + to ups.load, we try to calculate the ups.load, but we do not + calculate it if the UPS can report the ups.load directly + * drivers/bcmxcp.c: bcmxcp: Use defined constants in setvar, and + handle BCMXCP_RETURN_ACCEPTED_PARAMETER_ADJUST Use the defined + constants from header file, instead of magic numbers in setvar + method. Add handling of BCMXCP_RETURN_ACCEPTED_PARAMETER_ADJUST. + Report upsdrv_comm_good on successful execution of setvar to UPS. + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add handling of + BCMXCP_RETURN_ACCEPTED_PARAMETER_ADJUST and others in ACK block + Add support for handling more return statuses when exeucting + commands, the most important being + BCMXCP_RETURN_ACCEPTED_PARAMETER_ADJUST, which means the command + was executed. The others added all handles cases where command was + not executed, but you now get a more detailed entry in log as to + why it was not executed. + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for + output.L.power to meters Not tested on hardware, due to + lack of hardware supporting it + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for + battery.current.total to meters Not tested on hardware, due to + lack of hardware supporting it + +2013-07-06 Alf Høgemark + + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for + input.realpower to meters input.realpower is not listed in + http://www.networkupstools.org/docs/developer- + guide.chunked/apas01.html, but other drivers use it. Not tested on + hardware, due to lack of hardware supporting it + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for + ambient.1.temperature to meters Not tested on hardware, due to + lack of hardware supporting it + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for + input.power to meters input.power is not listed in + http://www.networkupstools.org/docs/developer- + guide.chunked/apas01.html, but other drivers use it. Not tested on + hardware, due to lack of hardware supporting it + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for + output.powerfactor and input.powerfactor to meters + input.powerfactor is not listed in + http://www.networkupstools.org/docs/developer- + guide.chunked/apas01.html, so a bit unsure if this should be added. + Not tested on hardware, due to lack of hardware supporting it + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for + output.L.power.percent to meters Not tested on hardware, + due to lack of hardware supporting it + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: map ups.date and + ups.time to meters. Not testes on hardware, due to lack of + hardware supporting it + * drivers/bcmxcp.h: bcmxcp: Comment which meter map constants are + mapped to nut variables + +2013-07-05 Alf Høgemark + + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add constants for all + bcmxmp meter map, and replace magic numbers with constants Take + all the bcmxcp meter map defined in http://old.networkupstools.org/ + protocols/eaton/XCP_Meter_Map_021309.pdf and put them into the + bcmxcp.h file. Update the bcmxcp.c file, replacing magic numbers + for meter map by using the corresponding defined constant. + +2013-07-04 Alf Høgemark + + * drivers/bcmxcp.c: bcmxcp: Let decode_instcmd_exec also handle short + read from UPS + * drivers/bcmxcp.c: bcmxcp: Add test.panel.start instcmd support + * drivers/bcmxcp.c: bcmxcp: Use one fuction to decode command + execution status in all places To avoid duplicating the logic + which checks the status of command execution at UPS, add a new + function which contains the check, and use that function whenever + we send a command to UPS and get status back from UPS. + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Define byte for + choosing which system test to run in header file + * drivers/bcmxcp.c: bcmxcp: Fix outlet number for + outlet.x.shutdown.return if more than 2 outlets + * drivers/bcmxcp.c: bcmxcp: Let upsdrv_shutdown call instcmd for + shutting down To avoid code duplication between upsdrv_shutdown + and instcmd, let the upsdrv_shutdown method first try to issue a + shutdown.return instcmd, and then proceed with shutdown.stayoff if + the shutdown.return failed. This seems to be in line with what the + usbhid driver does. + * drivers/bcmxcp.c: bcmxcp: report upsdrv_comm_good at successful + execution of instcmd + * drivers/bcmxcp.c: bcmxcp: Return more specific error codes from + instcmd Use the available STAT_INSTCMD_FAILED and + STAT_INSTCMD_INVALID as return value from the instcmd method when + applicable, instead of always returning STAT_INSTCMD_UNKNOWN or -1. + +2013-07-03 Alf Høgemark + + * drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: use command map if + supplied. If UPS supplies command map, use it to control what + commands we register with dstate_addcmd. If UPS does not supply + command map, we register default commands with dstate_addcmd + * data/cmdvartab, drivers/bcmxcp.c: bcmxcp: cosmetic: make changes by + Prachi Gandhi more coherent with rest of driver + * drivers/bcmxcp.c: bcmxcp: Fix method name outputted in debug + message Reference: + http://article.gmane.org/gmane.comp.monitoring.nut.devel/6458 + Whitespace was addressed in previous commit (clepple) + +2013-07-03 Charles Lepple + + * drivers/bcmxcp.c: bcmxcp: indentation fixes (no code changes) + +2013-07-03 Alf Høgemark + + * drivers/bcmxcp.c: bcmxcp: add ups.load and battery.voltage.low + Adapted slightly for bcmxcp branch (original patch was against + master). Bump driver version to 0.28 as well. (clepple) Reference: + http://article.gmane.org/gmane.comp.monitoring.nut.devel/6460 + +2013-06-18 Daniele Pezzini + + * drivers/voltronic.c: Add unknown/unused and commented capability + entries Might be useful for future versions. + * data/driver.list.in: Add devices to HCL + * drivers/voltronic.c, drivers/voltronic_ser.c, + drivers/voltronic_usb.c: Fix warning flag + versioning Some UPSes + seem to reply with a \0 just before the end of the warning flag + (obtained with QWS), as a consequence of that, the string in C is 1 + char shorter than expected (the \r is not within the string). -> + Fix voltronic_warning function. Increase driver versions. + * drivers/voltronic.c, drivers/voltronic_ser.c, + drivers/voltronic_usb.c: Fix shutdown.return + versioning Fix + shutdown.return when ondelay = 0 -> split between offdelay < 60 and + offdelay > 60. Increase driver versions. + +2013-06-17 Daniele Pezzini + + * docs/man/voltronic_ser.txt, docs/man/voltronic_usb.txt: Correct + typos @shutdown.{return,stayoff} + * drivers/voltronic.c, drivers/voltronic_ser.c, + drivers/voltronic_usb.c: Imrove shutdown sequence + versioning + Split shutdown and stopping of pending shutdowns so that if there's + no shutdown pending and the UPS doesn't accept a shutdown.stop in + this situation (i.e. it replies '(NAK') the shutdown procedure + doesn't get halted. Increase version number of drivers. + * data/driver.list.in: Correct typos & add software reference in HCL + * docs/man/voltronic_ser.txt, docs/man/voltronic_usb.txt: Improve + docs layout + * drivers/voltronic_usb.c: Add USBDevice_t structure + * drivers/voltronic_usb.c: Add comment so that autogen rules have the + right comment + * drivers/voltronic_ser.c, drivers/voltronic_usb.c: Correct manpage + references + +2013-05-14 Bo Kersey + + * drivers/bestfcom.c: bestfcom: Use fc.idealbvolts for calculating + percent charge 'I have a Best Ferrups 3.1KVA and I noticed that + the percent battery voltage reported from upsc never gets above + 69.9%. I believe there is a mistake in the driver. The battery + percentage is calculated based on the High Battery Alarm Setpoint + (59.6V) instead of the Ideal Voltage which is about 54V (4 + batteries x 13.6V). I examined the source code and found that the + variable fc.fullvolts is the result of querying parameter 67 from + the UPS. This parameter is defined per Ferrups Tip 503 as: "The + battery voltage at which the UPS sound a High Battery alarm" A + better value to use in determining the percent battery voltage + would be fc.idealbvolts which is calculated in the driver source... + I propose the following patch to fix the battery.charge (% battery + full) reading.' Ref: + http://article.gmane.org/gmane.comp.monitoring.nut.user/7891 + +2013-05-13 Michal Soltys + + * docs/nut-names.txt: Add device.uptime to nut-names.txt Also fix + one typo. + * docs/man/apcsmart.txt, drivers/apcsmart.c: apcsmart: allow users to + select non-canonical tty mode The main reason behind this addition + is windows compatibility, see + http://article.gmane.org/gmane.comp.monitoring.nut.user/7762 IGNCR + has been readded earlier in commit + 20c52bee77fa0b3ea3c7f8bec25afd103b7ff4a2 - this might be enough to + handle windows behavior, but if it's not the case - using non + canonical processing (same as is present in apcsmart-old) should + solve any pressing issues. + * drivers/apcsmart_tabs.c: apcsmart: add device.uptime to vartab + +2013-04-26 Michal Soltys + + * drivers/apcsmart.c, drivers/apcsmart_tabs.h: apcsmart: remove + APC_DEPR flag APC_{MULTI, PRESENT} are both sufficient for + handling 1:n and n:1 relations + +2013-04-22 Michal Soltys + + * drivers/apcsmart.c: apcsmart: expand APC_MULTI to apc:nut 1:n cases + +2013-04-15 Michal Soltys + + * drivers/apcsmart.c, drivers/apcsmart_tabs.c: apcsmart: change + approach to 2 digit compatibility entries As reported in + http://article.gmane.org/gmane.comp.monitoring.nut.user/7762 - 2 + digit values reported through 'b' are really >255V voltage values. + So we match whole 00 - FF set as single (fake) compat entry. + +2013-04-16 Michal Soltys + + * drivers/apcsmart.c: apcsmart: remove strchr() check from + legacy_verify() As vartab doesn't contain characters from + APC_UNR_CMDS. + +2013-04-15 Michal Soltys + + * drivers/apcsmart.h: apcsmart: re-add CR to ignore sets Despite + icanon mode, windows (supposedly) is uncapable of ignoring CR in + fashion analogous to IGNCR flag. See + http://article.gmane.org/gmane.comp.monitoring.nut.user/7762 for + rationale. + * drivers/apcsmart_tabs.c: apcsmart: add regex format to + ambient.0.temperature 'T' might (on older units) also mean "ups + uptime", so we want to distinguish that case gracefully. The + formats are: uptime: 000.0 temp: 00.00 + +2013-05-03 Andrew Avdeev + + * drivers/powercom-hid.c: PowerCOM BNT-1000AP HID instant commands + Adds a few vendor-specific HID mappings for PowerCOM. Instant + commands supported on UPS [pcm]: beeper.disable - Disable the UPS + beeper beeper.enable - Enable the UPS beeper beeper.toggle - Toggle + the UPS beeper load.off - Turn off the load immediately load.on - + Turn on the load immediately shutdown.return - Turn off the load + and return when power is back shutdown.stayoff - Turn off the load + and remain off test.battery.start.quick - Start a quick battery + test http://article.gmane.org/gmane.comp.monitoring.nut.devel/6435 + +2013-04-25 Christian Wiese + + * tools/nut-scanner/Makefile.am, tools/nut-scanner/scan_usb.c: nut- + scanner: fix scan_usb to remove trailing spaces from output strings + This patch uses rtrim() from libcommon to remove trailing spaces + from serialnumber, device_name and vendor_name. see: + https://github.com/networkupstools/nut/issues/26 + +2013-04-18 Arnaud Quette + + * docs/new-drivers.txt: Add a reference to the SNMP subdrivers + chapter + +2013-04-15 Michal Soltys + + * drivers/apcsmart.c, drivers/apcsmart.h, drivers/apcsmart_tabs.c, + drivers/apcsmart_tabs.h: apcsmart: move variable regex matching + into vartab This also allows us to properly validate (in near + future) cases when single apc variable can match multiple nut + variables. Other changes: - adjust rexhlp() to follow 0 for false + and non-0 for true, like in the rest of the functions - remove + valid_cmd() as rexhlp() can be used directly with formats in the + table; furthermore the warning (in case of failure) could be + confusing when we add nut:apc n:1 case + +2013-04-11 Arnaud Quette + + * drivers/libusb.c: Set USB timeout to 5 seconds Set the low level + USB timeout back to the standard 5 seconds. This was set to 4 + seconds, for performance reasons, but is now causing issues with + some devices (reported by Stefan "stevenbg", GitHub issue #23) + +2013-04-10 Charles Lepple + + * docs/man/.gitignore: Ignore voltronic_* generated documentation + * drivers/voltronic_usb.c: voltronic_usb: switch to new + is_usb_device_supported() syntax + * tools/nut-usbinfo.pl: Add voltronic_usb driver to USB info + extractor tool + +2013-04-10 Daniele Pezzini + + * data/driver.list.in, docs/man/Makefile.am, + docs/man/voltronic_ser.txt, docs/man/voltronic_usb.txt, + drivers/Makefile.am, drivers/voltronic.c, drivers/voltronic.h, + drivers/voltronic_ser.c, drivers/voltronic_usb.c: New drivers: + voltronic_ser/voltronic_usb Reference: + http://article.gmane.org/gmane.comp.monitoring.nut.devel/6418 + +2013-04-10 Elio Parisi + + * drivers/riello.c, drivers/riello.h, drivers/riello_ser.c, + drivers/riello_usb.c: Riello drivers: fix memset() arguments, and + use stdint.h Reference: + http://article.gmane.org/gmane.comp.monitoring.nut.devel/6417 + +2013-04-04 Émilien Kia + + * configure.in, docs/new-clients.txt, scripts/Makefile.am, + scripts/README, scripts/java/.gitignore, scripts/java/Makefile.am, + scripts/java/README, scripts/java/jNut/.gitignore, + scripts/java/jNut/README, scripts/java/jNut/pom.xml, + .../main/java/org/networkupstools/jnut/Client.java, + .../java/org/networkupstools/jnut/Command.java, + .../main/java/org/networkupstools/jnut/Device.java, + .../org/networkupstools/jnut/NutException.java, + .../java/org/networkupstools/jnut/Scanner.java, + .../org/networkupstools/jnut/StringLineSocket.java, + .../java/org/networkupstools/jnut/Variable.java, + .../java/org/networkupstools/jnut/ClientTest.java, + .../java/org/networkupstools/jnut/ScannerTest.java, + scripts/java/jNutList/README, scripts/java/jNutList/pom.xml, + .../java/org/networkupstools/jnutlist/AppList.java, + scripts/java/jNutWebAPI/README, scripts/java/jNutWebAPI/pom.xml, + .../jnutwebapi/NutRestProvider.java, + .../jnutwebapi/RestWSApplication.java, + .../jnutwebapi/ScannerProvider.java, + .../jNutWebAPI/src/main/webapp/WEB-INF/web.xml: Remove java related + files (jNut) which will be moved to a separated repository. See + issues: - https://github.com/networkupstools/nut/issues/2 - + https://github.com/networkupstools/nut/issues/22 + +2013-03-26 Alex Lov + + * drivers/ietf-mib.c: Fix OID for input.bypass.voltage in ietf-mib.c + Ooops, forgot fix one + * drivers/ietf-mib.c: Fix OIDs for bypass group in ietf-mib.c + Reference http://tools.ietf.org/html/rfc1628#page-12 For bypass + voltage, current and power + +2013-03-13 Arnaud Quette + + * docs/FAQ.txt: Add a FAQ entry for supported but not working USB UPS + +2013-03-10 Charles Lepple + + * scripts/upower/95-upower-hid.rules: upower: update generated rules + file + +2013-03-09 Charles Lepple + + * docs/download.txt: Update VMware ESXi package link (from René + Garcia) + +2013-02-28 Charles Lepple + + * Makefile.am, tools/gitlog2changelog.py: Issue #4: Specify starting + commit to gitlog2changelog.py + +2013-02-27 Michal Soltys + + * drivers/apcsmart_tabs.c: apcsmart: add old APC 600I compatibility + entry Though without 'T' - until we handle situations when single + nut variable is able to correspond to more than one apc var. + Testet-by: Markus Pruehs + +2013-02-26 Charles Lepple + + * tools/gitlog2changelog.py: git-changelog: really fixes #4 (missing + entries) The script was discarding any commits which happened to + include the word 'commit'. + * tools/gitlog2changelog.py: git-changelog: remove re.* calls for + simple string matching + +2013-02-25 Charles Lepple + + * Makefile.am, tools/Makefile.am: git-changelog: Fix list of + distributed files + * tools/gitlog2changelog.py: Fixes issue #4: ChangeLog now includes + single-file commits. + * Makefile.am, tools/gitlog2changelog.py: Issue #4: generate + ChangeLog from git logs This seems to generate long ChangeLog + entries in the format we had with svn2cl, but some commits appear + to be missing. + * tools/gitlog2changelog.py: Import gitlog2changelog.py (2008-12-27) + https://github.com/cryos/avogadro/commit/8be9957e5b3b5675701ef2ed00 + 2aa9e718d4146e#scripts/gitlog2changelog.py + +2013-02-25 Émilien Kia + + * clients/nutclient.cpp, clients/nutclient.h: Add comparison operator + for nut::Device class. Make std::set work and not + dropping devices anymore. + +2012-11-02 Charles Lepple + + * README, scripts/upower/95-upower-hid.rules: apcupsd-ups: link to + man page from README Patch by Arnaud: https://alioth.debian.org/tr + acker/index.php?func=detail&aid=313846&group_id=30602&atid=411544 + +2012-10-30 Charles Lepple + + * docs/man/apcupsd-ups.txt: apcupsd-ups: Update man page with + variables and units + +2012-09-28 Charles Lepple + + * drivers/apcupsd-ups.c, drivers/apcupsd-ups.h: apcupsd-ups: + Additional variables + * drivers/apcupsd-ups.c, drivers/apcupsd-ups.h: apcupsd-ups: Remove + multiplier from ups.load + +2012-09-27 Charles Lepple + + * docs/man/apcupsd-ups.txt, drivers/apcupsd-ups.c: apcupsd-ups: + miscellaneous cleanup + +2012-09-27 Andreas Steinmetz + + * docs/man/Makefile.am, docs/man/apcupsd-ups.txt, + drivers/Makefile.am, drivers/apcupsd-ups.c, drivers/apcupsd-ups.h: + apcupsd client driver https://alioth.debian.org/tracker/?func=det + ail&atid=411544&aid=313846&group_id=30602 + +2013-02-23 Charles Lepple + + * drivers/bcmxcp.c: bcmxcp: remove unused variable + +2013-02-16 Charles Lepple + + * docs/website/news.txt: News: Git conversion + * docs/developers.txt: Update developer documentation for Git + repository + +2013-02-21 Arnaud Quette + + * .gitignore, scripts/HP-UX/.gitignore: Git ignored files completion + +2013-02-21 Michal Soltys + + * drivers/apcsmart_tabs.c: apcsmart: minor fixups to compat. tables + * drivers/apcsmart.c: apcsmart: verify/setup fixups legacy_verify() + - check against commands we always ignore oldapcsetup() - extra + comments, minor flow change + +2013-02-17 Charles Lepple + + * tools/git-svn.authors, tools/svn2cl.authors: Remove obsolete + authors files. + +2013-02-16 Arnaud Quette + + * .gitignore: Git ignored files completion + +2013-02-06 Frederic Bohe + + * scripts/Solaris/nut.in, scripts/Solaris/postinstall.in: [Solaris] + Fix postinstall user/group, and service start * Fix postinstall + user/group detection/creation. * Fix service start depending on the + mode, and add poweroff command. + +2013-02-04 Emilien Kia + + * include/proto.h: Move __cplusplus/extern "C" begin block before to + fix a problem of ifdef when included in real C++ code. + +2013-02-01 Frederic Bohe + + * configure.in, scripts/HP-UX/makedepot.sh, scripts/HP-UX/nut.psf.in, + scripts/HP-UX/postinstall.in: [HP-UX] : add postinstal script for + installing services files. + +2013-02-01 Arnaud Quette + + * docs/man/snmp-ups.txt: Update SNMP driver documentation Mentioning + 'mib' is not needed anymore since NUT 2.6.2. Also mention 'v3' as + an allowed value for 'snmp_version' (reported by Tim Rice) + +2013-01-29 Michal Soltys + + * drivers/apcsmart.c, drivers/apcsmart.h, drivers/apcsmart_tabs.c, + drivers/apcsmart_tabs.h: apcsmart: implement #311678 (multiple + values per variable) This is a bit more general than the original + request. All variables that return multiple comma-separated + values, are added as *.N.* where 1 <= N <= APC_PACK_MAX; the + variables are stored with temporary name *.0.* in apcsmart_tabs.c, + but only at least 1 and at most 4 are added per update run + (superfluous - if any - are removed), with *.0.* placeholder being + ignored. We assume that the particular variables cannot belong to + the capability set at the same time (as reported by user) - + otherwise we will need a bit more complex handling, including + updates to all setvar functions. + * drivers/apcsmart.c, drivers/apcsmart.h: apcsmart: update logging + logic / apc_read() - logging This mostly adds few macros that + implicitly use or pass caller's name (and in case of hard errors, + line number). This allows removal of a few "failed" / "succeeded" + lines (which in practice don't really happen), for example there is + no need for: upslogx(LOG_ERR, "preread_data: apc_write failed"); + as any hard error will be reported by apc_write() internally, + providing the place and line number it was called at. Similarly, + some upslogx / upsdebugx calls were wrapped in analogous macros to + provide caller's name automatically. Debug levels (-D) were + adjusted to require only one letter. - apc_read() It's been a bit + more scrutinized: - filling up full caller's buffer is considered + an error; shouldn't happen unless the ups is somehow damaged or + some model is capable of returning more than 512 bytes in one read + (current max I witnessed is around 270 bytes during capability + read) - timeout reads (whether it's allowed or not) cannot really + have any non-0 count, though sanity check could theoretically be + useful in non-canonical mode; commented out code was added for + reference + * drivers/apcsmart.c: apcsmart: enhance prtchr() So it can handle 4 + returns with static pointers. + * drivers/apcsmart.c: apcsmart: allow timeout on read in smartmode() + As this function is used to "nudge" ups, we should expect it to + timeout. Also avoids extra log spam. + +2013-01-29 Frederic Bohe + + * scripts/Solaris/postinstall.in: Use variables to generate Solaris + postinstall script. + * scripts/Solaris/postinstall.in: Enhance the Solaris post install + script. + +2013-01-22 Arnaud Quette + + * docs/man/Makefile.am: Remove duplicate entries for Eaton serial + scan + * include/Makefile.am, tools/nut-scanner/Makefile.am: List missing + header files to be distributed nutscan-serial.h and nut_platform.h + were missing from the distribution + * scripts/Solaris/.gitignore: Subversion ignored files completion + Mark Solaris generated packaging files as Subversion ignored (no + functional changes) + * docs/man/.gitignore, docs/man/Makefile.am, docs/man/index.txt, + docs/man/nut-scanner.txt, + docs/man/nutscan_get_serial_ports_list.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, include/nut_platform.h, + tools/nut-scanner/Makefile.am, tools/nut-scanner/nut-scan.h, + tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan- + device.h, tools/nut-scanner/nutscan-display.c, tools/nut- + scanner/nutscan-serial.c, tools/nut-scanner/nutscan-serial.h, + tools/nut-scanner/scan_eaton_serial.c, tools/nut- + scanner/scan_nut.c: Add nut-scanner support for Eaton serial units + nut-scanner and libnutscan now provides respectively an option and + functions to detect Eaton serial devices. The following protocols + are supported: SHUT, XCP and Q1 (patch from Frederic Bohe, with + parts from Arnaud Quette, both for Eaton) + * configure.in: Fix for pthread on HP-UX pthread is compiled on a + stub when -lpthread is not explicitly added. This commit is a + duplicate of [[SVN:3801]], from Frederic Bohe (for Eaton) + * drivers/bcmxcp_ser.c: Change baud-rates ordering for auto-detection + * docs/new-drivers.txt, drivers/serial.c, drivers/serial.h: Add non- + fatal versions of ser_open / ser_set_speed + +2013-01-21 Frederic Bohe + + * scripts/Solaris/nut.in, scripts/Solaris/postinstall.in: Allow + start/stop of NUT from Solaris packages + +2013-01-13 Emilien Kia + + * clients/cgilib.h, clients/status.h, clients/upsimagearg.h, + clients/upslog.h, clients/upsmon.h, clients/upssched.h, + clients/upsstats.h, include/common.h, include/extstate.h, + include/proto.h, include/state.h, include/upsconf.h, server/conf.h, + server/desc.h, server/netcmds.h, server/netget.h, + server/netinstcmd.h, server/netlist.h, server/netmisc.h, + server/netset.h, server/netssl.h, server/netuser.h, + server/sstate.h, server/stype.h, server/upsd.h, server/upstype.h, + server/user-data.h, server/user.h, tools/nut-scanner/nut-scan.h, + tools/nut-scanner/nutscan-device.h, tools/nut-scanner/nutscan- + init.h, tools/nut-scanner/nutscan-ip.h: Protect header files for + C++ inclusion. + +2012-12-19 Arnaud Quette + + * data/driver.list.in: HCL: Add support for Lyonn CTB-1200 Add Lyonn + CTB-1200 (USB ID 0x0665:0x5161) to the list of blazer_usb supported + models (reported by Martin Sarsale) + * docs/stable-hcl.txt: Clarify expected report for shutdown testing + State explicitly that, for now, a statement that the user has + actually tested the shutdown procedure successfully is enough + (report from Martin Sarsale) + +2012-12-19 Frederic Bohe + + * scripts/HP-UX/makedepot.sh, scripts/HP-UX/nut.psf.in: Use installed + binaries to create package + +2012-12-18 Arnaud Quette + + * drivers/delta_ups-mib.c: Fix a typo error and current multiplier + factor + * data/driver.list.in, drivers/Makefile.am, drivers/delta_ups-mib.c, + drivers/delta_ups-mib.h, drivers/snmp-ups.c: Support for DeltaUPS + MIB and Socomec Netys RT 1/1 Add preliminary SNMP support for a + new MIB: DeltaUPS MIB, with sysOID ".1.3.6.1.4.1.2254.2.4". The + first known supported devices are Socomec Netys RT 1/1, equiped + with Netvision SNMP card + +2012-12-18 Michal Soltys + + * drivers/apcsmart.c: apcsmart: add update_info() No need for almost + identical update_info_normal() and update_info_all() + * drivers/apcsmart.c: apcsmart: two fixups In poll_data(): we are + not supposed to set variable after its (formally impossible) + removal In upsdrv_shutdown(): wrong comparison + +2012-12-14 Arnaud Quette + + * data/driver.list.in, drivers/powerp-txt.c, drivers/powerpanel.c: + Add support for CyberPower OL3000RMXL2U Add CyberPower + OL3000RMXL2U serial support to the powerpanel driver, text protocol + version (Alioth patch #313910, from Timothy Pearson) + +2012-12-13 Arnaud Quette + + * docs/Makefile.am, docs/new-drivers.txt, docs/snmp-subdrivers.txt, + scripts/subdriver/gen-snmp-subdriver.sh: Helper script to create + SNMP subdrivers stubs Created a new shell script + (scripts/subdriver/gen-snmp-subdriver.sh) to automatically create a + "stub" subdriver. This will make it a lot easier and quicker to + create subdrivers for snmp-ups. A new documentation chapter has + also been added ("How to make a new subdriver to support another + SNMP device") + * drivers/tripplite-hid.c: Add support for newer TrippLite + Smart1500LCD Add newer TrippLite Smart1500LCD (USB ID + 0x09ae:0x3016) to the list of usbhid-ups supported models (reported + by Steve Salier) + +2012-12-12 Frederic Bohe + + * drivers/mge-hid.c: Fix crash with debug level greater or equal to 2 + +2012-12-10 Michal Soltys + + * drivers/apcsmart.c: apcsmart: add prtchr() helper Add prtchr() + helper and simplify reporting when we check whether some APC + cmd/var character is or isn't printable. + * drivers/apcsmart_tabs.c: apcsmart: apc_cmdtab[] fixup Earlier + commit that adjusted regex checks, also changed cmd fields for all + instant commands handled by custom functions. We cannot do that, as + they are not detected as supported this way. + +2012-12-08 Arnaud Quette + + * drivers/mge-utalk.c, drivers/mge-utalk.h: Change Martin Loyer's + mail address As per Martin's request. + * drivers/mge-utalk.c: Improve mge-utalk general behavior Make two + adjustments to improve the general behavior: first, send the double + "Z" prior to "Si" command. Second, inter-commands delay has been + increased to comply with the specification + +2012-12-08 Michal Soltys + + * drivers/apcsmart.c: apcsmart: serial related stuff a bit more + strict Also: - apc_flush() now loops with >0 condition (otherwise + errored apc_read() might cause inf loop) - ser_comm_good/fail() + were kind of missing in write wrappers + * drivers/apcsmart.c, drivers/apcsmart.h: apcsmart: + sdlist/sdtype/advorder changes - verify 'advorder' with regex - + remove unused defines - as the user is directed towards man page + either way (and without it numbers are kind of meaningless), drop + SDMAX + * drivers/apcsmart.c: apcsmart: setup port after variable + sanitization in upsdrv_initups() + * drivers/apcsmart.c: apcsmart: cleanup dstate ok/stale calls + * drivers/apcsmart.c: apcsmart: getbaseinfo() fixup In extremely + unlikely case of failing write, report it up and act accordingly. + * drivers/apcsmart.c, drivers/apcsmart.h, drivers/apcsmart_tabs.c, + drivers/apcsmart_tabs.h: apcsmart: adjust regex logic A bit + simpler / tighter now. + * drivers/apcsmart.c: apcsmart: add var_string_setup() In theory + deprecate_vars() should also consider APC_STRING variables. In + practice - we don't have any variables that are both APC_MULTI and + APC_STRING - but it's more correct this way, so let's do it. + * drivers/apcsmart.c: apcsmart: cosmetics - code shuffling, + comments, flow - rename query_ups() -> legacy_verify() - add few + lines of help directing to man page + * drivers/apcsmart.c: apcsmart: simplify query_ups() / + proto_verification() Both functions rely now on common variable + verificaion function. + * drivers/apcsmart.c: apcsmart: add var_verify() The function will + be used in subsequent commit for common verification. + * drivers/apcsmart.c: apcsmart: shuffle two functions query_ups() + and oldapcsetup() + * drivers/apcsmart.c: apcsmart: simplify query_ups() This commit + changes query_ups() function and makes it rely on the same + deprecate_vars() logic that protocol_verify() requires. We can + shorten the code a bit now, and it allows us to do more + simplifications in subsequent commits. + * drivers/apcsmart.c: apcsmart: add functions informing about + [un]supported cmds/vars In unified fashion, instead of each + protocol-verification related function doing it on its own. + * drivers/apcsmart.c, drivers/apcsmart.h, drivers/apcsmart_tabs.c, + drivers/apcsmart_tabs.h: apcsmart: minor tidying up comments, + trivial changes, code shuffling ... + * drivers/apcsmart.c: apcsmart: remove unused field 'def' from cchar + In apc_ser_diff() reporting differences between + tcgetattr/tcsetattr, 'def' field was unused (along with related + defines). + +2012-12-06 Frederic Bohe + + * tools/nut-scanner/nut-scanner.c: Fix nut-scanner compilation + without pthread + +2012-12-02 Charles Lepple + + * drivers/riello_usb.c: riello_usb.c: eliminate uninitialized + variable + +2012-11-29 Arnaud Quette + + * conf/.gitignore: Subversion ignored files completion Mark + upsmon.conf.sample as Subversion ignored, since it is now generated + from a .in template file (no functional changes) + * conf/Makefile.am, conf/{upsmon.conf.sample => + upsmon.conf.sample.in}, configure.in: Adapt upsmon.conf sample to + use configured values The sample upsmon.conf provided now adapts + RUN_AS_USER value, and NOTIFYCMD / POWERDOWNFLAG base path to the + user configured values + +2012-11-28 Arnaud Quette + + * drivers/riello.c, drivers/riello_ser.c, drivers/riello_usb.c: Minor + improvements to Riello drivers Fix ups.power.nominal name in + Riello drivers, and its value for GPSER protocol(riello_ser). + device.mfr was also changed in both drivers, and revisions were + bumped to 0.02 (patch from Elio Parisi, Riello) + * data/driver.list.in, drivers/Makefile.am, drivers/openups-hid.c, + drivers/openups-hid.h, drivers/usbhid-ups.c, + scripts/upower/95-upower-hid.rules: Official support for Minibox + openUPS Intelligent UPS Add a new usbhid-ups subdriver to handle + Minibox openUPS Intelligent UPS (USB ID 0x04d8:0xd004) (patch from + Nicu Pavel, Mini-Box.Com) + +2012-11-28 Charles Lepple + + * conf/upsmon.conf.sample, docs/man/upsmon.conf.txt: Update + references to pager.txt + +2012-11-27 Frederic Bohe + + * data/driver.list.in, docs/man/genericups.txt: Add information about + Eaton Management Card Contact + +2012-11-25 Arnaud Quette + + * drivers/riello.c, drivers/riello.h, drivers/riello_ser.c, + drivers/riello_usb.c: Minor improvements to Riello drivers Fix + functions and variables names to use English language. Also fix + warnings reported by Mac OS X Buildbot and Charles Lepple (patch + from Elio Parisi, Riello) + +2012-11-21 Arnaud Quette + + * docs/acknowledgements.txt: Complete Acknowledgements with a Riello + entry Riello deserves a dedicated entry in the Supporting UPS + manufacturers, for having provided protocols information and + drivers implementations + * docs/man/.gitignore: Subversion ignored files completion Mark + riello_ser and riello_usb HTML manpages as Subversion ignored (no + functional changes) + * data/driver.list.in, docs/man/.gitignore, docs/man/Makefile.am, + docs/man/riello_ser.txt, docs/man/riello_usb.txt, + drivers/.gitignore, drivers/Makefile.am, drivers/riello.c, + drivers/riello.h, drivers/riello_ser.c, drivers/riello_usb.c, + tools/nut-usbinfo.pl: Official support for Riello serial and USB + devices Add two new drivers, riello_ser and riello_usb, to support + the whole ranges of Riello devices: IDG, IPG, WPG, NPW, NDG, DVT, + DVR, DVD, VST, VSD, SEP, SDH, SDL, SPW, SPT, MCT, MST, MCM, MCT, + MHT, MPT and MPM. This completes the official Riello protocols + publication, that happened in May 2012 (developed by Elio Parisi, + from Riello) + +2012-11-20 Arnaud Quette + + * clients/upsclient.h, server/nut_ctype.h: Fix NSS include directives + The current NSS include directives (nss/nss.h) were incorrect. + These were failing on Redhat systems, and working on some others + because of the default include path (reported by Michal Hlavinka, + from Redhat) + +2012-11-19 Arnaud Quette + + * data/driver.list.in: HCL: Add support for Aviem Power RT + 1000-3000VA Add Aviem Systems - Aviem Power RT 1000-3000VA to the + list of blazer_ser supported models (reported by Michael + Dobrovitsky) + +2012-11-19 Emilien Kia + + * tools/nut-scanner/nutscan-device.c: Fix a memory leak in scanner. + +2012-11-13 Arnaud Quette + + * docs/man/.gitignore: Complete the list of Subversion ignored files + Commit r3778 was missing generated HTML files (no functional + changes) + * docs/man/Makefile.am: Fix installation of libnutclient manual pages + Commit r3777 fixed the test target, but libnutclient manual pages + were not actually installed + * docs/man/.gitignore, lib/.gitignore: Complete the list of + Subversion ignored files The merge of NSS and libnutclient + branches have left some new generated files (no functional changes) + * 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: + Fix Buildbot failures on previous commit (man pages) The merge of + the libnutclient branch caused a failure of the 'distcheck-light' + test target. Manual pages documentation in this branch uses a + mechanism to generate multiple manpages from one source file. This + was however conflicting with a Makefile rule, that requires the + generated file to have the same name as the source file. Applies + the same principle by adding the content of the Header section to + the NAME commands list. Also fix a typo error in the Header section + of libnutclient_devices + +2012-11-13 Emilien Kia + + * clients/Makefile.am, clients/nutclient.cpp, clients/nutclient.h, + configure.in, docs/man/Makefile.am, docs/man/index.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/new-clients.txt, lib/Makefile.am, lib/README, + lib/libnutclient.pc.in: Merge libnutclient (libcpp) branch Pull + Request #2: "High level C and C++ libnutclient" from + https://github.com/clepple/nut/pull/2 . Hand-merged into SVN trunk + from commit: 701cc571f4f8578e9c82b13c1e9eab509a41cd7f + +2012-11-08 Frederic Bohe + + * docs/man/usbhid-ups.txt, drivers/usbhid-ups.c: Add a command line + to usbhid-ups to activate the max_report tweak. + * drivers/apc-hid.c, drivers/libhid.c: Fix tweak for APC Back-UPS + since it seems to break Back-UPS 700 connectivity (reported by + Denis Serov). Adding some more comments on UPS which need and + which do not need the tweak. Refactored the detection code. + +2012-11-07 Arnaud Quette + + * scripts/subdriver/gen-usbhid-subdriver.sh: Fix USB HID subdriver + generation tool This tool has not been updated since timestamps + were added to driver debug traces. It was thus producing erroneous + results (reported by Nicu Pavel) + +2012-11-01 Arnaud Quette + + * drivers/snmp-ups.c: Fix a crash on outlets management snmp-ups was + crashing when the number of outlets was equal to zero + +2012-10-31 Arnaud Quette + + * docs/man/.gitignore, docs/man/blazer.txt: Fix blazer manual pages + generation to generate blazer, blazer_ser and blazer_usb manual + pages. The same manual page is now distributed and available under + these 3 names (warning to packagers) + * docs/man/Makefile.am, docs/man/asciidoc.conf: Fix manpage + refmiscinfo attributes and multiple NAME refmiscinfo attributes + were previously specified through asciidoc.conf. This approach + prevented from specifying and generating multiple manual pages from + a single source. Moreover, manversion (pointing NUT version) was + mistyped, and thus omitted. Makefile rules now directly define + refmiscinfo through attributes, and allow to solve the long + standing blazer / blazer_ser / blazer_usb related issue, and the + upcoming libnutclient one + +2012-10-19 Arnaud Quette + + * drivers/cps-hid.c, drivers/idowell-hid.c, scripts/subdriver/gen- + usbhid-subdriver.sh: Replace missing occurrences in previous commit + * docs/hid-subdrivers.txt, drivers/libhid.c, scripts/Makefile.am, + scripts/subdriver/{path-to-subdriver.sh => gen-usbhid- + subdriver.sh}: Rename usbhid subdriver generation script This + script was previously named path-to-subdriver.sh, which was not + enough meaningful. The renaming to gen-usbhid-subdriver.sh also + makes sense with a potential gen-snmp-subdriver.sh + * data/driver.list.in: HCL: Add support for Apollo 850VA Add Apollo + 850VA (USB ID 0x0665:0x5161) to the list of blazer_usb supported + models (reported by Mike Raath) + +2012-10-15 Arnaud Quette + + * configure.in, scripts/systemd/nut-driver.service.in: Fix driver + path in systemd driver unit The driver path, in nut- + driver.service, was not expanded correctly (reported by Marc + Rechté) + +2012-10-15 Michal Soltys + + * data/driver.list.in: HCL: add info about new APC models Info about + new SMT, SMX and SURTD models which require additional card for + "legacy" smart protocol. + +2012-10-15 Arnaud Quette + + * configure.in: Only fail if SSL was explicitly requested + Configuration should not abort if neither OpenSSL nor Mozilla NSS + has been found, and if SSL was not explicitly requested by the + user. This fixes the Buildbot compilation failure on Aix (build + #206) + +2012-10-12 Charles Lepple + + * tools/git-svn.authors, tools/svn2cl.authors: Update Emilien Kia's + email address + +2012-10-11 Arnaud Quette + + * docs/Makefile.am: Fix Solaris compilation failure + +2012-10-10 Arnaud Quette + + * README: Spell check fix (test) + * .gitignore, configure.in, docs/.gitignore, docs/Makefile.am, + docs/nut-qa.txt, docs/nut.dict: Spell checking framework + implementation Implement a framework to spell check documentation + source files, using Aspell. This includes an interactive build + target (make spellcheck-interactive), and an automated one (make + spellcheck), mainly for QA / Buildbot purpose. Note that a base NUT + dictionnary is also available (docs/nut.dict), providing a glossary + of terms related to power devices and management + * drivers/tripplite_usb.c: Remove POD ("Plain Old Documentation") + With the approval of the author (Charles Lepple), remove POD + ("Plain Old Documentation"). This embedded documentation was + redundant, and is probably out of date, with respect to the + AsciiDoc version + * drivers/powercom.c, drivers/powercom.h, drivers/upscode2.c: Remove + unnecessary RCS $Id lines + +2012-10-05 Arnaud Quette + + * tools/nut-scanner/nut-scan.h: Fix compilation error Define + IPMI_PRIVILEGE_LEVEL_ADMIN value, in case FreeIPMI is not available + +2012-10-04 Arnaud Quette + + * docs/man/nut-scanner.txt, drivers/nut-ipmipsu.c, tools/nut- + scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c, tools/nut- + scanner/scan_ipmi.c: Support power supplies scan over the network + nut-scanner can now scan for power supplies with IPMI over LAN. + This is currently limited to IPMI 1.5 only + +2012-10-03 Arnaud Quette + + * docs/acknowledgements.txt: Update acknowledgements + +2012-09-28 Charles Lepple + + * drivers/.gitignore: Cleanup of svn:ignore list in drivers/ (no code + change) + +2012-09-27 Charles Lepple + + * tools/git-svn.authors, tools/svn2cl.authors: Welcome, Václav! (SVN + username mappings) + +2012-09-21 Arnaud Quette + + * docs/nut-qa.txt: Update the link to the Ubuntu QRT script + +2012-09-19 Arnaud Quette + + * drivers/nut-libfreeipmi.c, m4/nut_check_libfreeipmi.m4, tools/nut- + scanner/scan_ipmi.c: Support for FreeIPMI 1.1.x and 1.2.x (#2) + Prepare for supporting API changes in FreeIPMI 1.1.x and 1.2.x. + This 2nd patch, which completes [[SVN:3675]], addresses FRU API + changes, and removes code redundancy. This code has been tested + with FreeIPMI 0.8.12 and the latest [[FreeIPMI SVN]] trunk r9505 + (reported as 1.2.0.beta2 by pkgconfig) + * docs/download.txt, docs/website/news.txt: Update Windows package + publications for 2.6.5-3 + +2012-09-17 Arnaud Quette + + * docs/download.txt, docs/website/news.txt: Update Windows package + publications for 2.6.5-2 + +2012-09-12 Arnaud Quette + + * drivers/bcmxcp_usb.c: Fix data reception loop The new data + reception algorithm was trying to get more data than it should + (patch from Rich Wrenn) + +2012-09-10 Frederic Bohe + + * drivers/apc-hid.c, drivers/apc-hid.h, drivers/libhid.c: Add a tweak + for APC Back UPS ES APC Back UPS ES have a buggy firmware which + overflows on ReportID 0x0c, i.e. + UPS.PowerSummary.RemainingCapacity. This results in battery.charge + not being exposed and endless reconnections on systems with libusb + reporting EOVERFLOW. And it results on a failure to init the driver + for systems with libusb not reporting EOVERFLOW but EIO (i.e. on + Windows). + * tools/nut-scanner/nut-scanner.c: [nut-scanner] Fix a crash when no + start IP is provided. + * drivers/apc-hid.c, drivers/bcmxcp_usb.c, drivers/belkin-hid.c, + drivers/blazer_usb.c, drivers/cps-hid.c, drivers/idowell-hid.c, + drivers/liebert-hid.c, drivers/mge-hid.c, drivers/powercom-hid.c, + drivers/richcomm_usb.c, drivers/tripplite-hid.c, + drivers/tripplite_usb.c, drivers/usb-common.c, drivers/usb- + common.h: Extend USB device support check (from Arnaud Quette) Use + USBDevice_t structure in is_usb_device_supported(), instead of + direct VendorID and ProductID. This allows to pass it to the + specific processing handler for broader check + +2012-09-07 Leo Arias + + * conf/nut.conf.sample: Update nut.conf.sample (grammar and + documentation) https://alioth.debian.org/tracker/?func=detail&ati + d=411544&aid=313762&group_id=30602 + +2012-08-14 Arnaud Quette + + * NEWS, UPGRADING, configure.in, data/driver.list.in, + docs/Makefile.am, docs/configure.txt, docs/documentation.txt, + docs/download.txt, docs/images/eaton-logo.png, + docs/images/hostedby.png, docs/images/simple.png, + docs/man/.gitignore, docs/man/Makefile.am, docs/man/index.txt, + docs/man/macosx-ups.txt, docs/man/mge-shut.txt, + docs/man/nutscan.txt, docs/man/nutscan_scan_avahi.txt, + docs/man/powercom.txt, docs/man/skel.txt, docs/nut-names.txt, + docs/website/.gitignore, docs/website/Makefile.am, + docs/website/css/web-layout.css, docs/website/news.txt, + docs/website/old-news.txt, docs/website/projects.txt, + docs/website/web-layout.conf, drivers/.gitignore, + drivers/Makefile.am, drivers/macosx-ups.c, drivers/mge-hid.c, + drivers/powercom-hid.c, drivers/skel.c, drivers/usbhid-ups.c, + drivers/usbhid-ups.h, m4/nut_check_libltdl.m4: Merge from trunk + [[SVN:3679]] to [[SVN:3718]] to ssl-nss-port + +2012-08-09 Arnaud Quette + + * docs/website/.gitignore, docs/website/Makefile.am, + docs/website/news.txt, docs/website/old-news.txt: Integrate + archived news + * docs/nut-names.txt, drivers/mge-hid.c: Add shutdown ability switch + to Eaton units Eaton HID units (using usbhid-ups or [new,old]mge- + shut) were missing a data mapping to allow the change of the + shutdown ability switch. The result was that the UPS was not + powered off, even if all the protocol commands were sent (reported + by Daniel O'Connor) + * docs/download.txt, docs/website/news.txt: Update Windows package + publications for 2.6.5-1 + * docs/man/.gitignore, docs/man/index.txt: Added macosx-ups manual + page to the index Also add generated groff and HTML contents to + the list of Subversion ignored files + +2012-08-08 Arnaud Quette + + * NEWS, UPGRADING, configure.in, docs/website/news.txt: Final update + for 2.6.5 release + * drivers/.gitignore: Subversion ignored files completion Mark + oldmge-shut binary as Subversion ignored (no functional changes) + * docs/configure.txt, m4/nut_check_libltdl.m4: Complete libltdl + configuration options Add configure options to add specific cflags + (--with-libltdl-includes) and libs (--with-libltdl-libs) for + libltdl. This serves at least to point at non standard location, as + on FreeBSD (reported by David Durieux) + +2012-08-06 Arnaud Quette + + * docs/documentation.txt: Add a Wikipedia reference on Solar + controller + * docs/Makefile.am, docs/images/eaton-logo.png, + docs/images/hostedby.png, docs/website/Makefile.am, + docs/website/css/web-layout.css, docs/website/web-layout.conf: Free + NUT from Eaton website hosting NUT is no more hosted by Eaton. + Arnaud Quette (NUT project leader) has taken over NUT hosting on + his own, to give NUT back some independance. This effort is also + part of a logic to stop crediting Eaton for contributions from + others (especially Arnaud Quette, as an individual). The new + hosting service is located, as for Arnaud's blog + (http://arnaud.quette.fr) on Gandi servers, using PaaS. This will + allow more flexibility and automation of the release process + +2012-08-06 Charles Lepple + + * configure.in, docs/man/Makefile.am, docs/man/macosx-ups.txt, + drivers/Makefile.am, drivers/macosx-ups.c: macosx-ups: new OS X + Power Sources meta-driver Mac OS X provides UPS status information + in a format similar to what is shown for laptop batteries. This + driver will convert that information into a format compatible with + NUT. + +2012-08-05 Charles Lepple + + * drivers/skel.c: Update comments in skel.c Fixed a typo, and added + fatalx() as an alternative to fatal_with_errno() + * docs/man/skel.txt: Update skeleton driver man page. + +2012-08-03 Charles Lepple + + * docs/man/nutscan.txt, docs/man/nutscan_scan_avahi.txt: nutscan + documentation: editing + +2012-07-31 Arnaud Quette + + * docs/images/simple.png: Remove extraneous text + * data/driver.list.in: HCL: Add support for UNITEK Alpha650ipF and + Alpha650ipE Add UNITEK Alpha650ipF and Alpha650ipE (USB ID + 0x0f03:0x0001) to the list of blazer_usb supported models (reported + by Pascal MIRALLES) + * docs/website/projects.txt: Reference Buffalo NAS in Related + projects Add a reference in the Related projects, on Buffalo + TerraStation (Business-class) NAS range, which uses NUT for power + protection + +2012-07-30 Arnaud Quette + + * docs/download.txt, docs/website/news.txt: First NUT virtualization + package (VMware ESXI 5.0) Add the reference to the first NUT + virtualization package. This one is currently an external effort to + add VMware NUT client for ESXI 5.0. But this support will be part + of NUT in the long run + +2012-07-24 Charles Lepple + + * data/driver.list.in, docs/man/powercom.txt, drivers/powercom-hid.c: + Synchronize Powercom USB documentation and code comments. + Apparently, there are at least two different models with the USB + VID:PID of 0d9f:0004. This update is based on the following report + by Gordon Longland: http://lists.alioth.debian.org/pipermail/nut- + upsuser/2012-July/007748.html + +2012-07-23 Charles Lepple + + * docs/man/powercom.txt: powercom: Mention this driver is serial only + +2012-07-20 Frederic Bohe + + * data/driver.list.in, drivers/Makefile.am: Switch mge-shut to + oldmge-shut and newmge-shut to mge-shut + * docs/man/mge-shut.txt: Update mge-shut man page for notification + argument. + * drivers/usbhid-ups.c: Add a "notification" parameter to newmge-shut + driver. It is only here for compatibility with mge-shut driver. It + is ignored since we are always using SHUT_SYNC_OFF in libshut.c. + +2012-07-20 Emilien Kia + + * README, docs/Makefile.am, docs/config-notes.txt, docs/contact- + closure.txt, docs/macros.txt, docs/man/mge-shut.txt, + docs/man/upscli_connect.txt, docs/man/upscli_disconnect.txt, + docs/man/upscli_fd.txt, docs/man/upscli_get.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_ssl.txt, docs/man/upscli_strerror.txt, + docs/man/upscli_upserror.txt, docs/man/upsclient.txt, + docs/scheduling.txt, docs/security.txt: Fix trunk merge (pass 2). + Apply changes to doc to prepare merge to trunk. + +2012-07-19 Emilien Kia + + * clients/upsclient.c, server/netssl.c, server/netssl.h: Fix trunk + merge. Refactor and clean to prepare merge to trunk. + +2012-07-19 Frederic Bohe + + * docs/man/mge-shut.txt: Document ondelay parameter unit discrepency + for SHUT drivers mge-shut uses a ten seconds unit for ondelay + whereas newmge-shut uses seconds. + * drivers/usbhid-ups.c, drivers/usbhid-ups.h: Add a lowbatt setting + to newmge-shut in order to mimic mge-shut setting + +2012-07-19 Emilien Kia + + * server/Makefile.am, server/conf.c, server/netcmds.h, server/{ssl.c + => netssl.c}, server/{ssl.h => netssl.h}, server/upsd.c: Replace + server/ssl.[h|c] by server/netssl.[h|c] in order to prepare nss + branch merging. + +2012-07-18 Emilien Kia + + * .gitignore, INSTALL, MAINTAINERS, Makefile.am, NEWS, UPGRADING, + autogen.sh, clients/Makefile.am, clients/upsc.c, + clients/upsclient.c, clients/upsclient.h, clients/upsmon.c, + clients/upsmon.h, clients/upsrw.c, clients/upssched.c, + common/Makefile.am, common/common.c, common/parseconf.c, + common/state.c, common/upsconf.c, compile, conf/nut.conf.sample, + conf/upsd.conf.sample, configure.in, data/cmdvartab, + data/driver.list.in, docs/.gitignore, docs/FAQ.txt, + docs/Makefile.am, docs/acknowledgements.txt, docs/cables.txt, + docs/cables/apc.txt, docs/config-notes.txt, docs/configure.txt, + docs/design.txt, docs/developer-guide.txt, docs/developers.txt, + docs/documentation.txt, docs/download.txt, docs/features.txt, + docs/images/advanced.png, docs/images/bigbox.png, + docs/images/bizarre.png, docs/images/nut-logo.png, + docs/images/nut.svg, docs/images/simple.png, docs/macros.txt, + docs/maintainer-guide.txt, docs/man/.gitignore, + docs/man/Makefile.am, docs/man/apcsmart-old.txt, + docs/man/apcsmart.txt, docs/man/bcmxcp.txt, docs/man/belkinunv.txt, + docs/man/blazer.txt, docs/man/dummy-ups.txt, docs/man/index.txt, + docs/man/metasys.txt, docs/man/nut-ipmipsu.txt, docs/man/nut- + recorder.txt, docs/man/nut-scanner.txt, docs/man/nut.conf.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_init.txt, + docs/man/nutscan_new_device.txt, docs/man/nutscan_scan_avahi.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/powercom.txt, docs/man/snmp-ups.txt, + docs/man/ups.conf.txt, docs/man/upsc.txt, + docs/man/upscli_list_start.txt, docs/man/upsd.users.txt, + docs/man/upsmon.txt, docs/man/upsrw.txt, docs/net-protocol.txt, + docs/new-clients.txt, docs/new-drivers.txt, docs/nut-names.txt, + docs/security.txt, docs/sock-protocol.txt, docs/stable-hcl.txt, + docs/support.txt, docs/website/Makefile.am, docs/website/css/web- + layout.css, docs/website/faviconut.ico, docs/website/faviconut.png, + docs/website/news.txt, docs/website/projects.txt, docs/website/ups- + protocols.txt, docs/website/web-layout.conf, drivers/.gitignore, + drivers/Makefile.am, drivers/apc-hid.c, drivers/apc-mib.c, + drivers/apcsmart-old.c, drivers/apcsmart-old.h, drivers/apcsmart.c, + drivers/apcsmart.h, drivers/apcsmart_tabs.c, + drivers/apcsmart_tabs.h, drivers/bcmxcp.c, drivers/bcmxcp.h, + drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c, drivers/belkin-hid.c, + drivers/belkinunv.c, drivers/bestfcom.c, drivers/bestfortress.c, + drivers/bestpower-mib.c, drivers/bestups.c, drivers/blazer.c, + drivers/blazer_ser.c, drivers/blazer_usb.c, drivers/compaq-mib.c, + drivers/cps-hid.c, drivers/cyberpower-mib.c, drivers/cyberpower- + mib.h, drivers/dstate.c, drivers/dstate.h, drivers/dummy-ups.c, + drivers/dummy-ups.h, drivers/eaton-mib.c, drivers/eaton-mib.h, + drivers/etapro.c, drivers/gamatronic.c, drivers/genericups.c, + drivers/ietf-mib.c, drivers/isbmex.c, drivers/libhid.c, + drivers/libshut.c, drivers/liebert-esp2.c, drivers/liebert-hid.c, + drivers/main.c, drivers/masterguard.c, drivers/metasys.c, + drivers/mge-hid.c, drivers/mge-mib.c, drivers/mge-shut.c, + drivers/mge-utalk.c, drivers/microdowell.c, drivers/netvision- + mib.c, drivers/netxml-ups.c, drivers/nut-ipmi.h, drivers/nut- + ipmipsu.c, drivers/nut-libfreeipmi.c, drivers/oneac.c, + drivers/oneac.h, drivers/powercom-hid.c, drivers/powercom.c, + drivers/powercom.h, drivers/powerware-mib.c, drivers/raritan-pdu- + mib.c, drivers/rhino.c, drivers/safenet.c, drivers/snmp-ups.c, + drivers/snmp-ups.h, drivers/solis.c, drivers/tripplite-hid.c, + drivers/tripplite_usb.c, drivers/tripplitesu.c, drivers/upscode2.c, + drivers/upshandler.h, drivers/usb-common.c, drivers/usbhid-ups.c, + include/.gitignore, include/Makefile.am, include/common.h, + include/extstate.h, include/nut_stdint.h, include/parseconf.h, + include/state.h, lib/.gitignore, lib/Makefile.am, lib/README, + lib/libnutscan.pc.in, lib/libupsclient-config.in, + lib/libupsclient.pc.in, m4/ax_create_stdint_h.m4, + m4/nut_check_libavahi.m4, m4/nut_check_libfreeipmi.m4, + m4/nut_check_libltdl.m4, m4/nut_check_libwrap.m4, + m4/nut_check_os.m4, m4/nut_report_feature.m4, scripts/HP- + UX/.gitignore, scripts/HP-UX/makedepot.sh, scripts/HP- + UX/nut.psf.in, scripts/Makefile.am, scripts/README, + scripts/augeas/Makefile.am, scripts/augeas/README, + scripts/avahi/nut.service.in, scripts/java/Makefile.am, + scripts/java/README, scripts/java/jNut/README, + scripts/java/jNut/pom.xml, + .../main/java/org/networkupstools/jnut/Client.java, + .../java/org/networkupstools/jnut/Command.java, + .../main/java/org/networkupstools/jnut/Device.java, + .../org/networkupstools/jnut/NutException.java, + .../java/org/networkupstools/jnut/Scanner.java, + .../org/networkupstools/jnut/StringLineSocket.java, + .../java/org/networkupstools/jnut/Variable.java, + .../java/org/networkupstools/jnut/ClientTest.java, + .../java/org/networkupstools/jnut/ScannerTest.java, + scripts/java/jNutList/README, scripts/java/jNutList/pom.xml, + .../java/org/networkupstools/jnutlist/AppList.java, + scripts/java/jNutWebAPI/README, scripts/java/jNutWebAPI/pom.xml, + .../jnutwebapi/NutRestProvider.java, + .../jnutwebapi/RestWSApplication.java, + .../jnutwebapi/ScannerProvider.java, + .../jNutWebAPI/src/main/webapp/WEB-INF/web.xml, + scripts/logrotate/nutlogd, scripts/python/module/PyNUT.py, + scripts/systemd/Makefile.am, scripts/systemd/README, + scripts/systemd/nut-driver.service.in, scripts/systemd/nut- + monitor.service.in, scripts/systemd/nut-server.service.in, + scripts/systemd/nutshutdown.in, scripts/udev/.gitignore, + scripts/udev/Makefile.am, scripts/udev/README, scripts/udev/nut- + ipmipsu.rules.in, scripts/ufw/README, + scripts/ufw/nut.ufw.profile.in, scripts/upower/95-upower-hid.rules, + server/Makefile.am, server/netcmds.h, server/netget.c, + server/netget.h, server/netinstcmd.c, server/netinstcmd.h, + server/netlist.c, server/netlist.h, server/netmisc.c, + server/netmisc.h, server/netset.c, server/netset.h, + server/netssl.c, server/netssl.h, server/netuser.c, + server/netuser.h, server/{ctype.h => nut_ctype.h}, server/sstate.c, + server/sstate.h, server/upsd.c, server/upsd.h, server/user.c, + tests/Makefile.am, tests/cpputest.cpp, tests/example.cpp, + tools/Makefile.am, tools/git-svn.authors, tools/nut-hclinfo.py, + tools/{device-recorder.sh => nut-recorder.sh}, tools/nut- + scanner/Makefile.am, tools/nut-scanner/README, tools/nut- + scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c, tools/nut- + scanner/nutscan-device.c, tools/nut-scanner/nutscan-device.h, + tools/nut-scanner/nutscan-display.c, tools/nut-scanner/nutscan- + init.c, tools/nut-scanner/nutscan-init.h, tools/nut- + scanner/nutscan-ip.c, tools/nut-scanner/nutscan-ip.h, 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, tools/nut- + snmpinfo.py, tools/nut-usbinfo.pl, tools/svn2cl.authors: Merge from + trunk [[SVN:2848]] to [[SVN:3679]] to ssl-nss-port. Note: a + problem is occurring for server/ssl.[h|c]: they have been moved to + server/netssl.[h|c] but consider them as removed. For the branch + merging to trunk, consider paying attention to the case of these + files (removing them by hand). + +2012-07-17 Arnaud Quette + + * drivers/apc-mib.c: APC SNMP MIB update and completion Add + available high precision values, new variables + (input.transfer.reason, battery.current.total and ups.test.date), + and move ambient.{temperature,humidity}.{high,low} to ambient.1.*, + since they relate to alarm threshold of external probe 1 (patch + from Hong-Gunn Chew) + * docs/nut-names.txt: Clarify the use of multiple ambient sensors + Multiple sensors can be exposed using the indexed notation. + 'ambient.*', without index or using '0', relates to the embedded + sensor. For example: 'ambient.temperature' represent the embedded + sensor temperature. Other sensors (external, communication card, + ...) can use indexes from '1' to 'n'. For example: + 'ambient.1.temperature' for the first external sensor temperature. + * docs/nut-names.txt: NUT namespace completion Add two new variables + 'ups.test.date' and 'battery.current.total'. Also add a note on the + 'ambient' collection for supporting multiple sensors + +2012-07-16 Arnaud Quette + + * drivers/nut-ipmipsu.c, drivers/nut-libfreeipmi.c, + m4/nut_check_libfreeipmi.m4, tools/nut-scanner/nut-scanner.c, + tools/nut-scanner/scan_ipmi.c: Support for FreeIPMI 1.1.x and 1.2.x + Prepare for supporting API changes in FreeIPMI 1.1.x and 1.2.x. + This is mostly related to SDR API simplifications. A 2nd iteration + will probably address code redundancy, whenever possible + +2012-07-10 Arnaud Quette + + * data/driver.list.in, drivers/eaton-mib.c, drivers/eaton-mib.h, + drivers/snmp-ups.c, drivers/snmp-ups.h: Add support for Eaton ePDU + Switched (Pulizzi) Implement support for older Eaton / Powerware + ePDU Switched. These were once sold as Pulizzi, and have now been + replaced by newer model (Eaton Marlin implementation and others) + +2012-07-09 Emilien Kia + + * configure.in: Fix CppUnit detection. Fix inconsistent test for + CppUnit install (using pkg-config) to really enable unit tests. + +2012-07-05 Arnaud Quette + + * docs/man/nut-ipmipsu.txt: Fix an error on possible power supplies + status + +2012-07-04 Arnaud Quette + + * clients/upssched.c: Fix upssched regression Coverity branch merge + [[SVN:3555]] introduced a regression: any upssched.conf command + that takes a second argument resulted in a defective frame sent to + the parent process. Thus, the command was not executed (patch from + Oliver Schonefeld) + * Makefile.am, configure.in, tests/.gitignore, tests/Makefile.am, + tests/cpputest.cpp, tests/example.cpp: Add basic infrastructure for + unit tests Merge eki-unittests branch, with some adjustments, to + add a basic initial infrastructure for unit tests, using CppUnit + (v1.9.6+) (from Emilien Kia, from Eaton) + +2012-07-03 Arnaud Quette + + * scripts/systemd/nut-driver.service.in, + scripts/systemd/nutshutdown.in: Fix upsdrvctl call path upsdrvctl + is located in @driverexecdir@, not @SBINDIR@ (reported by Michal + Hlavinka, from Redhat) + +2012-06-15 Arnaud Quette + + * configure.in: Adapt systemd installation directory #2 Complete + previous commit by also adapting paths for service files + +2012-06-14 Arnaud Quette + + * configure.in: Adapt systemd installation directory Adapt systemd + installation directory for the shutdown script, so that it does not + try to install it in the actual system directory, but to the + pointed build directory, including a sub directory prefix + * docs/new-clients.txt: Fix broken link to upscli_*(3) HTML manual + pages + +2012-06-12 Arnaud Quette + + * configure.in: Fix WITH_SSL and WITH_NSS AM_CONDITIONAL definitions + nut_with_nss / nut_with_openssl must be set to "yes", otherwise + AM_CONDITIONAL counterpart WITH_NSS / WITH_SSL is not defined + * docs/new-drivers.txt: Forgotten mention upsdrv_info_t->name is + also published as "driver.name" variable + * docs/man/belkinunv.txt, drivers/belkinunv.c, drivers/main.c, + drivers/masterguard.c, drivers/metasys.c, drivers/mge-utalk.c, + drivers/microdowell.c, drivers/nut-ipmipsu.c, drivers/safenet.c, + drivers/tripplitesu.c, drivers/usbhid-ups.c: Remove redundant + driver.version.internal publication + * configure.in, docs/configure.txt, docs/man/nut-scanner.txt: Add + missing references to libltdl for nut-scanner nut-scanner requires + libltdl (Libtool dlopen abstraction) since NUT 2.6.3. + Documentations have been completed, and nut-scanner build status is + now exposed in the build configuration summary + * drivers/snmp-ups.c: Fix publication of driver.version.data Publish + the MIB name and version in driver.version.data, rather than merged + into driver.version.internal + * drivers/netxml-ups.c: Fix publication of driver.version.data + netxml-ups subdriver version is to be tracked in + driver.version.data, not in driver.version.internal + * docs/nut-names.txt: Add missing variable driver.version.data Add + variable driver.version.data, to track version of the internal data + mapping, for generic drivers (reported by Luiz Angelo Daros de + Luca) + * docs/nut-names.txt: Fix comment for driver.version.internal + Drivers internal version are always tracked separately, and stored + in driver.version.internal + +2012-06-11 Michal Soltys + + * drivers/apcsmart.c: apcsmart: tcsetattr/tcgetattr addendum This + small patch moves the comparison sequence into separate function. + No functional changes. Also minor retab! run on defines. + +2012-06-11 Arnaud Quette + + * data/driver.list.in: HCL: Add support for REDi Blazer Add REDi + Blazer 400VA / 600VA / 800VA to the list of blazer_ser supported + models (reported by Marius Gavrilescu) + * docs/nut-names.txt: Fix a typo error on power.minimum description + power.minimum is really the minimum seen apparent power in VA + (reported by Luiz Angelo Daros de Luca) + +2012-06-07 Arnaud Quette + + * data/driver.list.in, drivers/blazer_usb.c: HCL: Add support for + Online Zinto A to blazer_usb Add Online Zinto A (USB ID + 0x06da:0x0601) to the list of blazer_usb supported models (reported + by Carsten Burkhardt) + +2012-06-07 Charles Lepple + + * drivers/oneac.h: Remove unused constants to fix LLVM compilation + error. + +2012-06-05 Arnaud Quette + + * docs/website/news.txt, docs/website/projects.txt: WMNut updates + Update WMNut release (0.64) and hosting URL + +2012-06-04 Arnaud Quette + + * docs/download.txt, docs/website/news.txt: Update Windows package + publications for 2.6.4-1 + +2012-05-31 Arnaud Quette + + * NEWS, UPGRADING, configure.in, docs/website/news.txt: Final update + for 2.6.4 release + +2012-05-30 Arnaud Quette + + * data/driver.list.in: HCL: Add support for Cyber Power Systems + CP1000PFCLCD Add CyberPower Systems CP1000PFCLCD (USB ID + 0x0764:0x0501) to the list of usbhid-ups supported models (reported + by David Owen) + * drivers/apc-mib.c: Track more APC SNMP sysOID values, as comments + * drivers/upshandler.h: Fix code spacing (no functional change) + * drivers/bcmxcp_ser.c, drivers/bcmxcp_usb.c: Add some debug traces + on incoming / outgoing data + * INSTALL: Add missing reference to nut.conf manual page + * drivers/bestfortress.c: Improve Best Fortress LI675VA support + Apply an old missed patch: all responses are preceded and + terminated by "CR LF". But bestfortress driver discards anything + after the first "CR LF". This patch trims everything up to the + first LF. (patch from Jørgen Thomsen) + * drivers/metasys.c: Remove extraneous spaces (no functional changes) + +2012-05-30 Prachi Gandhi + + * scripts/Solaris/preinstall: Updated preinstall script for 'nut' + group, user checking + * Makefile.am, scripts/Solaris/Makefile.am, + scripts/Solaris/preinstall: Added checking for existing 'nut' + group, user and updated package name + +2012-05-29 Arnaud Quette + + * common/parseconf.c: Fix CVE-2012-2944: upsd can be remotely crashed + NUT server (upsd), from versions 2.4.0 to 2.6.3, are exposed to + crashes when receiving random data from the network. This issue is + related to the way NUT parses characters, especially from the + network. Non printable characters were missed from strings + operation (such as strlen), but still copied to the buffer, causing + an overflow. Thus, fix NUT parser, to only allow the subset Ascii + charset from Space to ~ (Reported by Sebastian Pohle, Alioth bug + #313636, CVE-2012-2944) + * data/driver.list.in: HCL: Add support for Lexis X-power Tigra 1kVA + Add Lexis X-power Tigra 1kVA to the list of blazer_ser or bestups + supported models (reported by Tmima Pliroforikis Perifereiakis + Enotitas Pierias) + * data/driver.list.in: HCL: Encourage the use of blazer_ser instead + of bestups Mention blazer_ser as prefered compared to bestups. + Recent changes to blazer_ser have made it possible to use it + instead of bestups. In the end, bestups will be replaced by + blazer_ser, as for other Megatec/Q1 drivers + +2012-05-29 Prachi Gandhi + + * Makefile.am, configure.in, tools/nut-scanner/Makefile.am, + tools/nut-scanner/nut-scan.h, tools/nut-scanner/nutscan-init.c, + tools/nut-scanner/nutscan-init.h, tools/nut-scanner/scan_snmp.c: + Changes in nut-scanner to remove Sparc 'usmAESPrivProtocol' error + while creating package + +2012-05-29 Arnaud Quette + + * drivers/blazer.c, drivers/blazer_ser.c: Improve Best UPS support in + blazer Best UPS units, which use a subset of the Megatec/Q1 + protocol, supported by the blazer drivers, can now work with + blazer_ser. This support is still limited, but already offers a + decent set of features + +2012-05-25 Arnaud Quette + + * server/user.c: Add debug traces for instcmds and actions Whenever + upsd adds an instant command or an action, from upsd.users, display + a debug trace + * docs/man/upsd.users.txt: Clarify multiple actions specification + Add more details and an example, to illustrate multiple actions + specification (reported by Emilien Kia, from Eaton) + +2012-05-24 Arnaud Quette + + * data/driver.list.in: HCL: Add support for Eaton Management Card + Contact Add Eaton Management Card Contact (ref 66104) to the list + of mge-shut or mge-utalk supported models + * drivers/compaq-mib.c: HP SNMP completion Complete HP SNMP mapping + table, with thresholds, nominal values and more commands + +2012-05-23 Arnaud Quette + + * docs/website/projects.txt: Reference Thecus NAS in Related projects + Add a reference in the Related projects, on Thecus NAS range, which + uses NUT for power protection + +2012-05-22 Arnaud Quette + + * drivers/apcsmart.c, drivers/apcsmart.h: Complete previous commit + for HP-UX HP-UX does not support VREPRINT, so make it conditional + * drivers/apcsmart.c, drivers/apcsmart.h: Fix commit [[SVN:3603]] + Commit [[SVN:3603]] (fix tcsetattr() / tcgetattr() issue) has + introduced some incompatibility with older Unix systems, such as + Solaris, Aix and HP-UX. The present commit should address it. + * scripts/java/jNut/src/main/java/org/networkupstools/jnut/Variable.j + ava: Adjust comment (no functional change) + * configure.in, docs/net-protocol.txt, server/netcmds.h, + server/netmisc.c, server/netmisc.h: Add versioning to the network + protocol Due to the number of recent evolutions to the network + protocol, along with other possible future changes, NUT network + protocol is now versioned. The chapter "Network protocol + information", of the developer guide, stores the revision history, + while a new "NETVER" command serves this information through the + protocol + +2012-05-21 Arnaud Quette + + * data/driver.list.in: HCL: Complete the supported PowerWalker ranges + Add PowerWalker Online VFI LCD, Line-Interactive VI LCD and Line- + Interactive VI models to the list of blazer_usb supported models + * data/driver.list.in: HCL: Add support for Microline C-Lion Innova + ranges Add Microline C-Lion Innova models to the list of + blazer_usb supported models + +2012-05-21 Prachi Gandhi + + * Makefile.am, scripts/HP-UX/Makefile, scripts/HP-UX/nut.psf.in, + scripts/Makefile.am: generalized 'make package' call for Solaris, + HPUX package; updated nut.psf.in for HPUX + +2012-05-21 Arnaud Quette + + * data/driver.list.in: HCL: Add support for KOLFF ranges Add KOLFF + BLACK NOVA models to the list of blazer_usb supported models + * data/driver.list.in: HCL: Add support Ippon INNOVA RT range Add + Ippon INNOVA RT models to the list of blazer_usb supported models + * data/driver.list.in: HCL: Add support for Gtec ranges Add Gtec + models to the list of blazer_ser or blazer_usb supported models + * data/driver.list.in: HCL: Complete the supported EVER ranges Add + EVER POWERLINE RT / 11 / 31 and DUO II Pro models to the list of + blazer_ser or blazer_usb supported models + * data/driver.list.in: HCL: Add support for COVER ENERGY SA ranges + Add COVER ENERGY SA models to the list of blazer_usb supported + models + * data/driver.list.in: HCL: Add support for Borri ranges Add Borri + models to the list of blazer_usb supported models + * data/driver.list.in: HCL: Add support for ARTronic ranges Add + ARTronic models, both serial and USB, to the list of blazer_ser and + blazer_usb supported models + +2012-05-21 Charles Lepple + + * drivers/belkin-hid.c: Fix Liebert firmware (incorrect exponents) + There are at least two Liebert firmware types which both report a + VID:PID of 10af:0001. The newer ones tend not to have the Belkin + broken Usage Pages (and therefore use standard HID PDC paths) but + they have incorrect exponents for some fields. This patch fixes the + values for the latter implementation + +2012-05-21 Arnaud Quette + + * data/driver.list.in, drivers/netvision-mib.c: Add 3-phases support + to Socomec Netvision MIB Improve Socomec Netvision MIB, by adding + support for 3-phases UPS (patch from Manuel Bouyer) + * data/driver.list.in: HCL: Add support for PowerShield Defender + 1200VA Add PowerShield Defender 1200VA (USB ID 0665:5161) to the + list of blazer_usb supported models (reported by Tom Clarkson) + * drivers/blazer.c, drivers/blazer_ser.c, drivers/blazer_usb.c: + beeper.status belongs to the "ups" data collection + +2012-05-16 Arnaud Quette + + * drivers/apcsmart.c, drivers/apcsmart.h: Final fix to the + tcsetattr() / tcgetattr() issue The most likely cause of all + spurious differences between what was set on the port with + tcsetattr() and what tcgetattr() shows are likely to do with the + c_local PENDIN flag, which is a status bit, not a control bit. It + will change when there's unread pending input, which can be quite + often on an APC UPS. The right way to compare struct termios + values is to clear the status flags _after_ the tcsetattr() and of + course after the tcgetattr() call and then compare the result with + what was set. Also set NOKERNINFO, if available, as we don't want + the UPS or noise on the line to accidentally trigger status output + back to the UPS, and finally make sure IEXTEN is also cleared along + with ISIG since it too can cause weird things to happen. This + change also adds some debug code to show any differences in the + structures in a logical manner in debug output (and squashes one + tiny compiler warning) (patch from Greg A. Woods) + * docs/config-notes.txt, docs/man/upsmon.txt: Whitespace fixes + Remove some extraneous spaces, suggested by "git diff --check", and + improve a bit formatting (patch #36 from Greg A. Woods) + +2012-05-15 Arnaud Quette + + * drivers/snmp-ups.c, drivers/snmp-ups.h: Remove dead code Remove + dead code, related to shutdown handling (no functional changes) + (based on patch #29 from Greg A. Woods) + +2012-05-15 Prachi Gandhi + + * scripts/Solaris/Makefile.am: Updated scripts/Solaris/Makefile.am to + remove prototype, checkinstall + +2012-05-15 Arnaud Quette + + * docs/nut-names.txt: Fix formating issue + * docs/nut-names.txt: Add missing battery.voltage data to the + namespace Add missing battery.voltage.{low,high} to the standard + NUT namespace + * docs/nut-names.txt, drivers/upscode2.c: Rename peakcurrent to + current.peak (as per RFC) Rename peakcurrent to current.peak, + since it is more coherent and suitable + * drivers/dummy-ups.c, drivers/dummy-ups.h: Update and cleanup + Convert flags defitions to bitwise left shift, convert some + comments about variables to actual values, and do a bit of cleanup + (patch #27 from Greg A. Woods) + +2012-05-15 Prachi Gandhi + + * scripts/Solaris/checkinstall, scripts/Solaris/precheck.py, + scripts/Solaris/prototype: Deleted checkinstall, prototype files + +2012-05-15 Arnaud Quette + + * drivers/blazer.c: Add comment on shutdown.return ondelay value Add + a comment reinforcing the need for ondelay=3 (partial patch #26 + from Greg A. Woods) + * docs/man/snmp-ups.txt: Complete APC SNMP compatibility information + Mention more varieties of APC SNMP cards, and mention the POWERNET + MIB (patch #25 from Greg A. Woods) + +2012-05-15 Prachi Gandhi + + * Makefile.am, scripts/Solaris/Makefile.am, + scripts/Solaris/pkginfo.in, scripts/Solaris/prepackage.py, + scripts/Solaris/preproto.pl: Added perl script to create prototype + file onsolaris platform, updated Makefile.am + * m4/nut_check_os.m4: Added perl script to create prototype file + onsolaris platform, updated Makefile.am + +2012-05-15 Arnaud Quette + + * drivers/netvision-mib.c: Fix status processing for "ECO mode" When + running in "ECO mode", the driver should report an ups.status set + to "OL", or it otherwise ends up with an empty string that confuses + upsmon (patch from Ivan Kuznetsov) + +2012-05-14 Arnaud Quette + + * docs/man/blazer.txt: Mention General Electric in blazer manual page + Mention General Electric as a user of the Megatec/Q1 protocol + (patch #24 from Greg A. Woods) + * clients/upsmon.h: Use bitwise left shift for flags definitions Use + (1 << N) to define a bit flag at bit N, which is more coherent with + other similar implementations in NUT (patch #23 from Greg A. Woods) + * clients/upsmon.c: Cosmetic changes Remove dead / redundant + #defines, and enable interesting debug traces that were commented + out (based on patch #22 from Greg A. Woods) + * drivers/apcsmart.h: Use bitwise left shift for status flags + definitions Use (1 << N) to define a bit flag at bit N, which is + more coherent with other similar implementations in NUT (patch #21 + from Greg A. Woods) + * drivers/apcsmart.c, drivers/apcsmart.h: Don't be too strict about + terminal settings Don't log an error when tcgetattr() reports + different settings on the port (patch #20 from Greg A. Woods) + * tools/nut-usbinfo.pl: Better filtering on USB related files The + current USB information extraction script is not optimal at + filtering files that need to be inspected. While waiting for a + proper rewrite, improve a bit more filenames filtering (patch #18 + from Greg A. Woods) + * drivers/blazer_ser.c: Quote the debug output for space visibility + Quote the debug output so one can see how many spaces there are + (patch #16 from Greg A. Woods) + * docs/cables/apc.txt: Update APC cabling information Update + information about APC cable model numbering and revisions (patch + #16 from Greg A. Woods) + * data/driver.list.in: HCL: GE Digital Energy updates Rename "GE" to + "GE Digital Energy", which is more appropriate in this context. + Also add GT Series 1000-3000 VA to the list of blazer_ser supported + models (patch #15 from Greg A. Woods) + * docs/developers.txt: Complete notes on spaces for alignements Add + complementary note on the use of spaces for alignements (patch #14 + from Greg A. Woods) + * docs/design.txt: Use more suitable examples Use an example driver + name matching the unified NUT drivers generic manual page name + (patch #13 from Greg A. Woods) + * drivers/mge-hid.c: Complete and update Eaton HID usages table + +2012-05-11 Arnaud Quette + + * tools/Makefile.am: Fix typo in comment Fix a typo error in comment + (reported by Fred Bohé, from Eaton) + * scripts/upower/95-upower-hid.rules: Update upower script Update + upower script with recent changes and updates (redundant with patch + #6 from Greg A. Woods) + * tools/Makefile.am: Explicit mention of Makefiles brokenness + Document that, at least, this Makefile.am is broken by design + (patch #5 from Greg A. Woods) + * docs/man/apcsmart.txt: Fix documentation wording "there're" is not + a valid contraction, especially not in a technical document (patch + #4 from Greg A. Woods) + * docs/man/apcsmart.txt: Always use upper case for the acronym "UPS" + Be consistent in using all upper case for the acronym "UPS" (Ie + Uninterruptible Power Supply) (patch #3 from Greg A. Woods) + * docs/man/apcsmart.txt: Fix SmartUPS cabling nomenclature Correct + the nomenclature of the SmartUPS cabling part numbers (patch #2 + from Greg A. Woods) + * configure.in: Fix a configure error message Asciidoc might + actually be installed but documentation might still not be build- + able (earlier messages should hint at exactly what was missing) + (patch #1 from Greg A. Woods) + * data/driver.list.in: HCL: Add support for ATEK Defensor range Add + ATEK Defensor range (Innova series) to the list of blazer_usb + supported models + * data/driver.list.in: HCL: Fix EVER brand name The correct name is + "EVER", not "EVER UPS", as per a request from the manufacturer + +2012-05-10 Arnaud Quette + + * docs/website/news.txt: Update for WMNut 0.63 publication + * docs/website/ups-protocols.txt: Official Riello protocols + publication + +2012-05-08 Prachi Gandhi + + * Makefile.am, scripts/Solaris/Makefile.am, + scripts/Solaris/prepackage.py: Added python script to create + pkginfo.in and checkinstall scripts depending upon the solaris + platform + +2012-05-03 Arnaud Quette + + * drivers/libshut.c, drivers/mge-shut.c: Forgotten driver version + bump + * clients/upsmon.c: Coverity fix on upsmon Remove an unneeded null + check, that cause a Coverity error (reported by Michal Hlavinka + from RedHat) + * drivers/libshut.c, drivers/mge-shut.c: Coverity fix on Eaton SHUT + Fix some tests that are always false, regardless of the values of + operands (reported by Michal Hlavinka from RedHat) + +2012-05-02 Arnaud Quette + + * docs/download.txt, docs/website/news.txt: Update Windows package + publications + * common/Makefile.am, include/Makefile.am: Better handling of + nut_version.h nut_version.h should not be distributed, since it is + automatically built. Moreover, hard dependency in common/ is not + needed since BUILT_SOURCES reference ensure generation before any + other target: + http://www.gnu.org/software/automake/manual/automake.html#Sources + (Reported by Regid Ichira, Debian bug #613643) + +2012-04-27 Arnaud Quette + + * data/driver.list.in, drivers/cps-hid.c: Add support for CyberPower + Systems PR6000LCDRTXL5U Add CyberPower Systems PR6000LCDRTXL5U + (USB ID 0x0764:0x0601) to the list of usbhid-ups supported models + (reported by Dax Kelson) + * data/driver.list.in: HCL: Complete HP supported devices list Add + HP UPS Management Module to the list of snmp-ups supported models. + Also complete serial compatibility for some models, using mge-shut + +2012-04-25 Arnaud Quette + + * docs/man/nut-scanner.txt: Clarify nut-scanner compilation and + distribution Document explicitely how nut-scanner is compiled, and + how its features are made available, according to its dependencies + (both compile time and runtime) + +2012-04-24 Frederic Bohe + + * tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-init.c, + tools/nut-scanner/nutscan-init.h, 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: Cleaner exit for nut-scanner + +2012-04-23 Frederic Bohe + + * 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: Be + more verbose when failing to dynamically load a library + +2012-04-14 Arnaud Quette + + * docs/man/.gitignore, docs/man/Makefile.am, docs/man/index.txt, + docs/man/nut-recorder.txt, tools/nut-recorder.sh: Create nut- + recorder manual page + * drivers/tripplite-hid.c: HP USB UPS completion #3 Remove R/T3000 + USB ID (0x03f0:0x1fe5) from the TrippLite HID mapping, since it is + supported by the Eaton HID mapping. This completes commit + * drivers/usbhid-ups.c: Correct Celsius temperatures that should be + in Kelvin Check if raw value is in the Kelvin range, to detect + buggy values that are already expressed in Celsius degrees, as + found on some HP devices + * docs/developer-guide.txt, tools/Makefile.am, tools/{device- + recorder.sh => nut-recorder.sh}: Rename device-recorder to nut- + recorder + * data/driver.list.in: HCL: Reorder Dell devices by connection type + +2012-04-10 Arnaud Quette + + * scripts/systemd/nut-driver.service.in, scripts/systemd/nut- + monitor.service.in, scripts/systemd/nut-server.service.in, + scripts/systemd/nutshutdown.in: Fix broken systemd integration in + the build system Step 2: add the theoretical path templates to the + systemd scripts. This however requires adjustments to the RPM + package. Namely, upsd and upsmon will have to be installed in + /sbin, instead of the current /usr/sbin + * configure.in, scripts/systemd/Makefile.am: Fix broken systemd + integration in the build system Step 1: remove Makefile rules that + were both useless, and causing warning. Generate nut-*.service + files from .in templates in configure, as it should be, which is + currently void since there is no target to substitute. This has + however required to export SBINDIR and PIDPATH through AC_SUBST, in + configure + * clients/upsrw.c, common/state.c, docs/man/upscli_list_start.txt, + docs/man/upsrw.txt, docs/net-protocol.txt, docs/new-drivers.txt, + docs/sock-protocol.txt, drivers/dstate.c, drivers/dstate.h, + include/extstate.h, include/state.h, server/netget.c, + server/netlist.c, server/netset.c, server/sstate.c, + server/sstate.h: Support of ranges of values for writable variables + It is now possible to specify one or more ranges of values for + writable variables, using dstate_addrange() in drivers. upsd also + supports the new type 'RANGE' for 'GET TYPE', along with the 'LIST + RANGE' command. Finally, users can interact through upsrw, which + displays the supported ranges, and enforces new value checking + against the provided boundaries + * drivers/mge-hid.c: HP USB UPS completion #2 Address HP USB/HID + devices, that use the Eaton HID definitions. This includes the + latest products range (USB IDs 0x1fe5, 0x1fe6, 0x1fe7 and 0x1fe8), + and few more variables and commands + * drivers/mge-hid.c: Fix Eaton / MGE outlet.2.switchable flags + outlet.2.switchable should only be writable to enable ECO mode on + Ellipse ECO, Protection Station and some 3S. Other models should + only expose it as read only (reported by Prachi Gandhi from Eaton, + Alioth bug #313587) + +2012-04-04 Arnaud Quette + + * scripts/Makefile.am, scripts/logrotate/nutlogd: Provide log + rotation configuration for NUT Provide a basic configuration file + for managing rotation (logrotate) of NUT log files, generated by + upslog + +2012-04-02 Arnaud Quette + + * docs/nut-names.txt: Update the namespace Complete the namespace + with missing variables and commands, that are either known or have + had an RFC + * docs/man/.gitignore: Subversion ignored files completion Mark + nutscan_init.html as Subversion ignored (no functional changes) + +2012-03-31 Arnaud Quette + + * data/driver.list.in: HCL: Add support for AEG Power Solutions + PROTECT HOME Add AEG Power Solutions PROTECT HOME (USB ID + 0x0665:0x5161) to the list of blazer_ser and blazer_usb supported + models (reported by Joachim Schiele) + +2012-03-30 Arnaud Quette + + * drivers/bcmxcp_usb.c: Add debug traces for read / write commands + * common/common.c, include/common.h: Improve support functions for + trimming strings Enforce verifications in rtrim, and add an ltrim + function + +2012-03-29 Arnaud Quette + + * data/driver.list.in, drivers/blazer_usb.c: Add support Innova + online UPS family Add Innova T (0x06da:0x0201), Innova RT + (0x06da:0x0005) and Innova 3/1 T (0x06da:0x0004) to the list of of + blazer_usb and blazer_ser supported models. Innova series are + online UPS supporting Q1 for compatibility, and many more commands. + Better support, either through blazer_* rewrite or through a new + driver, is considered as a future possibility + +2012-03-24 Arnaud Quette + + * configure.in, docs/Makefile.am, docs/security.txt, + scripts/Makefile.am, scripts/ufw/.gitignore, scripts/ufw/README, + scripts/ufw/nut.ufw.profile.in: Uncomplicated Firewall (UFW) + support Provide an Uncomplicated Firewall (UFW) profile + (nut.ufw.profile) to tightly integrate NUT, along with some + documentation completion for the Security chapter of the user + manual + +2012-03-23 Arnaud Quette + + * conf/nut.conf.sample, docs/man/nut.conf.txt: Fix nut.conf + documentation and sample file Since nut.conf is intended to be + sourced by shell scripts, spaces must not be added around the equal + sign. Fix documentation and sample file to conform to this purpose, + and add bold warning (reported by Tim Rice, Alioth bug #312452) + * clients/upsmon.c, server/upsd.c: Detect duplicate instances of upsd + / upsmon Fix a long standing issue, that is the lack of detection + of duplicate upsd / upsmon instances when starting another one of + these daemons. This previously resulted in inconsistencies, such as + being unable to stop the daemon, due to its .pid file being removed + by the newly started instance (last reported by Andrew Min Chang) + +2012-03-21 Frederic Bohe + + * drivers/libshut.c: Avoid stack corruption on invalid frame In the + protocol, the frame size can be 8 bytes max. That is why the frame + buffer is only 8 bytes long. If the frame is corrupted, the size + read may be up to 15, which may corrupt the stack while writing + into the frame buffer. This patch add a simple sanity check on the + size to avoid a crash and enforce protocol limitation. + * drivers/libshut.c: Fix SHUT variables read (from Arnaud Quette) + * drivers/bcmxcp.c, drivers/bcmxcp.h, drivers/bcmxcp_usb.c: Change + timeout for PW9120 Current timeout (1 sec) is too short for + PW9120: numerous frames are lost. Setting this to 2 seconds fix + this. + * drivers/libshut.c: Deactivate UPS notification Currently this + driver is ignoring notification by automatically sending NACK when + they are received. Nevertheless,this behavior creates communication + errors with some UPS (M2200). So this patch completly disable the + sending of notification from the UPS. Ideally we should correclty + implement notifications managment for optimal performance, but with + this patch, at least, communiaton works. + * drivers/libshut.c: Fix shut notification mask + +2012-03-09 Arnaud Quette + + * docs/config-notes.txt: Emphasize special characters + * data/driver.list.in, drivers/tripplite-hid.c: HP USB UPS completion + #1 Address HP USB/HID devices, that use the TrippLite HID + definitions. This includes new ProductIDs, and few more variables + and commands + * drivers/oneac.h: Remove extraneous comment start + +2012-03-08 Frederic Bohe + + * common/parseconf.c, common/upsconf.c, docs/config-notes.txt: More + flexible '=' character managment in conf files This allow to + support the following forms : 'foo = bar', 'foo=bar', 'foo =bar' + and 'foo= bar' + +2012-03-06 Arnaud Quette + + * docs/man/oneac.txt, drivers/oneac.c, drivers/oneac.h: Improve + general OneAC support (oneac 0.80) Improve support for all + families of Oneac (EG, ON, OZ and OB), including support for more + data and instant commands (patch from Bill Elliot) + +2012-03-05 Arnaud Quette + + * drivers/blazer.c, drivers/blazer_ser.c, drivers/blazer_usb.c: + Guesstimate battery high and low voltages Add an automatic + estimation for high and low voltages, to be able to determine + battery charge. This should cover most cases, but a bold mention + has been added at driver startup, to inform the user. Driver + version (USB and serial) have been bumped to reflect this change + * drivers/blazer.c: Set 'FSD' status flag upon need As per the + recent decision to allow driver to set 'FSD' status flag, set 'FSD' + upon "Shutdown imminent" detection + +2012-03-02 Arnaud Quette + + * autogen.sh, scripts/augeas/Makefile.am: Sanity check before python + script execution Only generate Augeas ups.conf lens if we can + import required Python modules (re,glob,codecs) + * docs/man/blazer.txt: Fix typo error in runtimecal example values + * docs/stable-hcl.txt: Improve formating + * docs/new-drivers.txt: Formalize the use of the FSD status flag As + an exception, drivers are now allowed to set the "FSD" (Forced + ShutDown) status flag when an imminent shutdown has been detected + +2012-02-29 Arnaud Quette + + * clients/upsc.c, docs/man/upsc.txt: Client side implementation of + "LIST CLIENT" Implement "LIST CLIENT" in upsc, using "-c " + * docs/net-protocol.txt, server/netlist.c: Adjust server side + implementation of "LIST CLIENT" Commands of the "LIST" family have + to be coherent with the command name. Ie, "LIST CLIENT" should use + the same "CLIENT" prefix, or it will otherwise break client side + verification mechanism + * server/netlist.c: Adjust "LIST CLIENTS" implementation Adjust + "LIST CLIENTS" implementation to be more coherent with other + network protocol commands + * docs/net-protocol.txt: Document new "LIST CLIENTS" command + * server/upsd.c, server/upsd.h: Remove upsd "info" command Adjust + initial "LIST CLIENTS" commit, by removing the upsd "info" command, + which is not suitable, and redundant with the "LIST CLIENT" command + of the network protocol [Fixed compilation error] + +2012-02-29 Charles Lepple + + * scripts/python/module/PyNUT.py: Add support for LIST CLIENTS, etc. + to PyNUT. Patch by Rene Martín Rodríguez . + Merged with typo fixes in repository. Covers LIST CLIENTS, FSD, + HELP and VER. Module version bumped to 1.2.2. Discussion: + http://article.gmane.org/gmane.comp.monitoring.nut.devel/5871 + * server/netlist.c, server/upsd.c, server/upsd.h: Add new "LIST + CLIENTS" command to NUT protocol. Patch by Rene Martín Rodríguez + , with indentation changed to tabs. + Discussion: + http://article.gmane.org/gmane.comp.monitoring.nut.devel/5870 + * drivers/blazer.c: Update URL to Megatec protocol description. + +2012-02-28 Arnaud Quette + + * drivers/liebert-hid.c: UPower optimization Always spell + manufacturer names the same way across the various USB drivers. + This avoids duplication of manufacturer entries in + scripts/upower/95-upower-hid.rules, during automatic generation + +2012-02-27 Arnaud Quette + + * data/driver.list.in, drivers/cps-hid.c: Add support for CyberPower + OR700LCDRM1U Add CyberPower OR700LCDRM1U (0x0764:0x0601) to the + list of usbhid-ups supported models (reported by Brian McCann) + +2012-02-22 Michal Soltys + + * drivers/apcsmart.c: drivers/apcsmart.c: setvar_string() and + apc_write_long() bugfixes setvar_string() couldn't function + properly, due to the use of wrong variable. Not associated with + any bugreport (reported directly to email). + * drivers/apcsmart.c: drivers/apcsmart.c: make + tcsetattr()/tcgetattr() difference not fatal This is follow up + from earlier bug report (#313395). Earlier commit should have fixed + the issue, but the original submitter never commented on it. Just + in case - instead of making it fatal, we only log the issue. + +2012-02-20 Arnaud Quette + + * drivers/snmp-ups.c, tools/nut-scanner/scan_snmp.c: Better handling + of Net-SNMP AES PrivProtocol Handle smartly issues related to Net- + SNMP support and declaration of AES PrivProtocol + +2012-02-19 Charles Lepple + + * drivers/snmp-ups.c, drivers/snmp-ups.h: Don't allocate storage for + variables in snmp-ups.h The header files should declare variables + as extern, and they should be allocated in only one .c file (not + all of the files which include the .h file). While this is not an + immediate problem when only one .c file includes the .h file, it + still should be fixed in case that changes in the future. Patch by + Daniel Macks: http://fink.cvs.sourceforge.net/viewvc/fink/experimen + tal/dmacks/finkinfo/nut.patch?revision=1.1&view=markup + * drivers/bcmxcp.c, drivers/bcmxcp.h: Don't allocate storage for + variables in bcmxcp.h The header files should declare variables as + extern, and they should be allocated in only one .c file (not all + of the files which include the .h file). This was causing multiple + symbol definitions on Mac OS X. Patch by Daniel Macks: http://fink + .cvs.sourceforge.net/viewvc/fink/experimental/dmacks/finkinfo/nut.p + atch?revision=1.1&view=markup + +2012-02-16 Arnaud Quette + + * data/driver.list.in, drivers/blazer_usb.c: Add support for Online + Yunto YQ450 Add Online Yunto YQ450 (0x06da:0x0002) to the list of + blazer_usb supported models (reported by Thomas Maisl) + +2012-02-16 Charles Lepple + + * tools/git-svn.authors, tools/svn2cl.authors: Update SVN username + mappings + +2012-02-14 Arnaud Quette + + * data/driver.list.in: Add support for Tripp-Lite OMNISMART500 Add + Tripp-Lite OMNISMART500 (productID 0001) to the list of + tripplite_usb supported models (reported by Matt Schulte) + +2012-02-10 Arnaud Quette + + * data/driver.list.in: Support for Dell UPS Network Management Card + Add Dell UPS Network Management Card to the list of snmp-ups and + netxml-ups supported models. SNMP support currently relies on IETF + (RFC-1628) MIB, and not on Dell UPS MIB + +2012-02-09 Frederic Bohe + + * tools/nut-scanner/scan_snmp.c: Remove useless lib_mutex and buggy + dev_mutex + +2012-02-03 Arnaud Quette + + * Makefile.am: Update ChangeLog generation and fix text wrapping + Adapt the ChangeLog file generation process to correctly wrap text, + even with the new 'git style' format, used for Subversion commit + messages + +2012-02-02 Arnaud Quette + + * drivers/bcmxcp.c, drivers/bcmxcp.h: Improve XCP support for battery + status Add support for battery test publication in + ups.test.result, and RB (replace battery) in ups.status + +2012-01-31 Arnaud Quette + + * drivers/bestfortress.c: Add more debug traces Add more debug + traces, again, to work on the checksum corruption issue + +2012-01-23 Arnaud Quette + + * drivers/mge-mib.c: Clean and complete MGE MIB Complete MGE MIB for + status, variables and commands, using IETF MIB OIDs when needed. + Macro have also been replaced by actual numeric OID paths for + better clarity. + * drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups shutdown support + snmp-ups now provides support for UPS shutdown, based on usbhid-ups + mechanisms (composite commands and fallback). Composite commands + are also supported. This means, for example, that if + 'shutdown.return' is not supported, a combination of 'load.off' + + 'load.on' may be used. + * drivers/ietf-mib.c: Fix invalid variable name Beeper status + belongs to the 'ups' data collection + * drivers/snmp-ups.c: Check validity of instant commands before + addition Prior to adding new instant commands, referenced OIDs are + now checked for existance. This avoid adding commands that are not + supported + * docs/man/upsmon.txt: Fix upsmon synopsis Add the missing '-K' + (Test for the shutdown flag) to upsmon synopsis (reported by Regid + Ichira) + +2012-01-20 Arnaud Quette + + * data/driver.list.in: Support for Riello Netman Plus 102 SNMP Card + Add Riello Netman Plus 102 SNMP Card, and attached Sentinel SDL + 6000-7 and Sentinel Dual SDH 1000-7 UPS, to the list of snmp-ups + supported models (reported by Rainer Stumbaum) + +2012-01-19 Arnaud Quette + + * drivers/bestfortress.c: Add more debug traces, to work on the + checksum corruption issue + +2012-01-18 Arnaud Quette + + * docs/nut-names.txt, drivers/usbhid-ups.c: Adjust ups.start.auto + value for shutdown commands When present, ups.start.auto value + needs to be adjusted for shutdown.{return,stayoff} to behave as + expected. This is limited to Eaton devices (reported by Rich Wrenn) + +2012-01-11 Arnaud Quette + + * UPGRADING: Cleanup garbage line Remove garbage line that was added + by accident during the AsciiDoc branch merge or work + * tools/nut-scanner/Makefile.am, tools/nut-scanner/nutscan-init.c, + tools/nut-scanner/scan_nut.c: Move libupsclient to weak runtime + dependencies libupsclient, as other libraries used by nut-scanner, + is now a weak runtime dependency, through the use of lt_dl*() + functions. This means that libupsclient is not anymore required, + but only suggested. This should also solve the distcheck-light + compilation on Aix (on behalf of Frédéric Bohe, from Eaton) + +2012-01-10 Michal Hlavinka + + * drivers/dstate.c: do not forget to check send_to_one return value + send_to_one free()s connection, we can't use it after failure. + * drivers/bcmxcp.c: do not call getinfo twice, use returned value for + parsing result was stored, but never used. Another dstate_getinfo + call was used instead of stored value. Probably result of copy- + paste. + * tools/nut-scanner/scan_xml_http.c: do not use unterminated string + in strlen recvfrom returns raw data without null termination, this + string can't be used in strlen. Use number of recieved bytes + returned by recvfrom instead of strlen. + * clients/upssched.c: do not send garbage on retry because write and + read commands shared one buffer, on retry we did not send command + again, but last read data + * drivers/tripplite_usb.c: prevent buffer overflow in hexascdump + haxascdump uses fixed size static buffer, but it had no checks to + assure result can fit into that buffer. + * tools/nut-scanner/scan_nut.c: ups variable was allocated, but not + free()d + * drivers/rhino.c, drivers/solis.c: use automatic time_t variable + instead of allocated one time_t value is small enough to be + automatic variable instead of allocated one. It eliminates risk we + forget to free it again. + * drivers/bcmxcp.c: do not forget to free pTmp even if len is zero, + pTmp should be freed + * drivers/mge-utalk.c: prevent null pointer dereference in strchr in + some cases p can be null causing null pointer dereference of v + (initialized to 0) in strchr command + * drivers/bcmxcp_usb.c: Fix condition in re-try loop making error + checking unreachable for loop with condition retry <= MAX_TRIES + ends with retry = MAX_TRIES+1. This breaks following error check + with retry == MAX_TRIES condition, because it's true only in case + when last retry actualy succeeded. + +2012-01-09 Arnaud Quette + + * drivers/bestups.c: Add the missing driver variable "battvoltmult" + (patch from Sadara Kael) + +2012-01-06 Arnaud Quette + + * drivers/snmp-ups.c: Reword the message when sysOID detection fails + * drivers/compaq-mib.c: Add the sysOID value, and bump the MIB + version to 1.1 (reported by Jack Challen) + * docs/download.txt: Remove inline SHA-256 sum, and provide links to + MD5 and SHA-256 sums + +2012-01-05 Arnaud Quette + + * server/netget.c: GET UPSDESC does not need device sanity checks + (i.e. connected, with fresh data) to answer (reported by Emilien + Kia, Alioth bug #313323) + * data/driver.list.in: Add Dynamix 1000VA USB to the list of + blazer_usb supported models (requires "langid_fix=0x0409" in + ups.conf; reported by Glen Ogilvie) + +2012-01-04 Arnaud Quette + + * docs/download.txt: Add the missing SHA-256 sum on the Download page + / section (needs to be generated after the distribution package) + * docs/website/news.txt: Update 2.6.3 release date + +2012-01-03 Arnaud Quette + + * NEWS, UPGRADING, configure.in, docs/website/news.txt: Final update + for 2.6.3 release + +2012-01-03 Frederic Bohe + + * docs/config-notes.txt: Add a note about file names with space + characters in the documentation. + +2012-01-03 Arnaud Quette + + * drivers/dummy-ups.c: Add a comment for further processing + +2012-01-03 Frederic Bohe + + * tools/nut-scanner/nut-scanner.c: Fix nut scanner SNMP v3 help + message. + * docs/man/nut-scanner.txt: Fix nut scanner SNMP v3 documentation. + +2011-12-30 Prachi Gandhi + + * configure.in, scripts/Solaris/Makefile.am, + scripts/Solaris/checkinstall, scripts/Solaris/nut.in, + scripts/Solaris/pkginfo.in, scripts/Solaris/postinstall.in, + scripts/Solaris/postremove, scripts/Solaris/preinstall, + scripts/Solaris/preremove.in, scripts/Solaris/prototype: Added + Solaris Packaging scripts + +2011-12-17 Arnaud Quette + + * drivers/blazer_usb.c: Actually apply the langid_fix value, ... + ...when calling usb_get_string (reported by Charles Lepple) + * data/driver.list.in, docs/man/blazer.txt, drivers/blazer_usb.c: Try + to fix language ID support for USB units from LDLC, Dynamix ... + ...and no names in blazer_usb (reworked patch, from Brian R. Smith + and Aurélien Grenotton) + +2011-12-16 Arnaud Quette + + * scripts/HP-UX/.gitignore: Add the generated HP-UX packaging script + (.psf) to the list of ignored files + * drivers/eaton-mib.c, drivers/snmp-ups.c: Fix newer Eaton ePDU OIDs + declaration ordering, ... ...so that it better supports the + various models (switched or advanced monitored) + +2011-12-15 Arnaud Quette + + * clients/upsclient.c, drivers/belkinunv.c, drivers/etapro.c, + drivers/gamatronic.c, drivers/isbmex.c, drivers/libshut.c, + drivers/metasys.c, drivers/mge-shut.c, drivers/microdowell.c, + drivers/nut-libfreeipmi.c, drivers/rhino.c, drivers/solis.c: Fix + set but not used variables [-Wunused-but-set-variable] (including + patch from Regid Ichira) + +2011-12-13 Arnaud Quette + + * compile: Update compile script, as per the latest version available + in Automake (1.11) + * docs/man/.gitignore: Add the generated nutscan_init.3 Groff manual + page... ...to the list of ignored files + * tools/nut-scanner/Makefile.am, tools/nut-scanner/scan_ipmi.c: Add + IPMI power supplies discovery to nut-scanner + * drivers/nut-libfreeipmi.c, m4/nut_check_libfreeipmi.m4: Separate + IPMI requirements, between FRU lookup and monitoring. This way, we + can at least compile nut-scanner with IPMI support and a limited + (no monitoring) version of nut-ipmipsu, using older (pre 1.0.1) + FreeIPMI versions + +2011-12-12 Frederic Bohe + + * tools/nut-scanner/Makefile.am: Unconditional compile of scan_* + source code... ...since now they contains the relevant stub + function. + * tools/nut-scanner/scan_avahi.c, tools/nut-scanner/scan_snmp.c, + tools/nut-scanner/scan_usb.c, tools/nut-scanner/scan_xml_http.c: + Clean call to nutscan include files + * tools/nut-scanner/nutscan-init.c: Fix wrong variable name + * tools/nut-scanner/nut-scanner.c: Fix wrong call to + nutscan_scan_avahi + * tools/nut-scanner/Makefile.am: Forgot to include nutscan-init.h in + Makefile + * docs/man/Makefile.am, docs/man/nutscan_init.txt, + docs/man/nutscan_scan_avahi.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: + Update documentation + * 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: + Make sure not to call any non-initialized function pointers. + * tools/nut-scanner/Makefile.am, tools/nut-scanner/nut-scan.h, + tools/nut-scanner/nut-scanner.c, tools/nut-scanner/nutscan-init.c, + tools/nut-scanner/nutscan-init.h, tools/nut-scanner/scan_avahi.c, + 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: + Keep the same API whatever the library are at compile time... + ...(so some scan functions may be stub only) Add an init function + + variable to know the available scan method at run time. Update + nut-scanner accordingly. + +2011-12-09 Arnaud Quette + + * Makefile.am, configure.in, libltdl/COPYING.LIB, + libltdl/Makefile.am, libltdl/Makefile.in, libltdl/Makefile.inc, + libltdl/README, libltdl/aclocal.m4, libltdl/argz.c, + libltdl/argz_.h, libltdl/config-h.in, libltdl/config/compile, + libltdl/config/config.guess, libltdl/config/config.sub, + libltdl/config/depcomp, libltdl/config/edit-readme-alpha, + libltdl/config/general.m4sh, libltdl/config/getopt.m4sh, + libltdl/config/install-sh, libltdl/config/ltmain.m4sh, + libltdl/config/ltmain.sh, libltdl/config/mdate-sh, + libltdl/config/missing, libltdl/config/mkstamp, + libltdl/config/texinfo.tex, libltdl/configure, + libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, + libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, + libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, + libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, + libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, + libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, + libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, + libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, + libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, + libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, + libltdl/m4/argz.m4, libltdl/m4/autobuild.m4, libltdl/m4/libtool.m4, + libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, libltdl/m4/ltsugar.m4, + libltdl/m4/ltversion.in, libltdl/m4/ltversion.m4, + libltdl/m4/lt~obsolete.m4, libltdl/slist.c, libltdl/stamp-mk, + m4/nut_check_libltdl.m4, tools/nut-scanner/Makefile.am: Delete the + bundled version of libltdl, ... and add detection and integration + for the system provided version. nut-scanner build now depends on + the existence of libltdl on the system + * autogen.sh: Revert commit [[SVN:3344]], ...since it causes + problems with documentation build, due to INSTALL being overwritten + +2011-12-09 Charles Lepple + + * autogen.sh: Force files to be overwritten (especially for libtool) + +2011-12-07 Frederic Bohe + + * Makefile.am, configure.in, libltdl/COPYING.LIB, + libltdl/Makefile.am, libltdl/Makefile.in, libltdl/Makefile.inc, + libltdl/README, libltdl/aclocal.m4, libltdl/argz.c, + libltdl/argz_.h, libltdl/config-h.in, libltdl/config/compile, + libltdl/config/config.guess, libltdl/config/config.sub, + libltdl/config/depcomp, libltdl/config/edit-readme-alpha, + libltdl/config/general.m4sh, libltdl/config/getopt.m4sh, + libltdl/config/install-sh, libltdl/config/ltmain.m4sh, + libltdl/config/ltmain.sh, libltdl/config/mdate-sh, + libltdl/config/missing, libltdl/config/mkstamp, + libltdl/config/texinfo.tex, libltdl/configure, + libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, + libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, + libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, + libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, + libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, + libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, + libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, + libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, + libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, + libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, + libltdl/m4/argz.m4, libltdl/m4/autobuild.m4, libltdl/m4/libtool.m4, + libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, libltdl/m4/ltsugar.m4, + libltdl/m4/ltversion.in, libltdl/m4/ltversion.m4, + libltdl/m4/lt~obsolete.m4, libltdl/slist.c, libltdl/stamp-mk, + tools/nut-scanner/Makefile.am, tools/nut-scanner/scan_avahi.c, + tools/nut-scanner/scan_snmp.c, tools/nut-scanner/scan_usb.c, + tools/nut-scanner/scan_xml_http.c: First set of modification to + include libltdl + +2011-12-05 Arnaud Quette + + * data/driver.list.in, docs/man/snmp-ups.txt, drivers/Makefile.am, + drivers/cyberpower-mib.c, drivers/cyberpower-mib.h, drivers/snmp- + ups.c: Add Cyber Power Systems with SNMP RMCARD (100, 201, 202 and + 301) ... ...to the list of snmp-ups supported models (patch from + Eric Schultz) + * drivers/snmp-ups.c: Remove the Eaton Marlin hook, for base outlet + index ... ...since it has been fixed by a new firmware revision + +2011-11-29 Arnaud Quette + + * tools/nut-snmpinfo.py: Fix indentation and use open() instead of + file(), to better support Python 3 (Alioth bug #313446, patch from + Bohdan Popovych) + +2011-11-25 Arnaud Quette + + * drivers/nut-ipmi.h: Fix wrong prototype declaration, that was + causing a compilation warning (implicit declaration of function + ‘nut_ipmi_get_sensors_status’) + +2011-11-24 Arnaud Quette + + * scripts/Solaris/pkginfo.in: BASEDIR must also be adapted from + configure settings + * scripts/Solaris/Makefile.am: Add missing dependencies, and + distribution rules + * scripts/Makefile.am: There is no need to list Solaris/pkginfo.in + there, ... ...since 'Solaris' is listed in SUBDIRS, and + 'pkginfo.in' is listed in configure.in + * scripts/Solaris/Makefile.am: Remove makelocal.sh from + check_SCRIPTS, ... ...since it is not meant to be run at "make + check" time + +2011-11-24 Prachi Gandhi + + * Makefile.am, configure.in, scripts/Makefile.am, + scripts/Solaris/Makefile.am, scripts/Solaris/makelocal.sh, + scripts/Solaris/pkginfo.in, scripts/Solaris/prototype: Reverted + changes made for Solaris packaging files in [[SVN:3326]] ... added + files in NUT_packaging branch + * Makefile.am, configure.in, scripts/Makefile.am, + scripts/Solaris/Makefile.am, scripts/Solaris/makelocal.sh, + scripts/Solaris/pkginfo.in, scripts/Solaris/prototype: Solaris NUT + package files added + * Makefile.am, configure.in, scripts/Makefile.am, + scripts/Solaris/Makefile.am, scripts/Solaris/makelocal.sh, + scripts/Solaris/pkginfo.in, scripts/Solaris/prototype: Solaris NUT + package files added + +2011-11-15 Arnaud Quette + + * drivers/blazer_usb.c, drivers/usb-common.h: Revert commit + [[SVN:2993]] and [[SVN:2994]]. This enables again inclusion of + buggy USB Device and Vendor IDs, supported by blazer_usb, in udev + rules file (Reported by Stanislav Brabec, from Suse) + * tools/Makefile.am: Add missing comment + +2011-11-12 Arnaud Quette + + * drivers/mge-mib.c: Add upsmgBatteryLowCondition OID to the status + mapping (reported by Kiss Gabor (Bitman)) + +2011-11-11 Praveen Kumar + + * scripts/HP-UX/makedepot.sh: script file to create package (depot) + for HP-UX + +2011-11-08 Arnaud Quette + + * docs/website/web-layout.conf: Complete search keywords + * docs/website/web-layout.conf: Final fix for the displaying of the + legend, to work on all browsers, ... ...while still being + conforming to W3C validation + +2011-11-07 Arnaud Quette + + * docs/website/web-layout.conf: Fix displaying of the legend + +2011-11-05 Michal Soltys + + * docs/cables.txt, docs/man/apcsmart.txt: apcsmart.txt: minor + documentation update Broken diagram link and 940-0024E cable + mention (reported by Jonathan Laventhol). + +2011-11-05 Arnaud Quette + + * conf/upsd.conf.sample, server/upsd.c: Don't fail to start if at + least one of the listening interface is available. This is needed + on systems where either IPv4 or IPv6 is disabled, and no explicit + LISTEN directive has been specified (Reported by Pavel Zubkou, + Debian bug #598741) + +2011-11-02 Praveen Kumar + + * configure.in, scripts/HP-UX/nut.psf.in: Adding packaging script for + HPUX + +2011-10-31 Arnaud Quette + + * docs/download.txt, docs/website/news.txt: Publish update jNut 0.2, + along with the new jNutWebAPI (contributed by Emilien Kia, from + Eaton) + +2011-10-28 Emilien Kia + + * scripts/java/README, scripts/java/jNutWebAPI/README, + scripts/java/jNutWebAPI/pom.xml, + .../jnutwebapi/NutRestProvider.java, + .../jnutwebapi/RestWSApplication.java, + .../jnutwebapi/ScannerProvider.java, + .../jNutWebAPI/src/main/webapp/WEB-INF/web.xml: Initial commit of + jNutWebAPI. + * scripts/java/jNut/.gitignore, scripts/java/jNut/src/main/java/org/n + etworkupstools/jnut/Scanner.java: Fix a little bug with function + namming (get instead of set). + +2011-10-27 Arnaud Quette + + * docs/maintainer-guide.txt: Create a basic NUT maintainer guide, ... + to start tracking and improving maintenance workflow + * drivers/bcmxcp_usb.c: Handle disconnection issues and reconnection + mechanism (bug reported by Rich Wrenn) + +2011-10-25 Emilien Kia + + * .../test/java/org/networkupstools/jnut/ClientTest.java: Add licence + information. + * scripts/java/jNut/README, scripts/java/jNut/pom.xml, + .../java/org/networkupstools/jnut/Scanner.java, + .../java/org/networkupstools/jnut/ScannerTest.java: Add nut- + scanner. + +2011-10-25 Frederic Bohe + + * tools/nut-scanner/scan_snmp.c: Add sanity checks + * tools/nut-scanner/scan_avahi.c: Remove unused variable + +2011-10-25 Michal Soltys + + * drivers/apcsmart.c: drivers/apcsmart.c: minor correction Assigning + 0 directly was wrong (actually, a leftover from earlier version of + the code that was removed) - ser_set_speed() prepares the port + initially, we only adjust certain options. + +2011-10-24 Frederic Bohe + + * docs/man/nut-scanner.txt, tools/nut-scanner/nut-scanner.c: Forgot + to document "-q" option (thanks to Emilien Kia for reporting this) + +2011-10-21 Frederic Bohe + + * tools/nut-scanner/nut-scanner.c: Trivial layout consistency + * docs/man/nut-scanner.txt: Update man page with -V and -a option + * tools/nut-scanner/nut-scanner.c: Add an option to display available + bus (usefull for wrapper). + * tools/nut-scanner/nut-scanner.c: return -1 on bad command line + option + +2011-10-19 Frederic Bohe + + * tools/nut-scanner/nutscan-ip.c: Fix crash on 32bits systems + * tools/nut-scanner/nut-scanner.c: Add a switch to display NUT + version. + +2011-10-19 Charles Lepple + + * docs/FAQ.txt: Add FAQ entry for LISTEN directive + +2011-10-18 Arnaud Quette + + * drivers/eaton-mib.c: Fix outlets reported current, ... ...which + were off by 100 in aphel_genesisII MIB, and bump MIB version to + 0.46 (patch from Sven Nilsson) + +2011-10-14 Arnaud Quette + + * docs/Makefile.am, docs/images/nut-logo.png, docs/images/nut.svg, + docs/website/Makefile.am, docs/website/css/web-layout.css, + docs/website/faviconut.ico, docs/website/faviconut.png, + docs/website/web-layout.conf: Add the new NUT logo (contributed by + Luc Descotils, from Eaton) + * docs/website/web-layout.conf: Fix another W3C validator error + (there is no attribute "language" anymore for