Alexander Aleksandrovič Klimov
ee0af27a82
Merge pull request #9681 from Icinga/flush-temp-files-213
...
Deduplicate and stabilize fragile filesystem transactions
2023-02-15 20:51:41 +01:00
Alexander A. Klimov
9ea9b10014
Include Utility::SetFileOwnership() inside FS transactions
...
to make them even more atomic.
2023-02-15 17:20:37 +01:00
Alexander A. Klimov
d2e3a094c1
Introduce AtomicFile#GetTempFilename()
2023-02-15 17:20:35 +01:00
Alexander A. Klimov
69b3c81ea1
Remove unused Utility::CreateTempFile()
2023-02-15 17:20:02 +01:00
Alexander A. Klimov
34844c146d
Deduplicate and stabilize fragile filesystem transactions
...
by using AtomicFile so they ensure all or nothing of a file gets replaced.
2023-02-15 17:19:57 +01:00
Alexander Aleksandrovič Klimov
58c4ba4177
Merge pull request #9679 from Icinga/9596-213
...
CheckerComponent#CheckThreadProc(): also propagate next check update …
2023-02-15 16:32:21 +01:00
Alexander A. Klimov
f0c1764adc
Introduce AtomicFile::Write()
2023-02-15 16:25:39 +01:00
Alexander Aleksandrovič Klimov
ed9f0dc2cb
Merge pull request #9672 from Icinga/v1.1.1t213
...
Windows: bump OpenSSL to v1.1.1t
2023-02-15 13:23:39 +01:00
Alexander Aleksandrovič Klimov
ba12f348c7
Merge pull request #9668 from Icinga/gha2137
...
Update GHA
2023-02-15 11:13:16 +01:00
Alexander A. Klimov
41c97d65b7
CheckerComponent#CheckThreadProc(): also propagate next check update to Icinga DB
...
if caused by dependency or check period.
Now as long as any of the above causes check skips
next check and next update will be up-to-date in Icinga DB,
so the checkable won't slide into false positive overdue.
2023-02-15 10:46:08 +01:00
Alexander A. Klimov
27d46a4e5a
Windows: bump OpenSSL to v1.1.1t
2023-02-14 13:11:49 +01:00
Alexander A. Klimov
ba5301e354
GHA: build Icinga 2 from source
...
as the package build images aren't public anymore.
2023-02-14 12:14:44 +01:00
Johannes Meyer
b06fe7af4e
Run only a single job per workflow matrix at a time
...
This limits each run of these workflows to a single
active matrix job. This means, for each PR, merge or
release only five jobs run concurrently.
2023-02-14 12:14:44 +01:00
Alexander Aleksandrovič Klimov
074fc292d8
GHA: revert back to ubuntu-latest
...
as that is 22.04 or later.
2023-02-14 12:14:44 +01:00
Alexander A. Klimov
b02af91420
GHA: let GitHub cancel redundant jobs
...
This will also cancel not yet finished master builds, but that's not too bad.
2023-02-14 12:14:44 +01:00
Alexander A. Klimov
b7700f189a
GHA: drop EOL OSes
2023-02-14 12:14:44 +01:00
Julian Brost
0506089aae
GitHub Actions: no longer test builds on Fedora 35
...
The repositories have been removed so builds are failing anyways.
2023-02-14 12:14:44 +01:00
Alexander A. Klimov
2ba73ff73a
GHA: handle changed interface of Icinga/docker-icinga2
2023-02-14 12:14:44 +01:00
Julian Brost
6ef67432ef
Merge pull request #9568 from Icinga/feature/release-2.13.6
...
Release 2.13.6
v2.13.6
2022-11-07 16:08:33 +01:00
Julian Brost
39117378cd
Merge pull request #9567 from Icinga/bugfix/openssl-1.1.1s-2.13
...
Windows: update bundled OpenSSL to version 1.1.1s
2022-11-07 13:40:03 +01:00
Julian Brost
d8b2c2db09
Release 2.13.6
2022-11-07 11:40:49 +01:00
Julian Brost
3bb3720465
Merge pull request #9565 from Icinga/targeted-apply-rules-2.13
...
Separately handle apply rules targetting only specific parent objects
2022-11-04 19:07:43 +01:00
Julian Brost
2916c96bd9
Windows: update bundled OpenSSL to version 1.1.1s
2022-11-04 13:37:29 +01:00
Yonas Habteab
a15bbfe913
Use service short name for evaluating targeted service rules
2022-11-04 12:47:41 +01:00
Yonas Habteab
e29de04687
Avoid evaluating the same filter twice for the same target
2022-11-04 12:47:41 +01:00
Alexander A. Klimov
cc67510063
ApplyRule::RuleMap: reduce complexity, save unnecessary lookups
2022-11-04 12:47:41 +01:00
Alexander A. Klimov
0bf093af14
Targeted apply rules: don't unnecessarily eval filter
2022-11-04 12:47:41 +01:00
Alexander A. Klimov
09d810dbd9
VariableExpression#GetVariable(): return by const ref not to unnecessarily malloc()
2022-11-04 12:47:41 +01:00
Alexander A. Klimov
840bfb6be1
Unify storages of regular/targeted apply rules: std::vector<ApplyRule::Ptr>
2022-11-04 12:47:41 +01:00
Alexander A. Klimov
1935137a8d
Separately handle apply rules targetting only specific parent objects
...
not to unnecessarily run e.g. the filter assign where host.name=="example.com"
for all hosts being not example.com.
2022-11-04 12:47:41 +01:00
Alexander A. Klimov
3d2a6bbfb1
Allow hashmaps of String
2022-11-04 12:47:41 +01:00
Alexander A. Klimov
80ee597b72
Allow intrusive pointers to ApplyRule
2022-11-04 12:47:41 +01:00
Julian Brost
54a448a736
Merge pull request #9559 from Icinga/apply-rules-lookup-213
...
Lookup apply rules faster by Type*, not String and by map instead of ==/!=
2022-11-04 12:20:28 +01:00
Alexander A. Klimov
cf3e02243e
Remove unused ApplyRule#m_TargetType
2022-11-02 11:06:12 +01:00
Alexander A. Klimov
fcedb01d0d
Lookup apply rules faster by Type*, not String and by map instead of ==/!=
...
1. The lookup of apply rules per source type now implies
no String(const char*) (no malloc()) and just pointer (uint64) comparisions
2. Apply rules are now also grouped by target type via a nested map, that obsoletes
checking the target type while iterating over all rules per source type
2022-11-02 11:06:12 +01:00
Alexander A. Klimov
7f50955674
ApplyRule::GetTargetTypes(): return by const ref not to malloc()
2022-11-02 11:00:47 +01:00
Julian Brost
cdd531445a
Merge pull request #9558 from Icinga/context-evaluating-apply-rules-for-host-213
...
Construct string once, not unnecessarily N times
2022-11-02 10:48:57 +01:00
Julian Brost
2e02bb52f8
Merge pull request #9561 from Icinga/match-api-permissions-against-join-relations
...
Match api permissions against joined relations
2022-11-02 10:46:54 +01:00
Julian Brost
2f22be398b
Merge pull request #9560 from Icinga/handle-on-error-213
...
ConfigItem: Fix infinite recursion caused by `ignore_on_error`
2022-11-02 10:37:56 +01:00
Julian Brost
59b3ed5154
Merge pull request #9562 from Icinga/boost180
...
Bump Boost v1.79 -> v1.80
2022-11-02 10:36:59 +01:00
Julian Brost
46dce8a025
Merge pull request #9550 from Icinga/2.13-idb-perf
...
Backport Icinga DB performance improvements
2022-10-31 13:33:44 +01:00
Alexander A. Klimov
b731bcf511
Bump Boost v1.79 -> v1.80
2022-10-31 13:04:16 +01:00
Yonas Habteab
adc42e101d
Evaluate permission filters also on all joined relations
2022-10-31 13:01:12 +01:00
Yonas Habteab
02524f5993
ObjectQueryHandler: Check user permissions on joined relations
2022-10-31 13:01:12 +01:00
Yonas Habteab
21b55cb1ac
FilterUtility: Outsource permission matching from CheckPermission() to a separate method
2022-10-31 13:01:12 +01:00
Yonas Habteab
bbca13d788
ConfigItem: Don't add items to the new items vector before committing
...
This also improves the performance a bit, as we longer have to iterate over the items
and copy them into the new items vector.
2022-10-31 12:55:42 +01:00
Yonas Habteab
2adc0bd042
ConfigItem: Fix infinite recursion caused by ignore_on_error
when committing an item
...
When committing an item with `ignore_on_error` flag set fails, the `Commit()` method only returns `nullptr`
and the current item is not being dropped from `m_Items`. `CommittNewItems()` also doesn't check the return
value of `Commit()` but just continues and tries to commit all items from `m_Items` in recursive call. Since
this corrupt item is never removed from `m_Items`, it ends up in an endless recursion till it finally crashes.
2022-10-31 12:55:42 +01:00
Alexander A. Klimov
17c652d8dd
Construct string once, not unnecessarily N times
2022-10-31 12:40:59 +01:00
Yonas Habteab
a4de67d558
RedisConnection: Don't log queries that are going to be discarded
2022-10-26 11:55:10 +02:00
Alexander A. Klimov
de60eb445b
Logger: don't render log messages which will be disposed anyway
...
by caching the total minimum log severity of all loggers in a
"global variable" and whether a message's severity is large enough for any of
the loggers in a per-message no-op flag.
2022-10-26 11:55:10 +02:00