capabilities: Only plugins that require CAP_NET_ADMIN demand it

The daemon as such does not require this capability.
This commit is contained in:
Tobias Brunner
2013-06-25 17:16:32 +02:00
parent a2eb581781
commit 41b8546ac0
5 changed files with 24 additions and 10 deletions
@@ -65,6 +65,13 @@ plugin_t *kernel_netlink_plugin_create()
{
private_kernel_netlink_plugin_t *this;
if (!lib->caps->keep(lib->caps, CAP_NET_ADMIN))
{ /* required to bind/use XFRM sockets / create routing tables */
DBG1(DBG_KNL, "kernel-netlink plugin requires CAP_NET_ADMIN "
"capability");
return NULL;
}
INIT(this,
.public = {
.plugin = {
@@ -62,6 +62,12 @@ plugin_t *kernel_pfkey_plugin_create()
{
private_kernel_pfkey_plugin_t *this;
if (!lib->caps->keep(lib->caps, CAP_NET_ADMIN))
{ /* required to open PF_KEY sockets */
DBG1(DBG_KNL, "kernel-pfkey plugin requires CAP_NET_ADMIN capability");
return NULL;
}
INIT(this,
.public = {
.plugin = {