icinga2/lib/base
Julian Brost 0503ca1379 Initialize namespaces without using `overrideFrozen`
This commit adds a new initialization priority `FreezeNamespaces` that is run
last and moves all calls to `Namespace::Freeze()` there. This allows all other
initialization functions to still update namespaces without the use of the
`overrideFrozen` flag.

It also moves the initialization of `System.Platform*` and `System.Build*` to
an initialize function so that these can also be set without setting
`overrideFrozen`.

This is preparation for a following commit that will make the frozen flag in
namespaces finial, no longer allowing it to be overriden (freezing the
namespace will disable locking, so performing further updates would be unsafe).
2023-01-19 09:53:36 +01:00
..
CMakeLists.txt Introduce AtomicFile 2022-07-28 18:00:37 +02:00
application-environment.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
application-version.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
application.cpp Merge pull request #8373 from Icinga/feature/improve-crashlog 2021-06-29 17:52:25 +02:00
application.hpp Unify Application::GetStartTime() and drop GetMainTime() 2020-02-11 17:26:15 +01:00
application.ti Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
array-script.cpp Replace std/boost::bind() function with lambda expression 2021-03-10 16:29:40 +01:00
array.cpp Array: Move Join into the base class, available for programmers 2019-07-12 14:36:55 +02:00
array.hpp Array: Move Join into the base class, available for programmers 2019-07-12 14:36:55 +02:00
atomic-file.cpp Introduce AtomicFile 2022-07-28 18:00:37 +02:00
atomic-file.hpp Introduce AtomicFile 2022-07-28 18:00:37 +02:00
atomic.hpp Replace EventuallyAtomic with AtomicOrLocked which falls back to a mutex 2022-05-03 12:02:46 +02:00
base64.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
base64.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
boolean-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
boolean.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
boolean.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
bulker.hpp Icinga DB: log amount of history kept in memory every 10s 2022-03-02 16:39:37 +01:00
configobject-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
configobject.cpp CONTEXT: use << everywhere to unify usages 2022-11-30 11:06:51 +01:00
configobject.hpp Fix message origin for runtime created config object (create/delete events) 2019-08-13 15:05:47 +02:00
configobject.ti ConfigObject: Introduce new `icingadb_identifier` attr 2022-09-12 17:22:57 +02:00
configtype.cpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
configtype.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
configuration.cpp ApiListener: Choose bind host default based on OS IPv6 support 2021-08-06 12:19:08 +02:00
configuration.hpp Fix that MaxConcurrentChecks constant is overridden from 'checker' feature 2019-04-16 15:04:57 +02:00
configuration.ti Fix that MaxConcurrentChecks constant is overridden from 'checker' feature 2019-04-16 15:04:57 +02:00
configwriter.cpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
configwriter.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
console.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
console.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
context.cpp CONTEXT: lazily evaluate frames to only actually assemble when needed 2022-11-30 11:06:45 +01:00
context.hpp CONTEXT: lazily evaluate frames to only actually assemble when needed 2022-11-30 11:06:45 +01:00
convert.cpp Convert::ToString(double): handle integral values too large for long long correctly 2021-04-27 17:31:50 +02:00
convert.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
datetime-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
datetime.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
datetime.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
datetime.ti Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
debug.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
debuginfo.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
debuginfo.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
defer.hpp Defer: Allow to cancel the callback before going out of scope 2022-03-30 09:42:22 +02:00
dependencygraph.cpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
dependencygraph.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
dictionary-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
dictionary.cpp Dictionary: Make sure underlaying map is ordered 2021-11-12 13:34:57 +01:00
dictionary.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
exception.cpp Windows: output useful error message for syscall errors 2022-07-28 17:00:57 +02:00
exception.hpp Windows: output useful error message for syscall errors 2022-07-28 17:00:57 +02:00
fifo.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
fifo.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
filelogger.cpp Replace std/boost::bind() function with lambda expression 2021-03-10 16:29:40 +01:00
filelogger.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
filelogger.ti Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
function-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
function.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
function.hpp INITIALIZE_ONCE_WITH_PRIORITY: use enum for priority values 2023-01-18 15:57:27 +01:00
function.ti Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
functionwrapper.hpp Replace std/boost::bind() function with lambda expression 2021-03-10 16:29:40 +01:00
i2-base.hpp Replace std/boost::bind() function with lambda expression 2021-03-10 16:29:40 +01:00
initialize.cpp INITIALIZE_ONCE_WITH_PRIORITY: use enum for priority values 2023-01-18 15:57:27 +01:00
initialize.hpp Initialize namespaces without using `overrideFrozen` 2023-01-19 09:53:36 +01:00
io-engine.cpp Introduce IoEngine::YieldCurrentCoroutine() 2022-03-02 16:39:44 +01:00
io-engine.hpp Introduce IoEngine::YieldCurrentCoroutine() 2022-03-02 16:39:44 +01:00
journaldlogger.cpp Add a JournaldLogger 2021-09-23 16:08:11 +02:00
journaldlogger.hpp Add a JournaldLogger 2021-09-23 16:08:11 +02:00
journaldlogger.ti Add a JournaldLogger 2021-09-23 16:08:11 +02:00
json-script.cpp Namespace: replace behavior classes with a bool 2022-12-09 09:25:46 +01:00
json.cpp JsonEncode(): encode non-[]/{} objects as strings, not null 2021-04-30 15:49:52 +02:00
json.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
lazy-init.hpp Unify copyright headers 2019-05-24 16:25:32 +02:00
library.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
library.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
loader.cpp InitializePriority: don't explicitly specify values 2023-01-18 15:57:32 +01:00
loader.hpp InitializePriority: don't explicitly specify values 2023-01-18 15:57:32 +01:00
logger.cpp Initialize namespaces without using `overrideFrozen` 2023-01-19 09:53:36 +01:00
logger.hpp Logger: don't render log messages which will be disposed anyway 2022-10-11 13:28:08 +02:00
logger.ti Logger: don't render log messages which will be disposed anyway 2022-10-11 13:28:08 +02:00
math-script.cpp Namespace: replace behavior classes with a bool 2022-12-09 09:25:46 +01:00
namespace-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
namespace.cpp Namespace: replace behavior classes with a bool 2022-12-09 09:25:46 +01:00
namespace.hpp Namespace: replace behavior classes with a bool 2022-12-09 09:25:46 +01:00
netstring.cpp Fix compiler warnings don't move local variables 2022-02-22 17:51:43 +01:00
netstring.hpp Replace std::shared_ptr<AsioTlsStream> with Shared<AsioTlsStream>::Ptr 2019-10-21 16:12:35 +02:00
networkstream.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
networkstream.hpp Quality: Mark NetworkStream, TcpSocket & UnixSocket classes as deprecated 2019-05-29 14:17:36 +02:00
number-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
number.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
number.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
object-packer.cpp PackObject(): avoid one malloc() 2021-03-23 13:13:47 +01:00
object-packer.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
object-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
object.cpp Merge pull request #8601 from Icinga/feature/replace-std-boost-bind-with-lambdas-7006 2021-03-18 17:56:13 +01:00
object.hpp Make Object#m_Mutex std::recursive_mutex 2019-04-17 18:26:29 +02:00
objectlock.cpp Make Object#m_Mutex std::recursive_mutex 2019-04-17 18:26:29 +02:00
objectlock.hpp Prevent ObjectLock from being copied 2022-12-08 15:48:01 +01:00
objecttype.cpp INITIALIZE_ONCE_WITH_PRIORITY: use enum for priority values 2023-01-18 15:57:27 +01:00
objecttype.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
perfdatavalue.cpp Fix compiler warnings don't move local variables 2022-02-22 17:51:43 +01:00
perfdatavalue.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
perfdatavalue.ti Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
primitivetype.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
primitivetype.hpp INITIALIZE_ONCE_WITH_PRIORITY: use enum for priority values 2023-01-18 15:57:27 +01:00
process.cpp Override exit code on process timeout 2021-07-27 17:57:19 +02:00
process.hpp On check_timeout first send SIGTERM 2021-01-14 12:00:11 +01:00
reference-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
reference.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
reference.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
registry.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
ringbuffer.cpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
ringbuffer.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
scriptframe.cpp Initialize namespaces without using `overrideFrozen` 2023-01-19 09:53:36 +01:00
scriptframe.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
scriptglobal.cpp Replace std::shared_ptr<NamespaceValue> with NamespaceValue::Ptr 2019-10-21 17:10:51 +02:00
scriptglobal.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
scriptutils.cpp Initialize namespaces without using `overrideFrozen` 2023-01-19 09:53:36 +01:00
scriptutils.hpp DSL: Add get_template{,s} 2019-11-08 11:13:26 +01:00
serializer.cpp icinga2 daemon: w/o --dump-objects just check for circular refs 2022-11-30 10:45:50 +01:00
serializer.hpp icinga2 daemon: w/o --dump-objects just check for circular refs 2022-11-30 10:45:50 +01:00
shared-object.hpp Fix typo seemless -> seamless 2020-12-25 23:27:08 +01:00
shared.hpp Fix typo seemless -> seamless 2020-12-25 23:27:08 +01:00
singleton.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
socket.cpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
socket.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
stacktrace.cpp Add comments to stack trace formatter and test case 2021-03-01 14:07:11 +01:00
stacktrace.hpp Add comments to stack trace formatter and test case 2021-03-01 14:07:11 +01:00
statsfunction.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
stdiostream.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
stdiostream.hpp Add missing #include <iostream> 2021-03-25 11:30:02 +01:00
stream.cpp Merge pull request #8601 from Icinga/feature/replace-std-boost-bind-with-lambdas-7006 2021-03-18 17:56:13 +01:00
stream.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
streamlogger.cpp Merge pull request #8601 from Icinga/feature/replace-std-boost-bind-with-lambdas-7006 2021-03-18 17:56:13 +01:00
streamlogger.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
streamlogger.ti Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
string-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
string.cpp Handle boost::beast::http::basic_fields#set() signature change (v1.81) 2023-01-05 11:18:20 +01:00
string.hpp Handle boost::beast::http::basic_fields#set() signature change (v1.81) 2023-01-05 11:18:20 +01:00
sysloglogger.cpp Initialize namespaces without using `overrideFrozen` 2023-01-19 09:53:36 +01:00
sysloglogger.hpp Make syslog facility handling reusable 2021-09-15 10:15:22 +02:00
sysloglogger.ti Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
tcpsocket.cpp Don't require OS headers to provide SO_REUSEPORT 2019-02-26 11:25:44 +01:00
tcpsocket.hpp Quality: Replace deprecated Boost IO service code 2019-09-09 15:27:57 +02:00
threadpool.cpp Introduce ThreadPool#GetPending() 2019-08-14 17:12:59 +02:00
threadpool.hpp Introduce ThreadPool#GetPending() 2019-08-14 17:12:59 +02:00
timer.cpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
timer.hpp Fix for double-free (and possibly other memory-corruption related) crashes at logrotate time 2019-04-24 11:42:54 +02:00
tlsstream.cpp Enable hostname verification in UnbufferedAsioTlsStream 2021-08-13 10:58:10 +02:00
tlsstream.hpp Merge pull request #7836 from Icinga/bugfix/jsonrpcconnection-m_seen 2020-07-29 15:02:48 +02:00
tlsutility.cpp Merge pull request #9179 from Icinga/Al2Klimov-patch-3 2022-04-11 15:29:05 +02:00
tlsutility.hpp Renew certificates also periodically 2022-04-11 11:02:39 +02:00
type.cpp Initialize namespaces without using `overrideFrozen` 2023-01-19 09:53:36 +01:00
type.hpp INITIALIZE_ONCE_WITH_PRIORITY: use enum for priority values 2023-01-18 15:57:27 +01:00
typetype-script.cpp Replace std/boost::bind() function with lambda expression 2021-03-10 16:29:40 +01:00
unix.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
unixsocket.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
unixsocket.hpp Quality: Mark NetworkStream, TcpSocket & UnixSocket classes as deprecated 2019-05-29 14:17:36 +02:00
utility.cpp Utility::ValidateUTF8(): move a string instead of copying a vector 2022-09-09 10:50:42 +02:00
utility.hpp Introduce AtomicFile 2022-07-28 18:00:37 +02:00
value-operators.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
value.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
value.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
win32.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
windowseventloglogger-provider.mc Add WindowsEventLogLogger 2021-06-21 15:15:54 +02:00
windowseventloglogger.cpp Write early log messages to the Windows Event Log 2021-06-21 15:15:54 +02:00
windowseventloglogger.hpp Write early log messages to the Windows Event Log 2021-06-21 15:15:54 +02:00
windowseventloglogger.ti Add WindowsEventLogLogger 2021-06-21 15:15:54 +02:00
workqueue.cpp Merge pull request #8601 from Icinga/feature/replace-std-boost-bind-with-lambdas-7006 2021-03-18 17:56:13 +01:00
workqueue.hpp WorkQueue#ParallelFor(): optionally don't pre-glue items together to chunks of different size 2021-07-26 11:40:43 +02:00