mirror of
https://github.com/irssi/irssi.git
synced 2026-08-19 16:42:30 +02:00
Limit capsicum rights to stdio.
This requires FreeBSD fix (https://reviews.freebsd.org/D12622) to work properly.
This commit is contained in:
parent
92dbb1895b
commit
40ae8f5fa6
1 changed files with 8 additions and 0 deletions
|
|
@ -37,6 +37,7 @@
|
||||||
#include <sys/nv.h>
|
#include <sys/nv.h>
|
||||||
#include <sys/procdesc.h>
|
#include <sys/procdesc.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
#include <capsicum_helpers.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#define OPCODE_CONNECT 1
|
#define OPCODE_CONNECT 1
|
||||||
|
|
@ -410,6 +411,13 @@ static void cmd_capsicum_enter(void)
|
||||||
*/
|
*/
|
||||||
signal(SIGCHLD, SIG_IGN);
|
signal(SIGCHLD, SIG_IGN);
|
||||||
|
|
||||||
|
error = caph_limit_stdio();
|
||||||
|
if (error != 0) {
|
||||||
|
g_warning("caph_limit_stdio(3) failed: %s", strerror(errno));
|
||||||
|
signal_emit("capability mode failed", 1, strerror(errno));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
error = cap_enter();
|
error = cap_enter();
|
||||||
if (error != 0) {
|
if (error != 0) {
|
||||||
signal_emit("capability mode failed", 1, strerror(errno));
|
signal_emit("capability mode failed", 1, strerror(errno));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue