Home | History | Annotate | Download | only in libcrypt
History log of /src/lib/libcrypt/crypt.c
RevisionDateAuthorComments
 1.41  23-Jul-2024  riastradh libcrypt: Nix trailing whitespace.

No functional change intended.

Prompted by tying up loose ends around PR lib/57895.
 1.40  14-Aug-2023  rin libcrypt: trailing white space
 1.39  24-Jun-2023  msaitoh Fix typo in comment.
 1.38  22-Feb-2020  kamil Avoid undefined behavior in left shift

crypt.c:772:11, left shift of 1363235140 by 1 places cannot be represented
in type 'int32_t' (aka 'int')
 1.37  22-Feb-2020  kamil Avoid undefined behavior in bit shift operations

crypt.c:839:40, left shift of negative value -1197182952
crypt.c:840:40, left shift of negative value -264997776
 1.36  21-Oct-2019  jhigh adding argon2 support to libcrypt. argon2 user authentication now
available via MKARGON2=yes (3 variants supported; argon2id recommended)
before using, please read argon2 paper at
https://github.com/P-H-C/phc-winner-argon2
 1.35  05-Oct-2019  jhigh adding full scheme comparison to libcrypt:crypt and pwhash tests
 1.34  17-Jun-2015  christos branches: 1.34.16;
fix error messages
 1.33  28-Dec-2011  christos make __crypt static
 1.32  27-Dec-2011  christos wrap crypt() to a function that returns *0 and *1 on error.
 1.31  27-Dec-2011  christos perform the check for all salts > 2.
 1.30  26-Dec-2011  christos Provide a safer salting method that does not turn invalid salts to '.'.
Be more sensitive to bad salts and counts. From:
http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/glibc/crypt_freesec.c
From Solar Designer
 1.29  26-Dec-2011  christos avoid accessing array over its bound, from Solar Designer
 1.28  01-May-2009  perry branches: 1.28.6;
ANSI function prototypes
 1.27  01-May-2009  perry de-__P
 1.26  17-Jan-2007  hubertf branches: 1.26.20;
Remove more duplicate #includes, and a few spurious whitespaces at EOL
From Slava Semushin <slava.semushin@gmail.com>
 1.25  25-Nov-2006  freza Constify prtab() argument, fixes MKDEBUGLIB build.
 1.24  27-Oct-2006  drochner gently add some "const", and avoid some casts
compiles with WARNS=4 now (on i386 and alpha)
 1.23  08-Apr-2006  christos Need stdio.h if debug.
 1.22  02-Jul-2004  sjg Add support for SHA1 hashed passwords.
The algorithm used is essentially PBKDF1 from RFC 2898 but using
hmac_sha1 rather than SHA1 directly (suggested by smb@research.att.com).

* The format of the encrypted password is:
* $<tag>$<iterations>$<salt>$<digest>
*
* where:
* <tag> is "sha1"
* <iterations> is an unsigned int identifying how many rounds
* have been applied to <digest>. The number
* should vary slightly for each password to make
* it harder to generate a dictionary of
* pre-computed hashes. See crypt_sha1_iterations.
* <salt> up to 64 bytes of random data, 8 bytes is
* currently considered more than enough.
* <digest> the hashed password.

hmac.c implementes HMAC as defined in RFC 2104 and includes a unit
test for both hmac_sha1 and hmac_sha1 using a selection of the Known
Answer Tests from RFC 2202.

It is worth noting that to be FIPS compliant the hmac key (password)
should be 10-20 chars.
 1.21  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.20  06-Aug-2003  jdolecek make the read-only arrays const
 1.19  24-May-2002  itojun support bcrypt password. can be chosen by "blowfish" keyword in passwd.conf.
from openbsd
 1.18  01-Mar-2001  wiz branches: 1.18.2;
Four casts for lint.
 1.17  05-Jan-2001  christos fix nested extern declaration.
 1.16  06-Jul-2000  ad Handle non-DES encrypted passwords; currently only MD5.
 1.15  16-Jun-2000  thorpej branches: 1.15.2;
Enable decryption in crypt(), from cryptosrc-intl, and lift the updated
manual page (which describes decryption) from cryptosrc-us.
 1.14  13-Mar-2000  soren branches: 1.14.2;
Fix doubled 'the's.
 1.13  20-Oct-1998  matt vax -> __vax__
 1.12  01-Jun-1998  kleink Need <stdlib.h> for setkey() prototype.
 1.11  04-Feb-1998  mikel don't kill 'register' in comments!
 1.10  03-Feb-1998  perry remove obsolete register declarations
 1.9  04-Nov-1997  cgd specify array sizes in init_perm prototype. One of the array specifications
was "C_block [][]", which isn't valid (or sensible!) C (only the last
dimension may be omitted). However, all of the dimensions are known
so they might as well be specified.
 1.8  10-Oct-1997  mikel branches: 1.8.2;
don't let prototypes disappear if LARGEDATA is defined
 1.7  09-Oct-1997  lukem rcsid police, deprecate some use of register
 1.6  02-Jul-1997  mikel add explicit return types and braces for gcc -Wall, some minor KNF
existing differences between exportable and domestic versions were
preserved.
 1.5  19-Feb-1995  cgd use the (broken) crypt.c from the 4.4BSD-Lite Foreign distribution, that
can encrypt passwords but _cannot_ decrypt anything. "real" (i.e. two-way,
unbroken) crypt() now lives in /usr/src/domestic.
 1.4  20-Dec-1994  cgd type sanity
 1.3  19-Oct-1994  cgd cast for quiet.
 1.2  01-Aug-1993  mycroft Add RCS identifiers.
 1.1  26-Apr-1993  cgd made libcrypt, so exportable vs. non-exportable packages can be
handled easliy.
 1.8.2.1  04-Nov-1997  mellon Pull rev 1.9 up from trunk (cgd)
 1.14.2.1  23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.15.2.1  22-Jan-2002  he Pull up revisions 1.16-1.17 (requested by jonathan):
Add support for MD5-hashed passwords.
 1.18.2.1  26-Mar-2004  jmc Pullup rev 1.19-1.21 (requested by provos in ticket #1386)

Introduce bcrypt password scheme. Adds the arc4random API for creating
cryptographically strong random numbers.
 1.26.20.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.28.6.1  17-Apr-2012  yamt sync with head
 1.34.16.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.34.16.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed