freebsd-dev/include
Ed Schouten 5f521d7ba7 Make libcrypt thread-safe. Add crypt_r(3).
glibc has a pretty nice function called crypt_r(3), which is nothing
more than crypt(3), but thread-safe. It accomplishes this by introducing
a 'struct crypt_data' structure that contains a buffer that is large
enough to hold the resulting string.

Let's go ahead and also add this function. It would be a shame if a
useful function like this wouldn't be usable in multithreaded apps.
Refactor crypt.c and all of the backends to no longer declare static
arrays, but write their output in a provided buffer.

There is no need to do any buffer length computation here, as we'll just
need to ensure that 'struct crypt_data' is large enough, which it is.
_PASSWORD_LEN is defined to 128 bytes, but in this case I'm picking 256,
as this is going to be part of the actual ABI.

Differential Revision:	https://reviews.freebsd.org/D7306
2016-08-10 15:16:28 +00:00
..
arpa include: minor spelling fixes. 2016-04-30 14:43:42 +00:00
gssapi Add META_MODE support. 2015-06-13 19:20:56 +00:00
protocols Add META_MODE support. 2015-06-13 19:20:56 +00:00
rpc xdr: Fix xdr_rpc* defines. 2016-03-04 22:03:38 +00:00
rpcsvc include: minor spelling fixes. 2016-04-30 14:43:42 +00:00
xlocale Change the return type of freelocale(3) to void. 2016-07-29 17:18:47 +00:00
_ctype.h Commit log from Dragonfly: 2015-10-13 20:43:49 +00:00
a.out.h
ar.h
assert.h
bitstring.h Improve performance and functionality of the bitstring(3) api 2016-05-04 22:34:11 +00:00
complex.h I'm happy to finally commit stephen@'s implementations of cacos, 2013-05-30 04:49:26 +00:00
cpio.h
ctype.h Commit log from Dragonfly: 2015-10-13 20:43:49 +00:00
db.h
dirent.h Add missing declaration of ino_t. 2016-05-30 07:50:57 +00:00
dlfcn.h
elf-hints.h
elf.h
err.h
fmtmsg.h
fnmatch.h
fstab.h
fts.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
ftw.h
getopt.h
glob.h
grp.h Fix up setgrent(3) to have a POSIX-compliant prototype. 2016-07-31 08:05:15 +00:00
gssapi.h
hesiod.h We don't use these files. 2014-08-09 20:03:40 +00:00
iconv.h Remove the const qualifier from iconv(3) to comply with POSIX: 2015-04-15 09:09:20 +00:00
ieeefp.h
ifaddrs.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
inttypes.h Rename __wchar_t so it no longer conflicts with __wchar_t from clang 3.4 2014-04-01 14:46:11 +00:00
iso646.h
kenv.h
langinfo.h langinfo.h: Hide YESSTR and NOSTR in strict POSIX mode. 2014-04-19 12:38:01 +00:00
libgen.h Fix up prototypes of basename(3) and dirname(3) to comply to POSIX. 2016-07-28 16:20:27 +00:00
limits.h - Add the definition of CHARCLASS_NAME_MAX, as per POSIX.1-2001. 2016-01-09 14:53:23 +00:00
link.h
locale.h
Makefile Commit the bits of nda that were missed. This should fix the build. 2016-06-10 06:04:53 +00:00
Makefile.depend new depends 2015-06-16 23:37:19 +00:00
malloc_np.h Update jemalloc to 4.1.0. 2016-02-29 19:10:32 +00:00
malloc.h
memory.h
mk-osreldate.sh Stop building vers.c in include/ and only build the needed osreldate.h. 2015-11-25 19:10:59 +00:00
monetary.h Make strfmon_l() work without requiring the use of <xlocale.h>. 2016-05-31 12:29:21 +00:00
mpool.h
mqueue.h
ndbm.h Fix prototype of dbm_open(). 2016-05-31 18:32:57 +00:00
netconfig.h
netdb.h Add NI_NUMERICSCOPE. 2016-07-28 10:05:41 +00:00
nl_types.h
nlist.h
nss.h
nsswitch.h
paths.h Implement suggestion by jhb@ to have _PATH_FIRMWARE instead of hard 2016-03-23 04:18:57 +00:00
printf.h
proc_service.h
pthread_np.h
pthread.h Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
pwd.h
ranlib.h
readpassphrase.h
regex.h
res_update.h Update our stub resolver to final version of libbind. 2014-08-12 12:36:06 +00:00
resolv.h resolver: preserve binary compatibility; reduce header pollution 2015-12-14 17:21:06 +00:00
runetype.h
search.h Replace implementation of hsearch() by one that scales. 2015-12-27 07:50:11 +00:00
semaphore.h Ensure #include <semaphore.h> is sufficient for using SEM_VALUE_MAX. 2015-01-31 16:39:26 +00:00
setjmp.h include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLE 2014-05-11 13:48:21 +00:00
signal.h Fix the signature of the psignal() function. 2016-05-30 13:51:27 +00:00
spawn.h
stab.h
stdalign.h
stdbool.h
stddef.h Add guards to ptrdiff_t definition in include/stddef.h 2014-08-21 15:10:10 +00:00
stdio.h tools/build looks for _WITH_GETLINE in /usr/include/stdio.h to see if 2016-08-02 21:55:23 +00:00
stdlib.h Change type of MB_CUR_MAX and MB_CUR_MAX_L() to size_t. 2016-07-28 09:50:19 +00:00
stdnoreturn.h
string.h include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLE 2014-05-11 13:48:21 +00:00
stringlist.h Remove clause 3 and 4 from the license 2015-05-21 08:38:25 +00:00
strings.h Add explicit_bzero(3) and its kernel counterpart. 2014-10-07 04:54:11 +00:00
sysexits.h
tar.h
termios.h include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLE 2014-05-11 13:48:21 +00:00
tgmath.h Roll back r271012 even more aggressively. 2014-09-05 05:36:32 +00:00
time.h Add CLOCK_PROCESS_CPUTIME_ID to <time.h>, to synchronize the CLOCK_* 2013-01-14 18:01:19 +00:00
timeconv.h
timers.h
ttyent.h Add a new flag to /etc/ttys: onifconsole. This is equivalent to "on" if the 2014-01-20 18:15:06 +00:00
uchar.h Fix <uchar.h> in for C++11. 2013-05-25 16:58:12 +00:00
ulimit.h
unistd.h Make libcrypt thread-safe. Add crypt_r(3). 2016-08-10 15:16:28 +00:00
unwind.h
utime.h
utmpx.h
uuid.h
varargs.h
wchar.h Add missing va_list to <wchar.h>. 2016-05-30 16:26:34 +00:00
wctype.h Commit log from Dragonfly: 2015-10-13 20:43:49 +00:00
wordexp.h
xlocale.h