Страница 1 из 1

Плагин смены пароля для Roundcube

Добавлено: 2011-04-29 9:53:47
macgvai
Коллеги, возник небольшой вопрос
есть связка Exim+Vexim+Dovecot+Roundcube
возникла потребность сделать возможность смены пароля пользователем
прекрасно работает вариант когда пользователь под своим логином-паролем подключается к Vexim.
Но хотелось бы заставить работать plugin roundcubа password

плагин подключен и появился в настройках, но работать соответственно не хочет

Код: Выделить всё

tail -f /usr/local/www/roundcube/logs/errors
[29-Apr-2011 10:17:16] MDB2 Error: not found (-4): _doQuery: [Error message: Could not execute statement]
[Last executed query: SELECT update_passwd('$1$smFaiC^K$ch.lHH66y660w4lGRBLVK.', 'user@mail.domen.ru')]
[Native code: 1305]
[Native message: FUNCTION vexim.update_passwd does not exist]

[29-Apr-2011 10:17:16 +0400]: DB Error: MDB2 Error: not found Query: _doQuery: [Error message: Could not execute statement] [Last executed query: SELECT update_passwd('$1$smFaiC^K$ch.lHH66y660w4lGRBLVK.', 'user@mail.domen.ru')] [Native code: 1305] [Native message: FUNCTION vexim.update_passwd does not exist]  in /usr/local/www/roundcube/program/include/rcube_mdb2.php on line 642 (POST /webmail2/?_task=settings&_action=plugin.password-save?_task=&_action=)

Re: Плагин смены пароля для Roundcube

Добавлено: 2011-04-29 9:57:17
macgvai
Собственно вопрос в том как правильно обращаться к базе в которой хранятся пользователи созданные vexim

Re: Плагин смены пароля для Roundcube

Добавлено: 2011-04-29 10:15:48
macgvai
В базе vexim существуют 2 поля для пароля, один шифрованный и один plain text,
если менять только plain text поле , будет ли автоматически меняться поле к хешем ?

Re: Плагин смены пароля для Roundcube

Добавлено: 2011-04-30 0:03:23
ADRE
ну если из одной переменной берётся хеш, то будет, если каким-то другим способом, то нет.

Re: Плагин смены пароля для Roundcube

Добавлено: 2011-05-04 12:46:30
skeletor
macgvai писал(а):В базе vexim существуют 2 поля для пароля, один шифрованный и один plain text,
если менять только plain text поле , будет ли автоматически меняться поле к хешем ?
Нет

Re: Плагин смены пароля для Roundcube

Добавлено: 2011-05-13 16:32:19
akoli
тоже настраиваю этот плагин, и тоже такая же проблема...у меня только почтовик postfix ...надо плагин обучить писать новые пароли в базу postfix (exim), т.е. "танцевать" от параметра $rcmail_config['password_querry']

Re: Плагин смены пароля для Roundcube

Добавлено: 2011-05-14 11:50:07
akoli
Вроде заработало или как я всё это настроил...
У меня сервак c таким набором ПО: freebsd+postfix+postfixadmin+dovecot (cram-md5)+mysql+roundcube
итак создаём функцию на мускуле:
USE roundcube;
DELIMITER //
CREATE FUNCTION update_passwd (pwd varchar(100), usr varchar(100)) RETURNS INT
BEGIN
UPDATE postfix.mailbox SET password=pwd WHERE username=usr LIMIT 1;
RETURN ROW_COUNT();
END//
DELIMITER ;
наименования базы и полей указываем свои.
Вносим изменения в файл конфигурации плагина config.inc.php
$rcmail_config['password_driver'] = 'sql';
$rcmail_config['password_query'] = 'SELECT roundcube.update_passwd(%D, %u)';
$rcmail_config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw';
$rcmail_config['password_dovecotpw_method'] = 'CRAM-MD5';
$rcmail_config['password_dovecotpw_with_method'] = true;
$rcmail_config['password_hash_algorithm'] = 'md5';
$rcmail_config['password_hash_base64'] = false;
на этом всё, проверяем работу плагина, у меня всё заработало. Удачии...

Re: Плагин смены пароля для Roundcube

Добавлено: 2011-06-05 12:00:39
adanbaev
А как создать функцию на мускуле?

Re: Плагин смены пароля для Roundcube

Добавлено: 2011-06-05 14:51:43
adanbaev
Все разобрался :).

Плагин смены пароля для Roundcube

Добавлено: 2017-04-13 13:23:44
radiy77
akoli писал(а):Вроде заработало или как я всё это настроил...
У меня сервак c таким набором ПО: freebsd+postfix+postfixadmin+dovecot (cram-md5)+mysql+roundcube
итак создаём функцию на мускуле:
USE roundcube;
DELIMITER //
CREATE FUNCTION update_passwd (pwd varchar(100), usr varchar(100)) RETURNS INT
BEGIN
UPDATE postfix.mailbox SET password=pwd WHERE username=usr LIMIT 1;
RETURN ROW_COUNT();
END//
DELIMITER ;
наименования базы и полей указываем свои.
Вносим изменения в файл конфигурации плагина config.inc.php
$rcmail_config['password_driver'] = 'sql';
$rcmail_config['password_query'] = 'SELECT roundcube.update_passwd(%D, %u)';
$rcmail_config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw';
$rcmail_config['password_dovecotpw_method'] = 'CRAM-MD5';
$rcmail_config['password_dovecotpw_with_method'] = true;
$rcmail_config['password_hash_algorithm'] = 'md5';
$rcmail_config['password_hash_base64'] = false;
на этом всё, проверяем работу плагина, у меня всё заработало. Удачии...
Добрый день! Можете мне настроить и сколько это будет стоить?

Плагин смены пароля для Roundcube

Добавлено: 2017-10-04 15:26:20
paxom
Спасибо я уже не думал что заработает

Плагин смены пароля для Roundcube

Добавлено: 2017-10-04 15:36:58
paxom
Только как заставить его записывать в CRAM-MD5

Плагин смены пароля для Roundcube

Добавлено: 2020-05-22 3:04:00
paxom
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

недает добавить
Apache/2.4.41 (Ubuntu)
Версия клиента базы данных: libmysql - mysqlnd 7.4.3
PHP расширение: mysqliДокументация curlДокументация mbstringДокументация
Версия PHP: 7.4.3

Плагин смены пароля для Roundcube

Добавлено: 2020-05-22 3:25:28
paxom
Вот правка для новой версии mysql


mysql>

Код: Выделить всё

USE roundcube
Database changed
mysql>

Код: Выделить всё

CREATE FUNCTION update_passwd (pwd varchar(100), usr varchar(100)) RETURNS INT
               READS SQL DATA
               DETERMINISTIC
                BEGIN
                UPDATE postfix.mailbox SET password=pwd WHERE username=usr LIMIT 1;
                RETURN ROW_COUNT();
               END//