On 18/01/2014 11:59, da-roundecubelist-19@abelonline.de wrote:
I can't get the password plugin to work. When I enter the new password I only get the message "Could not save new password."
I am using the sql driver with a postgresql db and the doveadm tool.
The problem is that I can't find any explanation anywhere. I checked all logs in /var/log/roundcube/. I tried debug_level 1, 2, 4 and 8 and also password_log in the password plugin configuration. I also tried the SQL UPDATE manually and it works.
Here are the relevant lines of /etc/roundcube/plugins/password/config.inc.php: $rcmail_config['password_driver'] = 'sql'; $rcmail_config['password_confirm_current'] = false; $rcmail_config['password_minimum_length'] = 4; $rcmail_config['password_require_nonalpha'] = false; $rcmail_config['password_log'] = true; $rcmail_config['password_db_dsn'] = 'pgsql://mailpasswordchanger:thepassword@localhost/mailserver'; $rcmail_config['password_query'] = 'UPDATE virtual_users SET password='%D' WHERE local='%l' AND domain='%d';';; $rcmail_config['password_idn_ascii'] = false; $rcmail_config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; $rcmail_config['password_dovecotpw_method'] = 'SHA512-CRYPT'; $rcmail_config['password_dovecotpw_with_method'] = true;
It's a debian server with roundcube-0.7.2-9+deb7u1 and dovecot-2.1.7-7
Any idea where I could find some hints?
One of the issue I came across when I upgraded dovecot to 2.x was that the dovecotpw command didn't exist.
For a while I kept patching the plugin file to use "doveadm pw" but then I decided to create the dovecotpw file with my own wrapper script to do the job.
Check if /usr/local/sbin/dovecotpw exists, if it doesn't try using the below code as that file, it will need to be executable too ( chmod a+x )
--- BEGIN CODE --- #!/bin/bash
# This will log arguments passed to the script if uncommented # WARNING it will log plain text passwords. # echo "$*" >> /tmp/dovecotpw
doveadm pw "$*" --- END CODE ---
The problem is that the roundcube plugin calls "dovecotpw $ARGS" but dovecot requires you to call "doveadm pw $ARGS" now.
Steve.