From d5d45c29b8e00c304a6b6656983cafee84fe6bc8 Mon Sep 17 00:00:00 2001 From: Edward Tomasz Napierala Date: Wed, 26 Jul 2017 01:00:25 +0100 Subject: Add capability mode error/success messages. Signed-off-by: Edward Tomasz Napierala --- src/core/capsicum.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/core/capsicum.c') diff --git a/src/core/capsicum.c b/src/core/capsicum.c index 702b895a..eb30fef3 100644 --- a/src/core/capsicum.c +++ b/src/core/capsicum.c @@ -30,17 +30,37 @@ static void cmd_cap_enter(void) int error; error = cap_enter(); - if (error != 0) - g_error("cap_enter(2) failed: %s", strerror(errno)); + if (error != 0) { + signal_emit("capability mode failed", 1, strerror(errno)); + } else { + signal_emit("capability mode enabled", 0); + } +} + +static void cmd_cap_getmode(void) +{ + u_int mode; + int error; + + error = cap_getmode(&mode); + if (error != 0) { + signal_emit("capability mode failed", 1, strerror(errno)); + } else if (mode == 0) { + signal_emit("capability mode disabled", 0); + } else { + signal_emit("capability mode enabled", 0); + } } void capsicum_init(void) { command_bind("cap_enter", NULL, (SIGNAL_FUNC) cmd_cap_enter); + command_bind("cap_getmode", NULL, (SIGNAL_FUNC) cmd_cap_getmode); } void capsicum_deinit(void) { command_unbind("cap_enter", (SIGNAL_FUNC) cmd_cap_enter); + command_unbind("cap_getmode", (SIGNAL_FUNC) cmd_cap_getmode); } -- cgit v1.2.3