Description of problem: Directory server currently supports a number of password encryption types, including SSHA, CRYPT, MD5, SHA256, etc. Some older Unix versions (Irix, in my case) support LDAP, but don't support anything other than CRYPT as the encryption type. However, Irix WILL support CRYPT with more secure hashes than DES (for example, MD5). We need a way to specify alternate hashes for CRYPT encryption type, preferably with a user-selectable "md5crypt" type in the "Password encryption:" dialog within the Fedora Management Console. Version-Release number of selected component (if applicable): Tested on FDS 1.0.4. How reproducible: Steps to Reproduce: 1. Create an LDAP user account using SSHA password encryption. 2. Try to log in on a properly configured Irix workstation using this account. Note that it fails. 3. Change the password encryption to CRYPT. The login will succeed. 4. Use a utility like phpLDAPAdmin to change the password encryption to "md5crypt" (ie CRYPT with an md5 hash). The login will still succeed. Actual results: See above. Expected results: N/A - request for enhancement. Additional info: Apparently Sun implemented this by adding an optional parameter passed to its crypt password storage scheme plugin (see http://docs.sun.com/app/docs/doc/820-0376/6nc4cgnh4?a=view , topic 6557410). While this would work with FDS, it would require hand-editing the dse.ldif file, which I'm sure would be a bad thing. Hopefully it can be implemented poperly with one or more new Password Storage Scheme dns. OpenLDAP implemented this via a parameter, password-crypt-salt-format in slapd.conf.
Upstream ticket: https://fedorahosted.org/389/ticket/131
I need this feature too, to support solaris login without needing to modify any default settings. Without this support, the {CRYPT} password is limited to a maximum of 8 characters. Here's my workaround, (not really sure if it will break anything) - Get the 389-ds source code. - Edit the file crypt_pwd.c under ldap/servers/plugins/pwdstorage - in the function crypt_pw_enc char *cry, salt[8],md5_salt[12]="$1$"; ... ... slapi_rand_array( (void *)salt, 8); strcat(md5_salt,salt); cry = crypt(pwd,md5_salt); ... Compile the 389-ds source and copy .libs/libpwdstorage-plugin.so to /usr/lib64/dirsrv/plugins/libpwdstorage-plugin.so The password generated will be "md5-crypt", which solaris and irix should understand.
Closing this bug since we moved to the ticket system: https://fedorahosted.org/389/ticket/131