summaryrefslogtreecommitdiffstats
path: root/usr.bin/killall
diff options
context:
space:
mode:
authorjamie <jamie@FreeBSD.org>2009-06-24 18:18:35 +0000
committerjamie <jamie@FreeBSD.org>2009-06-24 18:18:35 +0000
commit7c0019fd3084503b16686588e9e052c1a6b6c371 (patch)
treea9cec75f7b2e1076b5455019e71bbc78faac9225 /usr.bin/killall
parentbd3587c757355e28ac6abbaf11703661599270bb (diff)
downloadFreeBSD-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/Makefile2
-rw-r--r--usr.bin/killall/killall.c17
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;
OpenPOWER on IntegriCloud