From 87875086d05c0d5b7825a8810cf42da26b67bc04 Mon Sep 17 00:00:00 2001 From: Tim Kent Date: Tue, 25 Oct 2016 16:17:10 +1000 Subject: [PATCH] connmark: Add CAP_NET_RAW to capabilities keep list Fix for "Permission denied (you must be root)" error when calling iptc_init(), which opens a RAW socket to communicate with the kernel, when built with "--with-capabilities=libcap". Closes strongswan/strongswan#53. Fixes #2157. --- src/libcharon/plugins/connmark/connmark_plugin.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libcharon/plugins/connmark/connmark_plugin.c b/src/libcharon/plugins/connmark/connmark_plugin.c index 3f276f93e..ad44eba5f 100644 --- a/src/libcharon/plugins/connmark/connmark_plugin.c +++ b/src/libcharon/plugins/connmark/connmark_plugin.c @@ -90,6 +90,12 @@ plugin_t *connmark_plugin_create() return NULL; } + if (!lib->caps->keep(lib->caps, CAP_NET_RAW)) + { + DBG1(DBG_NET, "connmark plugin requires CAP_NET_RAW capability"); + return NULL; + } + INIT(this, .public = { .plugin = {