doveadm-settings.c revision 8c5d1951a2e5bced3bfcb7fc6c2fac8d4bf47341
45312f52ff3a3d4c137447be4c7556500c2f8bf2Timo Sirainen/* Copyright (c) 2010-2013 Dovecot authors, see the included COPYING file */
02a54da28f376dd66d7939d8546a196a0045b486Timo Sirainenstatic bool doveadm_settings_check(void *_set, pool_t pool, const char **error_r);
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen/* <settings checks> */
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainenstatic struct file_listener_settings doveadm_unix_listeners_array[] = {
2f122b4db3f0d4eeb59ff9d306e54b2009d72cf9Timo Sirainenstatic struct file_listener_settings *doveadm_unix_listeners[] = {
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen doveadm_unix_listeners, sizeof(doveadm_unix_listeners), { 0, }
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen/* </settings checks> */
ccd4a548556a72a74a8183fa46cdd616dceae456Timo Sirainenstruct service_settings doveadm_service_settings = {
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen .unix_listeners = { { &doveadm_unix_listeners_buf,
14f172fb8fc5585ec450ae3c233c676a033e5324Timo Sirainen { type, #name, offsetof(struct doveadm_settings, name), NULL }
04870054863757edf048c81dcce3c5e7dec453cdTimo Sirainenstatic const struct setting_define doveadm_setting_defines[] = {
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen { SET_STRLIST, "plugin", offsetof(struct doveadm_settings, plugin_envs), NULL },
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainenconst struct doveadm_settings doveadm_default_settings = {
3809b9691c46926aa54968ac8e418d04361e1efaTimo Sirainen .dsync_remote_cmd = "ssh -l%{login} %{host} doveadm dsync-server -u%u",
9e808b253bf5c20878fedfb44e4f2273db31da7cTimo Sirainenstatic const struct setting_parser_info *doveadm_setting_dependencies[] = {
9e808b253bf5c20878fedfb44e4f2273db31da7cTimo Sirainenconst struct setting_parser_info doveadm_setting_parser_info = {
3809b9691c46926aa54968ac8e418d04361e1efaTimo Sirainen .struct_size = sizeof(struct doveadm_settings),
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainenconst struct master_service_settings *service_set;
395ad9a760c494a2106fada1392c5432a1629de6Timo Sirainenfix_base_path(struct doveadm_settings *set, pool_t pool, const char **str)
395ad9a760c494a2106fada1392c5432a1629de6Timo Sirainen if (*str != NULL && **str != '\0' && **str != '/')
395ad9a760c494a2106fada1392c5432a1629de6Timo Sirainen *str = p_strconcat(pool, set->base_dir, "/", *str, NULL);
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen/* <settings checks> */
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainenstatic bool doveadm_settings_check(void *_set, pool_t pool ATTR_UNUSED,
da9f6acdcb303d0fe5160b669668aedf39c8f45aTimo Sirainen const char **error_r)
da9f6acdcb303d0fe5160b669668aedf39c8f45aTimo Sirainen fix_base_path(set, pool, &set->doveadm_socket_path);
2615df45a8027948a474abe5e817b34b0499c171Timo Sirainen *error_r = "dsync_alt_char must not be empty";
da9f6acdcb303d0fe5160b669668aedf39c8f45aTimo Sirainen/* </settings checks> */