Skip to content

Commit e10a5e4

Browse files
committed
add not inject item for elkeid
1 parent 80d6157 commit e10a5e4

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

rasp/plugin/src/monitor.rs

+10-5
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,10 @@ pub fn rasp_monitor_start(client: Client) -> Anyhow<()> {
127127
Ok(m) => m,
128128
Err(e) => {
129129
let _ = external_ctrl.stop();
130-
error!("recv failed from external client, {}", e);
131-
return Err(anyhow!("recv failed client failed: {}", e));
130+
error!("recv failed from external client, {}, now to stop process", e);
131+
info!("Elkeid RASP STOP");
132+
std::process::exit(0);
133+
//return Err(anyhow!("recv failed client failed: {}", e));
132134
}
133135
};
134136
let parsed_message = match parse_message(&message) {
@@ -209,9 +211,10 @@ pub fn rasp_monitor_start(client: Client) -> Anyhow<()> {
209211
warn!("from interval thread report a warn: {:?}", e);
210212
}
211213
}
212-
break;
214+
info!("Elkeid RASP STOP");
215+
std::process::exit(1);
213216
}
214-
sleep(Duration::from_secs(60));
217+
sleep(Duration::from_secs(10));
215218
}
216219
Ok(())
217220
}
@@ -509,12 +512,14 @@ fn internal_main(
509512

510513
loop {
511514
if !ctrl.check() {
515+
warn!("start to check ctrl2");
512516
pid_recv_thread.join().unwrap();
513517
inspect_thread.join().unwrap();
514518
cleaner_thread.join().unwrap();
515519
operation_thread.join().unwrap();
516520
reporter_thread.join().unwrap();
517-
break;
521+
info!("Elkeid RASP STOP");
522+
std::process::exit(1);
518523
}
519524
sleep(Duration::from_secs(10));
520525
}

rasp/rasp_server/src/comm.rs

+8
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ pub async fn start_bind(sock: RASPSock) -> Result<(), String> {
9898
let mut checking_ctrl = sock.ctrl.clone();
9999
spawn(async move {
100100
loop {
101+
if !checking_ctrl.check() {
102+
info!("check sock receive signal, stop");
103+
return;
104+
}
101105
if Path::new(&server_addr).exists() {
102106
sleep(Duration::from_secs(60 * 60)).await;
103107
} else {
@@ -262,6 +266,10 @@ pub async fn looping(
262266
drop(p)
263267
});
264268
loop {
269+
if !rx_ctrl.clone().check() {
270+
info!("select thread receive quit signal");
271+
break;
272+
}
265273
tokio::select! {
266274
x = sock_tx.recv() => {
267275
match x {

0 commit comments

Comments
 (0)