Do we need to support running current Fedora releases in kernels which
are older than the initial Fedora kernel for that release?
If yes, what are the kernel baselines? We can go back to releases
earlier than 3.2 on most architectures because that's the current glibc
baseline (except x86_64 and i386, where the glibc baseline is 2.6.32).
I'm asking because I noticed this code in older kernels:
/** Generates a random vector of AUTH_VECTOR_LEN octets
*
* @param vector a buffer with at least %AUTH_VECTOR_LEN bytes.
*/
static void rc_random_vector(unsigned char *vector)
{
int randno;
int i;
#if defined(HAVE_GETENTROPY)
if (getentropy(vector, AUTH_VECTOR_LEN) >= 0) {
return;
} /* else fall through */
#elif defined(HAVE_DEV_URANDOM)
…
#endif
fallback:
for (i = 0; i < AUTH_VECTOR_LEN;) {
randno = random();
memcpy((char *)vector, (char *)&randno, sizeof(int));
vector += sizeof(int);
i += sizeof(int);
}
return;
}
getentropy returns ENOSYS if the kernel is too old to support the
underyling system call, and this code falls back to predictable
randomness in this case.
Thanks,
Florian
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx