Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2020 13:43:09 +0000 (UTC)
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r359480 - head/usr.sbin/ctld
Message-ID:  <202003311343.02VDh9wb014706@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: trasz
Date: Tue Mar 31 13:43:09 2020
New Revision: 359480
URL: https://svnweb.freebsd.org/changeset/base/359480

Log:
  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

Modified:
  head/usr.sbin/ctld/ctld.8
  head/usr.sbin/ctld/ctld.c

Modified: head/usr.sbin/ctld/ctld.8
==============================================================================
--- head/usr.sbin/ctld/ctld.8	Tue Mar 31 06:25:43 2020	(r359479)
+++ head/usr.sbin/ctld/ctld.8	Tue Mar 31 13:43:09 2020	(r359480)
@@ -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 erro
 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

Modified: head/usr.sbin/ctld/ctld.c
==============================================================================
--- head/usr.sbin/ctld/ctld.c	Tue Mar 31 06:25:43 2020	(r359479)
+++ head/usr.sbin/ctld/ctld.c	Tue Mar 31 13:43:09 2020	(r359480)
@@ -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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003311343.02VDh9wb014706>