Yonas Habteab
9a9c0a1fe0
Merge pull request #10343 from Icinga/test-formatdatetime-32bit-2.14
...
tests: fix FormatDateTime with 32-bit time_t
v2.14.5
2025-02-05 15:12:30 +01:00
Julian Brost
4aa4a0df2f
Mention #10343 in changelog for 2.14.5
...
The problem was only noticed after the changelog already got merged, hence this
has to be added retroactively.
2025-02-05 13:15:10 +01:00
Julian Brost
af96e17295
tests: fix FormatDateTime with 32-bit time_t
...
With a 32-bit time_t, two checks in the FormatDateTime test case didn't work
properly so far:
1. Every time_t value can be represented by struct tm, hence the test makes no
sense on such platforms and is now disabled there similar to how it's
already done with other checks in the same function.
2. std::nextafter(2147483647, +double_limit::infinity())) results in something
like 2147483647.000000238 which simply results in the limit when cast back
to an integer type, so it didn't actually test the overflow. This is fixed
by an additional std::ceil()/std::floor().
2025-02-05 13:09:47 +01:00
Julian Brost
85508299f1
Merge pull request #10341 from Icinga/icinga-2.14.5
...
Release v2.14.5
2025-02-05 08:56:41 +01:00
Julian Brost
6e545a531b
Merge pull request #10339 from Icinga/fix-perf-data-normalization
...
PerfData: Don't discard min/max values even if crit/warn thresholds aren’t given
2025-02-04 17:57:05 +01:00
Julian Brost
aeee2ca092
Release v2.14.5
2025-02-04 15:28:41 +01:00
Julian Brost
0fe1632c71
Merge pull request #10337 from Icinga/do-not-close-connection-in-request-cert-handler-214
...
Don't abruptly close anonymous connections
2025-02-04 15:14:26 +01:00
Julian Brost
641d979eb1
Merge pull request #10336 from Icinga/support-windows-server
...
Add dev docs on windows server
2025-02-04 13:55:33 +01:00
Maciej Dems
56116d2218
Fix missing values in PerfData normalization
2025-02-04 13:53:45 +01:00
Maciej Dems
3e616c15ff
Correct tests checks for icinga_perfdata
2025-02-04 13:53:45 +01:00
Julian Brost
0628b08116
Merge pull request #10335 from Icinga/missing-x-for-mail-notification
...
Document `mail-{host,service}-notification` `-X` option
2025-02-04 13:45:16 +01:00
Julian Brost
4fc34aaed7
Merge pull request #10334 from Icinga/remove-rhel7-instructions
...
Remove RHEL 7 from installation instructions
2025-02-04 13:43:09 +01:00
Yonas Habteab
c026f03ee2
Don't abruptly close anonymous connections
...
This was mistakenly introduced with PR #7686 due to too many open
connections (#7680 ). This was wrong in the sense that closing the
connection is simply out of place here and should have been handled
differently. After we revised the RPC connection disconnect procedure
with `v2.14.4`, it becomes clear why it is wrong, because the connection
is closed abruptly before the corresponding response (`result`) has
even been written. Now if you remove the disconnect here, shouldn't the
issue #7680 occur again, you ask? The answer is no, because we now also
have a maximum timeout of `10s` for anonymous connections, after which
they are automatically closed. Thanks to the introduction of this
timeout by @julianbrost in #8479 , this `Disconnect()` call has become
superfluous.
2025-02-04 13:15:41 +01:00
Alexander A. Klimov
fd8f318418
21-development.md: support Windows Server
...
That OS need NetFx3ServerFeatures to be enabled before NetFx3.
2025-02-04 11:53:12 +01:00
Alexander Aleksandrovič Klimov
a0d0b36c10
21-development.md: fix indentation
...
The last two points need to be children of the second one, but currently GitHub weights them equally.
2025-02-04 11:51:27 +01:00
Yonas Habteab
06f6ea442e
Document mail-{host,service}-notification
-X
option
2025-02-04 11:44:06 +01:00
Angel Roman
5f55c58959
Remove RHEL 7 from installation instructions
2025-02-04 11:40:51 +01:00
Julian Brost
3a258ad7ab
Merge pull request #10324 from Icinga/update-migration-docs-2.14
...
Include Nagios in the migration docs
2025-01-31 11:52:38 +01:00
Blerim Sheqa
0ea88ffc3b
Include Nagios in the migration docs
2025-01-24 14:02:40 +01:00
Julian Brost
ea6ebd2e95
Merge pull request #10313 from Icinga/Icinga-2.14.4
...
Icinga 2.14.4
v2.14.4
2025-01-23 11:53:08 +01:00
Alexander A. Klimov
6c38447ed1
Icinga 2.14.4
2025-01-22 14:43:55 +01:00
Julian Brost
a8c9192e41
Merge pull request #10314 from Icinga/win-configure-cmake-opts214
...
tools/win32/configure*.ps1: allow custom $CMAKE_ARGS (JSON array)
2025-01-22 12:04:52 +01:00
Alexander A. Klimov
7866308e31
tools/win32/configure*.ps1: allow custom $CMAKE_ARGS (JSON array)
2025-01-22 10:07:44 +01:00
Alexander Aleksandrovič Klimov
c538324040
Merge pull request #10304 from Icinga/win-progfiles-icinga2-var214
...
On Windows, don't create C:\Program Files\Icinga2\var during MSI build
2025-01-16 14:03:58 +01:00
Alexander A. Klimov
e241a240a8
On Windows, don't create C:\Program Files\Icinga2\var during MSI build
2025-01-16 12:04:12 +01:00
Yonas Habteab
ebac52b830
Merge pull request #10300 from Icinga/error-timestamp-out-of-range-53323-214
...
IDO: timestamp out of range errors
2025-01-14 12:06:18 +01:00
Alexander A. Klimov
32d604f954
Ido*sqlConnection#FieldToEscapedString(): don't write out of range time
...
MySQL's FROM_UNIXTIME() NULLs ts <1970, errors for >2038.
Postgres' TO_TIMESTAMP() errors for all ts not between 4713BC - 294276AD.
2025-01-14 10:05:36 +01:00
Alexander A. Klimov
ecce7f8dcb
Ido*sqlConnection#FieldToEscapedString(): don't overflow timestamps > long
2025-01-14 10:05:36 +01:00
Yonas Habteab
2c0925cedd
Merge pull request #10293 from Icinga/graceful-tls-disconnect-214
...
Add a dedicated method for disconnecting TLS connections
2025-01-14 10:03:22 +01:00
Yonas Habteab
ee98a9e335
Merge pull request #10298 from Icinga/timestamp-serialization-issues
...
IcingaDB: limit several numbers not to crash Go daemon
2025-01-13 16:27:27 +01:00
Yonas Habteab
f53e5343c8
Merge pull request #10292 from Icinga/rpc-sync-failures
...
Runtime RPC sync failures
2025-01-13 14:44:02 +01:00
Alexander A. Klimov
cf895e7e3f
IcingaDB::TimestampToMilliseconds(): limit output to four year digits
...
Too high timestamps may overflow uint64_t (and the YYYY format) and negative
ones don't fit into uint64_t. Those may crash our Go daemon.
2025-01-13 14:30:54 +01:00
Alexander A. Klimov
c21e99a15c
IcingaDB#SerializeState(): limit execution_time and latency to 2^32-1
...
not to write higher values into Redis than the Icinga DB schema can hold.
This fixes yet another potential Go daemon crash.
2025-01-13 14:30:32 +01:00
Yonas Habteab
14b854d891
Merge pull request #10296 from Icinga/comment-loading-nullptr-deference
...
Address comment loading where host reference is not found gracefully
2025-01-13 13:17:40 +01:00
Yonas Habteab
7defb0c942
Merge pull request #10295 from Icinga/do-not-write-new-messages-on-shutdown
...
JsonRpcConnection: don't write new messages on shutdown
2025-01-13 13:11:17 +01:00
Yonas Habteab
9b3e97e067
Merge pull request #10294 from Icinga/log-slow-http-rpc-processing-214
...
Log slow HTTP/RPC processing stats
2025-01-13 12:44:22 +01:00
Alexander A. Klimov
9887ad79a0
AUTHORS: add Yannick Martin <yannick.martin@ovhcloud.com>
2025-01-13 11:19:42 +01:00
Yannick Martin
ec2645d33c
icinga2: address comment loading where host reference is not found
...
address #9752 : check if host reference is valid
2025-01-13 11:19:42 +01:00
Alexander Aleksandrovič Klimov
ebf905a220
JsonRpcConnection: don't write new messages on shutdown
...
In fact, this is already done for the outer loop (for each bulk), just not yet for the inner one (for each message of a bulk). So once the remote signals EOF, don't try to process the remaining queue until write error (which can't be associated with a particular message anyway, due to buffering), but just let the peer go. Flush already half-written messages, though, if possible.
2025-01-13 11:17:23 +01:00
Alexander A. Klimov
2bc1c8e1dc
Document Timeout
2025-01-13 10:42:36 +01:00
Alexander A. Klimov
e544fef7a2
Timeout: explicitly delete #Timeout(const Timeout&), #Timeout(Timeout&&), #operator=(const Timeout&), #operator=(Timeout&&)
2025-01-13 10:42:36 +01:00
Alexander A. Klimov
d956920bd7
Move Timeout instances from heap to stack
2025-01-13 10:42:36 +01:00
Alexander A. Klimov
1703f99d14
Don't call Timeout#Cancel() where Timeout#~Timeout() is called
2025-01-13 10:42:36 +01:00
Alexander A. Klimov
fe1420523a
Timeout#~Timeout(), #Cancel(): support boost::asio::io_context running on multiple threads
2025-01-13 10:42:36 +01:00
Alexander A. Klimov
a47508b7b3
Timeout#Timeout(): drop unnecessary template parameters
2025-01-13 10:42:36 +01:00
Alexander A. Klimov
d69291739f
While using Timeout, don't unnecessarily keep the strand alive via smart pointer
2025-01-13 10:42:36 +01:00
Alexander A. Klimov
c23bd4c186
Test Timeout
2025-01-13 10:42:36 +01:00
Alexander A. Klimov
ff5ae18b9c
Timeout: use a plain callback, not an unnecessary coroutine
2025-01-13 10:42:36 +01:00
Alexander A. Klimov
f839707c4a
Timeout#Timeout(): don't pass yield_context to callback
...
It's not used. Also, the callback shall run completely at once. This ensures that it won't (continue to) run once another coroutine on the strand calls Timeout#Cancel().
2025-01-13 10:42:36 +01:00
Yonas Habteab
a88d6988b4
JsonRpcConnection: Log message processing time stats
...
Co-Authored-By: Julian Brost <julian.brost@icinga.com>
2025-01-13 10:39:23 +01:00