Alexander A. Klimov
2ee776b5ab
Disallow config modifications via API during reload
...
Once the new main process has read the config,
it misses subsequent modifications from the old process otherwise.
2023-04-12 14:45:40 +02:00
Alexander A. Klimov
64e000df56
Introduce ConfigObjects*Lock
2023-04-12 13:36:48 +02:00
Alexander A. Klimov
a66ace7245
Introduce SharedMemory
2023-04-04 13:40:27 +02:00
Julian Brost
f3b148517f
Merge pull request #9714 from Icinga/CheckResultReader
...
Remove CheckResultReader which has been deprecated for 5 major versions
2023-04-03 16:31:19 +02:00
Alexander A. Klimov
cc872dac1f
Remove CheckResultReader which has been deprecated for 5 major versions
2023-04-03 11:39:21 +02:00
Julian Brost
41065e30c8
Merge pull request #9485 from Icinga/cxx17
...
Require GCC 7+ for C++17
2023-03-31 14:06:55 +02:00
Julian Brost
7a7902cea7
Merge pull request #9715 from Icinga/StatusDataWriter
...
Remove StatusDataWriter which has been deprecated for 5 major versions
2023-03-31 12:32:43 +02:00
Julian Brost
82f9e4312d
Merge pull request #9740 from Icinga/freeze-globals
...
Freeze globals namespace during config load
2023-03-31 10:51:26 +02:00
Julian Brost
e87e1ea73f
Freeze globals namespace during config load
...
This allows for a faster config load due to less locking required.
The change is slightly backwards-incompatible. Before, you could manipulate the
globals namespace at a later stage, but disallowing this feels reasonable for
the performance benefit alone (which especially shows on many-core machines).
Apart from that, it's doubtful if doing so is even useful at all as the DSL
provides no mechanism for you to synchronize your operations that may run in
parallel. The data structures itself are protected from race conditions, but
anything implemented on top of this may still be subject to race conditions.
And even if some user has a good reason for doing this, there's a feasible
workaround by creating your own namespace like globals.mutable and using that
instead.
2023-03-30 18:07:51 +02:00
Julian Brost
1665cc925e
Merge pull request #9738 from Icinga/TimerThreadProc
...
Document why Timer::TimerThreadProc() can use Timer members during Timer#~Timer() call
2023-03-30 16:03:43 +02:00
Alexander A. Klimov
335688909b
Document why Timer::TimerThreadProc() can use Timer members during Timer#~Timer() call
2023-03-29 18:04:19 +02:00
Julian Brost
66b039df9c
Merge pull request #9497 from Icinga/9249
...
Application::Exit(): don't exit(), but _exit(), even in debug build mode
2023-03-10 16:04:54 +01:00
Julian Brost
f47d7393c6
Merge pull request #9704 from Icinga/windows-perf-off
...
Don't include perfdata writers on Windows
2023-03-10 15:56:34 +01:00
Alexander Aleksandrovič Klimov
ca3c24b317
Merge pull request #9717 from Icinga/Al2Klimov-patch-4
...
ProcessSpawnImpl(): remove redundant _exit(128);
2023-03-02 16:47:50 +01:00
Alexander Aleksandrovič Klimov
55930c8042
ProcessSpawnImpl(): remove redundant _exit(128);
...
Now this if doesn’t _exit(128) by itself, but "return" to the outer if which immediately _exit(128)s.
2023-03-02 12:45:15 +01:00
Alexander A. Klimov
bbf2e80002
Remove StatusDataWriter which has been deprecated for 5 major versions
2023-03-01 17:16:28 +01:00
Julian Brost
cf517050bc
Merge pull request #9711 from Icinga/connect-cancel
...
Connect(): don't try next DNS record if operation is canceled
2023-03-01 15:49:53 +01:00
Alexander A. Klimov
79f1e0666a
Connect(): don't try next DNS record if operation is canceled
...
Instead return immediately to meet the caller's expectations.
2023-02-28 10:57:54 +01:00
Alexander Aleksandrovič Klimov
8281527c13
Merge pull request #9702 from Icinga/windows-ido-off
...
CMakeLists.txt: provide sane defaults for which subsystems to build
2023-02-23 19:02:33 +01:00
Alexander A. Klimov
5055d216a3
Don't include perfdata writers on Windows
...
Icinga DB, IDO and Livestatus are already not included.
2023-02-23 16:03:57 +01:00
Alexander A. Klimov
260eb5c475
CMakeLists.txt: provide sane defaults for which subsystems to build
...
not to have to explicitly disable particular ones in multiple locations.
2023-02-23 14:54:57 +01:00
Julian Brost
bda8be343b
Merge pull request #9662 from Icinga/Repair#9627
...
Repair DSL Namespace values being constant broken in #9627
2023-02-20 16:35:36 +01:00
Alexander A. Klimov
11f7fb1928
CMakeLists.txt: don't surprise (i.e. terminate) CMake < 3.8 (on SLES 12.5)
...
with "set(CMAKE_CXX_STANDARD 17)" which it doesn't know.
2023-02-20 15:35:37 +01:00
Alexander A. Klimov
616ccc45fc
Require C++17
2023-02-20 15:35:37 +01:00
Alexander A. Klimov
9e90b17eb4
Require GCC 7+
2023-02-20 15:35:37 +01:00
Julian Brost
d9767cff3f
Merge pull request #9675 from Icinga/third-party/nlohmann_json
...
Update third-party/nlohmann_json to v3.9.1
2023-02-20 15:31:32 +01:00
Julian Brost
a84a0a3cee
Merge pull request #8302 from Icinga/bugfix/windows-systemroot-aliases-6259
...
Macros: support $env.ENV_VAR_NAME$
2023-02-20 13:09:15 +01:00
Alexander A. Klimov
f2974c07cf
Centralise default icinga.* and env.* macros
2023-02-17 15:33:36 +01:00
Julian Brost
e4c34786e1
Merge pull request #9698 from Icinga/probot/sync-changelog/master/c3d8ed7092053e69c722cf3cef93bc0e6286f402
...
CHANGELOG.md: add v2.13.7
2023-02-17 13:51:03 +01:00
Alexander A. Klimov
9aa24cc867
CHANGELOG.md: add v2.13.7
2023-02-16 16:12:11 +00:00
Alexander Aleksandrovič Klimov
c3d8ed7092
Merge pull request #9664 from Icinga/bugfix/selinux-readd-bools
...
Add role icinga2adm_r to SELinux policies
2023-02-16 17:11:57 +01:00
Alexander Aleksandrovič Klimov
b4381c0bd3
Merge pull request #9677 from Icinga/docs-for-fedora
...
Docs: Fix instructions for Fedora
2023-02-15 19:47:32 +01:00
Henrik Triem
8173cf0760
Add icinga2adm_r role def before creating SELinux user&domain
2023-02-15 17:39:28 +01:00
Eric Lippmann
2e3b569f2c
docs: Fix how to set up our Fedora repository
...
We do not provide `icinga-rpm-release` RPMs since ages.
2023-02-15 15:33:54 +01:00
Eric Lippmann
ad27397f06
docs: Add missing "Install Icinga 2 on Fedora" heading
2023-02-15 10:14:01 +01:00
Julian Brost
737e812b69
Merge pull request #9673 from Icinga/181
...
Bump Boost to v1.81
2023-02-15 10:13:22 +01:00
Julian Brost
3023009804
Merge pull request #9653 from Icinga/9631
...
Setup all signal handlers with SA_RESTART flag
2023-02-14 17:55:09 +01:00
Alexander A. Klimov
34d0b942b9
Update third-party/nlohmann_json to v3.9.1
...
the latest version w/o Apache 2.0 licensed code which conflicts with GPL 2.
2023-02-14 16:19:44 +01:00
Julian Brost
c7301a06b6
Merge pull request #9667 from Icinga/v1.1.1t
...
Windows: bump OpenSSL to v1.1.1t
2023-02-14 16:02:32 +01:00
Alexander A. Klimov
6347d7a008
Bump Boost to v1.81
2023-02-14 14:36:16 +01:00
Alexander A. Klimov
2ec62d0dd9
Windows: bump OpenSSL to v1.1.1t
2023-02-14 11:40:44 +01:00
Julian Brost
4d46d73f41
Merge pull request #9663 from Icinga/Al2Klimov-patch-3
...
Fix typo
2023-02-13 17:03:38 +01:00
Alexander Aleksandrovič Klimov
fd5350d588
Fix typo
2023-02-13 13:00:28 +01:00
Julian Brost
e074e892ce
Merge pull request #9658 from Icinga/unfreeze
...
Dictionary#*(): remove bool overrideFrozen if unused
2023-02-10 19:42:00 +01:00
Julian Brost
213f3f9444
Merge pull request #8389 from Icinga/feature/forbid-dep-cycles
...
Forbid dependency cycles
2023-02-10 17:26:04 +01:00
Alexander A. Klimov
b2b49caf61
Macros: support $env.ENV_VAR_NAME$
...
refs #6259
2023-02-10 17:21:29 +01:00
Alexander A. Klimov
f3f2c943c7
ScriptGlobal::Set(): don't explicitly give Namespace#Set() its default values
2023-02-10 15:55:10 +01:00
Alexander A. Klimov
e61b380808
Call Namespace#Set(), not #SetFieldByName()
...
Namespace#SetFieldByName() calls #Set() anyway.
2023-02-10 15:53:30 +01:00
Alexander A. Klimov
683095a165
Make globals.Internal values non-const by default
...
That namespace is internal anyway.
Previous commit, icinga2 console:
Error: Constants must not be removed.
This commit fixes it.
2023-02-10 15:47:25 +01:00
Alexander A. Klimov
02df94a46a
Repair DSL Namespace values being constant broken in #9627
...
master before #9627 (a0286e9c6
):
<1> => namespace n { x = 42; x = 42 }
^^^^^^
Constant must not be modified.
<2> =>
HEAD of #9627 (24b57f0d3
):
<1> => namespace n { x = 42; x = 42 }
null
<2> =>
2023-02-10 15:43:01 +01:00