RU EN

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


Оставить комментарий


Имя  


Комментарий *