13197 Commits

Author SHA1 Message Date
Alexander Aleksandrovič Klimov
ad93c0bbdd GHA: add upcoming (already frozen) Ubuntu 23.10 2023-11-24 17:26:57 +01:00
Alexander Aleksandrovič Klimov
9332aa5871 GHA: add upcoming (already frozen) Fedora 39 2023-11-24 17:26:57 +01:00
Alexander Aleksandrovič Klimov
b71a81b050 GHA: drop EOL Ubuntu 22.10 2023-11-24 17:26:57 +01:00
Alexander Aleksandrovič Klimov
fa00cf8352
Merge pull request #9824 from Icinga/2.13.8/CHANGELOG
Icinga 2.13.8
v2.13.8
2023-07-12 10:12:38 +02:00
Alexander Aleksandrovič Klimov
eacf5f27cf
Merge pull request #9816 from Icinga/2.13.8/vendor
Update vendored libs
2023-07-07 16:29:20 +02:00
Alexander Aleksandrovič Klimov
5c38c872df
Merge pull request #9823 from Icinga/2.13.8/gha
Update GHA
2023-07-07 13:30:17 +02:00
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 A. Klimov
51d0e9b5a9 GHA: add Amazon Linux 2023
which unfortunately seems not to have ccache. 🤷
2023-07-06 14:52:08 +02:00
Alexander Aleksandrovič Klimov
8b9060d77d GHA: add Debian and Raspbian 12 2023-07-06 14:52:08 +02:00
Alexander Aleksandrovič Klimov
08a8c302f4 GHA: add openSUSE and SLES 15.5 2023-07-06 14:52:08 +02:00
Alexander Aleksandrovič Klimov
c0ebdd69d4 GHA: Linux: add Fedora 38, Ubuntu 23.04 2023-07-06 14:52:08 +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 A. Klimov
0f7be745a7 Icinga 2.13.8 2023-07-05 13:08:27 +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
286d288654 GHA: use a CMake version which can set(CMAKE_CXX_STANDARD 17) where possible
especially on Amazon Linux which seems to have trouble with our workaround:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
2023-07-04 11:22:50 +02:00
Alexander Aleksandrovič Klimov
1883cae445 GHA: Drop openSUSE 15.3 (EOL) 2023-07-04 11:22:30 +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
117ae78755 Windows: bump OpenSSL v1.1 (soon EOL) -> v3.0 2023-07-03 17:43:17 +02:00
Alexander A. Klimov
02ed374ae0 Bump Boost shipped for Windows to v1.82 2023-07-03 17:43:17 +02:00
Alexander A. Klimov
3f395d703b Doc: dev: Windows: move "-DICINGA2_UNITY_BUILD=OFF"
to avoid merge conflicts due to Boost updates in the long run.
2023-07-03 17:41:45 +02:00
Alexander A. Klimov
b3d90f5418 Update third-party/nlohmann_json to v3.9.1
the latest version w/o Apache 2.0 licensed code which conflicts with GPL 2.
2023-07-03 17:40:53 +02:00
Alexander A. Klimov
76f5e400e1 Merge commit '499abec7791e6cdcac3e4920cba354f0422506ce' into 2.13.8/vendor 2023-07-03 17:20:34 +02:00
Alexander A. Klimov
499abec779 Squashed 'third-party/utf8cpp/' changes from 82344d605..79835a5fa
79835a5fa Remove -Wsign-conversion from test builds.
53398ca70 Restructure tests.
e3e57c811 Fix for issue #92: Clang 10 Compiler warnings
d736c29d3 Fix -Wconversion warnings in tests when -funsigned-char option is used.
780bd57d6 Merge pull request #96 from Finkman/provide-ns-on-installed
73b347f31 Adds the following advantages:  - utf8::cpp is available, even when installed  - cmake is aware of the library version  - compatible with previous usage: target utf8cpp available when installed
3ca904b21 Version 3.2.2
aa3b12c52 Added a couple of statis_casts to eliminate signed conversion warnings.
ee90a4a52 Added compiler options to enable warnings.
d8b92208f Merge pull request #87 from cschreib/patch-1
a92f85526 Add missing export() command
b85efd66a Test string literals
4e1149766 Merge pull request #80 from RT222/master
ec6747005 Fix the inclusion of both cpp11 and cpp17 headers on C++17 compilation
ddd38b304 Version 3.2
2af93bd67 Documentation: C++ 17 support.
b6cd18f92 test_utf32to8 tests string_view, not string
0991356b7 find_invalid(string_view) returns string_view::npos, not string::npos
4bed367c1 Update test docker image
a7d530de5 C++ 17 support: add tests, remove duplicate utf8::append()
50361edbf Merge pull request #77 from RT222/master
fe79d14ae Switching from gtest to ftest for unit-testing.
7d17aed95 Merge pull request #79 from fu7mu4/it-is-code
957e30052 Does it have syntax hilight
d40e4948f Support for C++17
e39907b38 Version 3.1.2
3c85cd48f Add prefix to NOEXCEPT and OVERRIDE macros.
944ef0561 Merge pull request #55 from Flamefire/disable_tests_for_subproject
dc2442c2e Merge pull request #61 from xenia-project/master
2b1521b48 Fix deprecated std::iterator usage (STL4015).
bee3b1349 Enable tests, docu, install only when building as root project
c3f9261eb Merge pull request #51 from AkiraMiyakoda/msvc_warning
7fb121130 Fix an MSVC warning about narrowing conversion.
170e2d11f Merge pull request #44 from tvanriper/patch-1
32ccbfb74 Removed utf8 path from #include.
2370b95a8 Compile negative test with C++ 98
89cfc3e38 Replace throw() with noexcept when using C++11 or later
687a59d88 Add override keyword when compiled with C++11 or later
f26d39e8a Move C++ version detection to core.h
b1002fd19 Introduce UTF_CPP_CPLUSPLUS macro.
088dd3ad7 Merge pull request #40 from xantares/patch-1
afc32b4c0 Always use GNU install layout except MSVC
82c674b7a Version 3.1
33516ff07 Test -fno-exceptions with unchecked api
f16bdde67 Merge pull request #37 from nemtrif/unchecked_replace_invalid
c52319302 unchecked::replace_invalid()
a3fa4ee84 Merge pull request #36 from nemtrif/gtesturl
8fd51836a Submodule url for googletest is https
ad27c7d5e Merge pull request #33 from nemtrif/optionalinstall
293f85d97 Installation is optional
a540297fd Version 3.0.3
04d29d92a Add inline declarations to non-template functions in cpp11.h
741259277 Merge pull request #30 from nemtrif/ci
335a3ee6a Update docker to 3.0.1
d5e847d0a Update project version
e6da1a36a Set up CircleCI
0b45681b6 Add Dockerfile
66804081d Introduce GTest
a0a2d9d1e Fix for the cpp11.h header guard
7db72814a Merge pull request #24 from nemtrif/release_3_0
007f8e32c advance() can work in backward direction.
92158c9ce Minor whitespace fixes
236d61942 Update documentation for replace_invalid
d8b09b301 Merge pull request #21 from glebm/fix-remove-invalid
3793703e7 Remove unused test data
080f1e6a3 Remove utf8reader sample
00d73e4a0 Remove deprecated functions
2b8596149 Support for C++11
f637e70c1 Merge pull request #22 from AkiraMiyakoda/fix-msvc2019-warning
cfc351c86 Fix MSVC 2017-2019 warning about negative unsigned value.
026aed63d replace_invalid: Replace final incomplete sequence

git-subtree-dir: third-party/utf8cpp
git-subtree-split: 79835a5fa57271f07a90ed36123e30ae9741178e
2023-07-03 17:20:34 +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