326 Commits

Author SHA1 Message Date
Julian Brost
9b2c05d0cc VerifyCertificate: Work around issue in OpenSSL < 1.1.0 causing invalid certifcates being treated as valid
Old versions of OpenSSL stored a valid flag in the certificate (see inline code
comment for details) that if already set, causes parts of the verification to
be skipped and return that the certificate is valid, even if it's not actually
signed by the CA in the trust store.

This issue was assigned CVE-2025-48057.
2025-05-22 12:17:38 +02:00
Julian Brost
26d78231dd Add tests for LegacyTimePeriod::ScriptFunc when used by TimePeriod::IsInside 2022-03-07 09:42:21 +01:00
Julian Brost
3b4662345e Add tests for DST handling in TimePeriods and ScheduledDowntimes 2022-02-22 11:48:44 +01:00
Julian Brost
7bfe896efb Stacktrace test: try to prevent inlining even harder
- Explicitly disable optimizations for MSVC
- Make stack_test_func_a bigger
2021-07-08 14:53:15 +02:00
Julian Brost
d8ab328c33 Add comments to stack trace formatter and test case 2021-07-08 14:53:15 +02:00
Julian Brost
14987274dc Add a test case for the stack trace formatter 2021-07-08 14:53:15 +02:00
Julian Brost
8b2f4636db Replace icinga::StackTrace with boost::stacktrace::stacktrace
Provides roughly the same functionality but works better on certain
platforms (especially Windows) and is less code to maintain.
2021-07-08 14:53:15 +02:00
Julian Brost
bdbe35b42d Utility: add a function to truncate strings while avoiding collisions 2021-07-05 16:18:57 +02:00
Michael Friedrich
3a4fb840d4 Tests: Add multi parent dependency test case 2020-02-11 15:13:25 +01:00
Michael Friedrich
76d531b4f0 Unit tests: Also test reachability in icinga_checkresult/* tests 2020-02-11 15:13:25 +01:00
Alexander A. Klimov
28f708bb7c LegacyTimePeriod: support specifying seconds 2019-08-22 18:50:37 +02:00
Michael Friedrich
da982c256b Add unit test for Utility::CompareVersion 2019-08-14 13:14:43 +02:00
Michael Friedrich
96f62d2d34 Add Utility::ParseVersion() and unit tests
This now uses a regex to extract the short version
similar to how Icinga Web 2 does it.

Additional unit tests prove the rule.
2019-08-14 11:22:55 +02:00
Alexander A. Klimov
95e90e99d4 Tests: _Exit() in main()
refs #7334
2019-07-23 12:14:06 +02:00
Michael Friedrich
9c5f280a85 Tests: Add Notification state/type to string cases 2019-07-16 13:46:22 +02:00
Michael Friedrich
88e5d8c47a TimePeriod: Fully support and test "day -X" notation
Previously no tests would have detected if this really worked or not.
2019-07-09 16:21:07 +02:00
Michael Friedrich
7665143afa Tests: Rewrite TimePeriod tests using Boost::DateTime
fixes #7257
2019-07-09 15:34:07 +02:00
Alexander A. Klimov
2306e0e93f Fix unit test icinga_legacytimeperiod/advanced
refs #5261
2019-06-06 13:11:34 +02:00
Michael Friedrich
5e931fe127 Tests: Add cases for LegacyTimePeriod::ProcessTimeRangeRaw() 2019-06-06 13:11:34 +02:00
Elias Ohm
52e3db279a Fix for double-free (and possibly other memory-corruption related) crashes at logrotate time
this is a direct fix of the issue revealing the problem that leads to crash

verification done with a patched icinga2 where the execution-order of the code lines of counter-parts involved in re-incrementing/decrementing Timer:Ptr is forced to be the one that leads to the obeserverd segfaults

refs #6737
2019-04-24 11:42:54 +02:00
Michael Friedrich
6ace8001d8
Merge pull request #7019 from Icinga/feature/new-json-library
Replace YAJL with nlohmann::json
2019-03-18 17:26:57 +01:00
Michael Friedrich
76b9cd6786 Fix missing include in JSON tests
Non-unity builds require the additional header.
2019-03-18 17:02:12 +01:00
Alexander A. Klimov
c4333b49f5 Test Json{En,De}code() 2019-03-18 15:07:57 +01:00
Michael Friedrich
ea80d93efc
Merge pull request #7014 from Icinga/feature/utf8cpp
Utility::ValidateUTF8(): use UTF8-CPP
2019-03-18 10:57:03 +01:00
Alexander A. Klimov
60ec11de73 Test Utility::ValidateUTF8() 2019-03-15 13:34:20 +01:00
Alexander A. Klimov
646feb76e0 Ignore failure of unit test base_utility/comparepasswords_issafe
... as volatile system load may cause false negatives
2019-02-26 11:45:03 +01:00
Michael Friedrich
458f997a18 Replace Copyright header with a short version, part II 2019-02-25 15:09:36 +01:00
Michael Friedrich
d14a88235d Replace Copyright header with a short version, part I
CLion -> replace in path
2019-02-25 14:48:22 +01:00
Alexander A. Klimov
1b00331a88 Test Utility::ComparePasswords() 2019-02-22 16:59:36 +01:00
Michael Friedrich
b08d485a41
Merge pull request #6857 from Icinga/bugfix/check_nscp_api-query-sorted-6536
Url#m_Query: preserve order
2019-02-11 17:57:32 +01:00
Michael Friedrich
b1362aeb9b Add a unit test for Convert::ToLong(double) - fails 2019-01-30 14:23:57 +01:00
Alexander A. Klimov
268bd85752 Url#m_Query: test order preservation
refs #6536
2018-12-21 11:54:48 +01:00
Alexander A. Klimov
eeb609d4ae Url#m_Query: preserve order
refs #6536
2018-12-21 11:52:37 +01:00
Michael Friedrich
9d73f0cf30 Implement unit tests for Dictionary initializers 2018-11-09 14:56:36 +01:00
Michael Friedrich
2991993f6b Apply workaround for timer tests with std::bind callbacks 2018-11-08 15:03:41 +01:00
Michael Friedrich
1a8a2c25f2 icinga.com: Update test and tools 2018-10-18 09:45:36 +02:00
Michael Friedrich
dea5ec614e icinga.com: Update CMakeLists.txt 2018-10-18 09:35:18 +02:00
Michael Friedrich
dab53448bc icinga.com: Update *.{h,c}pp 2018-10-18 09:27:04 +02:00
Gunnar Beutner
e44848a664 Remove #include for deprecated header file 2018-08-13 14:07:24 +02:00
Michael Friedrich
4c55a5c6cf Fix prefix in unit tests for object packer 2018-07-27 13:57:28 +02:00
Alexander A. Klimov
d21a218527 Test PackObject 2018-07-27 13:57:28 +02:00
Michael Friedrich
2fd6709952 Remove ApiUser password_hash functionality
This affects and fixes

- Windows reload
- Config validation
- RHEL 7.5 OpenSSL memory corruption
- Hash algorithm, requested changes

refs #6378
refs #6279
refs #6278
2018-06-19 11:32:03 +02:00
Michael Friedrich
6660a45c41 Implement Array::Unique() and add unit tests
refs #4732
2018-05-09 17:25:55 +02:00
Michael Friedrich
c7b6488e90
Merge pull request #6217 from Icinga/fix/reschedule-checks
Fix check behavior on restart
2018-04-17 20:59:03 +02:00
Jean Flach
b2092e4499 Set Hosts/Services in tests as active where needed 2018-04-10 18:11:26 +02:00
Michael Friedrich
194c99a86e Allow to disable brackets for the Url class and Format()
This commit also adds unit tests.

refs #5706
2018-04-06 15:22:17 +02:00
Markus Frosch
3adfd396f4 tests: Ensure IcingaApplication is initialized before adding config
This avoids an ordering problem noticed in Boost 1.55
2018-03-26 13:58:12 +02:00
Markus Frosch
eb71e16995 tests: Move IcingaApplicationFixture out of test-runner
And make it basically a singleton that would be callable by other test
units.
2018-03-26 13:58:12 +02:00
Gunnar Beutner
70b3d20a7e Fix ApiUser unit test 2018-03-06 09:30:22 +01:00
Jean Flach
0a0795f09d Code style 2018-02-16 11:47:13 +01:00