| | |
| | | with this program; if not, write to the Free Software Foundation, Inc., |
| | | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | |
| | | @version 1.2 |
| | | @version @package_version@ |
| | | @author Aleksander 'A.L.E.C' Machniak <alec@alec.pl> |
| | | @author <see driver files for driver authors> |
| | | ----------------------------------------------------------------------- |
| | | |
| | | 1. Configuration |
| | | 2. Drivers |
| | | 2.1. Database (sql) |
| | | 2.2. Cyrus/SASL (sasl) |
| | | 2.3. Poppassd/Courierpassd (poppassd) |
| | | 2.4. LDAP (ldap) |
| | | 2.5. DirectAdmin Control Panel |
| | | 2.6. cPanel |
| | | 2.7. XIMSS (Communigate) |
| | | 2.1. Database (sql) |
| | | 2.2. Cyrus/SASL (sasl) |
| | | 2.3. Poppassd/Courierpassd (poppassd) |
| | | 2.4. LDAP (ldap) |
| | | 2.5. DirectAdmin Control Panel (directadmin) |
| | | 2.6. cPanel (cpanel) |
| | | 2.7. XIMSS/Communigate (ximms) |
| | | 2.8. Virtualmin (virtualmin) |
| | | 2.9. hMailServer (hmail) |
| | | 2.10. PAM (pam) |
| | | 2.11. Chpasswd (chpasswd) |
| | | 2.12. LDAP - no PEAR (ldap_simple) |
| | | 2.13. XMail (xmail) |
| | | 2.14. Pw (pw_usermod) |
| | | 2.15. domainFACTORY (domainfactory) |
| | | 2.16. DBMail (dbmail) |
| | | 2.17. Expect (expect) |
| | | 2.18. Samba (smb) |
| | | 3. Driver API |
| | | |
| | | |
| | |
| | | ------------------- |
| | | |
| | | You can specify which database to connect by 'password_db_dsn' option and |
| | | what SQL query to execute by 'password_query'. See main.inc.php file for |
| | | what SQL query to execute by 'password_query'. See main.inc.php.dist file for |
| | | more info. |
| | | |
| | | Example implementations of an update_passwd function: |
| | |
| | | 2.2. Cyrus/SASL (sasl) |
| | | ---------------------- |
| | | |
| | | Cyrus SASL database authentication allows your Cyrus+RoundCube |
| | | Cyrus SASL database authentication allows your Cyrus+Roundcube |
| | | installation to host mail users without requiring a Unix Shell account! |
| | | |
| | | This driver only covers the "sasldb" case when using Cyrus SASL. Kerberos |
| | |
| | | |
| | | Installation: |
| | | |
| | | Change into the drivers directory. Edit the chgsaslpasswd.c file as is |
| | | Change into the helpers directory. Edit the chgsaslpasswd.c file as is |
| | | documented within it. |
| | | |
| | | Compile the wrapper program: |
| | |
| | | ------------------------------------- |
| | | |
| | | You can specify which host to connect to via 'password_pop_host' and |
| | | what port via 'password_pop_port'. See config.inc.php file for more info. |
| | | what port via 'password_pop_port'. See config.inc.php.dist file for more info. |
| | | |
| | | |
| | | 2.4. LDAP (ldap) |
| | | ---------------- |
| | | |
| | | See config.inc.php file. Requires PEAR::Net_LDAP2 package. |
| | | See config.inc.php.dist file. Requires PEAR::Net_LDAP2 package. |
| | | |
| | | |
| | | 2.5. DirectAdmin Control Panel |
| | | ------------------------------------- |
| | | 2.5. DirectAdmin Control Panel (directadmin) |
| | | -------------------------------------------- |
| | | |
| | | You can specify which host to connect to via 'password_directadmin_host' |
| | | and what port via 'password_direactadmin_port'. See config.inc.php file |
| | | for more info. |
| | | You can specify which host to connect to via 'password_directadmin_host' (don't |
| | | forget to use tcp:// or ssl://) and what port via 'password_direactadmin_port'. |
| | | The password enforcement with plenty customization can be done directly by |
| | | DirectAdmin, please see http://www.directadmin.com/features.php?id=910 |
| | | See config.inc.php.dist file for more info. |
| | | |
| | | |
| | | 2.6. cPanel |
| | | ----------- |
| | | 2.6. cPanel (cpanel) |
| | | -------------------- |
| | | |
| | | You can specify parameters for HTTP connection to cPanel's admin |
| | | interface. See config.inc.php file for more info. |
| | | interface. See config.inc.php.dist file for more info. |
| | | |
| | | |
| | | 2.7. XIMSS (Communigate) |
| | | ------------------------------------- |
| | | 2.7. XIMSS/Communigate (ximms) |
| | | ------------------------------ |
| | | |
| | | You can specify which host and port to connect to via 'password_ximss_host' |
| | | and 'password_ximss_port'. See config.inc.php file for more info. |
| | | and 'password_ximss_port'. See config.inc.php.dist file for more info. |
| | | |
| | | |
| | | 2.8. Virtualmin (virtualmin) |
| | | ---------------------------- |
| | | |
| | | As in sasl driver this one allows to change password using shell |
| | | utility called "virtualmin". See helpers/chgvirtualminpasswd.c for |
| | | installation instructions. See also config.inc.php.dist file. |
| | | |
| | | |
| | | 2.9. hMailServer (hmail) |
| | | ------------------------ |
| | | |
| | | Requires PHP COM (Windows only). For access to hMail server on remote host |
| | | you'll need to define 'hmailserver_remote_dcom' and 'hmailserver_server'. |
| | | See config.inc.php.dist file for more info. |
| | | |
| | | |
| | | 2.10. PAM (pam) |
| | | --------------- |
| | | |
| | | This driver is for changing passwords of shell users authenticated with PAM. |
| | | Requires PECL's PAM exitension to be installed (http://pecl.php.net/package/PAM). |
| | | |
| | | |
| | | 2.11. Chpasswd (chpasswd) |
| | | ------------------------- |
| | | |
| | | Driver that adds functionality to change the systems user password via |
| | | the 'chpasswd' command. See config.inc.php.dist file. |
| | | |
| | | Attached wrapper script (helpers/chpass-wrapper.py) restricts password changes |
| | | to uids >= 1000 and can deny requests based on a blacklist. |
| | | |
| | | |
| | | 2.12. LDAP - no PEAR (ldap_simple) |
| | | ----------------------------------- |
| | | |
| | | It's rewritten ldap driver that doesn't require the Net_LDAP2 PEAR extension. |
| | | It uses directly PHP's ldap module functions instead (as Roundcube does). |
| | | |
| | | This driver is fully compatible with the ldap driver, but |
| | | does not require (or uses) the |
| | | $rcmail_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 |
| | | why the 'force replace' is always used). |
| | | |
| | | |
| | | 2.13. XMail (xmail) |
| | | ----------------------------------- |
| | | |
| | | Driver for XMail (www.xmailserver.org). See config.inc.php.dist file |
| | | for configuration description. |
| | | |
| | | |
| | | 2.14. Pw (pw_usermod) |
| | | ----------------------------------- |
| | | |
| | | Driver to change the systems user password via the 'pw usermod' command. |
| | | See config.inc.php.dist file for configuration description. |
| | | |
| | | |
| | | 2.15. domainFACTORY (domainfactory) |
| | | ----------------------------------- |
| | | |
| | | Driver for the hosting provider domainFACTORY (www.df.eu). |
| | | No configuration options. |
| | | |
| | | |
| | | 2.16. DBMail (dbmail) |
| | | ----------------------------------- |
| | | |
| | | Driver that adds functionality to change the users DBMail password. |
| | | It only works with dbmail-users on the same host where Roundcube runs |
| | | and requires shell access and gcc in order to compile the binary |
| | | (see instructions in chgdbmailusers.c file). |
| | | See config.inc.php.dist file for configuration description. |
| | | |
| | | Note: DBMail users can also use sql driver. |
| | | |
| | | |
| | | 2.17. Expect (expect) |
| | | ----------------------------------- |
| | | |
| | | Driver to change user password via the 'expect' command. |
| | | See config.inc.php.dist file for configuration description. |
| | | |
| | | |
| | | 2.18. Samba (smb) |
| | | ----------------------------------- |
| | | |
| | | Driver to change Samba user password via the 'smbpasswd' 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 |
| | | may return PASSWORD_SUCCESS on success or any of PASSWORD_CONNECT_ERROR, |
| | | should return PASSWORD_SUCCESS on success or any of PASSWORD_CONNECT_ERROR, |
| | | PASSWORD_CRYPT_ERROR, PASSWORD_ERROR when driver was unable to change password. |
| | | See existing drivers in drivers/ directory for examples. |
| | | Extended result (as a hash-array with 'message' and 'code' items) can be returned |
| | | too. See existing drivers in drivers/ directory for examples. |