ksgi
/
sandbox-pledge.c
44 строки · 1.1 Кб
1/* $Id$ */
2/*
3* Copyright (c) 2015 Kristaps Dzonsons <kristaps@bsd.lv>
4*
5* Permission to use, copy, modify, and distribute this software for any
6* purpose with or without fee is hereby granted, provided that the above
7* copyright notice and this permission notice appear in all copies.
8*
9* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16*/
17#include "config.h"18
19#if HAVE_PLEDGE20
21#include <unistd.h>22
23#include <stdarg.h>24
25#include "kcgi.h"26#include "extern.h"27
28int
29ksandbox_pledge_init_child(enum sandtype type)30{
31const char *fl;32
33fl = type != SAND_WORKER ?34"stdio unix sendfd recvfd" :35"stdio";36
37if (pledge(fl, NULL) == -1) {38kutil_warn(NULL, NULL, "pledge");39return 0;40}41return 1;42}
43
44#endif45