12310 Commits

Author SHA1 Message Date
Yonas Habteab
0a7fc3851b
Merge commit from fork
Fix for support/2.12
2025-05-27 13:50:26 +02:00
Julian Brost
a0ec7f6b2f Icinga 2.12.12 v2.12.12 2025-05-22 12:18:35 +02:00
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
8cc83c0d6e VerifyCertificate: fix use after free
`X509_STORE_CTX_get_error(csc)` was called after `X509_STORE_CTX_free(csc)`.
This is fixed by automatically freeing variables at the end of the function
using `std::unique_ptr`.
2025-05-22 12:17:38 +02:00
Alexander A. Klimov
34c93a2542 CertificateToString(): allow raw pointer input 2025-05-22 12:17:38 +02:00
Alexander Aleksandrovič Klimov
9e737328b4
Merge pull request #10455 from Icinga/openssl-bump
Bump Windows OpenSSL version to `3.0.16`
2025-05-22 12:16:47 +02:00
Yonas Habteab
fbcb4e7687 Bump Windows OpenSSL version to 3.0.16 2025-05-22 12:14:12 +02:00
Alexander Aleksandrovič Klimov
d607ed8329
Merge pull request #10454 from Icinga/win-configure-cmake-opts-212
tools/win32/configure*.ps1: allow custom $CMAKE_ARGS (JSON array)
2025-05-22 11:49:31 +02:00
Alexander Aleksandrovič Klimov
d6f119c0c4
Merge pull request #10453 from Icinga/gha-windows-ctest-fix-212
GHA: Unbreak Windows Tests
2025-05-22 11:48:31 +02:00
Alexander A. Klimov
87b6110cd7 tools/win32/configure*.ps1: allow custom $CMAKE_ARGS (JSON array) 2025-05-22 11:47:47 +02:00
Alvar Penning
183734cf25 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.
2025-05-22 11:45:59 +02:00
Julian Brost
fce42600f1
Merge commit from fork
Icinga 2.12.11
2024-11-12 15:01:57 +01:00
Alexander A. Klimov
e2dc726076 Icinga 2.12.11 v2.12.11 2024-10-28 16:16:44 +01:00
Alexander A. Klimov
10749d3545 Windows: bump OpenSSL v1.1 (EOL) -> v3.0 2024-10-22 10:54:14 +02:00
Julian Brost
0419a2c36d Security: fix TLS certificate validation bypass
The previous validation in set_verify_callback() could be bypassed, tricking
Icinga 2 into treating invalid certificates as valid. To fix this, the
validation checks were moved into the IsVerifyOK() function.

This is tracked as CVE-2024-49369, more details will be published at a later time.
2024-10-22 10:42:57 +02:00
Alexander Aleksandrovič Klimov
c890969e7b
Merge pull request #9691 from Icinga/changelog-2.12.10
Icinga 2.12.10
v2.12.10
2023-02-16 16:52:05 +01:00
Alexander Aleksandrovič Klimov
3f10f8d156
Merge pull request #9689 from Icinga/selinux-2.12.10
Add role icinga2adm_r to SELinux policies
2023-02-16 16:43:14 +01:00
Alexander Aleksandrovič Klimov
0c3dae9db9
Merge pull request #9686 from Icinga/deps-2.12.10
Boost v1.81, OpenSSL v1.1.1t
2023-02-16 16:43:00 +01:00
Henrik Triem
61dac6fbb2
Reword Changelog for SELinux Issue 2023-02-16 13:42:55 +01:00
Alexander A. Klimov
07ca2d5108 Icinga 2.12.10
* Update CHANGELOG.md (WIP)
* Bump ICINGA2_VERSION
2023-02-16 13:14:27 +01:00
Henrik Triem
d5e8872671 Add icinga2adm_r role def before creating SELinux user&domain 2023-02-16 12:18:29 +01:00
Alexander A. Klimov
e812f3eeef Bump Boost to v1.81 2023-02-15 13:36:58 +01:00
Alexander A. Klimov
75375e2edf Handle boost::beast::http::basic_fields#operator[]() signature change (v1.81)
Use always working std::string(x), not broken x.to_string().
(x is a return value.)
2023-02-15 13:36:58 +01:00
Alexander A. Klimov
21bc188f59 Handle boost::beast::http::basic_fields#set() signature change (v1.81)
Make String convertible to boost::beast::string_view (always working),
not boost::string_view (broken).
2023-02-15 13:36:58 +01:00
Alexander A. Klimov
0a5eb243ed Windows: bump OpenSSL to v1.1.1t 2023-02-15 13:36:58 +01:00
Julian Brost
e45fdd2234 Windows: update bundled OpenSSL to version 1.1.1s 2023-02-15 13:36:47 +01:00
Alexander A. Klimov
5b17f3c5aa Bump Boost v1.79 -> v1.80 2023-02-15 13:36:47 +01:00
Alexander A. Klimov
9d7ca8c14d Bump OpenSSL to 1.1.1q 2023-02-15 13:36:47 +01:00
Julian Brost
9fba5a6313
Merge pull request #9669 from Icinga/gha21210
Update GHA
2023-02-15 12:58:23 +01:00
Alexander A. Klimov
3f79016d0e GHA: build Icinga 2 from source
as the package build images aren't public anymore.
2023-02-14 12:27:43 +01:00
Johannes Meyer
773dc4fd2c Run only a single job per workflow matrix at a time
This limits each run of these workflows to a single
active matrix job. This means, for each PR, merge or
release only five jobs run concurrently.
2023-02-14 12:27:43 +01:00
Alexander Aleksandrovič Klimov
09b618eebd GHA: revert back to ubuntu-latest
as that is 22.04 or later.
2023-02-14 12:27:43 +01:00
Alexander A. Klimov
3f9b7ff620 GHA: let GitHub cancel redundant jobs
This will also cancel not yet finished master builds, but that's not too bad.
2023-02-14 12:27:43 +01:00
Alexander A. Klimov
32f403007a GHA: drop EOL OSes 2023-02-14 12:27:43 +01:00
Julian Brost
e42b52b20d GitHub Actions: no longer test builds on Fedora 35
The repositories have been removed so builds are failing anyways.
2023-02-14 12:27:43 +01:00
Alexander A. Klimov
41332e9e1e GHA: handle changed interface of Icinga/docker-icinga2 2023-02-14 12:27:43 +01:00
Alexander A. Klimov
0ee006d081 GHA: Update build targets 2023-02-14 12:27:43 +01:00
Julian Brost
33b0d06255 GitHub Actions: Build Raspbian on Ubuntu 22.04
Raspbian builds were running on Ubuntu 20.04 but with qemu-user-static from Ubuntu 21.10 (impish) due to need for newer features. However, the impish package repos are no longer available as that version reached its EOL. ubuntu-latest still refers to 20.04 on GitHub Actions but 22.04 is already available when explicitly specified. This commit switches the build over to that version and removes the workaround.
2023-02-14 12:27:43 +01:00
Alexander A. Klimov
25d06508a3 RELEASE.md: remove Chocolatey section 2023-02-14 12:27:38 +01:00
Alexander Aleksandrovič Klimov
dec63ce536
Merge pull request #9403 from Icinga/feature/release-2.12.9
Release 2.12.9
v2.12.9
2022-06-29 19:15:18 +02:00
Julian Brost
2b56b27e23 Release 2.12.9 2022-06-29 11:36:40 +02:00
Alexander Aleksandrovič Klimov
089086052d
Merge pull request #9414 from Icinga/update-windows-openssl-version-212
Windows: Update openssl to the latest version 1_1_1p
2022-06-24 01:35:57 +02:00
Yonas Habteab
21b59667ae Windows: Update openssl to the latest version 1_1_1p 2022-06-23 15:00:01 +02:00
Alexander Aleksandrovič Klimov
0b66a3578d
Merge pull request #9394 from Icinga/bugfix/atomic-members-2.12
Synchronize all access to auto-generated class members (from .ti files)
2022-06-23 11:32:33 +02:00
Alexander Aleksandrovič Klimov
42d33b8dd2
Merge pull request #9401 from Icinga/bugfix/remove-redundant-serialization-2.12
Remove redundant call to Serialize() in ConfigItem::Commit()
2022-06-23 11:32:07 +02:00
Julian Brost
71fc301702 Remove redundant call to Serialize() in ConfigItem::Commit()
The very same object is already serialized a few lines above, the result is
even stored in a variable, but that variable was not used before. Simply using
this variable results in a noticeable improvement of config validation times.
2022-06-15 11:04:37 +02:00
Julian Brost
33a52d8655 Replace EventuallyAtomic with AtomicOrLocked which falls back to a mutex
Apparently there was a reason for making the members of generated classes
atomic. However, this was only done for some types, others were still accessed
using non-atomic operations. For members of type T::Ptr (i.e.  intrusive_ptr<T>),
this can result in a double free when multiple threads access the same variable
and at least one of them writes to the variable.

This commit makes use of std::atomic<T> for more T (it removes the additional
constraint sizeof(T) <= sizeof(void*)) and uses a type including a mutex for
load and store operations as a fallback.
2022-06-14 12:23:04 +02:00
Alexander A. Klimov
dba78f73da mkclass: make .ti class members atomic if possible
... not to have to lock the objects while setting attributes.
2022-06-14 12:23:04 +02:00
Julian Brost
8e42d3ec93
Merge pull request #9357 from Icinga/feature/release-2.12.8
Release 2.12.8
v2.12.8
2022-04-27 15:40:39 +02:00
Julian Brost
9c3188b6c0 Release 2.12.8 2022-04-27 15:35:37 +02:00