dovecot-1.2: dump-capability: Use nobody/nogroup as uid/gid if t...
dovecot at dovecot.org
dovecot at dovecot.org
Sun Jun 28 04:52:35 EEST 2009
details: http://hg.dovecot.org/dovecot-1.2/rev/2db158dd88be
changeset: 9173:2db158dd88be
user: Timo Sirainen <tss at iki.fi>
date: Sat Jun 27 21:52:30 2009 -0400
description:
dump-capability: Use nobody/nogroup as uid/gid if they exist.
diffstat:
1 file changed, 12 insertions(+)
src/master/master-settings.c | 12 ++++++++++++
diffs (22 lines):
diff -r bc880b70d731 -r 2db158dd88be src/master/master-settings.c
--- a/src/master/master-settings.c Sat Jun 27 21:45:04 2009 -0400
+++ b/src/master/master-settings.c Sat Jun 27 21:52:30 2009 -0400
@@ -682,6 +682,18 @@ get_process_capability(enum process_type
/* use the current user */
args[0] = t_strdup_printf("uid=%s", dec2str(uid));
args[1] = t_strdup_printf("gid=%s", dec2str(getegid()));
+ } else {
+ /* try to use some existing user. at least osx launchd
+ doesn't like non-existing users. */
+ struct passwd *pw;
+ struct group *gr;
+
+ pw = getpwnam("nobody");
+ if (pw != NULL)
+ args[0] = t_strdup_printf("uid=%s", dec2str(pw->pw_uid));
+ gr = getgrnam("nogroup");
+ if (gr != NULL)
+ args[1] = t_strdup_printf("gid=%s", dec2str(gr->gr_gid));
}
if (pipe(fd) < 0) {
More information about the dovecot-cvs
mailing list