This code was originally written for non-reentrant crypt(3).
In 5f521d7ba72, a thread-safe crypt_r(3) was introduced. However,
it looks like the DES implementation is still not re-entrant;
routines like setup_salt() or des_setkey() still use global
variables.
Instead of something drastic, eg removing DES support altogether,
just mark those variables as thread-local.
Given that this only applies to DES, I think the impact is minimal.
Sponsored by: NetApp, Inc.
Sponsored by: Klara, Inc.