From ce95017bf16f7937013134fc5188900d3e2cd9c7 Mon Sep 17 00:00:00 2001 From: Reyk Floeter Date: Wed, 16 Aug 2017 09:27:36 +0200 Subject: sync --- httpd/logger.c | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) (limited to 'httpd/logger.c') diff --git a/httpd/logger.c b/httpd/logger.c index a212fb1..6d469b2 100644 --- a/httpd/logger.c +++ b/httpd/logger.c @@ -1,4 +1,4 @@ -/* $OpenBSD: logger.c,v 1.15 2015/12/02 15:13:00 reyk Exp $ */ +/* $OpenBSD: logger.c,v 1.20 2016/09/01 10:59:38 reyk Exp $ */ /* * Copyright (c) 2014 Reyk Floeter @@ -16,7 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include /* nitems */ #include #include #include @@ -44,8 +43,6 @@ void logger_init(struct privsep *, struct privsep_proc *p, void *); int logger_start(void); int logger_log(struct imsg *); -static struct httpd *env = NULL; -int proc_id; static uint32_t last_log_id = 0; static struct privsep_proc procs[] = { @@ -53,18 +50,17 @@ static struct privsep_proc procs[] = { { "server", PROC_SERVER, logger_dispatch_server } }; -pid_t +void logger(struct privsep *ps, struct privsep_proc *p) { - env = ps->ps_env; - return (proc_run(ps, p, procs, nitems(procs), logger_init, NULL)); + proc_run(ps, p, procs, nitems(procs), logger_init, NULL); } void logger_shutdown(void) { logger_close(); - config_purge(env, CONFIG_ALL); + config_purge(httpd_env, CONFIG_ALL); } void @@ -76,9 +72,6 @@ logger_init(struct privsep *ps, struct privsep_proc *p, void *arg) if (config_init(ps->ps_env) == -1) fatal("failed to initialize configuration"); - /* Set to current prefork id */ - proc_id = p->p_instance; - /* We use a custom shutdown callback */ p->p_shutdown = logger_shutdown; @@ -121,7 +114,7 @@ logger_open_file(const char *name) iov[1].iov_base = log->log_name; iov[1].iov_len = strlen(log->log_name) + 1; - if (proc_composev(env->sc_ps, PROC_PARENT, IMSG_LOG_OPEN, + if (proc_composev(httpd_env->sc_ps, PROC_PARENT, IMSG_LOG_OPEN, iov, 2) != 0) { log_warn("%s: failed to compose IMSG_LOG_OPEN imsg", __func__); goto err; @@ -174,7 +167,7 @@ logger_open_priv(struct imsg *imsg) if ((size_t)snprintf(name, sizeof(name), "/%s", p) >= sizeof(name)) return (-1); - if ((len = strlcpy(path, env->sc_logdir, sizeof(path))) + if ((len = strlcpy(path, httpd_env->sc_logdir, sizeof(path))) >= sizeof(path)) return (-1); @@ -191,8 +184,8 @@ logger_open_priv(struct imsg *imsg) return (-1); } - proc_compose_imsg(env->sc_ps, PROC_LOGGER, -1, IMSG_LOG_OPEN, -1, fd, - &id, sizeof(id)); + proc_compose_imsg(httpd_env->sc_ps, PROC_LOGGER, -1, + IMSG_LOG_OPEN, -1, fd, &id, sizeof(id)); DPRINTF("%s: opened log file %s, fd %d", __func__, path, fd); @@ -286,17 +279,17 @@ logger_dispatch_parent(int fd, struct privsep_proc *p, struct imsg *imsg) { switch (imsg->hdr.type) { case IMSG_CFG_SERVER: - config_getserver(env, imsg); + config_getserver(httpd_env, imsg); break; case IMSG_CFG_DONE: - config_getcfg(env, imsg); + config_getcfg(httpd_env, imsg); break; case IMSG_CTL_START: case IMSG_CTL_REOPEN: logger_start(); break; case IMSG_CTL_RESET: - config_getreset(env, imsg); + config_getreset(httpd_env, imsg); break; case IMSG_LOG_OPEN: return (logger_open_fd(imsg)); -- cgit v1.2.3-54-g00ecf