Aleksander Machniak
2016-05-20 9e64dc2debfa1c7410f82bf71f4d10856751e258
plugins/password/README
@@ -1,26 +1,24 @@
 -----------------------------------------------------------------------
 Password Plugin for Roundcube
 -----------------------------------------------------------------------
 Plugin that adds a possibility to change user password using many
 methods (drivers) via Settings/Password tab.
 -----------------------------------------------------------------------
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License version 2
 as published by the Free Software Foundation.
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 GNU General Public License for more details.
 You should have received a copy of the GNU General Public License along
 with this program; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 You should have received a copy of the GNU General Public License
 along with this program. If not, see http://www.gnu.org/licenses/.
 @version @package_version@
 @author Aleksander 'A.L.E.C' Machniak <alec@alec.pl>
 @author Aleksander Machniak <alec@alec.pl>
 @author <see driver files for driver authors>
 -----------------------------------------------------------------------
@@ -44,7 +42,11 @@
 2.16. DBMail (dbmail)
 2.17. Expect (expect)
 2.18. Samba (smb)
 2.19. Vpopmail daemon (vpopmaild)
 2.20. Plesk (Plesk RPC-API)
 2.21. Kpasswd
 3. Driver API
 4. Sudo setup
 1. Configuration
@@ -248,7 +250,7 @@
 This driver is fully compatible with the ldap driver, but
 does not require (or uses) the
    $rcmail_config['password_ldap_force_replace'] variable.
    $config['password_ldap_force_replace'] variable.
 Other advantages:
    * Connects only once with the LDAP server when using the search user.
    * Does not read the DN, but only replaces the password within (that is
@@ -302,12 +304,62 @@
 See config.inc.php.dist file for configuration description.
 2.19. Vpopmail daemon (vpopmaild)
 -----------------------------------
 Driver for the daemon of vpopmail. Vpopmail is used with qmail to
 enable virtual users that are saved in a database and not in /etc/passwd.
 Set $config['password_vpopmaild_host'] to the host where vpopmaild runs.
 Set $config['password_vpopmaild_port'] to the port of vpopmaild.
 Set $config['password_vpopmaild_timeout'] to the timeout used for the TCP
 connection to vpopmaild (You may want to set it higher on busy servers).
 2.20. Plesk (Plesk RPC-API)
 ---------------------------
 Driver for changing Passwords via Plesk RPC-API. This Driver also works with
 Parallels Plesk Automation (PPA).
 You need to allow the IP of the Roundcube-Server for RPC-Calls in the Panel.
 Set $config['password_plesk_host'] to the Hostname / IP where Plesk runs
 Set your Admin or RPC User: $config['password_plesk_user']
 Set the Password of the User: $config['password_plesk_pass']
 Set $config['password_plesk_rpc_port']  for the RPC-Port. Usually its 8443
 Set the RPC-Path in $config['password_plesk_rpc_path']. Normally this is: enterprise/control/agent.php.
 2.21.  Kpasswd
 -----------------------------------
 Driver to change the password in Kerberos environments via the 'kpasswd' command.
 See config.inc.php.dist file for configuration description.
 3. Driver API
 -------------
 Driver file (<driver_name>.php) must define 'password_save' function with
 two arguments. First - current password, second - new password. Function
 should return PASSWORD_SUCCESS on success or any of PASSWORD_CONNECT_ERROR,
 Driver file (<driver_name>.php) must define rcube_<driver_name>_password class
 with public save() method that has two arguments. First - current password, second - new password.
 This method should return PASSWORD_SUCCESS on success or any of PASSWORD_CONNECT_ERROR,
 PASSWORD_CRYPT_ERROR, PASSWORD_ERROR when driver was unable to change password.
 Extended result (as a hash-array with 'message' and 'code' items) can be returned
 too. See existing drivers in drivers/ directory for examples.
 4. Sudo setup
 -------------
 Some drivers that execute system commands (like chpasswd) require use of sudo command.
 Here's a sample for CentOS 7:
 # cat <<END >/etc/sudoers.d/99-roundcubemail
 apache ALL=NOPASSWD:/usr/sbin/chpasswd
 Defaults:apache !requiretty
 <<END
 Note: on different systems the username (here 'apache') may be different, e.g. www.
 Note: on some systems the disabling tty line may not be needed.