opengnsys_ipxe/src
Michael Brown ff0f860483 [libc] Use wall clock time as seed for the (non-cryptographic) RNG
We currently use the number of timer ticks since power-on as a seed
for the non-cryptographic RNG implemented by random().  Since iPXE is
often executed directly after power-on, and since the timer tick
resolution is generally low, this can often result in identical seed
values being used on each cold boot attempt.

As of commit 41f786c ("[settings] Add "unixtime" builtin setting to
expose the current time"), the current wall-clock time is always
available within the default build of iPXE.  Use this time instead, to
introduce variability between cold boot attempts on the same host.
(Note that variability between different hosts is obtained by using
the MAC address as an additional seed value.)

This has no effect on the separate DRBG used by cryptographic code.

Suggested-by: Heiko <heik0@xs4all.nl>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2023-10-06 12:50:43 +01:00
..
arch [vmware] Use driver-private data to hold GuestInfo settings block 2023-09-14 12:55:56 +01:00
bin Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
config [loong64] Add support for building EFI binaries 2023-06-29 15:53:57 +01:00
core [libc] Use wall clock time as seed for the (non-cryptographic) RNG 2023-10-06 12:50:43 +01:00
crypto [crypto] Add support for PKCS#8 private key format 2023-06-02 13:54:42 +01:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [netdevice] Allocate private data for each network upper-layer driver 2023-09-13 20:23:46 +01:00
hci [efi] Implement "shim" as a dummy command on non-EFI platforms 2023-05-24 10:20:31 +01:00
image [efi] Add support for executing images via a shim 2023-05-22 15:37:11 +01:00
include [eapol] Send EAPoL-Start packets to trigger EAP authentication 2023-09-19 23:16:58 +01:00
interface [netdevice] Allocate private data for each network upper-layer driver 2023-09-13 20:23:46 +01:00
libgcc [libgcc] Change __divmoddi4 from int64 [unknown] to int64_t 2020-07-21 14:33:32 +01:00
net [eapol] Send EAPoL-Start packets to trigger EAP authentication 2023-09-19 23:16:58 +01:00
scripts [arm] Inhibit linker warnings about an implied executable stack 2023-01-23 12:55:44 +00:00
tests [crypto] Add support for PKCS#8 private key format 2023-06-02 13:54:42 +01:00
usr [efi] Support versions of shim that perform SBAT verification 2023-05-23 15:27:20 +01:00
util [efi] Allow for sections to be excluded from the generated PE file 2023-04-10 17:02:45 +01:00
.gitignore [build] Add support for local configuration files 2010-03-26 19:07:22 +00:00
Makefile [build] Avoid invoking genkeymap.py via Perl 2022-02-15 13:54:28 +00:00
Makefile.efi [build] Avoid using multiple target patterns in pattern rules 2023-06-30 10:31:52 +01:00
Makefile.housekeeping [build] Inhibit more linker warnings about an implied executable stack 2023-07-04 15:12:49 +01:00
Makefile.linux [linux] Centralise the linker script for Linux binaries 2023-01-22 12:38:03 +00:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00