13231 Commits

Author SHA1 Message Date
Julian Brost
0dd94ece28 TimeoutLogger: don't log stack traces
Provides little benefit given the different log messages, but have a high risk
of flooding the log for HTTP requests.
2024-02-09 19:21:53 +01:00
Julian Brost
0690a1ce70 testing 2024-02-09 17:13:45 +01:00
Julian Brost
04cbeac49e Log long-running and long-waiting CpuBoundWork tasks 2024-02-09 17:13:45 +01:00
Yonas Habteab
5c844504e5 HttpServerConnection: Drop superfluous CpuBoundWork usage 2024-02-09 16:03:26 +01:00
Yonas Habteab
64f469d28e Revert "Boost Coroutines: Increase the default stack size from 64 to 256KB"
This reverts commit f62f2eb25ed5592e4432dd59fe903fccfe0b165a.
2024-02-09 14:55:30 +01:00
Yonas Habteab
dbf1ebdc82 EventsHandler: Drop superfluous CpuBoundWork usage 2024-02-09 12:13:40 +01:00
Yonas Habteab
cd7d413d9e Drop redundant CpuBoundWork usages in lib/remote 2024-02-09 12:13:40 +01:00
Julian Brost
78c5ebd588 HttpServerConnection: log disconnected message after the client was actually disconnected
Previously, the "HTTP client disconnected" message was logged before shutting
down the connection even started.
2024-02-09 12:05:09 +01:00
Julian Brost
1a11ad2147 HttpServerConnection: add timeout for TLS shutdown in Disconnect()
`async_shutdown()` performs a TLS shutdown, which exchanges messages, which can
hang. Therefore, it has to be protected by a timeout that cancels it if needed.
2024-02-09 12:05:09 +01:00
Julian Brost
06584c2880 HttpServerConnection: use exceptions for error handling
When a HTTP connection dies prematurely while the response is sent,
`http::async_write()` sets the error code to something like broken pipe for
example. When calling `async_flush()` afterwards, it sometimes happens that
this never returns. This results in a resource leak as the coroutine isn't
cleaned up. This commit makes the individual functions throw exceptions instead
of silently ignoring the errors, resulting in the function terminating early
and also resulting in an error being logged as well.
2024-02-09 12:05:09 +01:00
Yonas Habteab
2054525e78 Drop redundant CpuBoundWork usage in JsonRpcConnection::Disconnect()
Although there is locking involved here, it shoudln't take too long for
the thread to actually acquire it, since there aren't that many threads
dealing with endpoint clients concurrently. It's just wasting pointless
time trying to obtain a CPU slot.
2024-02-09 11:06:28 +01:00
Eric Lippmann
f33c301a3c IoEngine: Always log coroutine exception diagnostics
While analyzing a possible memory leak, we encountered several coroutine
exception messages, which unfortunately do not provide any information
about what exactly went wrong, as exception diagnostics were previously
only logged at the notice level.
2024-02-09 11:06:13 +01:00
Alexander Aleksandrovič Klimov
84672b34b2
Merge pull request #9939 from Icinga/2139
Icinga 2.13.9
v2.13.9
2023-12-20 17:21:34 +01:00
Alexander Aleksandrovič Klimov
600e631a4d
Merge pull request #9945 from Icinga/2139backport
Disable TLS renegotiation, bump Windows deps and fix Icinga DB crashes
2023-12-20 12:14:30 +01:00
Alexander A. Klimov
b2d975f916 IcingaDB#SendConfigDelete(): fix missing nullptr check before deref 2023-12-20 10:29:17 +01:00
Alexander A. Klimov
873988129f 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:29:17 +01:00
Alexander A. Klimov
3bcd4db967 Icinga 2.13.9 2023-12-20 10:11:29 +01:00
Alexander A. Klimov
4aefab59ae Bump OpenSSL shipped for Windows to v3.0.12 2023-12-20 10:06:03 +01:00
Alexander A. Klimov
d856dc9638 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:05:46 +01:00
Alexander A. Klimov
89c54ca5e5 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:05:35 +01:00
Alexander Aleksandrovič Klimov
5acf3fb539
Merge pull request #9934 from Icinga/renew-the-ca-9890-213
ApiListener#Start(): auto-renew CA on its owner
2023-12-19 15:26:00 +01:00
Alexander A. Klimov
7a8bd0f6ea RequestCertificateHandler(): also renew if CA needs a renewal
and a newer one is available.
2023-12-18 17:07:44 +01:00
Alexander A. Klimov
5bf8db41ef CertificateToString(): allow raw pointer input 2023-12-18 17:07:44 +01:00
Alexander A. Klimov
e7a50f3e7c ApiListener#Start(): auto-renew CA on its owner
otherwise it would expire.
2023-12-18 17:07:44 +01:00
Alexander A. Klimov
1e31bc13f0 ApiListener#RenewCert(): enable optional CA creation 2023-12-18 17:07:44 +01:00
Alexander A. Klimov
d1098dc959 CreateCertIcingaCA(EVP_PKEY*, X509_NAME*): enable optional CA creation 2023-12-18 17:07:44 +01:00
Alexander A. Klimov
9345caacec Test IsCertUptodate() and IsCaUptodate() 2023-12-18 17:07:44 +01:00
Alexander A. Klimov
35317f14e7 Introduce IsCaUptodate() by splitting IsCertUptodate() 2023-12-18 17:07:44 +01:00
Alexander Aleksandrovič Klimov
f483d3757e
Merge pull request #9920 from Icinga/gha2139
Update GitHub actions
2023-11-24 19:11:02 +01:00
Alexander A. Klimov
d260a0aa6d Update AUTHORS 2023-11-24 17:26:57 +01:00
Lord Hepipud
215dba9d0f Adds ProgressPreference SilentlyContinue
We should use `$Global:ProgressPreference = 'SilentlyContinue';` to disable the progress bar during download.
By doing so, information are directly written to the disk instead of written inside the memory and dumped to the disk afterwards
2023-11-24 17:26:57 +01:00
Alexander Aleksandrovič Klimov
23feb5b374 GHA: drop EOL Fedora 36 2023-11-24 17:26:57 +01:00
Alexander A. Klimov
b9b127f25d GHA: complain if PR adds commits from people not yet listed in ./AUTHORS
not to have to update ./AUTHORS or .mailmap after merging.
2023-11-24 17:26:57 +01:00
Alexander A. Klimov
a019c63bd6 GHA: cancel runs on PR, but not on push
In a PR one top commit replaces the previous one.
But the central branches are more like timelines.
It's nice to have red crosses in a such timeline
as clear indicators that something was actually broken.
2023-11-24 17:26:57 +01:00
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