diff options
author | Jamie Gritton <jamie@FreeBSD.org> | 2020-08-27 17:04:55 +0000 |
---|---|---|
committer | Jamie Gritton <jamie@FreeBSD.org> | 2020-08-27 17:04:55 +0000 |
commit | 0eb6603f6b2c6fd77f8b38d61c65a730656341fa (patch) | |
tree | 6926d77424b1cfc8f23721d3aede3c4dfc2c8fdb /usr.sbin/jail | |
parent | 555e99891916650fae422500080090ecc98ad2ce (diff) | |
download | src-0eb6603f6b2c6fd77f8b38d61c65a730656341fa.tar.gz src-0eb6603f6b2c6fd77f8b38d61c65a730656341fa.zip |
Disregard jails in jail.conf that have bad parameters (parameter/variable
clash, or redefining name/jid). The current behvaior, of merely warning
and moving on, can lead to unexpected behavior when a jail is created
without the offending parameter defined at all.
Notes
Notes:
svn path=/head/; revision=364874
Diffstat (limited to 'usr.sbin/jail')
-rw-r--r-- | usr.sbin/jail/config.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/usr.sbin/jail/config.c b/usr.sbin/jail/config.c index e81128ff1b93..e6ebc585bcd7 100644 --- a/usr.sbin/jail/config.c +++ b/usr.sbin/jail/config.c @@ -369,11 +369,13 @@ add_param(struct cfjail *j, const struct cfparam *p, enum intparam ipnum, if ((flags ^ dp->flags) & PF_VAR) { jail_warnx(j, "variable \"$%s\" cannot have the same " "name as a parameter.", name); + j->flags |= JF_FAILED; return; } if (dp->flags & PF_IMMUTABLE) { jail_warnx(j, "cannot redefine parameter \"%s\".", dp->name); + j->flags |= JF_FAILED; return; } if (strcmp(dp->name, name)) { @@ -405,6 +407,7 @@ add_param(struct cfjail *j, const struct cfparam *p, enum intparam ipnum, "cannot have the same " "name as a parameter.", name); + j->flags |= JF_FAILED; return; } j->intparams[ipnum] = np; |