Compare commits

..

10 Commits

Author SHA1 Message Date
d2154ade95 update agent 2024-05-15 09:02:53 +02:00
84ddd68b45 fix: map keyfile as shared 2024-05-06 16:30:38 +02:00
de9ec47a6d fix: map keyfile as shared 2024-05-06 16:18:08 +02:00
5aac640ab2 Pass keyfile via commandline arguments 2024-05-06 16:10:35 +02:00
daaffce503 update agent 2024-05-06 15:48:19 +02:00
2b16e726d4 Save keys to file 2024-05-06 11:58:14 +02:00
f3fe8c5441 Remove debug prints 2024-04-23 15:33:52 +02:00
9dc2ae1bf7 Update agent 2024-04-23 14:09:51 +02:00
ed9a7aa94f Update agent 2024-04-23 13:36:02 +02:00
2d85f9f448 Update agent 2024-04-23 12:39:01 +02:00
2 changed files with 13 additions and 6 deletions

View File

@@ -3,8 +3,8 @@ with pkgs;
let
agent_src = fetchgit {
url = "https://gitea.rixxc.de/rixxc/x25519_agent.git";
rev = "de022e4c6b6fa0086a9f5c4fad1340b75ccceba1";
hash = "sha256-oe8ngvtEcu6O6FWm0ImTS4DTsQx78VRs9bQx672aUbI=";
rev = "36ae72a8d90d94b5b0d1fd01adf50a33edd80e80";
hash = "sha256-SxXZ/1CRi4J6Neq1uXIbue0bFa8WzdXPBnoXCjekOy8=";
};
agent = callPackage "${agent_src}/default.nix" { };

View File

@@ -1,6 +1,8 @@
use libc::{
c_int, c_void, mmap, MAP_ANON, MAP_FAILED, MAP_PRIVATE, MAP_SHARED, PROT_READ, PROT_WRITE,
c_char, c_int, c_void, mmap, perror, 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,19 +47,24 @@ fn main() {
} as *mut u8;
assert_ne!(sync_memory, MAP_FAILED as *mut u8);
let private_file = File::options()
.read(true)
.write(true)
.open(&args[2])
.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_SHARED,
private_file.as_raw_fd(),
0,
)
} as *mut u8;
assert_ne!(private_mem, MAP_FAILED as *mut u8);
println!("Agent: starting agent...");
unsafe {
agent_start(shared_memory, sync_memory, private_mem);
}