From 08458725211e707dec7bfebf7c5188e766136677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= Date: Fri, 7 Feb 2025 17:34:04 +0100 Subject: [PATCH 25/44] sysrepo upstream API change: NULL output on RPCs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Organization: Wires Depends-on: https://gerrit.cesnet.cz/c/CzechLight/dependencies/+/8289 Change-Id: I8db21637246492b0f79d1adf7df1704df5173e39 Signed-off-by: Mattias Walström --- CMakeLists.txt | 2 +- src/restconf/Server.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f3a9c0..cdd0eb4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,7 +74,7 @@ find_package(PkgConfig) pkg_check_modules(nghttp2 REQUIRED IMPORTED_TARGET libnghttp2_asio>=0.0.90 libnghttp2) find_package(Boost REQUIRED CONFIG COMPONENTS system thread) -pkg_check_modules(SYSREPO-CPP REQUIRED IMPORTED_TARGET sysrepo-cpp>=4) +pkg_check_modules(SYSREPO-CPP REQUIRED IMPORTED_TARGET sysrepo-cpp>=5) pkg_check_modules(LIBYANG-CPP REQUIRED IMPORTED_TARGET libyang-cpp>=3) pkg_check_modules(SYSTEMD IMPORTED_TARGET libsystemd) pkg_check_modules(PAM REQUIRED IMPORTED_TARGET pam) diff --git a/src/restconf/Server.cpp b/src/restconf/Server.cpp index 7c66ea4..daf23ed 100644 --- a/src/restconf/Server.cpp +++ b/src/restconf/Server.cpp @@ -462,13 +462,13 @@ void processActionOrRPC(std::shared_ptr requestCtx, const std::c auto rpcReply = requestCtx->sess.sendRPC(*rpcNode, timeout); - if (rpcReply.immediateChildren().empty()) { + if (!rpcReply || rpcReply->immediateChildren().empty()) { requestCtx->res.write_head(204, {CORS}); requestCtx->res.end(); return; } - auto responseNode = rpcReply.child(); + auto responseNode = rpcReply->child(); responseNode->unlinkWithSiblings(); auto envelope = ctx.newOpaqueJSON(rpcNode->schema().module().name(), "output", std::nullopt); -- 2.43.0