From 2b16e726d46f0bc6ba960e3b43030e455936eab5 Mon Sep 17 00:00:00 2001 From: Aaron Kaiser Date: Mon, 6 May 2024 11:58:14 +0200 Subject: [PATCH] Save keys to file --- src/main.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 948a9b5..f3fd172 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,8 @@ use libc::{ - c_int, c_void, mmap, MAP_ANON, MAP_FAILED, MAP_PRIVATE, MAP_SHARED, PROT_READ, PROT_WRITE, + c_int, c_void, mmap, MAP_FAILED, MAP_PRIVATE, MAP_SHARED, PROT_READ, PROT_WRITE, }; +use std::fs::File; +use std::os::fd::AsRawFd; use std::{env, ptr}; const SHARED_MEMORY_SIZE: usize = 1024; @@ -45,13 +47,14 @@ fn main() { } as *mut u8; assert_ne!(sync_memory, MAP_FAILED as *mut u8); + let private_file = File::open(env::var("KEY_FILE").expect("KEY_FILE environment variable missing")).expect("Cannot open KEY_FILE"); let private_mem = unsafe { mmap( ptr::null_mut() as *mut c_void, 32 * 100, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_ANON, - 0, + MAP_PRIVATE, + private_file.as_raw_fd(), 0, ) } as *mut u8;