icinga2/lib/base
Yonas Habteab 1f92ec656b
Merge pull request #10523 from Icinga/dependency-eval-complexity
Prevent worst-case exponential complexity in dependency evaluation
2025-08-05 11:57:47 +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 Fix SIGABRT not causing a core dump 2025-04-23 09:13:04 +02:00
application.hpp Application::m_LastReloadFailed: if double isn't always lock free, use uint32_t 2023-07-10 10:51:02 +02: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 Implement LockIfRequired() method for Namespace, Dictionary & Array 2025-07-10 18:09:21 +02:00
array.hpp Implement LockIfRequired() method for Namespace, Dictionary & Array 2025-07-10 18:09:21 +02:00
atomic-file.cpp Introduce AtomicFile::Write() 2023-01-27 11:36:09 +01:00
atomic-file.hpp Introduce AtomicFile#GetTempFilename() 2023-01-27 12:03:59 +01:00
atomic.hpp Atomic#Atomic(): remove superfluous atomic write 2024-11-06 11:37:02 +01: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 Fix file endings 2023-05-17 18:05:13 +02:00
boolean.cpp Fix file endings 2023-05-17 18:05:13 +02: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
CMakeLists.txt Introduce ValueGenerator class 2025-07-08 18:24:16 +02:00
configobject-script.cpp Fix file endings 2023-05-17 18:05:13 +02: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 Make ConfigType#m_Mutex a std::shared_timed_mutex 2023-01-26 15:04:02 +01:00
configtype.hpp Add ConfigType::BeforeOnAllConfigLoaded signal 2025-03-12 11:53:30 +01:00
configuration.cpp Merge pull request #9643 from Icinga/hardware_concurrency 2023-05-23 19:23:14 +02:00
configuration.hpp Track Configuration.Concurrency modifications 2023-05-11 15:41:35 +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 Fix file endings 2023-05-17 18:05:13 +02:00
datetime.cpp Ensure consistent mktime() DST behavior across different implementations 2025-04-28 13:38:55 +02: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 Fix file endings 2023-05-17 18:05:13 +02:00
debuginfo.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
defer.hpp Defer: Allow empty initialization & add SetFunc() method 2024-08-27 14:23:41 +02:00
dependencygraph.cpp Simplify DependencyGraph:RemoveDependency() method 2025-01-07 11:07:46 +01:00
dependencygraph.hpp DependencyGraph: Allow lookups by parent & child dependencies 2025-01-07 11:07:46 +01:00
dictionary-script.cpp Fix file endings 2023-05-17 18:05:13 +02:00
dictionary.cpp Implement LockIfRequired() method for Namespace, Dictionary & Array 2025-07-10 18:09:21 +02:00
dictionary.hpp Implement LockIfRequired() method for Namespace, Dictionary & Array 2025-07-10 18:09:21 +02: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 Stream#Read(): remove de facto unused param allow_partial 2023-07-13 16:55:48 +02:00
fifo.hpp Stream#Read(): remove de facto unused param allow_partial 2023-07-13 16:55:48 +02: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 Fix file endings 2023-05-17 18:05:13 +02:00
function.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
function.hpp Namespace: don't acquire shared locks on frozen namespaces 2023-01-19 17:56:44 +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
generator.hpp Introduce ValueGenerator class 2025-07-08 18:24:16 +02:00
i2-base.hpp Replace std/boost::bind() function with lambda expression 2021-03-10 16:29:40 +01:00
initialize.cpp Fix file endings 2023-05-17 18:05:13 +02:00
initialize.hpp Introduce Type::GetConfigTypesSortedByLoadDependencies() 2024-09-20 16:18:12 +02:00
intrusive-ptr.hpp Implement std::hash<boost::intrusive_ptr<T>> for old Boost versions 2025-03-12 11:53:30 +01:00
io-engine.cpp Introduce AsioDualEvent 2025-05-14 12:24:28 +02:00
io-engine.hpp Introduce AsioDualEvent 2025-05-14 12:24:28 +02: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: don't acquire shared locks on frozen namespaces 2023-01-19 17:56:44 +01:00
json.cpp JsonEncoder: wrap writer for flushing 2025-07-11 16:10:22 +02:00
json.hpp JsonEncoder: wrap writer for flushing 2025-07-11 16:10:22 +02: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 Fix file endings 2023-05-17 18:05:13 +02:00
loader.hpp InitializePriority: don't explicitly specify values 2023-01-18 15:57:32 +01:00
logger.cpp Log: don't construct std::ostringstream for no-op messages 2025-07-29 10:27:38 +02:00
logger.hpp Log: don't construct std::ostringstream for no-op messages 2025-07-29 10:27:38 +02:00
logger.ti Make ObjectImpl<Logger>#GetSeverity() non-virtual 2023-08-15 13:03:31 +02:00
math-script.cpp Namespace: don't acquire shared locks on frozen namespaces 2023-01-19 17:56:44 +01:00
namespace-script.cpp Fix file endings 2023-05-17 18:05:13 +02:00
namespace.cpp Implement LockIfRequired() method for Namespace, Dictionary & Array 2025-07-10 18:09:21 +02:00
namespace.hpp Implement LockIfRequired() method for Namespace, Dictionary & Array 2025-07-10 18:09:21 +02: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 Stream#Read(): remove de facto unused param allow_partial 2023-07-13 16:55:48 +02:00
networkstream.hpp Stream#Read(): remove de facto unused param allow_partial 2023-07-13 16:55:48 +02:00
number-script.cpp Fix file endings 2023-05-17 18:05:13 +02:00
number.cpp Fix file endings 2023-05-17 18:05:13 +02: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 Fix file endings 2023-05-17 18:05:13 +02:00
object.cpp Allow intrusive_ptr<const T> for objects 2025-07-30 16:42:27 +02:00
object.hpp Allow intrusive_ptr<const T> for objects 2025-07-30 16:42:27 +02:00
objectlock.cpp Implement bool operator for ObjectLock 2025-07-08 18:24:16 +02:00
objectlock.hpp Implement bool operator for ObjectLock 2025-07-08 18:24:16 +02:00
objecttype.cpp Fix file endings 2023-05-17 18:05:13 +02:00
objecttype.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
perfdatavalue.cpp Fix PerfdataValue Counter Parsing 2025-05-12 16:34:05 +02: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 Fix file endings 2023-05-17 18:05:13 +02:00
primitivetype.hpp INITIALIZE_ONCE_WITH_PRIORITY: use enum for priority values 2023-01-18 15:57:27 +01:00
process.cpp Fix compiler warnings by not unnecessarily (copy-)constructing loop variables 2025-05-21 11:36:32 +02:00
process.hpp Make ProcessResult#ExitStatus and CheckResult#exit_status 64-bit ints 2024-04-23 17:45:31 +02:00
reference-script.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
reference.cpp No longer allow overriding the frozen attribute of containers 2025-07-08 14:16:20 +02:00
reference.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
registry.hpp Remove unused Registry#Clear() 2025-03-18 11:22:56 +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 Make globals.Internal values non-const by default 2023-02-10 15:47:25 +01:00
scriptframe.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
scriptglobal.cpp Fix file endings 2023-05-17 18:05:13 +02:00
scriptglobal.hpp ScriptGlobal::Set(): remove unused bool overrideFrozen 2023-02-10 11:33:46 +01:00
scriptutils.cpp Drop System#track_parents DSL function 2025-06-03 17:09:57 +02:00
scriptutils.hpp Drop System#track_parents DSL function 2025-06-03 17:09:57 +02:00
serializer.cpp Simplify NamespaceValue class hierarchy to one struct without member functions 2023-01-19 17:55:11 +01:00
serializer.hpp icinga2 daemon: w/o --dump-objects just check for circular refs 2022-11-30 10:45:50 +01:00
shared-memory.hpp Introduce SharedMemory 2023-04-04 13:40:27 +02:00
shared-object.hpp Allow intrusive_ptr<const T> for objects 2025-07-30 16:42:27 +02:00
shared.hpp Allow intrusive_ptr<const T> for objects 2025-07-30 16:42:27 +02: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 Stream#Read(): remove de facto unused param allow_partial 2023-07-13 16:55:48 +02:00
stdiostream.hpp Stream#Read(): remove de facto unused param allow_partial 2023-07-13 16:55:48 +02:00
stream.cpp Stream#Read(): remove de facto unused param allow_partial 2023-07-13 16:55:48 +02:00
stream.hpp Stream#Read(): remove de facto unused param allow_partial 2023-07-13 16:55:48 +02:00
streamlogger.cpp Explicitly stop started timers and wait for them 2023-04-14 14:52:04 +02: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 Fix file endings 2023-05-17 18:05:13 +02:00
string.cpp Value: Add a specialized rvalue reference of Get() 2025-03-07 10:16:31 +01:00
string.hpp String: Mark move constructor & assignment op as noexcept 2025-03-06 13:02:40 +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 Prefer icinga::String::GetData() over icinga::String::CStr() 2025-04-14 17:30:19 +02:00
threadpool.cpp Restart thread pool after freezing Configuration 2023-05-23 14:41:35 +02:00
threadpool.hpp Restart thread pool after freezing Configuration 2023-05-23 14:41:35 +02:00
timer.cpp Support multiple redundant Timer#Start() calls 2023-04-04 10:35:22 +02:00
timer.hpp Timer#Start(): don't unnecessarily unlock/lock l_TimerMutex 2023-04-04 10:35:22 +02:00
tlsstream.cpp Move Timeout instances from heap to stack 2025-01-07 18:20:50 +01:00
tlsstream.hpp AsioTlsStream: add GracefulDisconnect() and ForceDisconnect() 2024-12-12 12:10:59 +01:00
tlsutility.cpp VerifyCertificate: Work around issue in OpenSSL < 1.1.0 causing invalid certifcates being treated as valid 2025-05-21 10:50:12 +02:00
tlsutility.hpp VerifyCertificate: Work around issue in OpenSSL < 1.1.0 causing invalid certifcates being treated as valid 2025-05-21 10:50:12 +02:00
type.cpp Type: Simplify sort by load dependencies algorithm 2024-09-20 16:18:12 +02:00
type.hpp Type: Simplify sort by load dependencies algorithm 2024-09-20 16:18:12 +02:00
typetype-script.cpp Fix file endings 2023-05-17 18:05:13 +02: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 Ensure consistent mktime() DST behavior across different implementations 2025-04-28 13:38:55 +02:00
utility.hpp Ensure consistent mktime() DST behavior across different implementations 2025-04-28 13:38:55 +02:00
value-operators.cpp Use simplified if conditions where applicable 2023-01-26 09:06:20 +01:00
value.cpp Value: Add a specialized rvalue reference of Get() 2025-03-07 10:16:31 +01:00
value.hpp Value: Add a specialized rvalue reference of Get() 2025-03-07 10:16:31 +01:00
wait-group.cpp Add IsLockable method to WaitGroup 2025-06-13 14:48:07 +02:00
wait-group.hpp Add IsLockable method to WaitGroup 2025-06-13 14:48:07 +02:00
win32.hpp Drop Windows VISTA from the supported platform 2025-05-28 09:39:03 +02: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 Use Timer::Create() instead of new Timer() 2023-04-04 10:35:20 +02:00
workqueue.hpp WorkQueue#ParallelFor(): allocate lambda once per thread, not once per item 2022-11-30 11:10:24 +01:00