Alexander Aleksandrovič Klimov
e65c0a0d9e
Merge pull request #9819 from Icinga/2.13.8/syslog-SELinux
...
Add syslog logging to SELinux during usage of sudo
2023-07-07 10:16:41 +02:00
Alexander Aleksandrovič Klimov
3e682a99ef
Merge pull request #9814 from Icinga/2.13.8/icingadb
...
Icinga DB feature: normalize several Redis data not to crash the Go daemon
2023-07-06 17:32:14 +02:00
Alexander Aleksandrovič Klimov
8cd11a9146
Merge pull request #9822 from Icinga/2.13.8/bugfix/cluster-zone-own-zone-8570
...
cluster-zone: consider own zone connected if there's only one endpoint
2023-07-06 14:24:52 +02:00
Alexander Aleksandrovič Klimov
56a22461c9
Merge pull request #9818 from Icinga/2.13.8/ElasticsearchWriter-Pause
...
ElasticsearchWriter#Pause(): call Flush() only once
2023-07-06 10:17:57 +02:00
Alexander Aleksandrovič Klimov
45d5a3f5f3
Merge pull request #9817 from Icinga/flexible-downtimes-disappear-too-early-9797
...
Downtime#Start(): trigger flexible downtimes not earlier than fixed ones
2023-07-05 17:06:03 +02:00
Alexander Aleksandrovič Klimov
51afc74310
Merge pull request #9820 from Icinga/2.13.8/checkable-processcheckresult-only-clean-up-ack-comments-older-than-check-result-9718
...
Checkable#ProcessCheckResult(): only clean up ack comments older than check result
2023-07-05 11:20:55 +02:00
Alexander Aleksandrovič Klimov
3f9769f4ed
Merge pull request #9821 from Icinga/2.13.8/bugfix/perfdata-dont-get-parsed-correctly-8912
...
PluginUtility: Fix PerfData parsing for values separated with multiple spaces
2023-07-04 21:11:08 +02:00
Alexander Aleksandrovič Klimov
8fbfb2f816
Merge pull request #9815 from Icinga/2.13.8/stuck
...
Don't hang in timed out connection attempt
2023-07-04 17:34:24 +02:00
Alexander A. Klimov
363c1b2986
cluster-zone: consider own zone connected if there's only one endpoint
...
... because in this case only the checking node can be (not) connected to itself.
refs #8570
2023-07-04 11:12:29 +02:00
Yonas Habteab
b6ba09e479
Test: Add multiline PerfData test case
2023-07-04 11:10:38 +02:00
Yonas Habteab
ff0b45eca0
PluginUtility: Fix PerfData don't get parsed correctly
...
The problem was that some PerfData labels contained several whitespace characters,
not just one, and therefore it was parsed incorrectly in `SplitPerfdata()`. I.e. the condition
in line 144 checks whether the first and last character is a normal quote, but since the
label can contain spaces at the beginning and at the end respectively, this caused the problems.
This PR fixes the problem by removing all occurring whitespace from the beginning and end,
before starting to parse the actual label.
2023-07-04 11:10:38 +02:00
Alexander A. Klimov
6dffc57a37
Checkable#ProcessCheckResult(): only clean up ack comments older than check result
...
Normally if for some reason an ack comment still exists on a checkable not
acked anymore, still clean it up. But while replaying log config objects
incl. ack comments come before check results and acks. I.e. 1) ack comment,
2) DOWN check result and 3) ack. Not 1) DOWN check result, 2) ack and 3) ack
comment. So the checkable is temporarily not acked, but already has the ack
comment. In this case the DOWN check result which is older than the ack
comment shall not clean up the latter.
2023-07-04 10:56:30 +02:00
Alexander A. Klimov
c160c4b62e
Checkable#RemoveAckComments(): add optional comment entry time filter
2023-07-04 10:56:30 +02:00
Alexander A. Klimov
0470fe12a7
Checkable#RemoveCommentsByType(): remove redundant parameter
2023-07-04 10:56:30 +02:00
Henrik Triem
e2ed0937af
Add syslog logging to SELinux during usage of sudo
2023-07-04 10:53:37 +02:00
Alexander Aleksandrovič Klimov
8dca4d7121
ElasticsearchWriter#Pause(): lock m_DataBufferMutex during Flush()
...
just to be sure regarding race conditions.
2023-07-04 10:50:03 +02:00
Alexander Aleksandrovič Klimov
73f8c4473e
ElasticsearchWriter#Pause(): call Flush() only once
...
The first Flush() is redundant and may access m_DataBuffer at the same time as some Flush() in m_WorkQueue (race condition) which isn't joined, yet.
2023-07-04 10:49:53 +02:00
Alexander A. Klimov
43c4feb645
Downtime#Start(): trigger flexible downtimes not earlier than fixed ones
...
the last state change could be a long time ago. If it's longer than
the new downtime's duration, the downtime expires immediately.
trigger time + duration < now
2023-07-04 10:39:14 +02:00
Alexander A. Klimov
e0e10a7efa
ApiListener#NewClientHandlerInternal(): on basic_socket#cancel() (due to timeout) don't ssl::stream#async_shutdown()
...
If a connection hangs for too long in ApiListener#NewClientHandler(),
ApiListener#AddConnection()'s Timeout calls boost::asio::basic_socket#cancel()
on that connection to trigger an exception which unwinds
ApiListener#NewClientHandler(). Previously that unwind could trigger a Defer
which called boost::asio::ssl::stream#async_shutdown() which extended the hang.
2023-07-03 17:16:26 +02:00
Alexander A. Klimov
243b8aa7a8
Connect(): don't try next DNS record if operation is canceled
...
Instead return immediately to meet the caller's expectations.
2023-07-03 17:16:26 +02:00
Alexander A. Klimov
0735966e23
IcingaDB::PrepareObject(): cut off (null) negative Notification#times.{begin,end} not to crash Go daemon
...
At least our PostgreSQL schema enforces positive values.
2023-07-03 17:08:40 +02:00
Alexander A. Klimov
04457f5f16
IcingaDB::PrepareObject(): round Notification#times.{begin,end} not to crash Go daemon
...
The latter expects ints, not floats - not to mention strings.
Luckily Icinga already enforces numeric strings so that we can cast it to number.
2023-07-03 17:08:40 +02:00
Alexander A. Klimov
b7ecefb3c0
IcingaDB::PrepareObject(): round Notification#interval and limit it to >=0
...
otherwise, e.g. with -42.5, the Go daemon crashes. It expects uints there.
2023-07-03 17:08:40 +02:00
Alexander A. Klimov
2f1732e7e6
IcingaDB::PrepareObject(): cut off (0) negative Command#timeout for Redis
...
not to crash the Go daemon which expects positive values there.
2023-07-03 17:08:40 +02:00
Alexander A. Klimov
766e28e1aa
IcingaDB::PrepareObject(): convert non-null Checkable#check_timeout to number
...
and, in case of null, fall back to Checkable#check_command.timeout, just like
IcingaDB#SerializeState(). Otherwise the Go daemon crashes. It expects a number.
2023-07-03 17:08:40 +02:00
Alexander A. Klimov
f0176001fe
Icinga DB: don't write negative Downtime durations into Redis
...
via `std::max(0, x)` not to crash the Go daemon which can't handle such.
2023-07-03 17:08:40 +02:00
Alexander A. Klimov
99350e6b27
Icinga DB feature: normalize *Command.arguments[*].{required,skip_key,repeat_key} to boolean
...
At the moment, the Icinga DB feature will use that value as-is and
serialize it to JSON, resulting in a crash in Icinga DB down the road
because it expects a boolean.
2023-07-03 17:08:40 +02:00
Alexander Aleksandrovič Klimov
02ddb4badc
Merge pull request #9692 from Icinga/changelog-2.13.7
...
Icinga 2.13.7
v2.13.7
2023-02-16 17:00:15 +01:00
Alexander Aleksandrovič Klimov
687634a890
Merge pull request #9697 from Icinga/probot/update-authors/support/2.13/2b8621bb4efda9f915066e76201378d2000cf8e8
...
Update AUTHORS
2023-02-16 16:58:34 +01:00
icinga-probot[bot]
3d22901cbf
Update AUTHORS
2023-02-16 15:56:35 +00:00
Alexander Aleksandrovič Klimov
2b8621bb4e
Merge pull request #9690 from Icinga/selinux-2.13.7
...
Add role icinga2adm_r to SELinux policies
2023-02-16 16:56:23 +01:00
Alexander Aleksandrovič Klimov
d28ed879de
Merge pull request #9696 from Icinga/mailmap-2.13.7
...
Update .mailmap
2023-02-16 16:39:01 +01:00
Julian Brost
a00d629444
Update .mailmap
2023-02-16 16:29:58 +01:00
Alexander Aleksandrovič Klimov
c0bd0936f9
Merge pull request #9682 from Icinga/9631-213
...
Setup all signal handlers with SA_RESTART flag
2023-02-16 16:24:26 +01:00
Alexander Aleksandrovič Klimov
fe2fed4817
Merge pull request #9680 from Icinga/9488-213
...
Fix compile error on Solaris 11.4
2023-02-16 16:24:05 +01:00
Alexander Aleksandrovič Klimov
6dfc21f9bd
Merge pull request #9678 from Icinga/181b213
...
Bump Boost to v1.81
2023-02-16 16:23:50 +01:00
Alexander Aleksandrovič Klimov
2bebb92b35
Merge pull request #9671 from Icinga/docs213
...
Backport docs
2023-02-16 16:23:21 +01:00
Henrik Triem
b527af49c6
Reword Changelog for SELinux Issue
2023-02-16 15:43:16 +01:00
Alexander A. Klimov
ce5288ef79
Icinga 2.13.7
...
* Update CHANGELOG.md (WIP)
* Bump ICINGA2_VERSION
2023-02-16 15:43:16 +01:00
Henrik Triem
a81e4fab00
Add icinga2adm_r role def before creating SELinux user&domain
2023-02-16 12:22:52 +01:00
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
Eric Lippmann
ee8d32432e
docs: Add missing "Install Icinga 2 on Fedora" heading
2023-02-15 17:23: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
Eric Lippmann
7821a123b4
docs: Fix how to set up our Fedora repository
...
We do not provide `icinga-rpm-release` RPMs since ages.
2023-02-15 15:57:50 +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