LINUX.ORG.RU

Произошла ошибка : Не могу сохранить новый пароль. Roundcube

 


0

1

Имеется roundcube + dovecot + exim roindcube привязан к ISPmanager Поставил плагин для roundcube для смены пароля пользователем (password), но при смене пароля выдает ошибку «Произошла ошибка : Не могу сохранить новый пароль.» Может кто настраивал данный плагин ? в логах apache и nginx ничего нету.

Ответ на: комментарий от false

<p1doo8fl> DB Error: [1305] FUNCTION roundcube.update_passwd does not exist (SQL Query: SELECT update_passwd('$1$HdBWVbou$AOhXaoLwGGFKyDbHm8Na40', 'testuser1@mail.net')) in /usr/share/roundcubemail/program/lib/Roundcube/rcube_db.php on line 543 (POST /roundcube/?_task=settings&_action=plugin.password-save?_task=&_action=) нашел лог, выдает вот что

Slavniypesya
() автор топика
Ответ на: комментарий от leave

Я нашел этот файл, но меня смущает строка $config['password_query'] = 'SELECT update_passwd(%c, %u)'; где описывается сам запрос , я бы хотел посмотреть на него и отредактировать ?

Slavniypesya
() автор топика
Ответ на: комментарий от leave

Дело в том что я так и сделал как написано в файле README , но оно не работает, у меня нет функции roundcube.update_passwd, у меня вообще нету паролей в базе данных roundcube , они там как то хэшами записаны

Slavniypesya
() автор топика
Ответ на: комментарий от Slavniypesya

Да ты, верно, издеваешься. Открываем README и читаем:

Example implementations of an update_passwd function:

- This is for use with a SELECT update_passwd(%o,%c,%u) query

Updates the password only when the old password matches the MD5 password in the database

    CREATE FUNCTION update_password (oldpass text, cryptpass text, user text) RETURNS text
        MODIFIES SQL DATA
    BEGIN
        DECLARE currentsalt varchar(20);
        DECLARE error text;
        SET error = 'incorrect current password';
        SELECT substring_index(substr(user.password,4),_latin1'$',1) INTO currentsalt FROM users WHERE username=user;
        SELECT '' INTO error FROM users WHERE username=user AND password=ENCRYPT(oldpass,currentsalt);
        UPDATE users SET password=cryptpass WHERE username=user AND password=ENCRYPT(oldpass,currentsalt);
        RETURN error;
    END

Example SQL UPDATEs:

- Crypt text passwords:

    UPDATE users SET password=%c WHERE username=%u LIMIT 1
- Use a MYSQL crypt function (*nix only) with random 8 character salt
    UPDATE users SET password=ENCRYPT(%p,concat(_utf8'$1$',right(md5(rand()),8),_utf8'$')) WHERE username=%u LIMIT 1
- MD5 stored passwords:
    UPDATE users SET password=MD5(%p) WHERE username=%u AND password=MD5(%o) LIMIT 1

Но знаешь, что самое смешное? Я на 100% уверен, что тебе это не поможет, потому что вместо чтения мануалов по настройке почты ты накликал в ispmgr. Даю подсказку: в дефолтной isp'шной связке postfix+dovecot пароль почтового пользователя вообще не в базе меняется.

leave ★★★★★
()
Последнее исправление: leave (всего исправлений: 1)
Ответ на: комментарий от leave

Да, я уже понял что не меняется, испа стояла изначально, я ее не ставил, вот меня и интересует вопрос как сделать смену пароля пользователю при этой связке isp + postfix + dovecot, как и куда он сохраняет пароли в этом случае ? Я не ставил данную систему если что, по этому и спрашиваю где и что . Но тут вы скорее всего правы " в дефолтной isp'шной связке postfix+dovecot пароль почтового пользователя вообще не в базе меняется."

Slavniypesya
() автор топика
Ответ на: комментарий от Slavniypesya

Поменяешь. Прочитай еще раз README, о котором столько говорилось уже. Пункт 2.11.

И учти, что я по памяти пишу, и что человек, который сетапил этот хост, мог настроить хоть через лдап, поэтому от греха подальше сверься все же с конфигами postfix и dovecot.

leave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.