diff options
author | June McEnroe <june@causal.agency> | 2020-08-24 21:58:59 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-08-24 21:58:59 -0400 |
commit | d5e1e30271d5173abf37d0028f82dab8ca052ba1 (patch) | |
tree | e2479490301faebc8457ca0feb1ab4184e8857b8 | |
parent | Use configOpen in getopt_config (diff) | |
download | pounce-d5e1e30271d5173abf37d0028f82dab8ca052ba1.tar.gz pounce-d5e1e30271d5173abf37d0028f82dab8ca052ba1.zip |
Use configPath to load client cert/priv
-rw-r--r-- | server.c | 23 |
1 files changed, 17 insertions, 6 deletions
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(); |