summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2009-10-17 14:31:27 +0200
committerFlorian Westphal <fw@strlen.de>2009-10-17 15:35:26 +0200
commitbc88b2cb06a1663210de5f517a99687713ec91c3 (patch)
treedfe676328908ee52db7fb0bcb764fefb3e693e41 /src
parentbc1ac7fbc57bb6341b0b553c29d2da82464fc866 (diff)
downloadngircd-bc88b2cb06a1663210de5f517a99687713ec91c3.tar.gz
ngircd-bc88b2cb06a1663210de5f517a99687713ec91c3.zip
configtest: print ssl config options even when unset
Print "SSLOptionVar =" instead of omitting the option when
running --configtest with ssl enabled.
This better matches the behaviour of other options, e.g.  ChrootDir.
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/conf.c40
1 files changed, 22 insertions, 18 deletions
diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c
index c728d55f..2b592b16 100644
--- a/src/ngircd/conf.c
+++ b/src/ngircd/conf.c
@@ -96,38 +96,42 @@ ConfSSL_Init(void)
 }
 
 static bool
-can_open(const char *name, const char *file)
+ssl_print_configvar(const char *name, const char *file)
 {
-	FILE *fp = fopen(file, "r");
+	FILE *fp;
+
+	if (!file) {
+		printf("  %s =\n", name);
+		return true;
+	}
+
+	fp = fopen(file, "r");
 	if (fp)
 		fclose(fp);
 	else
 		fprintf(stderr, "ERROR: %s \"%s\": %s\n",
 			name, file, strerror(errno));
+
+	printf("  %s = %s\n", name, file);
 	return fp != NULL;
 }
 
 static bool
 ConfSSL_Puts(void)
 {
-	bool ret = true;
+	bool ret;
+
+	ret = ssl_print_configvar("SSLKeyFile", Conf_SSLOptions.KeyFile);
+
+	if (!ssl_print_configvar("SSLCertFile", Conf_SSLOptions.CertFile))
+		ret = false;
+
+	if (!ssl_print_configvar("SSLDHFile", Conf_SSLOptions.DHFile))
+		ret = false;
 
-	if (Conf_SSLOptions.KeyFile) {
-		printf( "  SSLKeyFile = %s\n", Conf_SSLOptions.KeyFile);
-		ret = can_open("SSLKeyFile", Conf_SSLOptions.KeyFile);
-	}
-	if (Conf_SSLOptions.CertFile) {
-		printf( "  SSLCertFile = %s\n", Conf_SSLOptions.CertFile);
-		if (!can_open("SSLCertFile", Conf_SSLOptions.CertFile))
-			ret = false;
-	}
-	if (Conf_SSLOptions.DHFile) {
-		printf( "  SSLDHFile = %s\n", Conf_SSLOptions.DHFile);
-		if (!can_open("SSLDHFile", Conf_SSLOptions.DHFile))
-			ret = false;
-	}
 	if (array_bytes(&Conf_SSLOptions.KeyFilePassword))
-		puts("  SSLKeyFilePassword = <secret>"  );
+		puts("  SSLKeyFilePassword = <secret>");
+
 	array_free_wipe(&Conf_SSLOptions.KeyFilePassword);
 
 	return ret;