Răsfoiți Sursa

show nick changes

narodnik 4 ani în urmă
părinte
comite
1150696fca
1 a modificat fișierele cu 8 adăugiri și 1 ștergeri
  1. 8 1
      bin/ircd/src/irc_server.rs

+ 8 - 1
bin/ircd/src/irc_server.rs

@@ -67,7 +67,10 @@ impl IrcServerConnection {
             "NICK" => {
                 let nickname = tokens.next().ok_or(Error::MalformedPacket)?;
                 self.is_nick_init = true;
-                self.nickname = nickname.to_string();
+                let old_nick = std::mem::replace(&mut self.nickname, nickname.to_string());
+
+                let nick_reply = format!(":{}!darkfi@127.0.0.1 NICK {}\n", old_nick, self.nickname);
+                self.reply(&nick_reply).await?;
             }
             "USER" => {
                 // We can stuff any extra things like public keys in here
@@ -108,6 +111,10 @@ impl IrcServerConnection {
                 };
                 p2p.broadcast(protocol_msg).await?;
             }
+            "QUIT" => {
+                // Close the connection
+                return Err(Error::ServiceStopped)
+            }
             _ => {}
         }