Skip to content

Commit b63601e

Browse files
refactor(devolutions-gateway): small refactoring;
1 parent b9faa01 commit b63601e

File tree

2 files changed

+3
-35
lines changed

2 files changed

+3
-35
lines changed

devolutions-gateway/src/generic_client.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ where
103103
span.record("target", selected_target.to_string());
104104

105105
let is_rdp = claims.jet_ap == token::ApplicationProtocol::Known(token::Protocol::Rdp);
106-
trace!(is_rdp, "IS_RDP????");
107106

108107
let info = SessionInfo::builder()
109108
.association_id(claims.jet_aid)

devolutions-gateway/src/rdp_proxy.rs

Lines changed: 3 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ where
5454
C: AsyncRead + AsyncWrite + Unpin + Send + Sync,
5555
S: AsyncRead + AsyncWrite + Unpin + Send + Sync,
5656
{
57-
info!("started RDP proxy!");
58-
5957
let RdpProxy {
6058
conf,
6159
session_info,
@@ -85,42 +83,31 @@ where
8583
tls_conf.acceptor.clone(),
8684
));
8785

88-
info!("gateway public key is here");
89-
9086
// -- Dual handshake with the client and the server until the TLS security upgrade -- //
9187

9288
let mut client_framed = ironrdp_tokio::TokioFramed::new_with_leftover(client_stream, client_stream_leftover_bytes);
9389
let mut server_framed = ironrdp_tokio::TokioFramed::new(server_stream);
9490

95-
info!("framed streams are here");
96-
9791
let handshake_result =
9892
dual_handshake_until_tls_upgrade(&mut client_framed, &mut server_framed, credential_mapping).await?;
99-
info!("the handshakes are done!");
10093

10194
let client_stream = client_framed.into_inner_no_leftover();
10295
let server_stream = server_framed.into_inner_no_leftover();
10396

104-
info!("Handshake is done!");
105-
10697
// -- Perform the TLS upgrading for both the client and the server, effectively acting as a man-in-the-middle -- //
10798

10899
let client_tls_upgrade_fut = tls_conf.acceptor.accept(client_stream);
109100
let server_tls_upgrade_fut = crate::tls::connect(server_dns_name.clone(), server_stream);
110101

111102
let (client_stream, server_stream) = tokio::join!(client_tls_upgrade_fut, server_tls_upgrade_fut);
112103

113-
info!("TLS upgrade futures finished!");
114-
115104
let client_stream = client_stream
116105
.inspect_err(|err| warn!(?err, "client stream error"))
117106
.context("TLS upgrade with client failed")?;
118107
let server_stream = server_stream
119108
.inspect_err(|err| warn!(?err, "server stream error"))
120109
.context("TLS upgrade with server failed")?;
121110

122-
info!("TLS upgrade is done!");
123-
124111
let server_public_key =
125112
extract_tls_server_public_key(&server_stream).context("extract target server TLS public key")?;
126113
let gateway_public_key = gateway_public_key_handle.await??;
@@ -130,8 +117,6 @@ where
130117
let mut client_framed = ironrdp_tokio::TokioFramed::new(client_stream);
131118
let mut server_framed = ironrdp_tokio::TokioFramed::new(server_stream);
132119

133-
warn!("START CREDSSPS STAGES");
134-
135120
let krb_server_config = if conf.debug.enable_unstable {
136121
if let Some(KerberosServer {
137122
max_time_skew,
@@ -193,7 +178,6 @@ where
193178
// client_credssp_res.context("CredSSP with client")?;
194179
// server_credssp_res.context("CredSSP with server")?;
195180
client_credssp_fut.await.context("CredSSP with client")?;
196-
warn!("CREDSASPWITHCLIENTFINISHED");
197181
server_credssp_fut.await.context("CredSSP with server")?;
198182

199183
// -- Intercept the Connect Confirm PDU, to override the server_security_protocol field -- //
@@ -341,17 +325,11 @@ where
341325
.await
342326
.context("send connection request to server")?;
343327

344-
info!("sent");
345-
346328
let (_, received_frame) = server_framed.read_pdu().await.context("read PDU from server")?;
347-
info!("pdu has been read");
348-
349329
let received_connection_confirm: x224::X224<nego::ConnectionConfirm> =
350330
ironrdp_core::decode(&received_frame).context("decode PDU from server")?;
351331
trace!(message = ?received_connection_confirm, "Received Connection Confirm PDU from server");
352332

353-
debug!("before match");
354-
355333
let (connection_confirm_to_send, handshake_result) = match &received_connection_confirm.0 {
356334
nego::ConnectionConfirm::Response {
357335
flags,
@@ -408,8 +386,6 @@ where
408386
{
409387
use ironrdp_tokio::FramedWrite as _;
410388

411-
info!(?credentials, "CREDSFORTHESERVER targetccredscheck");
412-
413389
let (credentials, domain) = match credentials {
414390
crate::credential::AppCredential::UsernamePassword {
415391
username,
@@ -424,8 +400,6 @@ where
424400
),
425401
};
426402

427-
info!(?credentials, "CREDSFORTHESERVER");
428-
429403
let (mut sequence, mut ts_request) = ironrdp_connector::credssp::CredsspSequence::init(
430404
credentials,
431405
domain,
@@ -445,10 +419,9 @@ where
445419
let mut generator = sequence.process_ts_request(ts_request);
446420

447421
if let Some(network_client_ref) = network_client.as_deref_mut() {
448-
trace!("resolving network");
449422
resolve_client_generator(&mut generator, network_client_ref).await?
450423
} else {
451-
panic!("network client is missing")
424+
generator.resolve_to_result().context("sspi generator resolve")?
452425
}
453426
}; // drop generator
454427

@@ -482,7 +455,7 @@ where
482455
async fn resolve_server_generator(
483456
generator: &mut CredsspServerProcessGenerator<'_>,
484457
network_client: &mut dyn AsyncSendableNetworkClient,
485-
) -> Result<ServerState, Box<ServerError>> {
458+
) -> Result<ServerState, ServerError> {
486459
let mut state = generator.start();
487460

488461
loop {
@@ -553,8 +526,6 @@ where
553526
.await;
554527

555528
if security_protocol.intersects(nego::SecurityProtocol::HYBRID_EX) {
556-
trace!(?result, "HYBRID_EX");
557-
558529
let result = if result.is_ok() {
559530
EarlyUserAuthResult::Success
560531
} else {
@@ -595,8 +566,6 @@ where
595566
password: password.expose_secret().to_owned().into(),
596567
};
597568

598-
info!(?identity, ?client_computer_name, "CREDSFORTHECLIENT");
599-
600569
let mut sequence = ironrdp_acceptor::credssp::CredsspSequence::init(
601570
&identity,
602571
client_computer_name,
@@ -624,7 +593,7 @@ where
624593
if let Some(network_client_ref) = network_client.as_deref_mut() {
625594
resolve_server_generator(&mut generator, network_client_ref).await
626595
} else {
627-
panic!("network client is missing");
596+
generator.resolve_to_result()
628597
}
629598
}; // drop generator
630599

0 commit comments

Comments
 (0)