SASL authentication failure: could not verify password
Для исправления ошибки надо подготовить патч для файла lib/checkpw.c:
--- lib/checkpw.c Sat Jan 28 03:31:36 2012
+++ lib/checkpw.c Thu Mar 5 18:49:35 2015
@@ -587,16 +587,14 @@
/* Timeout. */
errno = ETIMEDOUT;
return -1;
- case +1:
- if (FD_ISSET(fd, &rfds)) {
- /* Success, file descriptor is readable. */
- return 0;
- }
- return -1;
case -1:
if (errno == EINTR || errno == EAGAIN)
continue;
default:
+ if (FD_ISSET(fd, &rfds)) {
+ /* Success, file descriptor is readable. */
+ return 0;
+ }
/* Error catch-all. */
return -1;
}
Для этого надо установить из портов пакет cyrus-sasl2, отредактировать файл, сделать патч, перекомпилить пакет с патчем:
cd /usr/ports/security/cyrus-sasl2 make install cd /usr/ports/pobj/cyrus-sasl-2.1.26/cyrus-sasl-2.1.26 cp lib/checkpw.c lib/checkpw.c.new # руками редактируем файл nano lib/checkpw.c.new # делаем патч diff -u lib/checkpw.c lib/checkpw.c.new > fix.patch mv fix.patch /usr/ports/security/cyrus-sasl2/patches/patch-lib_checkpw_c cd /usr/ports/security/cyrus-sasl2 make clean=dist make clean=packages make install
После этого надо переустановить postfix из портов:
cd /usr/ports/mail/postfix/snapshot env FLAVOR="mysql sasl2" make install # рестартануть сервисы /etc/rc.d/saslauthd restart && /etc/rc.d/postfix restart
Янчарук А.В.
05.03.2015 19:11