mirror of
https://github.com/warp-tech/warpgate.git
synced 2025-09-07 15:14:20 +08:00
Bump russh, set TCP_NODELAY (#1447)
This commit is contained in:
parent
5a4b29532d
commit
f90c529b07
8 changed files with 16 additions and 7 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
@ -3690,9 +3690,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "russh"
|
||||
version = "0.53.0"
|
||||
version = "0.54.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b71d6d784c75ab19c421b7c3df21b100c9643f8b2563ae345a495ee792e85e4"
|
||||
checksum = "0b6bf7e0751f391a95dfb2feff66a5adafaad2fd98f0e04f10619958253d92fe"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"aws-lc-rs",
|
||||
|
|
|
@ -24,7 +24,7 @@ bytes = { version = "1.4", default-features = false }
|
|||
data-encoding = { version = "2.3", default-features = false, features = ["alloc", "std"] }
|
||||
serde = { version = "1.0", features = ["derive"], default-features = false }
|
||||
serde_json = { version = "1.0", default-features = false }
|
||||
russh = { version = "0.53.0", features = ["des", "aws-lc-rs"], default-features = false }
|
||||
russh = { version = "0.54.0", features = ["des", "rsa", "aws-lc-rs"], default-features = false }
|
||||
futures = { version = "0.3", default-features = false }
|
||||
tokio-stream = { version = "0.1.17", features = ["net"], default-features = false }
|
||||
tokio-rustls = { version = "0.26", default-features = false }
|
||||
|
|
|
@ -57,8 +57,10 @@ impl MySqlClient {
|
|||
target: &TargetMySqlOptions,
|
||||
mut options: ConnectionOptions,
|
||||
) -> Result<Self, MySqlError> {
|
||||
let mut stream =
|
||||
MySqlStream::new(TcpStream::connect((target.host.clone(), target.port)).await?);
|
||||
let stream = TcpStream::connect((target.host.clone(), target.port)).await?;
|
||||
stream.set_nodelay(true)?;
|
||||
|
||||
let mut stream = MySqlStream::new(stream);
|
||||
|
||||
options.capabilities.remove(Capabilities::SSL);
|
||||
if target.tls.mode != TlsMode::Disabled {
|
||||
|
|
|
@ -75,6 +75,8 @@ impl ProtocolServer for MySQLProtocolServer {
|
|||
};
|
||||
let remote_address = stream.peer_addr().context("getting peer address")?;
|
||||
|
||||
stream.set_nodelay(true)?;
|
||||
|
||||
let tls_config = tls_config.clone();
|
||||
let services = self.services.clone();
|
||||
tokio::spawn(async move {
|
||||
|
|
|
@ -56,8 +56,10 @@ impl PostgresClient {
|
|||
target: &TargetPostgresOptions,
|
||||
options: ConnectionOptions,
|
||||
) -> Result<Self, PostgresError> {
|
||||
let mut stream =
|
||||
PostgresStream::new(TcpStream::connect((target.host.clone(), target.port)).await?);
|
||||
let stream = TcpStream::connect((target.host.clone(), target.port)).await?;
|
||||
stream.set_nodelay(true)?;
|
||||
|
||||
let mut stream = PostgresStream::new(stream);
|
||||
|
||||
if target.tls.mode != TlsMode::Disabled {
|
||||
stream.push(pgwire::messages::startup::SslRequest::new())?;
|
||||
|
|
|
@ -77,6 +77,7 @@ impl ProtocolServer for PostgresProtocolServer {
|
|||
};
|
||||
|
||||
let remote_address = stream.peer_addr().context("getting peer address")?;
|
||||
stream.set_nodelay(true)?;
|
||||
|
||||
let tls_config = tls_config.clone();
|
||||
let services = self.services.clone();
|
||||
|
|
|
@ -489,6 +489,7 @@ impl RemoteClient {
|
|||
|
||||
let config = russh::client::Config {
|
||||
preferred: algos,
|
||||
nodelay: true,
|
||||
..Default::default()
|
||||
};
|
||||
let config = Arc::new(config);
|
||||
|
|
|
@ -40,6 +40,7 @@ pub async fn run_server(services: Services, address: ListenEndpoint) -> Result<(
|
|||
),
|
||||
keys: vec![load_host_keys(&config)?],
|
||||
event_buffer_size: 100,
|
||||
nodelay: true,
|
||||
preferred: Preferred {
|
||||
key: Cow::Borrowed(&[
|
||||
Algorithm::Ed25519,
|
||||
|
|
Loading…
Add table
Reference in a new issue