From: Timo Sirainen Date: Thu, 30 Sep 2021 22:44:35 +0000 (+0300) Subject: master: Use relative path for stats_writer_socket_path for chrooted services X-Git-Tag: 2.3.18~235 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dec257fb784a31ea8ba16dd541b1df5c3aac1008;p=thirdparty%2Fdovecot%2Fcore.git master: Use relative path for stats_writer_socket_path for chrooted services This allows login process to reconnect to stats-writer if it gets disconnected. --- diff --git a/src/master/service-process.c b/src/master/service-process.c index 29f2f81362..34d23ff55d 100644 --- a/src/master/service-process.c +++ b/src/master/service-process.c @@ -263,7 +263,14 @@ service_process_setup_environment(struct service *service, unsigned int uid, if (!service->set->master_set->version_ignore) env_put(MASTER_DOVECOT_VERSION_ENV, PACKAGE_VERSION); - if (service_set->stats_writer_socket_path[0] != '\0') { + if (service_set->stats_writer_socket_path[0] == '\0') + ; /* stats-writer socket disabled */ + else if (service->set->chroot[0] != '\0') { + /* In a chroot - expect stats-writer socket to be in the + current directory. */ + env_put(DOVECOT_STATS_WRITER_SOCKET_PATH, + service_set->stats_writer_socket_path); + } else { env_put(DOVECOT_STATS_WRITER_SOCKET_PATH, t_strdup_printf("%s/%s", service_set->base_dir, service_set->stats_writer_socket_path));