Emit ZigbeeNetworkChanged when it actually changes in the stack,
not directly after we request the stack to change something as
it may fail, or the effective parameters may be not what we think.
canonicalFilePath() behavior seems to have changed at some point
and not existing files outside the public dir will return a 404
rather than a 403. Ideally the logic would be fixed to first
check for the file being outside the public directory, directly
returning a 403, then checking if the file exists, return a 404
if not, and lastly check for permissions on the file and return
a 403 again of denied. However, that would result in a bigger
change.
Also, the tests were failing all along if syslog exists but is
not readable (code is ok, just bad test) but none of our
autotesters seemed to have such a setup till now.
This allows to run it from the build directory without having to
specify LD_LIBRARY_PATH.
This is particularly useul when working with parts that require
special capabilities such as the NetworkDiscovery, given that
setcap on a binary disables LD_LIBRARY_LATH loading for security
reasons.
Building the dpkg package, the rpath will not be added.
QModbusReply seems to never finish in some rare cases:
For instance if a request is sent and before the reply arrives, the
modbus adapter is unplugged. This change should keep upper logic
working which relies on requests finishing eventually.
Also fixes the issue that we emit finished() multiple times if
QModbusClient retries multiple times and emits error() for each
attempt. We're only interested in a single result anyways.
Some plugins may support network discovery, but may not be able to clearly
identify a device and return a list of discovery results that may
be the device, but also may not. As this breaks some app flows they
will be marked as "weak" discovery and can be excluded from said setup
wizards.
NOTE: This commit does not bump the API version even though it should
to avoid merge conflicts with other branches that do bump the version.