From d5e1e30271d5173abf37d0028f82dab8ca052ba1 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Mon, 24 Aug 2020 21:58:59 -0400 Subject: Use configPath to load client cert/priv --- server.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'server.c') diff --git a/server.c b/server.c index 1c87c2a..89e3e36 100644 --- a/server.c +++ b/server.c @@ -57,13 +57,24 @@ void serverConfig(bool insecure, const char *cert, const char *priv) { } if (cert) { - error = tls_config_set_keypair_file(config, cert, (priv ? priv : cert)); - if (error) { - errx( - EX_SOFTWARE, "tls_config_set_keypair_file: %s", - tls_config_error(config) - ); + const char *dirs = NULL; + for (const char *path; NULL != (path = configPath(&dirs, cert));) { + if (priv) { + error = tls_config_set_cert_file(config, path); + } else { + error = tls_config_set_keypair_file(config, path, path); + } + if (!error) break; + } + if (error) errx(EX_NOINPUT, "%s: %s", cert, tls_config_error(config)); + } + if (priv) { + const char *dirs = NULL; + for (const char *path; NULL != (path = configPath(&dirs, priv));) { + error = tls_config_set_key_file(config, path); + if (!error) break; } + if (error) errx(EX_NOINPUT, "%s: %s", priv, tls_config_error(config)); } client = tls_client(); -- cgit 1.4.1