icinga2/lib
Julian Brost 0ebcd2662d No longer allow overriding the frozen attribute of containers
The Array, Dictionary, and Namespace types provide a Freeze() method that makes
them read-only. So far, there was the possibility to call some methods with
`overrideFrozen=true` which would then bypass the corresponding check and allow
modification of the data structures nonetheless.

With 24b57f0d3a, this possibility was already
removed from the Namespace type. However, for interface compatibility, it kept
the parameter and just ignores it, throwing an exception on any modification on
a frozen instance.

The only place using `overrideFrozen` was processing of the `-D`/`--define`
command line flag that allows setting additional variables in the DSL. At the
time it is evaluated, there are no user-created data structures yet that could
be frozen, so the only frozen objects that could be encountered are Namespaces
(Icinga doesn't freeze other types by itself) and for these, `overrideFrozen`
already has no effect.

Hence, there is no harm in removing `overrideFrozen` altogether. This
simplifies the code and also means that frozen objects are now indeed read-only
without exceptions, allowing further optimizations regarding locking in the
future.
2025-07-08 14:16:20 +02:00
..
base No longer allow overriding the frozen attribute of containers 2025-07-08 14:16:20 +02:00
checker Merge pull request #10397 from Icinga/activation-priority-10179 2025-05-28 12:30:40 +02:00
cli Fix compiler warnings by not unnecessarily (copy-)constructing loop variables 2025-05-21 11:36:32 +02:00
compat Merge {host,service}::StateTypeToString() & drop unused StateTypeFromString() 2025-06-06 13:31:44 +02:00
config No longer allow overriding the frozen attribute of containers 2025-07-08 14:16:20 +02:00
db_ido Merge {host,service}::StateTypeToString() & drop unused StateTypeFromString() 2025-06-06 13:31:44 +02:00
db_ido_mysql Merge pull request #9732 from Icinga/silence-compiler-warnings-in-code-we-don-t-maintain 2025-01-15 16:33:24 +01:00
db_ido_pgsql Merge pull request #9732 from Icinga/silence-compiler-warnings-in-code-we-don-t-maintain 2025-01-15 16:33:24 +01:00
icinga Correct a problem with expiry times not being passed through to AcknowledgeProblem 2025-06-23 11:57:29 +02:00
icingadb Merge pull request #10467 from Icinga/icingadb-calceventid-no-double-timestamptomilliseconds 2025-06-10 17:09:16 +02:00
livestatus Merge pull request #10397 from Icinga/activation-priority-10179 2025-05-28 12:30:40 +02:00
methods Require to pass WaitGroup::Ptr to several methods 2025-05-23 14:53:58 +02:00
mysql_shim Silence compiler warnings in code we don't maintain 2025-01-14 11:48:33 +01:00
notification Explicitly stop started timers and wait for them 2023-04-14 14:52:04 +02:00
perfdata Merge pull request #10420 from Icinga/bundled-perfdata-writers-fix 2025-06-17 10:17:27 +02:00
pgsql_shim Silence compiler warnings in code we don't maintain 2025-01-14 11:48:33 +01:00
remote Use WaitGroup to wait for or abort HTTP requests 2025-06-13 14:48:15 +02:00
CMakeLists.txt Rename ICINGA2_WITH_REDIS to ICINGA2_WITH_ICINGADB 2019-11-02 14:00:24 +01:00