summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/protocol/Cargo.toml2
-rw-r--r--server/src/main.rs2
-rw-r--r--server/src/server.rs8
3 files changed, 8 insertions, 4 deletions
diff --git a/server/protocol/Cargo.toml b/server/protocol/Cargo.toml
index 44533f9d..b6da120a 100644
--- a/server/protocol/Cargo.toml
+++ b/server/protocol/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hurrycurry-protocol"
-version = "7.5.0"
+version = "8.0.0"
edition = "2021"
[dependencies]
diff --git a/server/src/main.rs b/server/src/main.rs
index 2d5ba390..7f3de073 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -248,7 +248,7 @@ async fn run(args: Args) -> anyhow::Result<()> {
info!("{id:?} connected");
while let Some(Ok(message)) = read.next().await {
let packet = match message {
- Message::Text(line) => match serde_json::from_str(&line) {
+ Message::Text(line) if line.len() < 8196 => match serde_json::from_str(&line) {
Ok(p) => p,
Err(e) => {
warn!("Invalid json packet: {e}");
diff --git a/server/src/server.rs b/server/src/server.rs
index f59cd2b9..0889cd71 100644
--- a/server/src/server.rs
+++ b/server/src/server.rs
@@ -371,8 +371,12 @@ impl Server {
id,
class,
} => {
- if name.len() > 64 {
- return Err(tre!("s.error.username_length_limit"));
+ if name.chars().count() > 32 || name.len() > 64 {
+ return Err(tre!(
+ "s.error.username_length_limit",
+ s = "32".to_string(),
+ s = "64".to_string()
+ ));
}
if self.game.players.len() > 64 {
return Err(tre!("s.error.too_many_players"));