update agent
This commit is contained in:
@@ -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" { };
|
||||||
|
|||||||
23
src/main.rs
23
src/main.rs
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user