Commit graph

14786 commits

Author SHA1 Message Date
Julian Brost
77effd5bbb Add tests for JsonDecode depth limit in combination with coroutine stacks
(cherry picked from commit 0481a66b01)
2026-06-24 11:16:36 +02:00
Julian Brost
dfda80415d tests: move SpawnSynchronizedCoroutine() to utils.cpp
This allows reusing the helper also from other test files.

(cherry picked from commit ed202ed745)
2026-06-24 11:16:13 +02:00
Julian Brost
547b55031a Prevent HTTP requests from creating deeply nested data structures
Add validation checks to code paths reachable from the HTTP API (except full
config file deployments via /v1/config) that prevent creating deeply nested
data structures that could later cause a stack overflow.

(cherry picked from commit 4b7ef02bd2)
2026-06-24 11:15:11 +02:00
Julian Brost
5ff0e61ad8 Don't shut down JSON-RPC connection if a message fails to parse
With the limit from the previous commit, if a JSON-RPC now message fails to
parse due to being nested to deep, it would have torn down the whole
connection. It is still possible to trigger that scenario from DSL config (for
example by returning nested structures from a lambda that is used in a check
with command_endpoint). In order to fail more gracefully, only discard the
single message and don't kill the whole connection.

(cherry picked from commit e7d656cf37)
2026-06-24 11:15:11 +02:00
Julian Brost
b80132db87 JsonDecode: include path in JSON depth error
If parsing JSON is rejected due to the depth limit introduced in the last
commit, also include the path (like root["object"]["children"]...) that exceeds
the allowed nesting depth.

(cherry picked from commit 14d6ee9cdf)
2026-06-24 11:15:11 +02:00
Julian Brost
ed163a8aa9 JsonDecode: add depth limit
Data structures parsed from JSON may be accessed recursively, so deeply nested
structures may wreak havoc by overflowing the stack. Thus, enforce a general
nesting depth limit of 24 by default (which should be more than enough for
reasonable use), with the ability to pass a different limit to JsonDecode() if
needed.

(cherry picked from commit 4964d2444c)
2026-06-24 11:15:11 +02:00
Johannes Schmidt
b376830827
Merge pull request #10893 from Icinga/backport-10874-to-support/2.16
Some checks failed
Linux / alpine:bash (push) Has been cancelled
Linux / amazonlinux:2 (push) Has been cancelled
Linux / amazonlinux:2023 (push) Has been cancelled
Linux / debian:11 (linux/386) (push) Has been cancelled
Linux / debian:11 (push) Has been cancelled
Linux / debian:12 (linux/386) (push) Has been cancelled
Linux / debian:12 (push) Has been cancelled
Linux / debian:13 (push) Has been cancelled
Linux / fedora:41 (push) Has been cancelled
Linux / fedora:42 (push) Has been cancelled
Linux / fedora:43 (push) Has been cancelled
Linux / fedora:44 (push) Has been cancelled
Linux / opensuse/leap:15.6 (push) Has been cancelled
Linux / opensuse/leap:16.0 (push) Has been cancelled
Linux / registry.suse.com/bci/bci-base:16.0 (push) Has been cancelled
Linux / registry.suse.com/suse/sle15:15.6 (push) Has been cancelled
Linux / registry.suse.com/suse/sle15:15.7 (push) Has been cancelled
Linux / rockylinux/rockylinux:10 (push) Has been cancelled
Linux / rockylinux:8 (push) Has been cancelled
Linux / rockylinux:9 (push) Has been cancelled
Linux / ubuntu:22.04 (push) Has been cancelled
Linux / ubuntu:24.04 (push) Has been cancelled
Linux / ubuntu:25.04 (push) Has been cancelled
Linux / ubuntu:25.10 (push) Has been cancelled
Linux / ubuntu:26.04 (push) Has been cancelled
Windows / Windows (push) Has been cancelled
[Backport support/2.16] Bump OpenSSL shipped for Windows to v3.5.7
2026-06-23 12:04:07 +02:00
Julian Brost
414844ad3f Bump OpenSSL shipped for Windows to v3.5.7
(cherry picked from commit 22b6188e24)
2026-06-23 09:06:04 +02:00
Julian Brost
e105e464e8
Merge pull request #10871 from Icinga/backport-10864-to-support/2.16
Some checks are pending
Linux / alpine:bash (push) Waiting to run
Linux / amazonlinux:2 (push) Waiting to run
Linux / amazonlinux:2023 (push) Waiting to run
Linux / debian:11 (linux/386) (push) Waiting to run
Linux / debian:11 (push) Waiting to run
Linux / debian:12 (linux/386) (push) Waiting to run
Linux / debian:12 (push) Waiting to run
Linux / debian:13 (push) Waiting to run
Linux / fedora:41 (push) Waiting to run
Linux / fedora:42 (push) Waiting to run
Linux / fedora:43 (push) Waiting to run
Linux / fedora:44 (push) Waiting to run
Linux / opensuse/leap:15.6 (push) Waiting to run
Linux / opensuse/leap:16.0 (push) Waiting to run
Linux / registry.suse.com/bci/bci-base:16.0 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.6 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.7 (push) Waiting to run
Linux / rockylinux/rockylinux:10 (push) Waiting to run
Linux / rockylinux:8 (push) Waiting to run
Linux / rockylinux:9 (push) Waiting to run
Linux / ubuntu:22.04 (push) Waiting to run
Linux / ubuntu:24.04 (push) Waiting to run
Linux / ubuntu:25.04 (push) Waiting to run
Linux / ubuntu:25.10 (push) Waiting to run
Linux / ubuntu:26.04 (push) Waiting to run
Windows / Windows (push) Waiting to run
[Backport support/2.16] Fix handling the `std::ifstream::failbit` in `OutgoingHttpMessage`
2026-06-22 16:31:55 +02:00
Julian Brost
b02293da52
Merge pull request #10888 from Icinga/backport-10884-to-support/2.16
[Backport support/2.16] GHA: Windows: run on Windows Server 2022
2026-06-22 13:03:32 +02:00
Alexander Aleksandrovič Klimov
a7b685f934 GHA: Windows: run on Windows Server 2022
Recently, the Windows Server 2025 image upgraded Visual Studio from v2022 to v2026.
Our build setup is not prepared for this, so we must pin the OS image.

(cherry picked from commit 6dc479741c)
2026-06-17 13:11:10 +00:00
Johannes Schmidt
bc300b51d8 Guard against assert() failures in SendJsonError()
Co-authored-by: Julian Brost <julian.brost@icinga.com>
(cherry picked from commit fe469a5455)
2026-06-10 15:18:05 +00:00
Johannes Schmidt
4188d2a914 Fix handling std::ifstream exceptions in ConfigFilesHandler
(cherry picked from commit 6a3979fd1f)
2026-06-10 15:18:05 +00:00
Johannes Schmidt
0e9b6b0d05 Fix handling the std::ifstream::failbit in OutgoingHttpMessage
(cherry picked from commit 281dd133c7)
2026-06-10 15:18:05 +00:00
Johannes Schmidt
3c58772da0 Add test-case for SendFile() with non-existant paths
(cherry picked from commit e8a4336ab8)
2026-06-10 15:18:05 +00:00
Johannes Schmidt
1c7237d66d
Merge pull request #10853 from Icinga/release-2.16.1
Some checks failed
Linux / alpine:bash (push) Has been cancelled
Linux / amazonlinux:2 (push) Has been cancelled
Linux / amazonlinux:2023 (push) Has been cancelled
Linux / debian:11 (linux/386) (push) Has been cancelled
Linux / debian:11 (push) Has been cancelled
Linux / debian:12 (linux/386) (push) Has been cancelled
Linux / debian:12 (push) Has been cancelled
Linux / debian:13 (push) Has been cancelled
Linux / fedora:41 (push) Has been cancelled
Linux / fedora:42 (push) Has been cancelled
Linux / fedora:43 (push) Has been cancelled
Linux / fedora:44 (push) Has been cancelled
Linux / opensuse/leap:15.6 (push) Has been cancelled
Linux / opensuse/leap:16.0 (push) Has been cancelled
Linux / registry.suse.com/bci/bci-base:16.0 (push) Has been cancelled
Linux / registry.suse.com/suse/sle15:15.6 (push) Has been cancelled
Linux / registry.suse.com/suse/sle15:15.7 (push) Has been cancelled
Linux / rockylinux/rockylinux:10 (push) Has been cancelled
Linux / rockylinux:8 (push) Has been cancelled
Linux / rockylinux:9 (push) Has been cancelled
Linux / ubuntu:22.04 (push) Has been cancelled
Linux / ubuntu:24.04 (push) Has been cancelled
Linux / ubuntu:25.04 (push) Has been cancelled
Linux / ubuntu:25.10 (push) Has been cancelled
Linux / ubuntu:26.04 (push) Has been cancelled
Windows / Windows (push) Has been cancelled
Update changelog and version for v2.16.1
2026-05-21 09:53:44 +02:00
Johannes Schmidt
910c0a77d7
Merge pull request #10851 from Icinga/revert-perfdatawriterconnection
Revert adding `PerfdataWriterConnection`
2026-05-21 09:51:49 +02:00
Johannes Schmidt
9110c455ae Revert "Merge pull request #10668 from Icinga/perfdata-writers-connection-handling"
This reverts commit 6592eae21d, reversing
changes made to 41109e20d6.
2026-05-20 17:36:43 +02:00
Johannes Schmidt
173c421d41 Update version to v2.16.1 2026-05-20 16:17:12 +02:00
Johannes Schmidt
d5ce462b39 Update changelog for v2.16.1 2026-05-20 16:17:07 +02:00
Johannes Schmidt
12a20b18d5 Revert "Merge pull request #10799 from Icinga/fix-pdwc-tls-host-check"
This reverts commit 03d3558621, reversing
changes made to 81d39f1f78.
2026-05-20 12:47:48 +02:00
Julian Brost
e037b74eb3
Merge pull request #10850 from Icinga/backport-10832-to-support/2.16
Some checks are pending
Linux / alpine:bash (push) Waiting to run
Linux / amazonlinux:2 (push) Waiting to run
Linux / amazonlinux:2023 (push) Waiting to run
Linux / debian:11 (linux/386) (push) Waiting to run
Linux / debian:11 (push) Waiting to run
Linux / debian:12 (linux/386) (push) Waiting to run
Linux / debian:12 (push) Waiting to run
Linux / debian:13 (push) Waiting to run
Linux / fedora:41 (push) Waiting to run
Linux / fedora:42 (push) Waiting to run
Linux / fedora:43 (push) Waiting to run
Linux / fedora:44 (push) Waiting to run
Linux / opensuse/leap:15.6 (push) Waiting to run
Linux / opensuse/leap:16.0 (push) Waiting to run
Linux / registry.suse.com/bci/bci-base:16.0 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.6 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.7 (push) Waiting to run
Linux / rockylinux/rockylinux:10 (push) Waiting to run
Linux / rockylinux:8 (push) Waiting to run
Linux / rockylinux:9 (push) Waiting to run
Linux / ubuntu:22.04 (push) Waiting to run
Linux / ubuntu:24.04 (push) Waiting to run
Linux / ubuntu:25.04 (push) Waiting to run
Linux / ubuntu:25.10 (push) Waiting to run
Linux / ubuntu:26.04 (push) Waiting to run
Windows / Windows (push) Waiting to run
[Backport support/2.16] Fix openSUSE 15.6 GitHub actions
2026-05-20 12:41:44 +02:00
Alexander A. Klimov
252c4fbef5 Fix openSUSE 15.6 GitHub actions
The runner image ships libncurses6-6.1-150000.5.33.1, but the only
ncurses-devel available in the configured repos is 6.1-150000.5.30.1,
which requires an exact-version match on libncurses6.

(cherry picked from commit 4a868146dd)
2026-05-20 07:43:08 +00:00
Julian Brost
4bfb7c88b8
Merge pull request #10837 from Icinga/backport-10829-to-support/2.16
Some checks are pending
Linux / alpine:bash (push) Waiting to run
Linux / amazonlinux:2 (push) Waiting to run
Linux / amazonlinux:2023 (push) Waiting to run
Linux / debian:11 (linux/386) (push) Waiting to run
Linux / debian:11 (push) Waiting to run
Linux / debian:12 (linux/386) (push) Waiting to run
Linux / debian:12 (push) Waiting to run
Linux / debian:13 (push) Waiting to run
Linux / fedora:41 (push) Waiting to run
Linux / fedora:42 (push) Waiting to run
Linux / fedora:43 (push) Waiting to run
Linux / fedora:44 (push) Waiting to run
Linux / opensuse/leap:15.6 (push) Waiting to run
Linux / opensuse/leap:16.0 (push) Waiting to run
Linux / registry.suse.com/bci/bci-base:16.0 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.6 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.7 (push) Waiting to run
Linux / rockylinux/rockylinux:10 (push) Waiting to run
Linux / rockylinux:8 (push) Waiting to run
Linux / rockylinux:9 (push) Waiting to run
Linux / ubuntu:22.04 (push) Waiting to run
Linux / ubuntu:24.04 (push) Waiting to run
Linux / ubuntu:25.04 (push) Waiting to run
Linux / ubuntu:25.10 (push) Waiting to run
Linux / ubuntu:26.04 (push) Waiting to run
Windows / Windows (push) Waiting to run
[Backport support/2.16] docs: clarify OTLPMetricsWriter unavailability on Debian 11 and Ubunt…
2026-05-19 15:57:27 +02:00
Julian Brost
e6e856239b
Merge pull request #10817 from Icinga/backport-10802-to-support/2.16
[Backport support/2.16] Add Ubuntu 26.04 to CI workflow
2026-05-19 15:55:42 +02:00
Julian Brost
ff51d63cd1
Merge pull request #10820 from Icinga/backport-10803-to-support/2.16
[Backport support/2.16] Add Fedora 44 to CI workflow
2026-05-19 15:53:51 +02:00
Manas Singh
bdfd923df6 docs: note OTLP metrics package limitation on Debian 11 and Ubuntu 22.04 and Amazon Linux 2
(cherry picked from commit 8d9b8ae0fd)
2026-05-05 11:29:12 +00:00
Alexander Aleksandrovič Klimov
abb345f8ef Add Fedora 44 to CI workflow
(cherry picked from commit 00e03c975d)
2026-04-23 12:29:04 +00:00
Alexander Aleksandrovič Klimov
5cb2912fd9 Add Ubuntu 26.04 to CI workflow
(cherry picked from commit de258f09d5)
2026-04-23 12:25:45 +00:00
Julian Brost
5855790474
Merge pull request #10760 from Icinga/changelog-216
Some checks failed
Container Image / Container Image (push) Has been cancelled
Linux / alpine:bash (push) Has been cancelled
Linux / amazonlinux:2 (push) Has been cancelled
Linux / amazonlinux:2023 (push) Has been cancelled
Linux / debian:11 (linux/386) (push) Has been cancelled
Linux / debian:11 (push) Has been cancelled
Linux / debian:12 (linux/386) (push) Has been cancelled
Linux / debian:12 (push) Has been cancelled
Linux / debian:13 (push) Has been cancelled
Linux / fedora:41 (push) Has been cancelled
Linux / fedora:42 (push) Has been cancelled
Linux / fedora:43 (push) Has been cancelled
Linux / opensuse/leap:15.6 (push) Has been cancelled
Linux / opensuse/leap:16.0 (push) Has been cancelled
Linux / registry.suse.com/bci/bci-base:16.0 (push) Has been cancelled
Linux / registry.suse.com/suse/sle15:15.6 (push) Has been cancelled
Linux / registry.suse.com/suse/sle15:15.7 (push) Has been cancelled
Linux / rockylinux/rockylinux:10 (push) Has been cancelled
Linux / rockylinux:8 (push) Has been cancelled
Linux / rockylinux:9 (push) Has been cancelled
Linux / ubuntu:22.04 (push) Has been cancelled
Linux / ubuntu:24.04 (push) Has been cancelled
Linux / ubuntu:25.04 (push) Has been cancelled
Linux / ubuntu:25.10 (push) Has been cancelled
Windows / Windows (push) Has been cancelled
Release v2.16.0
2026-04-22 11:29:50 +02:00
Johannes Schmidt
03d3558621
Merge pull request #10799 from Icinga/fix-pdwc-tls-host-check
Fix host name verification for `PerfdataWriterConnection`
2026-04-22 11:22:27 +02:00
Yonas Habteab
81d39f1f78
Merge pull request #10808 from Icinga/dependabot/github_actions/korthout/backport-action-4.4.0
Bump korthout/backport-action from 4.3.0 to 4.4.0
2026-04-22 09:21:51 +02:00
Johannes Schmidt
7ee3386622 Fix PerfdataWriterConnection test-cases on parallel build 2026-04-22 08:36:28 +02:00
dependabot[bot]
61c9da0ea6
Bump korthout/backport-action from 4.3.0 to 4.4.0
Bumps [korthout/backport-action](https://github.com/korthout/backport-action) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/korthout/backport-action/releases)
- [Commits](3c06f323a5...ad30f01dbe)

---
updated-dependencies:
- dependency-name: korthout/backport-action
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-22 04:20:00 +00:00
Johannes Schmidt
9b1d41db83 Release v2.16.0 2026-04-21 17:20:46 +02:00
Johannes Schmidt
10c32bf325 Update changelog for v2.16 2026-04-21 17:20:46 +02:00
Johannes Schmidt
c52bac64e8 Update Upgrading docs for v2.16 2026-04-21 17:20:43 +02:00
Johannes Schmidt
aab0b64f3a Generate all unit-test certificates with CN=localhost 2026-04-21 16:11:57 +02:00
Yonas Habteab
efb6070415
Merge pull request #10804 from Icinga/publiccode-yml-gpl3
Some checks are pending
Container Image / Container Image (push) Waiting to run
Linux / alpine:bash (push) Waiting to run
Linux / amazonlinux:2 (push) Waiting to run
Linux / amazonlinux:2023 (push) Waiting to run
Linux / debian:11 (linux/386) (push) Waiting to run
Linux / debian:11 (push) Waiting to run
Linux / debian:12 (linux/386) (push) Waiting to run
Linux / debian:12 (push) Waiting to run
Linux / debian:13 (push) Waiting to run
Linux / fedora:41 (push) Waiting to run
Linux / fedora:42 (push) Waiting to run
Linux / fedora:43 (push) Waiting to run
Linux / opensuse/leap:15.6 (push) Waiting to run
Linux / opensuse/leap:16.0 (push) Waiting to run
Linux / registry.suse.com/bci/bci-base:16.0 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.6 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.7 (push) Waiting to run
Linux / rockylinux/rockylinux:10 (push) Waiting to run
Linux / rockylinux:8 (push) Waiting to run
Linux / rockylinux:9 (push) Waiting to run
Linux / ubuntu:22.04 (push) Waiting to run
Linux / ubuntu:24.04 (push) Waiting to run
Linux / ubuntu:25.04 (push) Waiting to run
Linux / ubuntu:25.10 (push) Waiting to run
Windows / Windows (push) Waiting to run
publiccode.yml: update to GPL 3 (or later)
2026-04-21 15:38:21 +02:00
Julian Brost
4beafcdbfe publiccode.yml: update to GPL 3 (or later)
The overall license changes to GPL 3 (or later) with the 2.16.0 release. This
file on the default branch was intentionally kept on the older license
information to reflect the license information of released versions. Now it's
time to update it here as well for the upcoming 2.16.0 release.
2026-04-20 16:31:43 +02:00
Yonas Habteab
edff43d962
Merge pull request #10801 from Icinga/clang-warnings
Some checks are pending
Container Image / Container Image (push) Waiting to run
Linux / alpine:bash (push) Waiting to run
Linux / amazonlinux:2 (push) Waiting to run
Linux / amazonlinux:2023 (push) Waiting to run
Linux / debian:11 (linux/386) (push) Waiting to run
Linux / debian:11 (push) Waiting to run
Linux / debian:12 (linux/386) (push) Waiting to run
Linux / debian:12 (push) Waiting to run
Linux / debian:13 (push) Waiting to run
Linux / fedora:41 (push) Waiting to run
Linux / fedora:42 (push) Waiting to run
Linux / fedora:43 (push) Waiting to run
Linux / opensuse/leap:15.6 (push) Waiting to run
Linux / opensuse/leap:16.0 (push) Waiting to run
Linux / registry.suse.com/bci/bci-base:16.0 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.6 (push) Waiting to run
Linux / registry.suse.com/suse/sle15:15.7 (push) Waiting to run
Linux / rockylinux/rockylinux:10 (push) Waiting to run
Linux / rockylinux:8 (push) Waiting to run
Linux / rockylinux:9 (push) Waiting to run
Linux / ubuntu:22.04 (push) Waiting to run
Linux / ubuntu:24.04 (push) Waiting to run
Linux / ubuntu:25.04 (push) Waiting to run
Linux / ubuntu:25.10 (push) Waiting to run
Windows / Windows (push) Waiting to run
Silence `unnecessary-virtual-specifier` clang warning
2026-04-20 16:15:41 +02:00
Johannes Schmidt
b170c3dc75 Silence -Wunnecessary-virtual-specifier warning on clang 2026-04-20 12:46:50 +02:00
Yonas Habteab
928235c838
Merge pull request #10800 from Icinga/fix-otel-stats
OTLPMetricsWriter: don't add queue stats as counter
2026-04-20 12:25:55 +02:00
Yonas Habteab
d7ed56baa8
Merge pull request #10798 from Icinga/fix-misleading-tls-timeout-logging
Fix misleading TLS handshake error logging
2026-04-20 09:54:02 +02:00
Yonas Habteab
bc5f01d0fc OTLPMetricsWriter: don't add queue stats as counter 2026-04-20 09:15:53 +02:00
Julian Brost
61c6c7f110
Merge pull request #10619 from Icinga/efficient-config-and-state-update-queue
IcingaDB: better config and state update queueing
2026-04-17 11:19:50 +02:00
Johannes Schmidt
f5be692d33 Correctly create AsioTlsStream with host argument
This was omitted by accident from the original PR, despite
being done in the original perfdata writer connection code.

Without setting this parameter, host name verification will be
disabled, which poses a security risk.
2026-04-17 10:08:20 +02:00
Julian Brost
ccf090ea82
Merge pull request #10795 from Icinga/something-weird-is-going-on
Fix compiler crash on SLES 15.7 arm64 runner
2026-04-17 09:54:17 +02:00
Julian Brost
1b33451665 Fix misleading TLS handshake error logging
The log message on TLS handshake errors always stated that a client handshake
failed, even if if the connection was acting as the server. The commit changes
it so that the actual role is taken into account.
2026-04-16 17:49:48 +02:00
Yonas Habteab
a01870a6aa Fix compiler crash on SLES 15.7 arm64 runner 2026-04-16 14:01:49 +02:00