Skip to content

Commit 60b5d33

Browse files
refactor(devolutions-gateway): rdp proxy small refactoring;
1 parent e05a2d3 commit 60b5d33

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

devolutions-gateway/src/rdp_proxy.rs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use ironrdp_connector::sspi::{
1919
self, AuthIdentityBuffers, CredentialsBuffers, KerberosConfig as SspiKerberosConfig, KerberosServerConfig,
2020
};
2121
use ironrdp_pdu::{mcs, nego, x224};
22-
use ironrdp_tokio::AsyncSendableNetworkClient;
22+
use ironrdp_tokio::reqwest::ReqwestNetworkClient;
2323
use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt};
2424
use typed_builder::TypedBuilder;
2525

@@ -151,7 +151,7 @@ where
151151
None
152152
};
153153

154-
let mut network_client = ironrdp_tokio::reqwest::ReqwestNetworkClient::new();
154+
let mut network_client = ReqwestNetworkClient::new();
155155
let client_credssp_fut = perform_credssp_with_client(
156156
&mut client_framed,
157157
client_addr.ip(),
@@ -162,7 +162,7 @@ where
162162
krb_server_config,
163163
);
164164

165-
let mut network_client = ironrdp_tokio::reqwest::ReqwestNetworkClient::new();
165+
let mut network_client = ReqwestNetworkClient::new();
166166
let server_credssp_fut = perform_credssp_with_server(
167167
&mut server_framed,
168168
server_dns_name,
@@ -376,7 +376,7 @@ async fn perform_credssp_with_server<S>(
376376
server_public_key: Vec<u8>,
377377
security_protocol: nego::SecurityProtocol,
378378
credentials: &crate::credential::AppCredential,
379-
mut network_client: Option<&mut dyn AsyncSendableNetworkClient>,
379+
mut network_client: Option<&mut ReqwestNetworkClient>,
380380
) -> anyhow::Result<()>
381381
where
382382
S: ironrdp_tokio::FramedRead + ironrdp_tokio::FramedWrite,
@@ -449,21 +449,17 @@ where
449449

450450
async fn resolve_server_generator(
451451
generator: &mut CredsspServerProcessGenerator<'_>,
452-
network_client: &mut dyn AsyncSendableNetworkClient,
452+
network_client: &mut ReqwestNetworkClient,
453453
) -> Result<ServerState, ServerError> {
454454
let mut state = generator.start();
455455

456456
loop {
457457
match state {
458458
GeneratorState::Suspended(request) => {
459-
let response = network_client
460-
.send(&request)
461-
.await
462-
.inspect_err(|err| error!(?err, "Failed to send a Kerberos message"))
463-
.map_err(|err| ServerError {
464-
ts_request: None,
465-
error: sspi::Error::new(sspi::ErrorKind::InternalError, err),
466-
})?;
459+
let response = network_client.send(&request).await.map_err(|err| ServerError {
460+
ts_request: None,
461+
error: sspi::Error::new(sspi::ErrorKind::InternalError, err),
462+
})?;
467463
state = generator.resume(Ok(response));
468464
}
469465
GeneratorState::Completed(client_state) => {
@@ -475,7 +471,7 @@ async fn resolve_server_generator(
475471

476472
async fn resolve_client_generator(
477473
generator: &mut CredsspClientProcessGenerator<'_>,
478-
network_client: &mut dyn AsyncSendableNetworkClient,
474+
network_client: &mut ReqwestNetworkClient,
479475
) -> ironrdp_connector::ConnectorResult<ClientState> {
480476
let mut state = generator.start();
481477

@@ -501,7 +497,7 @@ async fn perform_credssp_with_client<S>(
501497
gateway_public_key: Vec<u8>,
502498
security_protocol: nego::SecurityProtocol,
503499
credentials: &crate::credential::AppCredential,
504-
network_client: Option<&mut dyn AsyncSendableNetworkClient>,
500+
network_client: Option<&mut ReqwestNetworkClient>,
505501
kerberos_server_config: Option<KerberosServerConfig>,
506502
) -> anyhow::Result<()>
507503
where
@@ -550,7 +546,7 @@ where
550546
client_computer_name: ironrdp_connector::ServerName,
551547
public_key: Vec<u8>,
552548
credentials: &crate::credential::AppCredential,
553-
mut network_client: Option<&mut dyn AsyncSendableNetworkClient>,
549+
mut network_client: Option<&mut ReqwestNetworkClient>,
554550
kerberos_server_config: Option<KerberosServerConfig>,
555551
) -> anyhow::Result<()>
556552
where

0 commit comments

Comments
 (0)