14224 Commits

Author SHA1 Message Date
Yonas Habteab
bc5db9834f Drop System#track_parents DSL function
No external user needs to manipulate the actual object dependency
graphs. This was maybe introduced for debugging purposes at that time
but if someone messes with this in prod - good luck with that. Oh, apart
from that it's broken :( and doesn't track parents as its implies but
children.
2025-06-03 17:09:57 +02:00
Yonas Habteab
9577af8e6d Drop Checkable#process_check_result() DSL function
Not sure why it's introduced in the first place, maybe for debugging
purposes at the early stage of Icinga 2 dev but I failed to see an
actual useful use case for it that's worth its maintenance burden. So,
this commit dropped it entirely from the DSL language.
2025-06-03 17:09:57 +02:00
Yonas Habteab
bcf43208c6
Merge pull request #10463 from Icinga/drop-ubuntu
Drop Ubuntu 20.04
2025-06-03 16:46:39 +02:00
Yonas Habteab
dd58fd0cde Drop Ubuntu 20.04
Is EOL by the end of May (31).
2025-06-03 11:18:05 +02:00
Yonas Habteab
3d04eb456a
Merge pull request #10415 from Icinga/abort-no-endpoint-conns
Abort connections with no valid endpoint
2025-06-02 16:21:46 +02:00
Julian Brost
c253e7eb6e
Merge pull request #10397 from Icinga/activation-priority-10179
Checkable#ProcessCheckResult(): discard🗑️ CR or delay its producers shutdown
2025-05-28 12:30:40 +02:00
Yonas Habteab
23ecc98812
Merge pull request #10419 from Icinga/fix-boost-1880-build-errors
Support Boost `1.88` on Windows
2025-05-28 11:56:20 +02:00
Yonas Habteab
c4ddd4886b Bump Boost shipped for Windows to v1.88 2025-05-28 09:39:15 +02:00
Yonas Habteab
7d2f1c2030 Drop Windows VISTA from the supported platform
Boost `1.88.0` introduced a feature [^1] that makes use of the Windows API, but it
uses API functions that are only available with `PSAPI_VERSION >= 2` and
Windows VISTA only supports `PSAPI_VERSION == 1`. Actually, that new feature
can also be disabled by setting the `BOOST_STACKTRACE_DISABLE_OFFSET_ADDR_BASE`
macro, but since it seems to be a useful feature and isn't even disabled by default,
we can just drop it that ancient Windows version instead of disabling it.

[^1]: https://github.com/boostorg/stacktrace/pull/200
2025-05-28 09:39:03 +02:00
Yonas Habteab
d265329a17
Merge commit from fork
Fix for master
2025-05-27 13:50:26 +02:00
Alexander Aleksandrovič Klimov
56d9f38b35
Merge pull request #10456 from Icinga/SharedObject-delete
SharedObject: delete unused methods
2025-05-26 10:00:52 +02:00
Alexander A. Klimov
4f351f625f SharedObject: delete unused methods
None of the derived classes use them, none shall have to explicitly delete them.
2025-05-23 15:47:02 +02:00
Alexander A. Klimov
36743f3100 Checkable#ProcessCheckResult(): discard CR or delay its producers shutdown 2025-05-23 14:53:58 +02:00
Alexander A. Klimov
f4691dd054 Require to pass WaitGroup::Ptr to several methods
Namely:

Checkable#ProcessCheckResult()
ClusterCheckTask::ScriptFunc()
ClusterZoneCheckTask::ScriptFunc()
DummyCheckTask::ScriptFunc()
ExceptionCheckTask::ScriptFunc()
IcingaCheckTask::ScriptFunc()
IfwApiCheckTask::ScriptFunc()
NullCheckTask::ScriptFunc()
PluginCheckTask::ScriptFunc()
RandomCheckTask::ScriptFunc()
SleepCheckTask::ScriptFunc()
IdoCheckTask::ScriptFunc()
IcingadbCheck::ScriptFunc()
CheckCommand#Execute()
Checkable#ExecuteCheck()
ClusterEvents::ExecuteCheckFromQueue()
ExternalCommandProcessor::Process*CheckResult()
ExternalCommandCallback
ExternalCommandProcessor::Execute()
ExternalCommandProcessor::ExecuteFromFile()
ExternalCommandProcessor::ProcessFile()
LivestatusQuery#ExecuteCommandHelper()
LivestatusQuery#Execute()
2025-05-23 14:53:58 +02:00
Alexander A. Klimov
c7cca7b460 Add a StoppableWaitGroup, and join it on #Stop(), to:
ApiListener
CheckerComponent
ExternalCommandListener
LivestatusListener
2025-05-23 14:53:58 +02:00
Alexander A. Klimov
18fb93fc11 Introduce WaitGroup and StoppableWaitGroup 2025-05-23 14:53:58 +02:00
Yonas Habteab
2b0f73987e
Merge pull request #10443 from Icinga/use-correct-timeout-for-command-endpoints
Checkable: Use correct timeout for rescheduling remote checks
2025-05-23 10:14:49 +02:00
Alexander Aleksandrovič Klimov
ec2080dcc1
Merge pull request #9731 from Icinga/fix-compiler-warnings-by-copy-constructing-loop-variables-explicitly
Fix compiler warnings by (copy-)constructing loop variables explicitly or not at all
2025-05-21 14:26:47 +02:00
Alexander A. Klimov
78ded7423f Always compile with -Wrange-loop-construct
This enables warnings when range-based for-loops unnecessarily make copies of elements instead of binding them by reference.
2025-05-21 12:04:24 +02:00
Alexander A. Klimov
22e75f08fa Fix compiler warnings by not unnecessarily (copy-)constructing loop variables 2025-05-21 11:36:32 +02:00
Julian Brost
4023128be4 VerifyCertificate: Work around issue in OpenSSL < 1.1.0 causing invalid certifcates being treated as valid
Old versions of OpenSSL stored a valid flag in the certificate (see inline code
comment for details) that if already set, causes parts of the verification to
be skipped and return that the certificate is valid, even if it's not actually
signed by the CA in the trust store.

This issue was assigned CVE-2025-48057.
2025-05-21 10:50:12 +02:00
Julian Brost
00864d1096 VerifyCertificate: fix use after free
`X509_STORE_CTX_get_error(csc)` was called after `X509_STORE_CTX_free(csc)`.
This is fixed by automatically freeing variables at the end of the function
using `std::unique_ptr`.
2025-05-21 10:46:25 +02:00
Yonas Habteab
31b5d36975
Merge pull request #10445 from Icinga/bump-openssl
Bump Windows OpenSSL version to `3.0.16`
2025-05-20 16:08:12 +02:00
Yonas Habteab
ae6ffcf48a
Merge pull request #10446 from Icinga/Al2Klimov-patch-7
19-technical-concepts.md: correct cold startup duration
2025-05-20 15:04:39 +02:00
Alexander Aleksandrovič Klimov
5c20b1ae12
Merge pull request #10444 from Icinga/ProcessingResult-NoCheckResult
Remove unused ProcessingResult::NoCheckResult
2025-05-20 12:54:41 +02:00
Alexander Aleksandrovič Klimov
5e23a4f098
19-technical-concepts.md: correct cold startup duration
It's 30s since 149f640fd8e9191efcf69a60e8ce83f38101d359.
2025-05-20 12:44:04 +02:00
Yonas Habteab
828f18f650 Bump Windows OpenSSL version to 3.0.16 2025-05-20 12:14:56 +02:00
Alexander A. Klimov
69d2a0442a Remove unused ProcessingResult::NoCheckResult
No one passes a NULL CR to Checkable#ProcessCheckResult() anymore.
2025-05-20 10:41:26 +02:00
Alexander A. Klimov
55fc0e51ff Checkable#process_check_result(): don't pass NULL CR to Checkable#ProcessCheckResult()
It's ignored anyway.
2025-05-20 10:33:20 +02:00
Yonas Habteab
44b3382f5f
Merge pull request #10442 from Icinga/jschmidt/fix-compiler-warnings
Fix two low-hanging fruit compiler warnings
2025-05-19 14:40:55 +02:00
Yonas Habteab
0c2215a9f8 Checkable: Use correct timeout for rescheduling remote checks
Previously, the `command#timeout` which by default is `1m`, was used to reschedule
the just sent remote check. However, this results into a bunch of extra checks being
sent to the remote host, even though the first one is still running. That's because
if one want to override the default timeout of the command for a specific host/service,
one has to set the `checkable#check_timeout` attribute to the desired value. So, this
commit makes sure that the `checkable#check_timeout` attribute (if set) is used to
reschedule the remote check.
2025-05-19 14:07:33 +02:00
Johannes Schmidt
f8d3bacc29 Fix warnings related to enum integer conversion 2025-05-19 12:31:22 +02:00
Yonas Habteab
8a1d9df767
Merge pull request #10070 from Icinga/time-period-schedule-next-check-on-next-transition-9984
If skipped due to time period, schedule next check on next transition
2025-05-19 12:29:09 +02:00
Johannes Schmidt
6a6c494279 Mark MakeName and ParseName virtual methods as override 2025-05-19 11:33:22 +02:00
Yonas Habteab
be0ddb158f
Merge pull request #10441 from Icinga/Al2Klimov-patch-7
Markdown: indent 2nd-level <ul> with 4 spaces, not 1
2025-05-16 15:11:43 +02:00
Julian Brost
d1623b5391
Merge pull request #10435 from SpeedD3/itl/vmware.esx/maintenance_mode_state
ITL: add argument maintenance_mode_state to vmware_esx
2025-05-16 15:01:06 +02:00
Yonas Habteab
98ed1b59ab
Merge pull request #10383 from Icinga/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 1 to 4
2025-05-16 14:23:25 +02:00
Alexander Aleksandrovič Klimov
04f69d251a
Merge pull request #10382 from Icinga/dependabot/github_actions/actions/cache-4
Bump actions/cache from 3 to 4
2025-05-16 13:59:47 +02:00
Alexander Aleksandrovič Klimov
72e77177de
Markdown: indent 2nd-level <ul> with 4 spaces, not 1
Neither CLion, nor GitHub or icinga.com differ 0 and 1 spaces before asterisk.
2025-05-16 12:57:56 +02:00
Yonas Habteab
45c651499b
Merge pull request #10379 from Icinga/set-cancel-time-conditionally
IcingaDB: Sync downtime `cancel_time` conditionally
2025-05-16 12:18:20 +02:00
Yonas Habteab
ef63f43b3f GHA: Fetch full git history for windows 2025-05-16 11:35:00 +02:00
dependabot[bot]
cf6c2064a0 Bump actions/checkout from 1 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v1...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 11:33:56 +02:00
dependabot[bot]
946937d6d9
Bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 09:32:58 +00:00
Julian Brost
26b320ab92
Merge pull request #10438 from Icinga/Al2Klimov-patch-7
GHA: AUTHORS: use sed(1), not grep(1)
2025-05-16 11:30:20 +02:00
Dirk Wening
908519aa74
ITL: Add argument maintenance_mode_state to vmware_esx 2025-05-16 11:07:06 +02:00
Alexander Aleksandrovič Klimov
018a0c936d
GHA: AUTHORS: use sed(1), not grep(1)
grep(1)'s exit code causes the GHA to fail in contrast to sed(1).
2025-05-16 10:54:24 +02:00
Yonas Habteab
d1f0ffe778
Merge pull request #10433 from Icinga/gha-windows-logs-artifacts
GitHub Actions: Show log files in Windows jobs
2025-05-16 10:40:28 +02:00
Yonas Habteab
83a0f9d217
Merge pull request #10361 from Icinga/reset-no-more-notifications-only-on-recovery
Notification: Reset internal states on (missed)recovery
2025-05-16 09:53:10 +02:00
Yonas Habteab
7acec6fc36 IcingaDB: Set downtime cancel_time conditionally
If the downtime ended automatically `cancel_time` should just be `NULL`
instead of a `0` timestamp.
2025-05-16 09:49:58 +02:00
Yonas Habteab
5ea666a7ad IcingaDB: Don't set cancel_time for downtime start event
It's a downtime start event there's now way the downtime could be
cancelled before it even started.
2025-05-16 09:49:16 +02:00