summaryrefslogtreecommitdiff
path: root/src/core/capsicum.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/capsicum.c')
-rw-r--r--src/core/capsicum.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/capsicum.c b/src/core/capsicum.c
index 99f7ff0f..f44b326d 100644
--- a/src/core/capsicum.c
+++ b/src/core/capsicum.c
@@ -252,8 +252,15 @@ static void cmd_capsicum(const char *data, SERVER_REC *server, void *item)
static void cmd_capsicum_enter(void)
{
+ u_int mode;
int error;
+ error = cap_getmode(&mode);
+ if (error == 0 && mode != 0) {
+ g_warning("Already in capability mode");
+ return;
+ }
+
error = start_symbiont();
if (error != 0) {
signal_emit("capability mode failed", 1, strerror(errno));