handle TLS attack #4

Merged
valy merged 2 commits from noormohammedb/hacker-challenge-sgx-general:patch_net_attacks into main 2025-01-06 16:36:12 +00:00

@ -93,7 +93,10 @@ impl NodeServer {
let conn = if let Err(e) = conn { let conn = if let Err(e) = conn {
println!("Error accepting TLS connection: {e}"); println!("Error accepting TLS connection: {e}");
if e.to_string().contains("HandshakeFailure") { let attack_error_messages = ["handshake", "certificate", "quote"];
let err_str = e.to_string().to_lowercase();
if attack_error_messages.iter().any(|att_er_str| err_str.contains(att_er_str)) {
state.increase_net_attacks().await; state.increase_net_attacks().await;
} }
return; return;
@ -197,6 +200,7 @@ impl Update for NodeServer {
yield Ok(update.update); yield Ok(update.update);
} }
// TODO: check if disconnect client if too many connections are active // TODO: check if disconnect client if too many connections are active
// Its tested and working
if tx.receiver_count() > 9 { if tx.receiver_count() > 9 {
error_status = Status::internal("Already have too many clients. Connect to another server."); error_status = Status::internal("Already have too many clients. Connect to another server.");
break; break;