dovecot-2.0: master: If process uid/gid is too high, refer to la...

dovecot at dovecot.org dovecot at dovecot.org
Tue Sep 1 02:44:59 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/070e5e24df41
changeset: 9850:070e5e24df41
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 31 19:44:49 2009 -0400
description:
master: If process uid/gid is too high, refer to last_valid_* settings instead of first_valid_*.
Based on patch by Pascal Volk.

diffstat:

1 file changed, 10 insertions(+), 8 deletions(-)
src/master/service-process.c |   18 ++++++++++--------

diffs (41 lines):

diff -r faa19e000b57 -r 070e5e24df41 src/master/service-process.c
--- a/src/master/service-process.c	Mon Aug 31 19:32:05 2009 -0400
+++ b/src/master/service-process.c	Mon Aug 31 19:44:49 2009 -0400
@@ -166,27 +166,29 @@ static void validate_uid_gid(struct mast
 	if (uid < (uid_t)set->first_valid_uid ||
 	    (set->last_valid_uid != 0 && uid > (uid_t)set->last_valid_uid)) {
 		struct passwd *pw;
+		bool low = uid < (uid_t)set->first_valid_uid;
 
 		pw = getpwuid(uid);
 		i_fatal("User %s not allowed to log in using too %s "
-			"UNIX UID %s%s (see first_valid_uid in config file)",
-			user,
-			uid < (uid_t)set->first_valid_uid ? "low" : "high",
+			"UNIX UID %s%s (see %s in config file)",
+			user, low ? "low" : "high",
 			dec2str(uid), pw == NULL ? "" :
-			t_strdup_printf("(%s)", pw->pw_name));
+			t_strdup_printf("(%s)", pw->pw_name),
+			low ? "first_valid_uid" : "last_valid_uid");
 	}
 
 	if (gid < (gid_t)set->first_valid_gid ||
 	    (set->last_valid_gid != 0 && gid > (gid_t)set->last_valid_gid)) {
 		struct group *gr;
+		bool low = gid < (gid_t)set->first_valid_gid;
 
 		gr = getgrgid(gid);
 		i_fatal("User %s not allowed to log in using too %s primary "
-			"UNIX group ID %s%s (see first_valid_gid in config file)",
-			user,
-			gid < (gid_t)set->first_valid_gid ? "low" : "high",
+			"UNIX group ID %s%s (see %s in config file)",
+			user, low ? "low" : "high",
 			dec2str(gid), gr == NULL ? "" :
-			t_strdup_printf("(%s)", gr->gr_name));
+			t_strdup_printf("(%s)", gr->gr_name),
+			low ? "first_valid_gid" : "last_valid_gid");
 	}
 }
 


More information about the dovecot-cvs mailing list