net-mail/dovecot: fix userdb-passwd errno
authorEray Aslan <eras@gentoo.org>
Thu, 11 Oct 2018 10:56:52 +0000 (13:56 +0300)
committerEray Aslan <eras@gentoo.org>
Thu, 11 Oct 2018 10:56:52 +0000 (13:56 +0300)
commit5261930a4d34c3cd4fdf31fc319e423958a875cc
treeac0ddbc1aebbd96d4e435c6c26bcc12b02e6ac00
parent4ef0b1ec340269010d1f080e55bd05271580ea37
net-mail/dovecot: fix userdb-passwd errno

In https://bugs.gentoo.org/667118 Reuben Farrelly
noticed that running
    # doveadm user '*'
causes auth daemon to generate errors like:
    auth-worker(3585): Error: getpwent() failed: Invalid argument

This happens because on successful call getpwent()
now sets errno=EINVAL starting from glibc-2.28.
See https://sourceware.org/PR16004 for details.

The fix is to check 'errno' only when 'getpwent()' fails.

Reported-by: Reuben Farrelly
Bug: https://bugs.gentoo.org/667118
Bug: https://sourceware.org/PR16004
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Eray Aslan <eras@gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
net-mail/dovecot/dovecot-2.3.3-r1.ebuild [new file with mode: 0644]
net-mail/dovecot/files/dovecot-userdb-passwd-fix.patch [new file with mode: 0644]