Skip to content

v4.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Jul 14:50
Release v4.4.0

Guard the C++ handler/callback invocations against exceptions so a throw
can no longer unwind through libubus/libubox C frames to std::terminate
(which would kill the whole process - e.g. a supervisor daemon losing all
its supervision on one bad request):

- common_handler() wraps the cb / dcb calls: a throwing ubus method
  handler now returns UBUS_STATUS_UNKNOWN_ERROR instead of aborting.
- common_task() wraps the uloop task callback: a throwing task is dropped
  rather than fatal.

Both log the exception to stderr on catch. The library previously only
caught while parsing the *incoming* blob, not while running user handlers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>