bcb4e51a409d94ae670de96afb8483a4f7855294Stephan Bosch/* Copyright (c) 2011-2018 Dovecot authors, see the included COPYING file */
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen#include "lib.h"
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen#include "buffer.h"
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen#include "settings-parser.h"
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen#include "service-settings.h"
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen#include <stddef.h>
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen/* <settings checks> */
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainenstatic struct file_listener_settings ipc_unix_listeners_array[] = {
b66fc6ecce80e2fbc4104afd61d53ba375977690Timo Sirainen { "ipc", 0600, "$default_internal_user", "" },
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen { "login/ipc-proxy", 0600, "$default_login_user", "" }
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen};
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainenstatic struct file_listener_settings *ipc_unix_listeners[] = {
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen &ipc_unix_listeners_array[0],
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen &ipc_unix_listeners_array[1]
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen};
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainenstatic buffer_t ipc_unix_listeners_buf = {
da7f1a07f583df8905684a7b78469960afd7c78dPhil Carmody ipc_unix_listeners, sizeof(ipc_unix_listeners), { NULL, }
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen};
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen/* </settings checks> */
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainenstruct service_settings ipc_service_settings = {
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .name = "ipc",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .protocol = "",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .type = "",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .executable = "ipc",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .user = "$default_internal_user",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .group = "",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .privileged_group = "",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .extra_groups = "",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .chroot = "empty",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .drop_priv_before_exec = FALSE,
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .process_min_avail = 0,
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .process_limit = 1,
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .client_limit = 0,
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .service_count = 0,
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .idle_kill = 0,
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .vsz_limit = (uoff_t)-1,
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .unix_listeners = { { &ipc_unix_listeners_buf,
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen sizeof(ipc_unix_listeners[0]) } },
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen .fifo_listeners = ARRAY_INIT,
3d4648e56d079f9778fc72450ccc604ffc05babcTimo Sirainen .inet_listeners = ARRAY_INIT,
3d4648e56d079f9778fc72450ccc604ffc05babcTimo Sirainen
3d4648e56d079f9778fc72450ccc604ffc05babcTimo Sirainen .process_limit_1 = TRUE
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen};