diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index ebed74b..c6c0cb9 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -586,6 +586,10 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmSystemMgmtRequest(const QJso ok = true; out->insert("reboot", sysadm::SysMgmt::systemReboot()); } + /*else if(act=="getsysctl"){ + ok = true; + out->insert("getsysctl", sysadm::SysMgmt::getSysctl(in_args.toObject())); + }*/ else if(act=="setsysctl"){ ok = true; out->insert("setsysctl", sysadm::SysMgmt::setSysctl(in_args.toObject())); diff --git a/src/server/library/sysadm-systemmanager.cpp b/src/server/library/sysadm-systemmanager.cpp index 57feae4..e8938a4 100644 --- a/src/server/library/sysadm-systemmanager.cpp +++ b/src/server/library/sysadm-systemmanager.cpp @@ -293,6 +293,26 @@ QJsonObject SysMgmt::procInfo() { return retObject; } +// Get a sysctl +QJsonObject SysMgmt::getSysctl(QJsonObject jsin) { + QJsonObject retObject; + + QStringList sysctl; + if(jsin.value("sysctl").isArray()){ sysctl = General::JsonArrayToStringList(jsin.value("sysctl").toArray()); } + else if(jsin.value("sysctl").isString()){ sysctl << jsin.value("sysctl").toString(); } + if ( sysctl.isEmpty() ) { + retObject.insert("error", "Missing required key 'sysctl'"); + return retObject; + } + + QStringList output = General::RunCommand("sysctl", sysctl).split("\n"); + for(int i=0; i