update agent

This commit is contained in:
2024-08-23 13:21:20 +02:00
parent f50bd5ea91
commit a8ab06df98
2 changed files with 9 additions and 18 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 = "b7af39ff804a34bab696cb8ed4ff820e57769aba"; rev = "201f270624487ded538b63cc5416456bd5b8ba18";
hash = "sha256-QUNhUehV0/cfQOQumYRTZvNwBIlgRMz7yN2/wRCNDEE="; hash = "sha256-KPaKG+t3qSMy4Y7fd0PlBWZiZYcs7M1Clmn75emC9LU=";
}; };
agent = callPackage "${agent_src}/default.nix" { }; agent = callPackage "${agent_src}/default.nix" { };

View File

@@ -1,5 +1,5 @@
use libc::{ use libc::{
c_char, c_int, c_void, mmap, perror, MAP_FAILED, MAP_PRIVATE, MAP_SHARED, PROT_READ, PROT_WRITE, c_int, c_void, mmap, MAP_FAILED, MAP_SHARED, PROT_READ, PROT_WRITE,
}; };
use std::fs::File; use std::fs::File;
use std::os::fd::AsRawFd; use std::os::fd::AsRawFd;
@@ -9,7 +9,7 @@ const SHARED_MEMORY_SIZE: usize = 1024;
#[link(name = "agent")] #[link(name = "agent")]
extern "C" { extern "C" {
fn agent_start(shared_memory: *mut u8, sync_memory: *mut u8, private_mem: *mut u8); fn agent_start(shared_memory: *mut u8, sync_memory: *mut u8, private_mem_fd: u64);
} }
fn main() { fn main() {
@@ -51,21 +51,12 @@ fn main() {
.read(true) .read(true)
.write(true) .write(true)
.open(&args[2]) .open(&args[2])
.expect("Cannot open KEY_FILE"); .expect("Cannot open KEY_FILE")
.as_raw_fd()
let private_mem = unsafe { .try_into()
mmap( .unwrap();
ptr::null_mut() as *mut c_void,
32 * 100,
PROT_READ | PROT_WRITE,
MAP_SHARED,
private_file.as_raw_fd(),
0,
)
} as *mut u8;
assert_ne!(private_mem, MAP_FAILED as *mut u8);
unsafe { unsafe {
agent_start(shared_memory, sync_memory, private_mem); agent_start(shared_memory, sync_memory, private_file);
} }
} }