If I run a docker image with the mesos containerizer and altering the dovecot config mentioned here[1]
I think the root detection is incorrect because it looks like dovecot is still thinking it is root. I still get errors like:
log(829825): Fatal: We couldn't drop root group privileges (wanted=10053(dovecot), gid=0(root), egid=0(root))
Why does it want to drop to root, if we are not even running as root?
Error: service(ipc): chown(/var/dovecot/login/ipc-proxy, 91, 4294967295) failed: Operation not permitted
Why does it want to chown, when it is not root?
pop3-login: Fatal: setgid(101(dovenull)) failed with euid=10053(dovecot), gid=10053(dovecot), egid=10053(dovecot): Operation not permitted (This binary should probably be called with process group set to 101(dovenull) instead of 10053(dovecot))
[1] https://wiki.dovecot.org/HowTo/Rootless?action=edit&editor=text
FYI, I am building on alpine 3.10 and 3.11 I am getting this build[1] error. I think these header files of dovecot are not correct. Or are they?
I changed line 35 in /usr/include/dovecot/str.h from str_append_max(str, cstr, max_len); to str_append_max(str, (const char *)cstr, max_len);
[1] /usr/include/dovecot/str.h: In function 'void str_append_n(string_t*, const void*, size_t)': /usr/include/dovecot/str.h:35:22: error: invalid conversion from 'const void*' to 'const char*' [-fpermissive] 35 | str_append_max(str, cstr, max_len); | ^~~~ | | | const void* /usr/include/dovecot/str.h:31:48: note: initializing argument 2 of 'void str_append_max(string_t*, const char*, size_t)' 31 | void str_append_max(string_t *str, const char *cstr, size_t max_len); | ~~~~~~~~~~~~^~~~
On Wed, Aug 19, 2020 at 15:59:59 +0200, Marc Roos wrote:
FYI, I am building on alpine 3.10 and 3.11 I am getting this build[1] error.
That's the header file. Where is it getting included from? Is it C++ by any chance?
I think these header files of dovecot are not correct. Or are they?
I changed line 35 in /usr/include/dovecot/str.h from str_append_max(str, cstr, max_len); to str_append_max(str, (const char *)cstr, max_len);
[1] /usr/include/dovecot/str.h: In function 'void str_append_n(string_t*, const void*, size_t)':
str_append_n() has been deprecated for a while and was removed in April this year. I don't remember if that means the removal made it into 2.3.11, but it will definitely be gone from 2.3.12.
Jeff.
-- Si hoc legere scis nimium eruditionis habes.
participants (2)
-
Josef 'Jeff' Sipek
-
Marc Roos