aboutsummaryrefslogtreecommitdiff
path: root/zyklonb.c
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2016-03-30 00:50:44 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2016-03-30 00:50:44 +0200
commit695d615225bbd66ffee42f5c073ed45327790512 (patch)
tree4ed00102d22e394418d7b985dacaf5feda63dbd7 /zyklonb.c
parent8a3144f0acb7fd934826ccc478707e77bda097d7 (diff)
downloadxK-695d615225bbd66ffee42f5c073ed45327790512.tar.gz
xK-695d615225bbd66ffee42f5c073ed45327790512.tar.xz
xK-695d615225bbd66ffee42f5c073ed45327790512.zip
ZyklonB, kike: Use pledge(2) in OpenBSD
degesch has something like "stdio wpath cpath inet tty proc exec" but given that it's user-extensible and very annoying for users to have it crash, I'm leaving it unrestricted for now.
Diffstat (limited to 'zyklonb.c')
-rw-r--r--zyklonb.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/zyklonb.c b/zyklonb.c
index 4ab27bc..c7ab8c7 100644
--- a/zyklonb.c
+++ b/zyklonb.c
@@ -2023,6 +2023,12 @@ main (int argc, char *argv[])
ctx.signal_event.user_data = &ctx;
poller_fd_set (&ctx.signal_event, POLLIN);
+#if OpenBSD >= 201605
+ // cpath is for creating the plugin home directory
+ if (pledge ("stdio rpath cpath inet proc exec", NULL))
+ exit_fatal ("%s: %s", "pledge", strerror (errno));
+#endif
+
plugin_load_all_from_config (&ctx);
if (!parse_config (&ctx, &e)
|| !irc_connect (&ctx, &e))