mirror of
https://github.com/osmarks/ngircd.git
synced 2024-12-12 09:50:29 +00:00
Check and call arc4random_stir() if present
FreeBSD prior to 10.0 does not automatically stir on fork(). Same with current NetBSD. If arc4random_stir() is present assume is needed and call it instead of srand().
This commit is contained in:
parent
8a041373bb
commit
8e6db769ac
@ -187,9 +187,9 @@ AC_CHECK_FUNCS([ \
|
||||
|
||||
# Optional functions
|
||||
AC_CHECK_FUNCS_ONCE([ \
|
||||
arc4random gai_strerror getaddrinfo getnameinfo inet_aton sigaction \
|
||||
sigprocmask snprintf vsnprintf strdup strndup strlcpy strlcat strtok_r \
|
||||
waitpid])
|
||||
arc4random arc4random_stir gai_strerror getaddrinfo getnameinfo inet_aton
|
||||
sigaction sigprocmask snprintf vsnprintf strdup strndup strlcpy strlcat \
|
||||
strtok_r waitpid])
|
||||
|
||||
# -- Configuration options --
|
||||
|
||||
|
@ -77,6 +77,9 @@ Proc_Fork(PROC_STAT *proc, int *pipefds, void (*cbfunc)(int, short), int timeout
|
||||
return -1;
|
||||
case 0:
|
||||
/* New child process: */
|
||||
#ifdef HAVE_ARC4RANDOM_STIR
|
||||
arc4random_stir();
|
||||
#endif
|
||||
#ifndef HAVE_ARC4RANDOM
|
||||
srand(seed ^ (unsigned int)time(NULL) ^ getpid());
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user