pop3-login-settings.c revision a8c5a86d183db25a57bf193c06b41e092ec2e151
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainen/* Copyright (c) 2005-2014 Dovecot authors, see the included COPYING file */
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainen
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen#include "lib.h"
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen#include "buffer.h"
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen#include "settings-parser.h"
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen#include "service-settings.h"
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen#include "login-settings.h"
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen#include "pop3-login-settings.h"
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainen
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen#include <stddef.h>
2bfa4f4e042def419b7b80b05f7d2cf5d0f9f6a0Timo Sirainen
5f9231534fd15b9aed2676a3d6cd07158f8e2a39Timo Sirainen/* <settings checks> */
5f9231534fd15b9aed2676a3d6cd07158f8e2a39Timo Sirainenstatic struct inet_listener_settings pop3_login_inet_listeners_array[] = {
2bfa4f4e042def419b7b80b05f7d2cf5d0f9f6a0Timo Sirainen { .name = "pop3", .address = "", .port = 110 },
a966016e605eea27e02d73ff1412632cd684d770Timo Sirainen { .name = "pop3s", .address = "", .port = 995, .ssl = TRUE }
9d1526ac8bcec9aff3c3a32f092ee2f3da2760b7Timo Sirainen};
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainenstatic struct inet_listener_settings *pop3_login_inet_listeners[] = {
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen &pop3_login_inet_listeners_array[0],
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen &pop3_login_inet_listeners_array[1]
9d1526ac8bcec9aff3c3a32f092ee2f3da2760b7Timo Sirainen};
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainenstatic buffer_t pop3_login_inet_listeners_buf = {
db9ad8c821c01a18a520c2a07b2d6dc501b4017aTimo Sirainen pop3_login_inet_listeners, sizeof(pop3_login_inet_listeners), { 0, }
c37098f8ce6d512ba41f09564d04ed25720f0a77Timo Sirainen};
2ce5b1d19cba4654239116a34e3ad9d5b6af8551Timo Sirainen
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen/* </settings checks> */
5f9231534fd15b9aed2676a3d6cd07158f8e2a39Timo Sirainenstruct service_settings pop3_login_service_settings = {
db9ad8c821c01a18a520c2a07b2d6dc501b4017aTimo Sirainen .name = "pop3-login",
5f9231534fd15b9aed2676a3d6cd07158f8e2a39Timo Sirainen .protocol = "pop3",
5f9231534fd15b9aed2676a3d6cd07158f8e2a39Timo Sirainen .type = "login",
db9ad8c821c01a18a520c2a07b2d6dc501b4017aTimo Sirainen .executable = "pop3-login",
c37098f8ce6d512ba41f09564d04ed25720f0a77Timo Sirainen .user = "$default_login_user",
f90c6ff1ae3d5675abfc6ae05574924fda8dca9eTimo Sirainen .group = "",
c37098f8ce6d512ba41f09564d04ed25720f0a77Timo Sirainen .privileged_group = "",
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen .extra_groups = "",
9d1526ac8bcec9aff3c3a32f092ee2f3da2760b7Timo Sirainen .chroot = "login",
2bfa4f4e042def419b7b80b05f7d2cf5d0f9f6a0Timo Sirainen
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen .drop_priv_before_exec = FALSE,
9d1526ac8bcec9aff3c3a32f092ee2f3da2760b7Timo Sirainen
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen .process_min_avail = 0,
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen .process_limit = 0,
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen .client_limit = 0,
2ce5b1d19cba4654239116a34e3ad9d5b6af8551Timo Sirainen .service_count = 1,
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen .idle_kill = 0,
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen .vsz_limit = (uoff_t)-1,
fc3489208bdd322f594fefb1883473410e868c50Timo Sirainen
f55d355a545747cb26b18b00b4707b56e26260caTimo Sirainen .unix_listeners = ARRAY_INIT,
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen .fifo_listeners = ARRAY_INIT,
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen .inet_listeners = { { &pop3_login_inet_listeners_buf,
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen sizeof(pop3_login_inet_listeners[0]) } }
db9ad8c821c01a18a520c2a07b2d6dc501b4017aTimo Sirainen};
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainenstatic const struct setting_define pop3_login_setting_defines[] = {
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen SETTING_DEFINE_LIST_END
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen};
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainenstatic const struct setting_parser_info *pop3_login_setting_dependencies[] = {
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainen &login_setting_parser_info,
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainen NULL
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainen};
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainen
39ed514f9d401b3cb589595c6a2f532050254d77Timo Sirainenconst struct setting_parser_info pop3_login_setting_parser_info = {
.module_name = "pop3-login",
.defines = pop3_login_setting_defines,
.type_offset = (size_t)-1,
.parent_offset = (size_t)-1,
.dependencies = pop3_login_setting_dependencies
};
const struct setting_parser_info *pop3_login_setting_roots[] = {
&login_setting_parser_info,
&pop3_login_setting_parser_info,
NULL
};