Skip to content

Commit 327f2d3

Browse files
committed
Update gitignore, NEWS, and TODO.
1 parent ac0e570 commit 327f2d3

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ test/crypt-des
7070
test/crypt-gost-yescrypt
7171
test/crypt-kat
7272
test/crypt-md5
73+
test/crypt-multithread
7374
test/crypt-nthash
7475
test/crypt-pbkdf1-sha1
7576
test/crypt-scrypt

NEWS

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ Version 4.4.37
77
* Several fixes to the manpages (issue #185).
88
* Add binary compatibility for x86_64 GNU/Hurd (issue #189).
99
* Only test the needed makecontext signature during configure (issue #178).
10+
* crypt and crypt_gensalt now use per-thread storage areas for their
11+
output, allocated upon the first call in each thread that uses them.
12+
This makes it safe to call these functions from multiple threads
13+
simultaneously (but consecutive calls will still clobber the
14+
previous output).
15+
This feature is a safety net against sloppy coding. Programs are
16+
still strongly encouraged to use the reentrant functions instead,
17+
both because this safety net is not guaranteed by any standard
18+
(although we are informed that Solaris also does this) and because
19+
this introduces some overhead for initializing a buffer of
20+
'sizeof (crypt_data)' as well as for copying the computed output
21+
to the thread-local output buffer for each invocation of crypt.
1022

1123
Version 4.4.36
1224
* Fix left over bits failing with Perl v5.38.0 (issue #173).

TODO.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,6 @@ It was last updated 20 October 2018.
6767
* If we do, should it know how to trigger the trusted-path
6868
password prompt in modern GUI environments? (probably)
6969

70-
* Make the crypt and crypt_gensalt static state thread-specific?
71-
* Solaris 11 may have done this (its `crypt(3)` manpage describes
72-
it as MT-Safe and I don’t see any other way they could have
73-
accomplished that).
74-
* if allocated on first use, this would also shave 32kB of
75-
data segment off the shared library
76-
* alternatively, add a global lock and *crash the program* if we
77-
detect concurrent calls
78-
7970
* Allow access to more of yescrypt’s tunable parameters and ROM
8071
feature, in a way that’s generic enough that we could also use it
8172
for e.g. Argon2’s tunable parameters

0 commit comments

Comments
 (0)