struct NetherCynaraCheckInfo
{
- NetherCynaraCheckInfo() {}
+ NetherCynaraCheckInfo()
+ : privilegeId(-1),
+ checkId(-1){}
+
NetherCynaraCheckInfo(NetherPacket _packet, u_int32_t _privilegeId, cynara_check_id _checkId = -1)
: packet(_packet),
privilegeId(_privilegeId),
const std::string cynaraErrorCodeToString(int cynaraErrorCode)
{
char errorString[512];
- int ret;
- if ((ret = cynara_strerror(cynaraErrorCode, errorString, sizeof(errorString))) == CYNARA_API_SUCCESS)
+ int ret = cynara_strerror(cynaraErrorCode, errorString, sizeof(errorString));
+ if (ret == CYNARA_API_SUCCESS)
{
return (std::string(errorString, strlen(errorString)));
}
}
NetherCynaraBackend::NetherCynaraBackend(const NetherConfig &netherConfig)
- : NetherPolicyBackend(netherConfig), currentCynaraDescriptor(-1),
- cynaraLastResult(CYNARA_API_UNKNOWN_ERROR), cynaraConfig(nullptr),
- allPrivilegesToCheck(1) /* if there is no additional policy, only one check is done */
+ :NetherPolicyBackend(netherConfig)
+ ,cynaraContext(nullptr)
+ ,currentCynaraDescriptorStatus(NetherDescriptorStatus::unknownStatus)
+ ,currentCynaraDescriptor(-1)
+ ,cynaraLastResult(CYNARA_API_UNKNOWN_ERROR)
+ ,cynaraConfig(nullptr)
+ ,allPrivilegesToCheck(1) /* if there is no additional policy, only one check is done */
{
/* This is the default, if no policy is defined in the file or no
privilege name is passed in the command line, the built in
#include "nether_Utils.h"
NetherManager::NetherManager(const NetherConfig &_netherConfig)
- : netherPrimaryPolicyBackend(nullptr),
- netherBackupPolicyBackend(nullptr),
- netherFallbackPolicyBackend(nullptr),
- netherConfig(_netherConfig)
+ :netherPrimaryPolicyBackend(nullptr)
+ ,netherBackupPolicyBackend(nullptr)
+ ,netherFallbackPolicyBackend(nullptr)
+ ,netherConfig(_netherConfig)
+ ,netlinkDescriptor(-1)
+ ,backendDescriptor(-1)
+ ,signalDescriptor(-1)
{
netherNetlink = std::unique_ptr<NetherNetlink> (new NetherNetlink(netherConfig));
netherNetlink->setListener(this);
netherBackupPolicyBackend->setListener(this);
netherFallbackPolicyBackend = std::unique_ptr<NetherPolicyBackend> (new NetherDummyBackend(netherConfig));
+
+ sigemptyset(&signalMask);
}
NetherManager::~NetherManager() noexcept(true)