I think idled ought to become_cyrus itself. It shouldn't continue
running as root even if it was started as root.
The attached patch seems to resolve this for me. Karl, does it help in
your case?
It's against the current cyrus-imapd-2.5 from git, but should apply
cleanly to the 2.5.7 sources as well.
This should work.
Ellie, can you remove a dup in master.c too?
#if defined(__linux__) && defined(HAVE_LIBCAP)
if (become_cyrus(/*is_master*/1) != 0) {
syslog(LOG_ERR, "can't change to the cyrus user: %m");
exit(1);
}
#endif
masterconf_getsection("START", &add_start, NULL);
....
#if defined(__linux__) && defined(HAVE_LIBCAP)
if (become_cyrus(/*is_master*/1) != 0) {
syslog(LOG_ERR, "can't change to the cyrus user: %m");
exit(1);
}
#endif
Last one is a dup.
Regards,
Carlos Velasco