Silenced channel send error for StreamWrite's to master thread. If client disconnects before server send response the relay will now just silently close the connection.

This commit is contained in:
PinkP4nther 2021-10-10 00:48:53 -07:00
commit 1b2ed7a10d
2 changed files with 12 additions and 5 deletions

View file

@ -1,6 +1,6 @@
[package] [package]
name = "sslrelay" name = "sslrelay"
version = "0.6.0" version = "0.6.1"
authors = ["PinkP4nther <pinkp4nther@protonmail.com> @Pink_P4nther"] authors = ["PinkP4nther <pinkp4nther@protonmail.com> @Pink_P4nther"]
edition = "2018" edition = "2018"
description = "A TCP relay library for relaying/modifying/spoofing TCP traffic by implementing callback code." description = "A TCP relay library for relaying/modifying/spoofing TCP traffic by implementing callback code."

View file

@ -79,7 +79,9 @@ impl DownStreamInner {
if byte_count > 0 { if byte_count > 0 {
if let Err(e) = data_out.send(FullDuplexTcpState::UpStreamWrite(self.internal_data_buffer.clone())) { if let Err(e) = data_out.send(FullDuplexTcpState::UpStreamWrite(self.internal_data_buffer.clone())) {
Self::handle_error(format!("Failed to send UpStreamWrite to main thread: {}", e).as_str());
//Self::handle_error(format!("Failed to send UpStreamWrite to main thread: {}", e).as_str());
let _ = raw_stream.shutdown(Shutdown::Both);
return; return;
} }
@ -150,7 +152,8 @@ impl DownStreamInner {
if byte_count > 0 { if byte_count > 0 {
if let Err(e) = data_out.send(FullDuplexTcpState::UpStreamWrite(self.internal_data_buffer.clone())) { if let Err(e) = data_out.send(FullDuplexTcpState::UpStreamWrite(self.internal_data_buffer.clone())) {
Self::handle_error(format!("Failed to send UpStreamWrite to main thread: {}", e).as_str());
//Self::handle_error(format!("Failed to send UpStreamWrite to main thread: {}", e).as_str());
let _ = tls_stream.shutdown(); let _ = tls_stream.shutdown();
return; return;
} }
@ -292,7 +295,9 @@ impl UpStreamInner {
if byte_count > 0 { if byte_count > 0 {
if let Err(e) = data_out.send(FullDuplexTcpState::DownStreamWrite(self.internal_data_buffer.clone())) { if let Err(e) = data_out.send(FullDuplexTcpState::DownStreamWrite(self.internal_data_buffer.clone())) {
Self::handle_error(format!("Failed to send DownStreamWrite to main thread: {}", e).as_str());
//Self::handle_error(format!("Failed to send DownStreamWrite to main thread: {}", e).as_str());
let _ = raw_stream.shutdown(Shutdown::Both);
return; return;
} }
@ -359,7 +364,9 @@ impl UpStreamInner {
if byte_count > 0 { if byte_count > 0 {
if let Err(e) = data_out.send(FullDuplexTcpState::DownStreamWrite(self.internal_data_buffer.clone())) { if let Err(e) = data_out.send(FullDuplexTcpState::DownStreamWrite(self.internal_data_buffer.clone())) {
Self::handle_error(format!("Failed to send DownStreamWrite to main thread: {}", e).as_str());
//Self::handle_error(format!("Failed to send DownStreamWrite to main thread: {}", e).as_str());
let _ = tls_stream.shutdown();
return; return;
} }