test_basic_ddr_sync and test_basic_ddr_async only check that the
Internet is reachable. On networks that intercept port 53, 1.1.1.1 and
8.8.8.8 still answer ordinary queries but return NXDOMAIN for
_dns.resolver.arpa SVCB, so try_ddr() cannot upgrade the nameservers
and the tests fail:
FAIL: tests/test_ddr.py:test_basic_ddr_sync
FAIL: tests/test_ddr.py:test_basic_ddr_async
assert isinstance('1.1.1.1', dns.nameserver.Nameserver)
Add a patch to skip them unless both resolvers return DDR SVCB records.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
float_as_int_without_noise() returns early when the floored value fits
in a long, checking it with floor_val == static_cast<long>(floor_val).
For values outside the range of long the conversion is undefined
behavior; clang -O2 folds the round trip into "floor_val is integral",
which is always true, so the denoising is skipped:
FAIL: tests/test_fastnumbers_examples.py:test_try_real
FAIL: tests/test_fastnumbers_examples.py:test_try_forceint
assert 3452999999999999737856 == 3453000000000000000000
Add a patch that only does the conversion when the value is in range.
A reduced reproducer returns the wrong answer with the recipe's clang++
at -O2 and the right one with the fix (and with -O0 or gcc).
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
tests/test_core.py runs glances with ./conf/glances.conf and reads plugin
test data from ./tests-data, both relative to the ptest directory.
Neither was installed, and tests-data is not part of the pypi sdist, so
four tests failed:
test_023_get_alert: AssertionError: 'DEFAULT' != 'OK_LOG'
test_025_npu: IndexError: list index out of range
test_026_mpp: AssertionError: 0 != 3 : Expected 3 MPP engines
test_108_fs_zfs_: AssertionError: False is not true
Fetch tests-data from the v4.5.6 tag and install it, together with
conf/, next to the tests. Only tests-data/plugins is used by the tests.
With these in place tests/test_core.py passes 52/52 on qemux86-64.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
tests/integration/test_hooks.py records live https://httpbin.org
requests (no cassettes are shipped for them), so the ptest fails
whenever the service resets the connection, e.g.:
FAIL: tests/integration/test_hooks.py:TestHooks.test_post_start_hook
requests.exceptions.ConnectionError: ('Connection aborted.',
ConnectionResetError(104, 'Connection reset by peer'))
The same tests pass when the service behaves (3 out of 3 runs in a
qemux86-64 VM), so they are flaky rather than broken. Leave them out
of the ptest run.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 4.5.6:
Bugs corrected:
- Alert level decided by dict ordering: a failing+slow URL is
downgraded to WARNING, an unscanned URL reports CRITICAL
- GPU plugin duplicates card name and omits N/A for unavailable
metrics in multi-GPU
- GPU plugin duplicates the utilisation value and paints it with
the memory colour in multi-GPU
- IP plugin displays wrong interface: outer loop in get_ip_address()
never breaks
- VideoCore (v3d) memory shows ~93% on Raspberry Pi 5 with
gpu_mem=4M - misleading denominator from drm-total-memory
- CSV export: --stdout-csv data rows desync from header when
network interfaces change count at runtime
- Glances Network plugin with mismatched schema not logging in
TimescaleDB export
Security patches:
- as_dict_secure() Value-Level Bypass Leaks Credentials in URL
Values via /api/4/config - CVE-2026-68520
- --disable-config-exec does not cover on-alert action commands
- CVE-2026-68519
- Command injection bypass of action-template sanitizer via
cross-field shell-operator reconstruction - CVE-2026-68518
- Incomplete fix of CVE-2026-32608: action-template sanitizer is
bypassed by nested stat values - CVE-2026-62982
- REST API CORS Credentials Guard Uses Exact-Match Instead of
Membership Test - CVE-2026-68517
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 4.2.3:
- Fix ty unresolved-attribute warnings and add mypy back
- Update ruff to version 0.16.5
- Bump github/codeql-action
- Update readme
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Both S and UPSTREAM_CHECK_PYPI_PACKAGE are set to the default values, so
remove them.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The need for PYPI_PACKAGE_HASH was removed in 2016[1].
[1] meta-oe 7edad4def4 ("pypi: update the base pypi url to use the
package info without requiring the hash")
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Remove assignments to PYPI_PACKAGE where the value is the default value,
that is the recipe name with any python3- prefix removed.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Remove redundant UPSTREAM_CHECK_PYPI_PACKAGE assignments of PYPI_PACKAGE,
which is the default value.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Don't set PYPI_SRC_URI explicitly, instead of PYPI_PACKAGE so the correct
SRC_URI is generated.
Also remove the unused variable SRCNAME.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.2.1:
- Fixed safety issues up to 2026-08-23.
- Development: Tolerate premature deletion of local release/start
branches.
- Docs: Migrated from our own support for generating summary tables
in the documentation to using autodocsumm to fix an import error
with Sphinx 9.
- Development: Added a GitHub Actions workflow named 'backport'
that creates a backport PR to the latest stable branch stable_M.N
when a PR labeled with the 'backport' label is merged.
- Development: Upgraded GitHub Actions plugins to versions that use
node.js 24.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.5.1:
- Raised upper bound of setuptools to v84 (#794)
- Cache performance access optimization for our CharInfo struct
(prebuilt only).
- No longer decoding large content when the noise detector output
give a high entropy. Only impacted large content input >1M bytes.
Deploy sample data files to fix tests.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 21.7.8:
- A missing source needed by both install modes now disables the
builtin creator through meta.error. The check compared RefWhen
values against RefMust members, so creation went on to fail with
a FileNotFoundError or a dangling symlink
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Both python3-pillow and python3-pypng are optional, make them
PACKAGECONFIG entries and enable both so that the default stays the
same. Drop python3-six which was removed in 4d80a78 ("Remove six").
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.12.0:
- Serialization implementation substantially rewritten.
- Publish PyPI wheels for Python 3.15. For Python 3.15 and later,
manylinux_2_39 (2024) is targeted instead of manylinux_2_17 (2012).
- No longer publish PyPI wheels for ppc64le and s390x.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>