Add 'ctld -t', to test configuration file validity.

Reviewed by:	mav, allanjude, bcr (man pages)
MFC after:	2 weeks
Sponsored by:	Klara Inc.
Differential Revision:	https://reviews.freebsd.org/D23792
This commit is contained in:
trasz 2020-03-31 13:43:09 +00:00
parent e8bcece98d
commit 3ba4feb405
2 changed files with 17 additions and 2 deletions

View File

@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd March 23, 2018
.Dd March 31, 2020
.Dt CTLD 8
.Os
.Sh NAME
@ -38,6 +38,10 @@
.Op Fl d
.Op Fl f Ar config-file
.Op Fl u
.Nm
.Fl t
.Op Fl f Ar config-file
.Op Fl u
.Sh DESCRIPTION
The
.Nm
@ -90,6 +94,8 @@ The daemon sends verbose debug output to standard error, and does not
put itself in the background.
The daemon will also not fork and will exit after processing one connection.
This option is only intended for debugging the target.
.It Fl t
Test the configuration file for validity and exit.
.It Fl u
Use UCL configuration file format instead of the traditional non-UCL format.
.El

View File

@ -69,6 +69,7 @@ usage(void)
{
fprintf(stderr, "usage: ctld [-d][-u][-f config-file]\n");
fprintf(stderr, " ctld -t [-u][-f config-file]\n");
exit(1);
}
@ -2663,14 +2664,18 @@ main(int argc, char **argv)
const char *config_path = DEFAULT_CONFIG_PATH;
int debug = 0, ch, error;
bool dont_daemonize = false;
bool test_config = false;
bool use_ucl = false;
while ((ch = getopt(argc, argv, "duf:R")) != -1) {
while ((ch = getopt(argc, argv, "dtuf:R")) != -1) {
switch (ch) {
case 'd':
dont_daemonize = true;
debug++;
break;
case 't':
test_config = true;
break;
case 'u':
use_ucl = true;
break;
@ -2701,6 +2706,10 @@ main(int argc, char **argv)
if (newconf == NULL)
log_errx(1, "configuration error; exiting");
if (test_config)
return (0);
if (debug > 0) {
oldconf->conf_debug = debug;
newconf->conf_debug = debug;