diff options
author | Steven Kreuzer <skreuzer@FreeBSD.org> | 2017-06-06 21:34:35 +0000 |
---|---|---|
committer | Steven Kreuzer <skreuzer@FreeBSD.org> | 2017-06-06 21:34:35 +0000 |
commit | d9df368cea29b83ca4ab167a7c635ec1b4f9f11f (patch) | |
tree | 63f96bd37377e05cd151f24b8f5bd92a8f0b9da0 /math/moo/files/patch-moo.y | |
parent | Update 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.y | 34 |
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; } |