diff options
author | Andrew Bartlett <abartlet@samba.org> | 2020-07-01 14:35:39 +1200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2020-07-01 13:34:30 +0000 |
commit | 91453f110fa72062291eb59ad9d95fab0f423557 (patch) | |
tree | 749c4a683ba43ea8567f2b663544c5a1645da6d9 /lib | |
parent | 213501163c0cd139b711e8b62bd21d4d7011045b (diff) | |
download | samba-91453f110fa72062291eb59ad9d95fab0f423557.tar.gz |
dsdb: Allow "password hash userPassword schemes = CryptSHA256" to work on RHEL7
On RHEL7 crypt_r() will set errno. This is a problem because the implementation of crypt_r()
in RHEL8 and elsewhere in libcrypt will return non-NULL but set errno on failure.
The workaround is to use crypt_rn(), provided only by libcrypt, which will return NULL
on failure, and so avoid checking errno in the non-failure case.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14424
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/replace/wscript | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/replace/wscript b/lib/replace/wscript index ab2b3c043af..55c8903f1c8 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript @@ -661,6 +661,7 @@ def configure(conf): conf.CHECK_FUNCS_IN('crypt', 'crypt', checklibc=True) conf.CHECK_FUNCS_IN('crypt_r', 'crypt', checklibc=True) + conf.CHECK_FUNCS_IN('crypt_rn', 'crypt', checklibc=True) conf.CHECK_VARIABLE('rl_event_hook', define='HAVE_DECL_RL_EVENT_HOOK', always=True, headers='readline.h readline/readline.h readline/history.h') |