Compare commits
4 Commits
be9ba8fd5c
...
a2e1407578
| Author | SHA1 | Date | |
|---|---|---|---|
| a2e1407578 | |||
| f727ed284f | |||
| ddbdb66dee | |||
| 5242abaf8f |
1063
rust/Cargo.lock
generated
1063
rust/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -30,6 +30,6 @@ semver = "1.0.21"
|
|||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
#reqwest = { version = "0.11.11", default-features = false, features = ["json", "rustls-tls"] }
|
#reqwest = { version = "0.11.11", default-features = false, features = ["json", "rustls-tls"] }
|
||||||
tokio-tungstenite = "0.20.1"
|
tokio-tungstenite = "0.21.0"
|
||||||
serde_urlencoded = "0.7.1"
|
serde_urlencoded = "0.7.1"
|
||||||
futures = "0.3.30"
|
futures = "0.3.30"
|
||||||
|
|||||||
@@ -24,11 +24,12 @@ num = "0.4.1"
|
|||||||
num-traits = "0.2.17"
|
num-traits = "0.2.17"
|
||||||
num-derive = "0.4.1"
|
num-derive = "0.4.1"
|
||||||
textwrap = "0.16.0"
|
textwrap = "0.16.0"
|
||||||
tokio-tungstenite = { version = "0.20.1", features = ["__rustls-tls", "rustls-tls-native-roots"] }
|
tokio-tungstenite = { version = "0.21.0", features = ["__rustls-tls", "rustls-tls-native-roots"] }
|
||||||
serde_urlencoded = "0.7.1"
|
serde_urlencoded = "0.7.1"
|
||||||
futures = "0.3.30"
|
futures = "0.3.30"
|
||||||
serde_json = "1.0.110"
|
serde_json = "1.0.110"
|
||||||
hostname = "0.3.1"
|
hostname = "0.3.1"
|
||||||
rustls = "0.21.9"
|
rustls = "0.22.0"
|
||||||
hyper-rustls = { version = "0.24.2", features = ["rustls-native-certs"] }
|
hyper-rustls = { version = "0.24.2", features = ["rustls-native-certs"] }
|
||||||
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }
|
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }
|
||||||
|
rustls-native-certs = {version = "0.7.0"}
|
||||||
@@ -2,7 +2,6 @@ use crate::cli_args::cli_args;
|
|||||||
use crate::server;
|
use crate::server;
|
||||||
use futures::stream::{SplitSink, SplitStream};
|
use futures::stream::{SplitSink, SplitStream};
|
||||||
use futures::{SinkExt, StreamExt};
|
use futures::{SinkExt, StreamExt};
|
||||||
use hyper_rustls::ConfigBuilderExt;
|
|
||||||
use sea_battle_backend::data::*;
|
use sea_battle_backend::data::*;
|
||||||
use sea_battle_backend::human_player_ws::{ClientMessage, ServerMessage};
|
use sea_battle_backend::human_player_ws::{ClientMessage, ServerMessage};
|
||||||
use sea_battle_backend::server::{
|
use sea_battle_backend::server::{
|
||||||
@@ -127,13 +126,18 @@ impl Client {
|
|||||||
|
|
||||||
let (socket, _) = if ws_url.starts_with("wss") {
|
let (socket, _) = if ws_url.starts_with("wss") {
|
||||||
// Perform a connection over TLS
|
// Perform a connection over TLS
|
||||||
|
let mut roots = rustls::RootCertStore::empty();
|
||||||
|
for cert in rustls_native_certs::load_native_certs()? {
|
||||||
|
roots.add(cert).unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
let config = rustls::ClientConfig::builder()
|
let config = rustls::ClientConfig::builder()
|
||||||
.with_safe_defaults()
|
.with_root_certificates(roots)
|
||||||
.with_native_roots()
|
|
||||||
.with_no_client_auth();
|
.with_no_client_auth();
|
||||||
let connector = tokio_tungstenite::Connector::Rustls(Arc::new(config));
|
let connector = tokio_tungstenite::Connector::Rustls(Arc::new(config));
|
||||||
|
|
||||||
tokio_tungstenite::connect_async_tls_with_config(ws_url, None, false,Some(connector)).await?
|
tokio_tungstenite::connect_async_tls_with_config(ws_url, None, false, Some(connector))
|
||||||
|
.await?
|
||||||
} else {
|
} else {
|
||||||
// Perform an unsecure connection
|
// Perform an unsecure connection
|
||||||
tokio_tungstenite::connect_async(ws_url).await?
|
tokio_tungstenite::connect_async(ws_url).await?
|
||||||
|
|||||||
Reference in New Issue
Block a user