bcb4e51a409d94ae670de96afb8483a4f7855294Stephan Bosch/* Copyright (c) 2017-2018 Dovecot authors, see the included COPYING file */
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainenstatic void client_connected(struct master_service_connection *conn)
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen (void)client_writer_create(conn->fd, metrics);
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen (void)client_reader_create(conn->fd, metrics);
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen master_service_client_connection_accept(conn);
816d20be0cf95fc4eb1a8aa716639e73b8ba525eMartti Rannanjärvi restrict_access_by_env(RESTRICT_ACCESS_FLAG_ALLOW_ROOT, NULL);
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen void **sets = master_service_settings_get_others(master_service);
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen const struct setting_parser_info *set_roots[] = {
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen const enum master_service_flags service_flags =
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen master_service = master_service_init("stats", service_flags,
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen if (master_service_settings_read_simple(master_service, set_roots,
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen i_fatal("Error reading configuration: %s", error);
e9068f1c3326de0265d0ef542a0d7723f5f01bc8Timo Sirainen master_service_init_log(master_service, "stats: ");