Merge branch 'tiny_randd_improvement' into 'main'

Remove the socket field of RandScheme

See merge request redox-os/base!20
This commit is contained in:
Jeremy Soller
2025-07-04 14:04:36 -06:00
+5 -9
View File
@@ -100,7 +100,6 @@ impl OpenFileInfo {
/// Struct to represent the rand scheme.
struct RandScheme {
socket: Socket,
prng: ChaCha20Rng,
// ChaCha20 is a Cryptographically Secure PRNG
// https://docs.rs/rand/0.5.0/rand/prng/chacha/struct.ChaChaRng.html
@@ -115,9 +114,8 @@ struct RandScheme {
impl RandScheme {
/// Create new rand scheme from a message socket
fn new(socket: Socket) -> RandScheme {
fn new() -> RandScheme {
RandScheme {
socket,
prng: ChaCha20Rng::from_seed(create_rdrand_seed()),
prng_stat: Stat {
st_mode: MODE_CHR | DEFAULT_PRNG_MODE,
@@ -168,7 +166,7 @@ impl RandScheme {
fn test_scheme_perms() {
use syscall::{O_CLOEXEC, O_STAT};
let mut scheme = RandScheme::new(File::open(".").unwrap());
let mut scheme = RandScheme::new();
scheme.prng_stat.st_mode = MODE_CHR | 0o200;
scheme.prng_stat.st_uid = 1;
scheme.prng_stat.st_gid = 1;
@@ -365,7 +363,7 @@ impl SchemeMut for RandScheme {
fn daemon(daemon: redox_daemon::Daemon) -> ! {
let socket = Socket::<V2>::create("rand").expect("randd: failed to create rand scheme");
let mut scheme = RandScheme::new(socket);
let mut scheme = RandScheme::new();
daemon
.ready()
@@ -373,8 +371,7 @@ fn daemon(daemon: redox_daemon::Daemon) -> ! {
libredox::call::setrens(0, 0).expect("randd: failed to enter null namespace");
while let Some(request) = scheme
.socket
while let Some(request) = socket
.next_request(SignalBehavior::Restart)
.expect("error reading packet")
{
@@ -382,8 +379,7 @@ fn daemon(daemon: redox_daemon::Daemon) -> ! {
continue;
};
let response = call.handle_scheme_mut(&mut scheme);
scheme
.socket
socket
.write_responses(&[response], SignalBehavior::Restart)
.expect("error writing packet");
}