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 let
agent_src = fetchgit { agent_src = fetchgit {
url = "https://gitea.rixxc.de/rixxc/x25519_agent.git"; url = "https://gitea.rixxc.de/rixxc/x25519_agent.git";
rev = "de022e4c6b6fa0086a9f5c4fad1340b75ccceba1"; rev = "36ae72a8d90d94b5b0d1fd01adf50a33edd80e80";
hash = "sha256-oe8ngvtEcu6O6FWm0ImTS4DTsQx78VRs9bQx672aUbI="; hash = "sha256-SxXZ/1CRi4J6Neq1uXIbue0bFa8WzdXPBnoXCjekOy8=";
}; };
agent = callPackage "${agent_src}/default.nix" { }; agent = callPackage "${agent_src}/default.nix" { };

View File

@@ -1,6 +1,8 @@
use libc::{ 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}; use std::{env, ptr};
const SHARED_MEMORY_SIZE: usize = 1024; const SHARED_MEMORY_SIZE: usize = 1024;
@@ -45,19 +47,24 @@ fn main() {
} as *mut u8; } as *mut u8;
assert_ne!(sync_memory, MAP_FAILED 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 { let private_mem = unsafe {
mmap( mmap(
ptr::null_mut() as *mut c_void, ptr::null_mut() as *mut c_void,
32 * 100, 32 * 100,
PROT_READ | PROT_WRITE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANON, MAP_SHARED,
0, private_file.as_raw_fd(),
0, 0,
) )
} as *mut u8; } as *mut u8;
assert_ne!(private_mem, MAP_FAILED as *mut u8); assert_ne!(private_mem, MAP_FAILED as *mut u8);
println!("Agent: starting agent...");
unsafe { unsafe {
agent_start(shared_memory, sync_memory, private_mem); agent_start(shared_memory, sync_memory, private_mem);
} }