File tree Expand file tree Collapse file tree 3 files changed +10
-9
lines changed Expand file tree Collapse file tree 3 files changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ test/crypt-des
70
70
test /crypt-gost-yescrypt
71
71
test /crypt-kat
72
72
test /crypt-md5
73
+ test /crypt-multithread
73
74
test /crypt-nthash
74
75
test /crypt-pbkdf1-sha1
75
76
test /crypt-scrypt
Original file line number Diff line number Diff line change @@ -4,6 +4,15 @@ Please send bug reports, questions and suggestions to
4
4
<https://github.com/besser82/libxcrypt/issues>.
5
5
6
6
Version 4.4.39
7
+ * crypt and crypt_gensalt now use per-thread storage areas for their
8
+ output, allocated upon the first call in each thread that uses them.
9
+ This makes it safe to call these functions from multiple threads
10
+ simultaneously (but consecutive calls will still clobber the
11
+ previous output).
12
+ This feature is a safety net against sloppy coding. Programs are
13
+ still strongly encouraged to use the reentrant functions instead,
14
+ because this safety net is not guaranteed by any standard
15
+ (although we are informed that Solaris also does this).
7
16
8
17
Version 4.4.38
9
18
* Fix several "-Wunterminated-string-initialization", which are seen by
Original file line number Diff line number Diff line change @@ -67,15 +67,6 @@ It was last updated 20 October 2018.
67
67
* If we do, should it know how to trigger the trusted-path
68
68
password prompt in modern GUI environments? (probably)
69
69
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
-
79
70
* Allow access to more of yescrypt’s tunable parameters and ROM
80
71
feature, in a way that’s generic enough that we could also use it
81
72
for e.g. Argon2’s tunable parameters
You can’t perform that action at this time.
0 commit comments