fff-random: syscall statt manuell /dev/urandom lesen #72
Labels
No Label
RFC
RFT
WIP
blocked
bsp
bug
build/scripts/tools
duplicate
feature
fixed
layer3
mantis
more details required
needs changes
node
packages/fff
rejected
security
trivial
upstream
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: freifunk-franken/firmware#72
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Diesen ganzen Block hier könnte man durch einen syscall nach
getrandom
ersetzen.Wenn das nicht portabel genug ist, kann natürlich auch die Variante mit
rand()
bauen. Dann hätte man nur C Standardbibliothek benutzt. Hätte auch etwas.Ist keine wichtige Sache, aber vielleicht mal eine nette Fingerübung für zwischendurch.
Wichtig ist dabei halt, dass wir eine Quelle behalten, die nicht initialisiert werden muss. Keine Ahnung, ob das für die vorgeschlagenen Änderungen erfüllt ist.
Jo, auch da ist
getrandom
vermutlich besser. Lautman 7 random
blockiertgetrandom
bis zum erstem mal der entropy pool auch wirklich initialisiert ist, waehrend/dev/urandom
niemals blockiert. Danach aber nie wieder. Also man bekommt schon mal keinen beschissenen Zufall und wenn es einmal geklappt hat, kann man von anderen Prozessen auch nicht mehr blockiert werden, die den entropy pool leer saugen.getrandom
hat auch noch Parameter, um es komplett non-blocking zu machen. Da bekommt man immerhin mal einen Fehler, statt schlechten Zufall.Ich habe das hier mit einem anderen Problem verwechselt. Für fastd haben wir damals explizit urandom genommen, damit wir genau auf das unblocking nicht warten müssen:
https://git.freifunk-franken.de/freifunk-franken/firmware/src/branch/master/feed_patches/openwrt/0020-fastd_generate_key_from_urandom.patch
Das war deshalb sinnvoll, weil für unser Setup der fastd-key ohnehin nur ein Platzhalter ist.
Inwieweit das für fff-random relevant ist, weiß ich nicht. Je nach Nutzer von fff-random muss dir halt bewusst sein, dass das Blockieren dann ggf. den Bootvorgang um 2-5 Minuten verlängert, bis das Gerät einsatzbereit und zugänglich ist.