Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 27 additions & 27 deletions vey-proxy/src/escape/comply_audit/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ use vey_daemon::stat::remote::{ArcTcpConnectionTaskRemoteStats, ArcUdpConnectTas
use vey_types::metrics::NodeName;
use vey_types::net::UpstreamAddr;

use super::{ArcEscaper, Escaper, EscaperInternal, EscaperRegistry, RouteEscaperStats};
use super::{
ArcEscaper, EgressNotes, Escaper, EscaperInternal, EscaperRegistry, RouteEscaperStats,
};
use crate::audit::{AuditContext, AuditHandle};
use crate::config::escaper::comply_audit::ComplyAuditEscaperConfig;
use crate::config::escaper::{AnyEscaperConfig, EscaperConfig};
Expand All @@ -26,12 +28,10 @@ use crate::module::http_forward::{
RouteHttpForwardContext,
};
use crate::module::tcp_connect::{
TcpConnectError, TcpConnectResult, TcpConnectTaskConf, TcpConnectTaskNotes, TlsConnectTaskConf,
};
use crate::module::udp_connect::{UdpConnectResult, UdpConnectTaskConf, UdpConnectTaskNotes};
use crate::module::udp_relay::{
ArcUdpRelayTaskRemoteStats, UdpRelaySetupResult, UdpRelayTaskConf, UdpRelayTaskNotes,
TcpConnectError, TcpConnectResult, TcpConnectTaskConf, TlsConnectTaskConf,
};
use crate::module::udp_connect::{UdpConnectResult, UdpConnectTaskConf};
use crate::module::udp_relay::{ArcUdpRelayTaskRemoteStats, UdpRelaySetupResult, UdpRelayTaskConf};
use crate::serve::ServerTaskNotes;

pub(super) struct ComplyAuditEscaper {
Expand Down Expand Up @@ -100,60 +100,60 @@ impl Escaper for ComplyAuditEscaper {
async fn tcp_setup_connection(
&self,
task_conf: &TcpConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcTcpConnectionTaskRemoteStats,
audit_ctx: &mut AuditContext,
) -> TcpConnectResult {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
self.stats.add_request_passed();
self._update_audit_context(audit_ctx);
self.next
.tcp_setup_connection(task_conf, tcp_notes, task_notes, task_stats, audit_ctx)
.tcp_setup_connection(task_conf, egress_notes, task_notes, task_stats, audit_ctx)
.await
}

async fn tls_setup_connection(
&self,
task_conf: &TlsConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcTcpConnectionTaskRemoteStats,
audit_ctx: &mut AuditContext,
) -> TcpConnectResult {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
self.stats.add_request_passed();
self._update_audit_context(audit_ctx);
self.next
.tls_setup_connection(task_conf, tcp_notes, task_notes, task_stats, audit_ctx)
.tls_setup_connection(task_conf, egress_notes, task_notes, task_stats, audit_ctx)
.await
}

async fn udp_setup_connection(
&self,
task_conf: &UdpConnectTaskConf<'_>,
udp_notes: &mut UdpConnectTaskNotes,
egress_notes: &mut EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcUdpConnectTaskRemoteStats,
) -> UdpConnectResult {
udp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
self.stats.add_request_passed();
self.next
.udp_setup_connection(task_conf, udp_notes, task_notes, task_stats)
.udp_setup_connection(task_conf, egress_notes, task_notes, task_stats)
.await
}

async fn udp_setup_relay(
&self,
task_conf: &UdpRelayTaskConf<'_>,
udp_notes: &mut UdpRelayTaskNotes,
egress_notes: &mut EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcUdpRelayTaskRemoteStats,
) -> UdpRelaySetupResult {
udp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
self.stats.add_request_passed();
self.next
.udp_setup_relay(task_conf, udp_notes, task_notes, task_stats)
.udp_setup_relay(task_conf, egress_notes, task_notes, task_stats)
.await
}

Expand Down Expand Up @@ -218,46 +218,46 @@ impl EscaperInternal for ComplyAuditEscaper {
async fn _new_http_forward_connection(
&self,
_task_conf: &TcpConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
_task_notes: &ServerTaskNotes,
_task_stats: ArcHttpForwardTaskRemoteStats,
) -> Result<BoxHttpForwardConnection, TcpConnectError> {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
Err(TcpConnectError::MethodUnavailable)
}

async fn _new_https_forward_connection(
&self,
_task_conf: &TlsConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
_task_notes: &ServerTaskNotes,
_task_stats: ArcHttpForwardTaskRemoteStats,
) -> Result<BoxHttpForwardConnection, TcpConnectError> {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
Err(TcpConnectError::MethodUnavailable)
}

async fn _new_ftp_control_connection(
&self,
_task_conf: &TcpConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
_task_notes: &ServerTaskNotes,
_task_stats: ArcFtpTaskRemoteControlStats,
) -> Result<BoxFtpRemoteConnection, TcpConnectError> {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
Err(TcpConnectError::MethodUnavailable)
}

async fn _new_ftp_transfer_connection(
&self,
_task_conf: &TcpConnectTaskConf<'_>,
transfer_tcp_notes: &mut TcpConnectTaskNotes,
_control_tcp_notes: &TcpConnectTaskNotes,
transfer_egress_notes: &mut EgressNotes,
_control_egress_notes: &EgressNotes,
_task_notes: &ServerTaskNotes,
_task_stats: ArcFtpTaskRemoteTransferStats,
_ftp_server: &UpstreamAddr,
) -> Result<BoxFtpRemoteConnection, TcpConnectError> {
transfer_tcp_notes.escaper.clone_from(&self.config.name);
transfer_egress_notes.escaper.clone_from(&self.config.name);
Err(TcpConnectError::MethodUnavailable)
}
}
54 changes: 27 additions & 27 deletions vey-proxy/src/escape/comply_context/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ use vey_daemon::stat::remote::{ArcTcpConnectionTaskRemoteStats, ArcUdpConnectTas
use vey_types::metrics::NodeName;
use vey_types::net::UpstreamAddr;

use super::{ArcEscaper, Escaper, EscaperInternal, EscaperRegistry, RouteEscaperStats};
use super::{
ArcEscaper, EgressNotes, Escaper, EscaperInternal, EscaperRegistry, RouteEscaperStats,
};
use crate::audit::AuditContext;
use crate::config::escaper::comply_context::ComplyContextEscaperConfig;
use crate::config::escaper::{AnyEscaperConfig, EscaperConfig};
Expand All @@ -26,12 +28,10 @@ use crate::module::http_forward::{
RouteHttpForwardContext,
};
use crate::module::tcp_connect::{
TcpConnectError, TcpConnectResult, TcpConnectTaskConf, TcpConnectTaskNotes, TlsConnectTaskConf,
};
use crate::module::udp_connect::{UdpConnectResult, UdpConnectTaskConf, UdpConnectTaskNotes};
use crate::module::udp_relay::{
ArcUdpRelayTaskRemoteStats, UdpRelaySetupResult, UdpRelayTaskConf, UdpRelayTaskNotes,
TcpConnectError, TcpConnectResult, TcpConnectTaskConf, TlsConnectTaskConf,
};
use crate::module::udp_connect::{UdpConnectResult, UdpConnectTaskConf};
use crate::module::udp_relay::{ArcUdpRelayTaskRemoteStats, UdpRelaySetupResult, UdpRelayTaskConf};
use crate::serve::ServerTaskNotes;

pub(super) struct ComplyContextEscaper {
Expand Down Expand Up @@ -98,62 +98,62 @@ impl Escaper for ComplyContextEscaper {
async fn tcp_setup_connection(
&self,
task_conf: &TcpConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcTcpConnectionTaskRemoteStats,
audit_ctx: &mut AuditContext,
) -> TcpConnectResult {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
self._update_egress_path(task_notes);
self.stats.add_request_passed();
self.next
.tcp_setup_connection(task_conf, tcp_notes, task_notes, task_stats, audit_ctx)
.tcp_setup_connection(task_conf, egress_notes, task_notes, task_stats, audit_ctx)
.await
}

async fn tls_setup_connection(
&self,
task_conf: &TlsConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcTcpConnectionTaskRemoteStats,
audit_ctx: &mut AuditContext,
) -> TcpConnectResult {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
self._update_egress_path(task_notes);
self.stats.add_request_passed();
self.next
.tls_setup_connection(task_conf, tcp_notes, task_notes, task_stats, audit_ctx)
.tls_setup_connection(task_conf, egress_notes, task_notes, task_stats, audit_ctx)
.await
}

async fn udp_setup_connection(
&self,
task_conf: &UdpConnectTaskConf<'_>,
udp_notes: &mut UdpConnectTaskNotes,
egress_notes: &mut EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcUdpConnectTaskRemoteStats,
) -> UdpConnectResult {
udp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
self._update_egress_path(task_notes);
self.stats.add_request_passed();
self.next
.udp_setup_connection(task_conf, udp_notes, task_notes, task_stats)
.udp_setup_connection(task_conf, egress_notes, task_notes, task_stats)
.await
}

async fn udp_setup_relay(
&self,
task_conf: &UdpRelayTaskConf<'_>,
udp_notes: &mut UdpRelayTaskNotes,
egress_notes: &mut EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcUdpRelayTaskRemoteStats,
) -> UdpRelaySetupResult {
udp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
self._update_egress_path(task_notes);
self.stats.add_request_passed();
self.next
.udp_setup_relay(task_conf, udp_notes, task_notes, task_stats)
.udp_setup_relay(task_conf, egress_notes, task_notes, task_stats)
.await
}

Expand Down Expand Up @@ -243,46 +243,46 @@ impl EscaperInternal for ComplyContextEscaper {
async fn _new_http_forward_connection(
&self,
_task_conf: &TcpConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
_task_notes: &ServerTaskNotes,
_task_stats: ArcHttpForwardTaskRemoteStats,
) -> Result<BoxHttpForwardConnection, TcpConnectError> {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
Err(TcpConnectError::MethodUnavailable)
}

async fn _new_https_forward_connection(
&self,
_task_conf: &TlsConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
_task_notes: &ServerTaskNotes,
_task_stats: ArcHttpForwardTaskRemoteStats,
) -> Result<BoxHttpForwardConnection, TcpConnectError> {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
Err(TcpConnectError::MethodUnavailable)
}

async fn _new_ftp_control_connection(
&self,
_task_conf: &TcpConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
_task_notes: &ServerTaskNotes,
_task_stats: ArcFtpTaskRemoteControlStats,
) -> Result<BoxFtpRemoteConnection, TcpConnectError> {
tcp_notes.escaper.clone_from(&self.config.name);
egress_notes.escaper.clone_from(&self.config.name);
Err(TcpConnectError::MethodUnavailable)
}

async fn _new_ftp_transfer_connection(
&self,
_task_conf: &TcpConnectTaskConf<'_>,
transfer_tcp_notes: &mut TcpConnectTaskNotes,
_control_tcp_notes: &TcpConnectTaskNotes,
transfer_egress_notes: &mut EgressNotes,
_control_egress_notes: &EgressNotes,
_task_notes: &ServerTaskNotes,
_task_stats: ArcFtpTaskRemoteTransferStats,
_ftp_server: &UpstreamAddr,
) -> Result<BoxFtpRemoteConnection, TcpConnectError> {
transfer_tcp_notes.escaper.clone_from(&self.config.name);
transfer_egress_notes.escaper.clone_from(&self.config.name);
Err(TcpConnectError::MethodUnavailable)
}
}
15 changes: 8 additions & 7 deletions vey-proxy/src/escape/direct_fixed/ftp_connect/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,24 @@ use vey_io_ext::LimitedStream;
use vey_types::net::UpstreamAddr;

use super::DirectFixedEscaper;
use crate::escape::EgressNotes;
use crate::module::ftp_over_http::{
ArcFtpTaskRemoteControlStats, ArcFtpTaskRemoteTransferStats, BoxFtpRemoteConnection,
FtpControlRemoteWrapperStats, FtpTransferRemoteWrapperStats,
};
use crate::module::tcp_connect::{TcpConnectError, TcpConnectTaskConf, TcpConnectTaskNotes};
use crate::module::tcp_connect::{TcpConnectError, TcpConnectTaskConf};
use crate::serve::ServerTaskNotes;

impl DirectFixedEscaper {
pub(super) async fn new_ftp_control_connection(
&self,
task_conf: &TcpConnectTaskConf<'_>,
tcp_notes: &mut TcpConnectTaskNotes,
egress_notes: &mut EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcFtpTaskRemoteControlStats,
) -> Result<BoxFtpRemoteConnection, TcpConnectError> {
let mut stream = self
.tcp_connect_to(task_conf, tcp_notes, task_notes)
.tcp_connect_to(task_conf, egress_notes, task_notes)
.await?;
if let Some(version) = self.config.use_proxy_protocol {
self.send_tcp_proxy_protocol_header(version, &mut stream, task_notes, false)
Expand All @@ -51,8 +52,8 @@ impl DirectFixedEscaper {
pub(super) async fn new_ftp_transfer_connection(
&self,
task_conf: &TcpConnectTaskConf<'_>,
transfer_tcp_notes: &mut TcpConnectTaskNotes,
control_tcp_notes: &TcpConnectTaskNotes,
transfer_egress_notes: &mut EgressNotes,
control_egress_notes: &EgressNotes,
task_notes: &ServerTaskNotes,
task_stats: ArcFtpTaskRemoteTransferStats,
ftp_server: &UpstreamAddr,
Expand All @@ -61,8 +62,8 @@ impl DirectFixedEscaper {
.tcp_connect_to_again(
task_conf,
ftp_server,
transfer_tcp_notes,
control_tcp_notes,
transfer_egress_notes,
control_egress_notes,
task_notes,
)
.await?;
Expand Down
Loading
Loading