summaryrefslogtreecommitdiffstats
path: root/usr.sbin/jls
diff options
context:
space:
mode:
authorsjg <sjg@FreeBSD.org>2015-05-27 01:19:58 +0000
committersjg <sjg@FreeBSD.org>2015-05-27 01:19:58 +0000
commit65145fa4c81da358fcbc3b650156dab705dfa34e (patch)
tree55c065b6730aaac2afb6c29933ee6ec5fa4c4249 /usr.sbin/jls
parent60ff4eb0dff94a04d75d0d52a3957aaaf5f8c693 (diff)
parente6b664c390af88d4a87208bc042ce503da664c3b (diff)
downloadFreeBSD-src-65145fa4c81da358fcbc3b650156dab705dfa34e.zip
FreeBSD-src-65145fa4c81da358fcbc3b650156dab705dfa34e.tar.gz
Merge sync of head
Diffstat (limited to 'usr.sbin/jls')
-rw-r--r--usr.sbin/jls/Makefile3
-rw-r--r--usr.sbin/jls/jls.83
-rw-r--r--usr.sbin/jls/jls.c20
3 files changed, 14 insertions, 12 deletions
diff --git a/usr.sbin/jls/Makefile b/usr.sbin/jls/Makefile
index 431fd0c..d90d094 100644
--- a/usr.sbin/jls/Makefile
+++ b/usr.sbin/jls/Makefile
@@ -4,8 +4,7 @@
PROG= jls
MAN= jls.8
-DPADD= ${LIBJAIL}
-LDADD= -ljail
+LIBADD= jail
.if ${MK_INET6_SUPPORT} != "no"
CFLAGS+= -DINET6
diff --git a/usr.sbin/jls/jls.8 b/usr.sbin/jls/jls.8
index 3137654..15a80d4 100644
--- a/usr.sbin/jls/jls.8
+++ b/usr.sbin/jls/jls.8
@@ -92,7 +92,8 @@ skipping read-only and unused parameters.
Implies
.Fl nq .
.It Fl v
-Print a multiple-line summary per jail, with the following parameters:
+Extend the standard display with a multiple-line summary per jail,
+containing the following parameters:
jail identifier (jid), hostname (host.hostname), path (path),
jail name (name), jail state (dying), cpuset ID (cpuset),
IP address(es) (ip4.addr and ip6.addr).
diff --git a/usr.sbin/jls/jls.c b/usr.sbin/jls/jls.c
index ce07100..b1e28fb 100644
--- a/usr.sbin/jls/jls.c
+++ b/usr.sbin/jls/jls.c
@@ -78,7 +78,7 @@ static void quoted_print(char *str);
int
main(int argc, char **argv)
{
- char *dot, *ep, *jname;
+ char *dot, *ep, *jname, *pname;
int c, i, jflags, jid, lastjid, pflags, spc;
jname = NULL;
@@ -166,20 +166,23 @@ main(int argc, char **argv)
JP_USER);
add_param("path", NULL, (size_t)0, NULL, JP_USER);
}
- } else
+ } else {
+ pflags &= ~PRINT_VERBOSE;
while (optind < argc)
add_param(argv[optind++], NULL, (size_t)0, NULL,
JP_USER);
+ }
if (pflags & PRINT_SKIP) {
/* Check for parameters with jailsys parents. */
for (i = 0; i < nparams; i++) {
if ((params[i].jp_flags & JP_USER) &&
(dot = strchr(params[i].jp_name, '.'))) {
- *dot = 0;
- param_parent[i] = add_param(params[i].jp_name,
+ pname = alloca((dot - params[i].jp_name) + 1);
+ strlcpy(pname, params[i].jp_name,
+ (dot - params[i].jp_name) + 1);
+ param_parent[i] = add_param(pname,
NULL, (size_t)0, NULL, JP_OPT);
- *dot = '.';
}
}
}
@@ -291,10 +294,8 @@ add_param(const char *name, void *value, size_t valuelen,
param->jp_flags |= flags;
return param - params;
}
- if (jailparam_init(param, name) < 0)
- errx(1, "%s", jail_errmsg);
- param->jp_flags = flags;
- if ((value != NULL ? jailparam_import_raw(param, value, valuelen)
+ if (jailparam_init(param, name) < 0 ||
+ (value != NULL ? jailparam_import_raw(param, value, valuelen)
: jailparam_import(param, value)) < 0) {
if (flags & JP_OPT) {
nparams--;
@@ -302,6 +303,7 @@ add_param(const char *name, void *value, size_t valuelen,
}
errx(1, "%s", jail_errmsg);
}
+ param->jp_flags = flags;
return param - params;
}
OpenPOWER on IntegriCloud