Commit: 4203b227de3b824b522541c90d8236d794ea2f65
Parent: e44efb77bb37eb39446c0df46ac73ee23bed9f33
Author: opask
Date: Sun, 28 Oct 2018 13:29:55 -0600
initial pledge(2) for OpenBSD
Diffstat:
2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/TODO b/TODO
@@ -5,6 +5,8 @@
- xembed support
- pledge(2) and unveil(2) for OpenBSD
+ - limit pledge(2) promises
+ - unix for example should be removed
- cleanup empty functions
diff --git a/main.c b/main.c
@@ -10,6 +10,12 @@
#include <stdlib.h>
#include <string.h>
+#ifdef __OpenBSD__
+#include <unistd.h>
+#else
+#define pledge(a,b) 0
+#endif
+
#include "links.h"
int retval = RET_OK;
@@ -488,6 +494,9 @@ main(int argc, char *argv[])
g_argv = (unsigned char **)argv;
argv0 = argv[0];
+ if (pledge("stdio rpath wpath cpath inet dns tty unix", NULL) < 0)
+ die("pledge: %s\n", strerror(errno));
+
select_loop(init);
terminate_all_subsystems();