From 820c3850ea50a0c6bf0808fd8b2e8b83dc37f1dc Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Thu, 20 Aug 2020 22:00:56 -0400 Subject: Use configPath to load cert/priv --- litterbox.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/litterbox.c b/litterbox.c index 1546cd8..72df0c4 100644 --- a/litterbox.c +++ b/litterbox.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -857,14 +858,27 @@ int main(int argc, char *argv[]) { tls_config_insecure_noverifyname(config); } + const char *dirs; + char pbuf[PATH_MAX]; 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) - ); + dirs = NULL; + while (NULL != (path = configPath(pbuf, sizeof(pbuf), &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) { + dirs = NULL; + while (NULL != (path = configPath(pbuf, sizeof(pbuf), &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)); } error = tls_configure(client, config); -- cgit 1.4.1