Hello,
just setting up mail hub with Postfix & Dovecot I have found BUG in LMTP implementation.
- assumptions
- latest stable Postix & Dovecot,
- Postfix delivers via Dovecot LMTP (virtual_transport = lmtp:127.0.0.1:24),
- Dovecot userdb & passwd lookups are made via custom checkpassword interface,
- each user (email account) has different UID/GID
- description
LMTP process must run as root to be able to deliver msgs to each user. It drops privileges temporarily when delivering and then restoring effective UID/GID to root (saved one).
The problem is, when an attempt with more than ONE recipients is made. More than one recipient within single session.
It seems, that Dovecot LMTP restores root privileges not between each recipient delivery attempt but after whole transaction.
The only solution is throttle Postfix to send single message with multiple recipients as many small transactions - all with only ONE rcpt.
lmtp_destination_recipient_limit=1 makes this magic.
Otherwise you can find:
Dec 12 03:30:36 vm dovecot: lmtp(3580, info@xxx.com): Fatal: setgid(48672 from userdb lookup) failed with euid=33001, gid=43570, egid=43570: Operation not permitted (This binary should probably be called with process group set to 4867 2 instead of 43570)
Can someone confirm that this is an error/bug?
Thanks
Pete