From 51e67a0e0c478fe111ce6924c3b863fdbe09ef11 Mon Sep 17 00:00:00 2001 From: Dastan-glitch Date: Sun, 10 Jul 2022 23:41:01 +0000 Subject: [PATCH] bin/ircd: clip nicks with length more than MAXIMUM_LENGTH_OF_NICKNAME instead of skipping their msgs --- bin/ircd/src/protocol_privmsg.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/ircd/src/protocol_privmsg.rs b/bin/ircd/src/protocol_privmsg.rs index 4b3bb43a6..d8154ec83 100644 --- a/bin/ircd/src/protocol_privmsg.rs +++ b/bin/ircd/src/protocol_privmsg.rs @@ -61,9 +61,10 @@ impl ProtocolPrivmsg { loop { let msg = self.msg_sub.receive().await?; + let mut msg = (*msg).to_owned(); if msg.nickname.len() > MAXIMUM_LENGTH_OF_NICKNAME { - continue + msg.nickname = msg.nickname[..MAXIMUM_LENGTH_OF_NICKNAME].to_string(); } if self.msg_ids.lock().await.contains(&msg.id) { @@ -71,14 +72,13 @@ impl ProtocolPrivmsg { } self.msg_ids.lock().await.push(msg.id); - let msg = (*msg).clone(); // add the msg to the buffer self.msgs.lock().await.push(msg.clone()); self.notify_queue_sender.send(msg.clone()).await?; - self.p2p.broadcast_with_exclude(msg.clone(), &exclude_list).await?; + self.p2p.broadcast_with_exclude(msg, &exclude_list).await?; } } }