13630 Commits

Author SHA1 Message Date
Yonas Habteab
561aedab1d JsonRpcConnection: Raise an exception when trying to send to disconnected clients 2024-09-03 16:49:02 +02:00
Julian Brost
02334c5f29 Make sure log file is reopened when ApiListener::ReplayLog() returns 2024-09-03 16:49:02 +02:00
Yonas Habteab
b0b41b1aff Defer: Allow empty initialization & add SetFunc() method 2024-09-03 16:49:01 +02:00
Yonas Habteab
5f2d31bf3c Use Defer class for cleanup in ApiListener::ReplayLog() 2024-09-03 16:49:01 +02:00
Alexander A. Klimov
9a0c7d7c75 ApiListener#ReplayLog(): stop reading files ASAP on send error 2024-09-03 16:49:01 +02:00
Alexander A. Klimov
a6946f9dbf JsonRpcConnection#Send*(): discard messages ASAP once shutting down
Especially ApiListener#ReplayLog() enqueued lots of messages into
JsonRpcConnection#{m_IoStrand,m_OutgoingMessagesQueue} (RAM) even if
the connection was shut(ting) down. Now #Disconnect() takes effect ASAP.
2024-09-03 16:49:01 +02:00
Alexander A. Klimov
81da1cdb26 JsonRpcConnection#Disconnect(): spawn coroutine only if necessary
by checking the now atomic #m_ShuttingDown outside of it.
2024-09-03 16:49:01 +02:00
Yonas Habteab
eec1d242c3
Merge pull request #10108 from Icinga/gha2143
Update GitHub actions
2024-09-03 14:56:38 +02:00
Alvar Penning
7cbf2e1c2c GHA: Unbreak Windows Tests
As seen in the recent GHA run for #10102, the two Windows Actions have
failed. The output log contains:

> DEBUG:   27+  >>>> ctest.exe -C "${env:CMAKE_BUILD_TYPE}" -T test -O $env:ICINGA2_BUILDPATH/Test.xml
> --output-on-failure --log_level=all
> CMake Error: Unknown argument: --log_level=all
> CMake Error: Run 'ctest --help' for all supported options.

After consulting ctest(1), older versions included, I have never found a
mention of the "--log_level" flag. Since the useful
"--output-on-failure" flag is already set, which will "[o]utput anything
outputted by the test program if the test should fail", I do not see any
further reason for more logging information.

This flag was introduced in 7665143afa500dd589546665124293b9c1206265,
but I have not found any reasoning for the flag in particular.
2024-08-06 11:30:03 +02:00
Alexander Aleksandrovič Klimov
b68580338b GHA: add openSUSE 15.6 and SLES 15.6 2024-08-06 10:59:34 +02:00
Alexander A. Klimov
449e5c026d GHA: drop EOL EL7 2024-08-06 10:59:34 +02:00
Alexander Aleksandrovič Klimov
6a7b440cfd
Merge pull request #10084 from Icinga/win2143
Bump Windows deps
2024-06-12 13:03:05 +02:00
Alexander A. Klimov
d856cab9d9 Bump OpenSSL shipped for Windows to v3.0.14 2024-06-12 10:25:11 +02:00
Alexander A. Klimov
3a3454e1b5 Bump Boost shipped for Windows to v1.85
Note: For doc/21-development.md use:

perl -pi -e 's/(boost[-\w]*?1[-_]?)84/${1}85/g' doc/21-development.md
2024-06-12 10:25:11 +02:00
Alexander Aleksandrovič Klimov
62a92c10b5
Merge pull request #10075 from Icinga/gha2143
Update GitHub actions
2024-06-10 10:59:37 +02:00
Alexander Aleksandrovič Klimov
39be31c305 CMakeLists.txt: set(CPACK_WIX_INSTALL_SCOPE NONE)
to stick to CMake pre-v3.29 behavior. CMake v3.29 introduces CPACK_WIX_INSTALL_SCOPE. Its default conflicts with the ALLUSERS property in our icinga-installer/icinga2.wixpatch.cmake.
2024-06-07 15:50:54 +02:00
Alexander Aleksandrovič Klimov
8b6c73166c GHA: Docker: don't run on support/* branches
PRs to them are already covered and we don't need support* image tags.
2024-06-07 15:49:10 +02:00
Alexander Aleksandrovič Klimov
469bc7e9fd GHA: drop Debian 10
which will be EOL in 2.5 months.
2024-06-07 15:49:10 +02:00
Alexander Aleksandrovič Klimov
00d77443a0 GHA: add upcoming Fedora 40 2024-06-07 15:49:10 +02:00
Alexander Aleksandrovič Klimov
a00e57c06b GHA: add upcoming Ubuntu 24.04 2024-06-07 15:49:10 +02:00
Alexander A. Klimov
6ba41b01e4 GHA AUTHORS check: handle PRs from forks
where the ref names differ compared to own PRs. Instead refer to the base branch and the head branch via generic HEAD^<parent number> where HEAD is a merge commit.
2024-06-07 15:49:10 +02:00
Alexander Aleksandrovič Klimov
fc4ff8b7af
Merge pull request #9971 from Icinga/2142
Icinga 2.14.2
v2.14.2
2024-01-17 19:49:18 +01:00
Alexander Aleksandrovič Klimov
d6a2528af5
Merge pull request #9970 from Icinga/2142backport
Log HTTP request processing time and ship Boost 1.84 on Windows
2024-01-17 19:11:54 +01:00
Alexander Aleksandrovič Klimov
37d9ae752f
Merge pull request #9969 from Icinga/influx-disk-9948-214
Influx DB: truncate timestamps to whole seconds to save disk space
2024-01-17 19:04:39 +01:00
Alexander A. Klimov
5bb2024976 Icinga 2.14.2 2024-01-17 17:53:00 +01:00
Alexander A. Klimov
fd5f3c57d9 Bump Boost shipped for Windows to v1.84
Note: For doc/21-development.md use:

perl -pi -e 's/(boost[-\w]*?1[-_]?)83/${1}84/g' doc/21-development.md

(cherry picked from commit 77313d751c8ae78f0114f62c248455bfadf47041)
2024-01-17 17:11:10 +01:00
Alexander A. Klimov
6817a148bd HttpServerConnection: log request processing time as well
(cherry picked from commit b6874cc8d40336fbc9eb6c60e9d1be9313365a58)
2024-01-17 17:11:10 +01:00
Alexander A. Klimov
3a274ac305 Revert "Influx DB: don't unneccessarily truncate timestamps to whole seconds"
This reverts commit eaa3cd83adf860732b955a77b8f5fca7e30c65c2.

(cherry picked from commit cc9db3756fa68b303c13258cbb1500d691b1b770)
2024-01-17 17:07:13 +01:00
Alexander A. Klimov
1b5bc20e50 Revert "Remove no-op InfluxDB URL param"
This reverts commit 21f548d3c07189c6a413cf88c2b60cc9ada73497.

(cherry picked from commit fc5b1178c643d37dfa1ce8512966b95961bac18f)
2024-01-17 17:07:13 +01:00
Alexander Aleksandrovič Klimov
f2c83fbbf2
Merge pull request #9950 from Icinga/probot/sync-changelog/support/2.14/9fa41f3b4fbae83d4ca5bbfce4771031b6bd1fa4
CHANGELOG.md: add v2.13.9
v2.14.1
2023-12-20 17:30:01 +01:00
Alexander A. Klimov
b85cd98eb1 CHANGELOG.md: add v2.13.9 2023-12-20 16:27:56 +00:00
Alexander Aleksandrovič Klimov
9fa41f3b4f
Merge pull request #9940 from Icinga/2141
Icinga 2.14.1
2023-12-20 17:27:43 +01:00
Alexander Aleksandrovič Klimov
61d190f892
Merge pull request #9947 from Icinga/2141morebackport
Truncate too big notification command lines, fix GelfWriter deadlock and return 503 in /v1/console/* during reload
2023-12-20 12:44:07 +01:00
Alexander Aleksandrovič Klimov
3ddbbebc63
Merge pull request #9946 from Icinga/2141backport
Disable TLS renegotiation, bump Windows deps and fix Icinga DB crashes
2023-12-20 12:40:41 +01:00
Alexander A. Klimov
41b692793b Icinga 2.14.1 2023-12-20 10:56:15 +01:00
Alexander A. Klimov
fecb209fe0 GelfWriter: protect m_Stream via m_WorkQueue, not ObjectLock(this)
On shutdown or HA re-connect ConfigObject#SetAuthority(false) is called which
does ObjectLock(this) and ConfigObject#Pause(). GelfWriter#Pause(), with the
above ObjectLock, calls m_WorkQueue.Join(). But items inside that also doing
ObjectLock(this) cause a deadlock.
2023-12-20 10:46:51 +01:00
Mattia Codato
85c5a7c901 Prevent calls to command API while the configuration is reloading.
Fixes #9840
2023-12-20 10:46:51 +01:00
Alexander A. Klimov
0eeac3b385 PluginNotificationTask::ScriptFunc(): on Linux truncate output and comment
not to run into an exec(3) error E2BIG due to a too long argument.
This sends a notification with truncated output instead of not sending.
2023-12-20 10:46:51 +01:00
Alexander A. Klimov
7efdae6a53 IcingaDB#SendConfigDelete(): fix missing nullptr check before deref 2023-12-20 10:30:01 +01:00
Alexander A. Klimov
79efda7a14 Icinga DB downtime history: provide cancel_time where has_been_cancelled may be 1
The table sla_history_downtime requires a downtime_end.
The Go daemon takes the cancel_time if has_been_cancelled is 1.
So we must supply a cancel_time whereever has_been_cancelled is 1.
Otherwise the Go daemon can't process some entries.
2023-12-20 10:30:01 +01:00
Alexander A. Klimov
8c9f3ede4a Bump OpenSSL shipped for Windows to v3.0.12 2023-12-20 10:14:00 +01:00
Alexander A. Klimov
4547c1e5a3 Bump Boost shipped for Windows to v1.83
Note: For doc/21-development.md use:

perl -pi -e 's/(boost[-\w]*?1[-_]?)82/${1}83/g' doc/21-development.md
2023-12-20 10:14:00 +01:00
Alexander A. Klimov
ec77b6f1e3 Disable TLS renegotiation
The API doesn't need it and a customer's security scanner
is afraid of a potential DoS attack vector.
2023-12-20 10:14:00 +01:00
Alexander Aleksandrovič Klimov
bbb45894dd
Merge pull request #9944 from Icinga/targeted-api-filter-214
FilterUtility::GetFilterTargets(): don't run filter for specific object(s) for all objects
2023-12-19 17:40:59 +01:00
Alexander Aleksandrovič Klimov
b55a14d536
Merge pull request #9921 from Icinga/doc2141
Update documentation
2023-12-19 17:01:31 +01:00
Alexander A. Klimov
03aa5adb7a Tests: config_apply/gettargetservices_*: use BOOST_CHECK_EQUAL_COLLECTIONS()
to show the value diff in case of mismatch.

Co-authored-by: Yonas Habteab <yonas.habteab@icinga.com>
2023-12-19 15:19:20 +01:00
Alexander A. Klimov
b99db24100 Test ApplyRule::GetTarget*s() 2023-12-19 15:19:20 +01:00
Alexander A. Klimov
bcbb1aee52 FilterUtility::GetFilterTargets(): don't run filter for specific object(s) for all objects 2023-12-19 15:19:20 +01:00
Alexander A. Klimov
60b7e96adc ApplyRule::GetTarget*s(): support constant strings from variables
in addition to literal strings. This is for sandboxed filters with some
variables pre-set by the caller. They're "constant" in that scope, too.
2023-12-19 15:19:20 +01:00
Alexander A. Klimov
8248fa110c Introduce DictExpression#GetExpressions() 2023-12-19 15:19:20 +01:00