Mercurial > dovecot > core-2.2
changeset 16616:d95ca476098c
director: Don't allow director_user_expire to be less than 10 seconds.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 29 Jul 2013 22:06:13 +0300 |
parents | 50117c22151e |
children | 0e0eb964685a |
files | src/director/director-settings.c |
diffstat | 1 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/director-settings.c Wed Jul 17 10:23:21 2013 +0300 +++ b/src/director/director-settings.c Mon Jul 29 22:06:13 2013 +0300 @@ -7,6 +7,8 @@ #include "director-settings.h" /* <settings checks> */ +static bool director_settings_verify(void *_set, pool_t pool, const char **error_r); + static struct file_listener_settings director_unix_listeners_array[] = { { "login/director", 0, "", "" }, { "director-admin", 0600, "", "" } @@ -93,5 +95,21 @@ .type_offset = (size_t)-1, .struct_size = sizeof(struct director_settings), - .parent_offset = (size_t)-1 + .parent_offset = (size_t)-1, + + .check_func = director_settings_verify }; + +/* <settings checks> */ +static bool +director_settings_verify(void *_set, pool_t pool ATTR_UNUSED, const char **error_r) +{ + struct director_settings *set = _set; + + if (set->director_user_expire < 10) { + *error_r = "director_user_expire is too low"; + return FALSE; + } + return TRUE; +} +/* </settings checks> */