diff options
author | jamie <jamie@FreeBSD.org> | 2009-06-24 18:18:35 +0000 |
---|---|---|
committer | jamie <jamie@FreeBSD.org> | 2009-06-24 18:18:35 +0000 |
commit | 7c0019fd3084503b16686588e9e052c1a6b6c371 (patch) | |
tree | a9cec75f7b2e1076b5455019e71bbc78faac9225 /usr.bin/killall | |
parent | bd3587c757355e28ac6abbaf11703661599270bb (diff) | |
download | FreeBSD-src-7c0019fd3084503b16686588e9e052c1a6b6c371.zip FreeBSD-src-7c0019fd3084503b16686588e9e052c1a6b6c371.tar.gz |
Add libjail, a (somewhat) simpler interface to the jail_set and jail_get
system calls and the security.jail.param sysctls.
Approved by: bz (mentor)
Diffstat (limited to 'usr.bin/killall')
-rw-r--r-- | usr.bin/killall/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/killall/killall.c | 17 |
2 files changed, 6 insertions, 13 deletions
diff --git a/usr.bin/killall/Makefile b/usr.bin/killall/Makefile index ff772a8..de58c78 100644 --- a/usr.bin/killall/Makefile +++ b/usr.bin/killall/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ PROG= killall +DPADD= ${LIBJAIL} +LDADD= -ljail .include <bsd.prog.mk> diff --git a/usr.bin/killall/killall.c b/usr.bin/killall/killall.c index ffb6ee4..0a779fd 100644 --- a/usr.bin/killall/killall.c +++ b/usr.bin/killall/killall.c @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <fcntl.h> #include <dirent.h> +#include <jail.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -101,7 +102,6 @@ nosig(char *name) int main(int ac, char **av) { - struct iovec jparams[2]; struct kinfo_proc *procs = NULL, *newprocs; struct stat sb; struct passwd *pw; @@ -162,18 +162,9 @@ main(int ac, char **av) jflag++; if (*av == NULL) errx(1, "must specify jail"); - jid = strtoul(*av, &ep, 10); - if (!**av || *ep) { - *(const void **)&jparams[0].iov_base = - "name"; - jparams[0].iov_len = sizeof("name"); - jparams[1].iov_base = *av; - jparams[1].iov_len = strlen(*av) + 1; - jid = jail_get(jparams, 2, 0); - if (jid < 0) - errx(1, "unknown jail: %s", - *av); - } + jid = jail_getid(*av); + if (jid < 0) + errx(1, "%s", jail_errmsg); if (jail_attach(jid) == -1) err(1, "jail_attach(%d)", jid); break; |