Compare commits

..

1 Commits

Author SHA1 Message Date
196f5e20e0 Update Rust crate clap to 4.4.0
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-25 00:40:58 +00:00
9 changed files with 741 additions and 1032 deletions

View File

@ -3,7 +3,7 @@
"ignorePaths": ["**/flutter/**", "**/react/**"], "ignorePaths": ["**/flutter/**", "**/react/**"],
"packageRules": [ "packageRules": [
{ {
"matchUpdateTypes": ["major", "minor", "patch"], "matchUpdateTypes": ["minor", "patch"],
"automerge": true "automerge": true
} }
] ]

1687
rust/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
[workspace] [workspace]
resolver = "2"
members = [ members = [
"sea_battle_backend", "sea_battle_backend",
"sea_battle_cli_player" "sea_battle_cli_player"

View File

@ -1,4 +1,4 @@
FROM debian:bookworm-slim FROM debian:bullseye-slim
COPY sea_battle_backend /usr/local/bin/sea_battle_backend COPY sea_battle_backend /usr/local/bin/sea_battle_backend

View File

@ -1,6 +1,6 @@
[package] [package]
name = "sea_battle_backend" name = "sea_battle_backend"
version = "0.2.1" version = "0.2.0"
edition = "2021" edition = "2021"
license = "GPL-2.0-or-later" license = "GPL-2.0-or-later"
description = "A Sea Battle game backend server" description = "A Sea Battle game backend server"
@ -12,24 +12,24 @@ categories = [ "games" ]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
clap = { version = "4.5.4", features = ["derive"] } clap = { version = "4.4.0", features = ["derive"] }
log = "0.4.21" log = "0.4.20"
env_logger = "0.11.3" env_logger = "0.10.0"
serde = { version = "1.0.200", features = ["derive"] } serde = { version = "1.0.185", features = ["derive"] }
serde_json = "1.0.116" serde_json = "1.0.105"
actix-web = "4.5.1" actix-web = "4.1.0"
actix-cors = "0.7.0" actix-cors = "0.6.2"
actix = "0.13.3" actix = "0.13.0"
actix-web-actors = "4.3.0" actix-web-actors = "4.1.0"
actix-rt = "2.9.0" actix-rt = "2.7.0"
uuid = { version = "1.8.0", features = ["v4"] } uuid = { version = "1.4.1", features = ["v4"] }
rand = "0.8.5" rand = "0.8.5"
serde_with = "3.8.1" serde_with = "3.3.0"
tokio = { version = "1", features = ["full"] } tokio = { version = "1", features = ["full"] }
semver = "1.0.22" semver = "1.0.18"
[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.21.0" tokio-tungstenite = "0.20.0"
serde_urlencoded = "0.7.1" serde_urlencoded = "0.7.1"
futures = "0.3.30" futures = "0.3.23"

View File

@ -144,7 +144,7 @@ impl GameRules {
/// Check out whether these game rules are valid or not /// Check out whether these game rules are valid or not
pub fn is_valid(&self) -> bool { pub fn is_valid(&self) -> bool {
self.get_errors().is_empty() return self.get_errors().is_empty();
} }
} }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "sea_battle_cli_player" name = "sea_battle_cli_player"
version = "0.2.1" version = "0.2.0"
edition = "2021" edition = "2021"
license = "GPL-2.0-or-later" license = "GPL-2.0-or-later"
description = "A Sea Battle game shell client" description = "A Sea Battle game shell client"
@ -13,22 +13,22 @@ categories = [ "games" ]
[dependencies] [dependencies]
sea_battle_backend = { path = "../sea_battle_backend", version = "0.2.0" } sea_battle_backend = { path = "../sea_battle_backend", version = "0.2.0" }
clap = { version = "4.5.4", features = ["derive"] } clap = { version = "4.4.0", features = ["derive"] }
log = "0.4.21" log = "0.4.20"
env_logger = "0.11.3" env_logger = "0.10.0"
tui = "0.19.0" tui = "0.19.0"
crossterm = "0.27.0" crossterm = "0.27.0"
lazy_static = "1.4.0" lazy_static = "1.4.0"
tokio = "1.37.0" tokio = "1.32.0"
num = "0.4.2" num = "0.4.1"
num-traits = "0.2.18" num-traits = "0.2.16"
num-derive = "0.4.2" num-derive = "0.4.0"
textwrap = "0.16.1" textwrap = "0.16.0"
tokio-tungstenite = { version = "0.21.0", features = ["__rustls-tls", "rustls-tls-native-roots"] } tokio-tungstenite = { version = "0.20.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.23"
serde_json = "1.0.116" serde_json = "1.0.105"
hostname = "0.4.0" hostname = "0.3.1"
rustls = "0.22.2" rustls = "0.21.6"
reqwest = { version = "0.12.4", features = ["json", "rustls-tls"], default-features = false } hyper-rustls = { version = "0.24.1", features = ["rustls-native-certs"] }
rustls-native-certs = {version = "0.7.0"} reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }

View File

@ -2,6 +2,7 @@ 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::{
@ -126,18 +127,13 @@ 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_root_certificates(roots) .with_safe_defaults()
.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)) tokio_tungstenite::connect_async_tls_with_config(ws_url, None, false,Some(connector)).await?
.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?

View File

@ -98,7 +98,7 @@ impl<'a> GameMapWidget<'a> {
} }
} }
impl Widget for GameMapWidget<'_> { impl<'a> Widget for GameMapWidget<'a> {
fn render(mut self, area: Rect, buf: &mut Buffer) { fn render(mut self, area: Rect, buf: &mut Buffer) {
let alphabet = PlayConfiguration::default().ordinate_alphabet; let alphabet = PlayConfiguration::default().ordinate_alphabet;