dovecot-2.2: director: Don't allow director_user_expire to be le...

dovecot at dovecot.org dovecot at dovecot.org
Mon Jul 29 22:19:17 EEST 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/d95ca476098c
changeset: 16616:d95ca476098c
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Jul 29 22:06:13 2013 +0300
description:
director: Don't allow director_user_expire to be less than 10 seconds.

diffstat:

 src/director/director-settings.c |  20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diffs (35 lines):

diff -r 50117c22151e -r d95ca476098c src/director/director-settings.c
--- 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> */


More information about the dovecot-cvs mailing list