diff options
| author | Anders Betts <anders.betts@gmail.com> | 2026-09-17 21:26:20 +0200 |
|---|---|---|
| committer | Anders Betts <anders.betts@gmail.com> | 2026-09-17 21:26:20 +0200 |
| commit | ed1c15929d2eb2dbc6432986c26661bf1549964a (patch) | |
| tree | 4f04934edef686b19d16e1bb2f79bb5c15e142de /src/config.c | |
| parent | 380195f7cd5e57acf2c1cf2bc41069e6b0b979ed (diff) | |
| download | bokf-0.1.1.tar.gz bokf-0.1.1.zip | |
Add native TLS transport, TLS clients and lego cert sidecarv0.1.1
- bokfd: optional TLS listener (OpenSSL), certificate reload on change
- clients: tls:host:port targets with chain and host verification
- compose: port 8788 and an INWX/lego renewal sidecar
- Makefile: header dependency tracking (-MMD -MP)
Diffstat (limited to 'src/config.c')
| -rw-r--r-- | src/config.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c index 3bce6e9..d1f392a 100644 --- a/src/config.c +++ b/src/config.c @@ -24,6 +24,10 @@ void config_defaults(void) g_cfg.export_dir = xstrdup("/var/lib/bokfd/export"); g_cfg.tcp_addr = NULL; g_cfg.tcp_enabled = 0; + g_cfg.tls_addr = NULL; + g_cfg.tls_enabled = 0; + g_cfg.tls_cert = xstrdup("/var/lib/bokfd/certs/fullchain.pem"); + g_cfg.tls_key = xstrdup("/var/lib/bokfd/certs/privkey.pem"); g_cfg.log_level = LOG_INFO; g_cfg.allow_org_create = 1; g_cfg.audit_reads = 0; @@ -52,6 +56,17 @@ static int apply_kv(const char *key, const char *val, char **err) set_str(&g_cfg.tcp_addr, val); g_cfg.tcp_enabled = 1; } + } else if (strcmp(key, "tls") == 0) { + if (strcmp(val, "off") == 0 || strcmp(val, "") == 0) { + g_cfg.tls_enabled = 0; + } else { + set_str(&g_cfg.tls_addr, val); + g_cfg.tls_enabled = 1; + } + } else if (strcmp(key, "tls_cert") == 0) { + set_str(&g_cfg.tls_cert, val); + } else if (strcmp(key, "tls_key") == 0) { + set_str(&g_cfg.tls_key, val); } else if (strcmp(key, "log_level") == 0) { g_cfg.log_level = log_level_from_name(val); } else if (strcmp(key, "allow_org_create") == 0) { @@ -137,6 +152,12 @@ void config_apply_env(void) set_str(&g_cfg.export_dir, v); if ((v = getenv("BOKFD_TCP"))) apply_kv("tcp", v, NULL); + if ((v = getenv("BOKFD_TLS"))) + apply_kv("tls", v, NULL); + if ((v = getenv("BOKFD_TLS_CERT"))) + set_str(&g_cfg.tls_cert, v); + if ((v = getenv("BOKFD_TLS_KEY"))) + set_str(&g_cfg.tls_key, v); if ((v = getenv("BOKFD_LOG_LEVEL"))) g_cfg.log_level = log_level_from_name(v); if ((v = getenv("BOKFD_ALLOW_ORG_CREATE"))) @@ -164,6 +185,9 @@ void config_free(void) free(g_cfg.backup_dir); free(g_cfg.export_dir); free(g_cfg.tcp_addr); + free(g_cfg.tls_addr); + free(g_cfg.tls_cert); + free(g_cfg.tls_key); free(g_cfg.synchronous); free(g_cfg.chart_k2_file); free(g_cfg.chart_k3_file); |
