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

No functional change intended.

Prompted by tying up loose ends around PR lib/57895.
 1.21  23-Jul-2024  riastradh libcrypt/crypt-argon2.c: Add RCS id.

Noted in PR lib/57895.
 1.20  09-Mar-2024  mlelstv branches: 1.20.2;
Don't use uninitialized variable.
Fixes PR 57895.
 1.19  29-May-2022  martin branches: 1.19.2;
Make it compile again
 1.18  29-May-2022  abs Avoid null SEGV if libargon passed string with too few $

Seen on netbsd-9 built xscreensaver running on a current system.
Whatever triggered this should also be fixed, but in the meantime
we can improve the behaviour from "Segmentation Fault"
 1.17  29-May-2022  abs Free strdup'd value in libargon decode_option error paths

If its worth freeing in the success path, its worth freeing in the
error path... (given we don't _exit or similar)
 1.16  13-Feb-2022  christos remove dup assignments (RVP)
 1.15  22-Nov-2021  nia crypt(3): document some of the memory units we're dealing with
 1.14  20-Oct-2021  nia Be a little bit more eager to let Argon2 use memory.
 1.13  20-Oct-2021  nia crypt(3): For argon2, default to time=3.

Good enough for a 50MHz SPARC, a shark, and the spec.
 1.12  20-Oct-2021  nia crypt(3): return 0 -> return NULL for function returning char *
 1.11  20-Oct-2021  nia crypt(3): Adapt default Argon2 parameters to system performance

If the parameters are unspecified:

- Set the default memory consumption based on the amount of memory
available to userspace.

The algorithm actually slows down incredibly quickly as the "memory"
parameter is increased. We want to avoid running out of memory on low
memory systems, but increase the difficulty of bruteforcing passwords
from systems with a lot of memory. At the same time, we want to avoid
problems when concurrent logins are happening.

- Run a hashing loop for one second with steadily increasing "time"
until we settle on a value for "time". We want to use as much CPU time
as reasonable for computing the password hash without making logins
inconvenient.
 1.10  16-Oct-2021  nia libcrypt: Hide more private symbols by default. Fix style.
 1.9  12-Oct-2021  jhigh added missing copyright header. pointed out by nia. no functional change
 1.8  12-Oct-2021  nia crypt(3): clean up some leftover debug goo
 1.7  12-Oct-2021  nia crypt(3): match the Argon2 reference implementation's Base64 exactly

There are too many minor variations regarding padding and exact alphabet
to safely use the implementation in libc or an existing implementation
in libcrypt.
 1.6  12-Oct-2021  nia crypt(3): Make Argon2 implementation match the reference impl by
making sure input salts are decoded as base64.
 1.5  12-Oct-2021  nia paranoia: use explicit_memset
 1.4  12-Oct-2021  nia crypt-argon2: Properly honor user's version number.

Follow upstream by defaulting to 0x10 if it's not specified.
 1.3  12-Oct-2021  nia crypt-argon2: improve resilience of the parser.

Allow the version number to be unspecified as in the argon2 upstream
test suite, properly defaulting to a version if the v= block is
entirely missing, and treating the remaining block as parameters.

Fix a null pointer derefence when the encoded password is unspecified
in the settings string.
 1.2  14-May-2020  msaitoh Remove extra semicolon.
 1.1  21-Oct-2019  jhigh branches: 1.1.4;
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.1.4.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.1  21-Oct-2019  martin file crypt-argon2.c was added on branch phil-wifi on 2020-04-13 08:03:12 +0000
 1.19.2.1  23-Aug-2024  martin Pull up following revision(s) (requested by riastradh in ticket #794):

lib/libcrypt/crypt-argon2.c: revision 1.20
lib/libcrypt/crypt-argon2.c: revision 1.21
lib/libcrypt/crypt-argon2.c: revision 1.22
lib/libcrypt/md5crypt.c: revision 1.16
lib/libcrypt/hmac.c: revision 1.5
lib/libcrypt/crypt-sha1.c: revision 1.11
lib/libcrypt/pw_gensalt.c: revision 1.14
lib/libcrypt/crypt.c: revision 1.41

Don't use uninitialized variable.
Fixes PR 57895.

libcrypt/crypt-argon2.c: Add RCS id.
Noted in PR lib/57895.

libcrypt: Nix trailing whitespace.
No functional change intended.
Prompted by tying up loose ends around PR lib/57895.
 1.20.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed