diff --git a/CHANGES b/CHANGES index 4f979c4826dc8cb1a92bcdc04c07e4dce5c57612..42504be4ac57b1de7826037822a7492f2ff76288 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,15 @@ Changes between 1.1.1c and 1.1.1d [xx XXX xxxx] + *) Early start up entropy quality from the DEVRANDOM seed source has been + improved for older Linux systems. The RAND subsystem will wait for + /dev/random to be producing output before seeding from /dev/urandom. + The seeded state is stored for future library initialisations using + a system global shared memory segment. The shared memory identifier + can be configured by defining OPENSSL_RAND_SEED_DEVRANDOM_SHM_ID to + the desired value. The default identifier is 114. + [Paul Dale] + *) Early start up entropy quality from the DEVRANDOM seed source has been improved for older Linux systems. The RAND subsystem will wait for /dev/random to be producing output before seeding from /dev/urandom. diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index 258fef7eb0854cd74bba770384fc049e62d284e9..e57b6dd893179c8e3fa2934378c0a28aa78444e9 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -388,7 +388,7 @@ static int wait_random_seeded(void) fd_set fds; if (!seeded) { - /* See if anthing has created the global seeded indication */ + /* See if anything has created the global seeded indication */ if ((shm_id = shmget(OPENSSL_RAND_SEED_DEVRANDOM_SHM_ID, 1, 0)) == -1) { /* * Check the kernel's version and fail if it is too recent. @@ -422,7 +422,7 @@ static int wait_random_seeded(void) close(fd); if (r == 1) { seeded = 1; - /* Craete the shared memory indicator */ + /* Create the shared memory indicator */ shm_id = shmget(OPENSSL_RAND_SEED_DEVRANDOM_SHM_ID, 1, IPC_CREAT | S_IRUSR | S_IRGRP | S_IROTH); }