Merge branch 'bc/csprng-mktemps'
Pick a better random number generator and use it when we prepare temporary filenames. * bc/csprng-mktemps: wrapper: use a CSPRNG to generate random file names wrapper: add a helper to generate numbers from a CSPRNG
This commit is contained in:
@ -197,6 +197,12 @@
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#define GIT_WINDOWS_NATIVE
|
||||
#ifdef HAVE_RTLGENRANDOM
|
||||
/* This is required to get access to RtlGenRandom. */
|
||||
#define SystemFunction036 NTAPI SystemFunction036
|
||||
#include <NTSecAPI.h>
|
||||
#undef SystemFunction036
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
@ -267,6 +273,12 @@
|
||||
#else
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#ifdef HAVE_ARC4RANDOM_LIBBSD
|
||||
#include <bsd/stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_GETRANDOM
|
||||
#include <sys/random.h>
|
||||
#endif
|
||||
#ifdef NO_INTPTR_T
|
||||
/*
|
||||
* On I16LP32, ILP32 and LP64 "long" is the safe bet, however
|
||||
@ -1432,4 +1444,11 @@ static inline void *container_of_or_null_offset(void *ptr, size_t offset)
|
||||
|
||||
void sleep_millisec(int millisec);
|
||||
|
||||
/*
|
||||
* Generate len bytes from the system cryptographically secure PRNG.
|
||||
* Returns 0 on success and -1 on error, setting errno. The inability to
|
||||
* satisfy the full request is an error.
|
||||
*/
|
||||
int csprng_bytes(void *buf, size_t len);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user