Эх сурвалжийг харах

bin/ircd: define const for messages and nicknames length

ghassmo 4 жил өмнө
parent
commit
a9edf9b2de

+ 2 - 0
bin/ircd/src/main.rs

@@ -40,6 +40,8 @@ use crate::{
 };
 
 const SIZE_OF_MSGS_BUFFER: usize = 4096;
+pub const MAXIMUM_LENGTH_OF_MESSAGE: usize = 512;
+pub const MAXIMUM_LENGTH_OF_NICKNAME: usize = 9;
 
 struct Ircd {
     // msgs

+ 5 - 2
bin/ircd/src/protocol_privmsg.rs

@@ -7,7 +7,10 @@ use ringbuffer::{RingBufferExt, RingBufferWrite};
 
 use darkfi::{net, Result};
 
-use crate::privmsg::{Privmsg, PrivmsgsBuffer, SeenMsgIds};
+use crate::{
+    privmsg::{Privmsg, PrivmsgsBuffer, SeenMsgIds},
+    MAXIMUM_LENGTH_OF_NICKNAME,
+};
 
 pub struct ProtocolPrivmsg {
     jobsman: net::ProtocolJobsManagerPtr,
@@ -59,7 +62,7 @@ impl ProtocolPrivmsg {
         loop {
             let msg = self.msg_sub.receive().await?;
 
-            if msg.nickname.len() > 10 {
+            if msg.nickname.len() > MAXIMUM_LENGTH_OF_NICKNAME {
                 continue
             }
 

+ 3 - 3
bin/ircd/src/server.rs

@@ -12,7 +12,7 @@ use darkfi::{net::P2pPtr, system::SubscriberPtr, Error, Result};
 use crate::{
     crypto::{encrypt_message, try_decrypt_message},
     privmsg::{Privmsg, PrivmsgsBuffer, SeenMsgIds},
-    ChannelInfo,
+    ChannelInfo, MAXIMUM_LENGTH_OF_MESSAGE, MAXIMUM_LENGTH_OF_NICKNAME,
 };
 
 const RPL_NOTOPIC: u32 = 331;
@@ -69,7 +69,7 @@ impl IrcServerConnection {
     }
 
     async fn update(&mut self, line: String) -> Result<()> {
-        if line.len() > 513 {
+        if line.len() > MAXIMUM_LENGTH_OF_MESSAGE {
             return Err(Error::MalformedPacket)
         }
 
@@ -116,7 +116,7 @@ impl IrcServerConnection {
             "NICK" => {
                 let nickname = tokens.next().ok_or(Error::MalformedPacket)?;
 
-                if nickname.len() > 10 {
+                if nickname.len() > MAXIMUM_LENGTH_OF_NICKNAME {
                     return Ok(())
                 }