Print seed indicator
This commit is contained in:
parent
e6b11f87ee
commit
75b0844a2a
|
@ -49,12 +49,16 @@ impl SchemeMut for RandScheme {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main(){
|
fn main(){
|
||||||
let mut has_rdrand = CpuId::new().get_feature_info().unwrap().has_rdrand();
|
let has_rdrand = CpuId::new().get_feature_info().unwrap().has_rdrand();
|
||||||
|
|
||||||
thread::spawn(move || {
|
thread::spawn(move || {
|
||||||
let mut socket = File::create(":rand").expect("rand: failed to create rand scheme");
|
let mut socket = File::create(":rand").expect("rand: failed to create rand scheme");
|
||||||
|
|
||||||
let mut rng = ChaChaRng::new_unseeded();
|
let mut rng = ChaChaRng::new_unseeded();
|
||||||
|
|
||||||
if has_rdrand {
|
if has_rdrand {
|
||||||
let mut rand: u64;
|
println!("rand: seeding with rdrand");
|
||||||
|
let rand: u64;
|
||||||
unsafe {
|
unsafe {
|
||||||
asm!("rdrand rax"
|
asm!("rdrand rax"
|
||||||
: "={rax}"(rand)
|
: "={rax}"(rand)
|
||||||
|
@ -63,7 +67,10 @@ fn main(){
|
||||||
: "intel", "volatile");
|
: "intel", "volatile");
|
||||||
}
|
}
|
||||||
rng.set_counter(0, rand);
|
rng.set_counter(0, rand);
|
||||||
|
} else {
|
||||||
|
println!("rand: unseeded");
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut scheme = RandScheme{prng: rng};
|
let mut scheme = RandScheme{prng: rng};
|
||||||
loop {
|
loop {
|
||||||
let mut packet = Packet::default();
|
let mut packet = Packet::default();
|
||||||
|
|
Loading…
Reference in a new issue