icinga2/lib/base
Julian Brost 28711824cc Use protected stack for new-style Boost.Asio coroutines
In the `boost::asio::spawn()` call for newer Boost versions with
`std::allocator_arg`, switch from `fixedsize_stack` to
`protected_fixedsize_stack` in order to allocate the stacks with guard pages.
This is done as an additional safeguard in case there was still some way to
overflow, this at least reliably crashes the process instead of going into
undefined behavior, which could even result in code execution.

Unfortunately, the old-style `spawn()` function with
`boost::coroutines::attributes` does not - at least to my knowledge - provide a
way to request a stack allocated with guard pages, hence this is only enabled
for Boost 1.87 and later with this commit.
2026-06-23 15:38:19 +02:00
..
application-environment.cpp Cache Icinga DB env_id in Application class as well 2026-04-01 12:15:58 +02:00
application-version.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
application.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
application.hpp Cache Icinga DB env_id in Application class as well 2026-04-01 12:15:58 +02:00
application.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
array-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
array.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
array.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
atomic-file.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
atomic-file.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
atomic.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
base64.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
base64.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
boolean-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
boolean.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
boolean.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
bulker.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
CMakeLists.txt Remove unused execvpe(3) copy 2026-02-05 14:31:01 +01:00
configobject-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
configobject.cpp Prevent HTTP requests from creating deeply nested data structures 2026-06-23 15:38:19 +02:00
configobject.hpp Prevent HTTP requests from creating deeply nested data structures 2026-06-23 15:38:19 +02:00
configobject.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
configtype.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
configtype.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
configuration.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
configuration.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
configuration.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
configwriter.cpp Prevent HTTP requests from creating deeply nested data structures 2026-06-23 15:38:19 +02:00
configwriter.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
console.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
console.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
context.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
context.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
convert.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
convert.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
datetime-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
datetime.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
datetime.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
datetime.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
debug.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
debuginfo.cpp Make ShowCodeLocation() show the full line with a LastColumn of 0 2026-03-24 13:53:31 +01:00
debuginfo.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
defer.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
dependencygraph.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
dependencygraph.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
dictionary-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
dictionary.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
dictionary.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
exception.cpp Fix uninitialized member in ScriptError 2026-02-06 12:10:20 +01:00
exception.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
fifo.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
fifo.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
filelogger.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
filelogger.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
filelogger.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
function-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
function.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
function.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
function.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
functionwrapper.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
generator.hpp Make ValueGenerator more flexible & easy to use 2026-02-10 16:57:56 +01:00
i2-base.hpp Import std::chrono_literals into icinga namespace 2026-02-26 13:31:10 +01:00
initialize.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
initialize.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
intrusive-ptr.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
io-engine.cpp Fix compiler crash on SLES 15.7 arm64 runner 2026-04-16 14:01:49 +02:00
io-engine.hpp Use protected stack for new-style Boost.Asio coroutines 2026-06-23 15:38:19 +02:00
journaldlogger.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
journaldlogger.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
journaldlogger.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
json-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
json.cpp JsonDecode: include path in JSON depth error 2026-06-23 15:38:19 +02:00
json.hpp JsonDecode: add depth limit 2026-06-23 15:38:19 +02:00
lazy-init.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
library.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
library.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
loader.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
loader.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
logger.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
logger.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
logger.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
math-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
namespace-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
namespace.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
namespace.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
netstring.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
netstring.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
networkstream.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
networkstream.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
number-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
number.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
number.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
object-packer.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
object-packer.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
object-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
object.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
object.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
objectlock.cpp ObjectLock: allow to TryLock the mutex 2026-03-02 15:36:59 +01:00
objectlock.hpp ObjectLock: allow to TryLock the mutex 2026-03-02 15:36:59 +01:00
objecttype.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
objecttype.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
perfdatavalue.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
perfdatavalue.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
perfdatavalue.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
primitivetype.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
primitivetype.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
process.cpp ProcessSpawnImpl(): outsource array build and Convert::ToString() to child 2026-02-05 14:31:04 +01:00
process.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
reference-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
reference.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
reference.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
registry.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
ringbuffer.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
ringbuffer.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
scriptframe.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
scriptframe.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
scriptglobal.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
scriptglobal.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
scriptpermission.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
scriptpermission.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
scriptutils.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
scriptutils.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
serializer.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
serializer.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
shared-memory.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
shared-object.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
shared.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
singleton.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
socket.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
socket.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
stacktrace.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
stacktrace.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
statsfunction.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
stdiostream.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
stdiostream.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
stream.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
stream.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
streamlogger.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
streamlogger.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
streamlogger.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
string-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
string.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
string.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
sysloglogger.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
sysloglogger.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
sysloglogger.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
tcpsocket.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
tcpsocket.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
threadpool.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
threadpool.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
timer.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
timer.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
tlsstream.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
tlsstream.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
tlsutility.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
tlsutility.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
type.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
type.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
typetype-script.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
unix.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
unixsocket.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
unixsocket.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
utility.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
utility.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
value-operators.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
value.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
value.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
wait-group.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
wait-group.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
win32.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
windowseventloglogger-provider.mc Add WindowsEventLogLogger 2021-06-21 15:15:54 +02:00
windowseventloglogger.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
windowseventloglogger.hpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
windowseventloglogger.ti Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
workqueue.cpp Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
workqueue.hpp Use perfect-forwarding references to prevent passing temporaries 2026-03-13 13:14:52 +01:00