summaryrefslogtreecommitdiff
path: root/math/moo/files/patch-moo.y
diff options
context:
space:
mode:
authorSteven Kreuzer <skreuzer@FreeBSD.org>2017-06-06 21:34:35 +0000
committerSteven Kreuzer <skreuzer@FreeBSD.org>2017-06-06 21:34:35 +0000
commitd9df368cea29b83ca4ab167a7c635ec1b4f9f11f (patch)
tree63f96bd37377e05cd151f24b8f5bd92a8f0b9da0 /math/moo/files/patch-moo.y
parentUpdate to 3.2.6 (diff)
Add support for capsicum
Notes
Notes: svn path=/head/; revision=442808
Diffstat (limited to 'math/moo/files/patch-moo.y')
-rw-r--r--math/moo/files/patch-moo.y34
1 files changed, 28 insertions, 6 deletions
diff --git a/math/moo/files/patch-moo.y b/math/moo/files/patch-moo.y
index 9d9ea2a78efe..646bcef4ff14 100644
--- a/math/moo/files/patch-moo.y
+++ b/math/moo/files/patch-moo.y
@@ -1,6 +1,18 @@
--- moo.y.orig 2016-06-04 10:05:27 UTC
+++ moo.y
-@@ -34,7 +34,7 @@ static int used_oct;
+@@ -4,6 +4,11 @@
+ * Public domain.
+ */
+
++#ifdef HAVE_CAPSICUM
++#include <sys/capsicum.h>
++#include <capsicum_helpers.h>
++#endif
++
+ #include <ctype.h>
+ #include <err.h>
+ #include <errno.h>
+@@ -34,7 +39,7 @@ static int used_oct;
static void divbyzero(void);
static void printnum(int64_t);
@@ -9,17 +21,27 @@
void yyerror(char *);
int yylex(void);
int yyparse(void);
-@@ -317,9 +317,6 @@ main(int argc, char *argv[])
+@@ -315,10 +320,16 @@ getnum(const char *nptr)
+ int
+ main(int argc, char *argv[])
{
- int ch;
+- int ch;
++#ifdef HAVE_CAPSICUM
++ if (caph_limit_stdio() < 0)
++ err(1, "unable to limit capabilities for stdio");
- if (pledge("stdio tmppath", NULL) == -1)
- err(1, "pledge");
--
++ caph_cache_catpages();
++ if (cap_enter() < 0 && errno != ENOSYS)
++ err(1, "unable to enter capability mode");
++#endif
++
++ int ch;
+
while ((ch = getopt(argc, argv, "0123456789b:lsuw:")) != -1)
switch (ch) {
- /*
-@@ -403,9 +400,6 @@ DONEPARSING:
+@@ -403,9 +414,6 @@ DONEPARSING:
yyin = sfp;
}