Bug 245968 - Enhancement request: Allow alternate hashes in CRYPT password encryption type
Enhancement request: Allow alternate hashes in CRYPT password encryption type
Product: 389
Classification: Community
Component: Security - Password Policy (Show other bugs)
All Linux
medium Severity low
: ---
: ---
Assigned To: Rich Megginson
Ben Levenson
Depends On:
Blocks: 389_1.3.0 512820 690319
  Show dependency treegraph
Reported: 2007-06-27 14:06 EDT by Alan Hagge
Modified: 2015-11-19 17:35 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-11-19 17:35:34 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Alan Hagge 2007-06-27 14:06:08 EDT
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 08:46:44 EST
Upstream ticket:
Comment 5 Yap Chung Lam 2013-08-02 03:23:07 EDT
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);
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 17:35:34 EST
Closing this bug since we moved to the ticket system:

Note You need to log in before you can comment on or make changes to this bug.