Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 245968

Summary: Enhancement request: Allow alternate hashes in CRYPT password encryption type
Product: [Retired] 389 Reporter: Persona non grata <nobody+214743>
Component: Security - Password PolicyAssignee: Rich Megginson <rmeggins>
Status: CLOSED DEFERRED QA Contact: Ben Levenson <benl>
Severity: low Docs Contact:
Priority: medium    
Version: 1.0.4CC: lancez, nhosoi
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 22:35:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 495079, 512820, 690319    

Description Persona non grata 2007-06-27 18:06:08 UTC
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.

Comment 4 Martin Kosek 2012-01-04 13:46:44 UTC
Upstream ticket:
https://fedorahosted.org/389/ticket/131

Comment 5 Yap Chung Lam 2013-08-02 07:23:07 UTC
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.

Comment 7 Noriko Hosoi 2015-11-19 22:35:34 UTC
Closing this bug since we moved to the ticket system:
https://fedorahosted.org/389/ticket/131