Home | History | Annotate | Download | only in libcrypt
History log of /src/lib/libcrypt/bcrypt.c
RevisionDateAuthorComments
 1.22  16-Oct-2021  nia libcrypt: Hide more private symbols by default. Fix style.
 1.21  25-Mar-2020  christos Revert putting a $ as the final character for blowfish. It is not required by
MCF and we want to be compatible.
 1.20  25-Mar-2020  christos Add missing trailing $ for blowfish
 1.19  28-Aug-2013  riastradh Publish explicit_memset and consttime_memequal in userland libc.

Remove the double-underscore from the userland versions, and do the
weak alias dance instead, now that these are public parts of libc.

As discussed on tech-userlevel:

https://mail-index.netbsd.org/tech-userlevel/2013/06/24/msg007843.html
(option 3)
 1.18  24-Jun-2013  riastradh Replace consttime_bcmp/explicit_bzero by consttime_memequal/explicit_memset.

consttime_memequal is the same as the old consttime_bcmp.
explicit_memset is to memset as explicit_bzero was to bcmp.

Passes amd64 release and i386/ALL, but I'm sure I missed some spots,
so please let me know.
 1.17  30-Aug-2012  drochner branches: 1.17.2;
Add "consttime_bcmp" and "explicit_bzero" functions for both kernel
abd userland, as proposed on tech-security, with explicit_bzero using
a volatile function pointer as suggested by Alan Barrett.
Both do what the name says. For userland, both are prefixed by "__"
to keep them out of the user namespace.
Change some memset/memcmp uses to the new functions where it makes
sense -- these are just some examples, more to come.
 1.16  21-Mar-2012  matt Use C89 functions definitions.
Remove use of __P
 1.15  28-Dec-2011  christos clamp length to 72 (73) characters.
 1.14  27-Dec-2011  christos - go back to returning NULL, we are going to wrap crypt instead.
- limit length of key to 253 to prevent truncation.
 1.13  27-Dec-2011  christos we want to check against "*0" not "*\0"
 1.12  27-Dec-2011  christos Instead of returning ":" on error, return "*0" or "*1" which will always result
in logged password entries, even if the calling program decides to blindly
use them. Discussed in: http://www.openwall.com/lists/oss-security/2011/11/15/3
 1.11  26-Dec-2011  christos Return ":1" on error instead of ":", so that sloppy password creation programs
don't end up confusing libc or the other way around. From Solar Designer
 1.10  16-May-2011  drochner branches: 1.10.4;
-fix maximum length of salt (missing prefix, rounding error)
-clip number of rounds at 31 -- this is log2 of the real number,
and anything larger would break exponentation
-catch possible atoi() error where log2(rounds) is parsed in the
salt prefix
-zero crypto state on exit
from Open/FreeBSD
 1.9  27-Oct-2006  drochner gently add some "const", and avoid some casts
compiles with WARNS=4 now (on i386 and alpha)
 1.8  24-Oct-2006  mlelstv don't segfault on NULL pointer if number of rounds is
not specified in passwd.conf.
 1.7  12-Jan-2005  christos fix compile issue and de-lint
 1.6  12-Jan-2005  christos - change the gensalt functions to take an optional string instead of
the number of rounds.
- make pw_gensalt() more generic, so that it does not depend in libutil.
 1.5  11-Jan-2005  christos add local prototype for old salt function
 1.4  11-Jan-2005  christos Write __gensalt_blowfish function that does not use static storage and
can return an error. Make the old bcrypt_gensalt() function use that.
XXX: should gc bcrypt_gensalt(). What uses it?
 1.3  06-Aug-2003  jdolecek branches: 1.3.2;
add __RCSID()
 1.2  17-Apr-2003  thorpej hrink the Blowfish routines down to only what we need for __bcrypt(),
and don't export any of the Blowfish functionality outside bcrypt.c.
 1.1  24-May-2002  itojun support bcrypt password. can be chosen by "blowfish" keyword in passwd.conf.
from openbsd
 1.3.2.2  26-Mar-2004  jmc Pullup rev 1.1-1.3 (requested by provos in ticket #1386)

Introduce bcrypt password scheme. Adds the arc4random API for creating
cryptographically strong random numbers.
 1.3.2.1  06-Aug-2003  jmc file bcrypt.c was added on branch netbsd-1-6 on 2004-03-26 22:52:58 +0000
 1.10.4.3  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10.4.2  30-Oct-2012  yamt sync with head
 1.10.4.1  17-Apr-2012  yamt sync with head
 1.17.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.

RSS XML Feed