Check for proper username

This commit is contained in:
Bastian Gruber 2023-04-29 14:03:10 +02:00
parent b5a7e04051
commit 4d4df0ea06
No known key found for this signature in database
GPG key ID: BE9F8C772B188CBF

View file

@ -57,17 +57,22 @@ async fn main() -> Result<()> {
// we won't process until we find one. // we won't process until we find one.
match framed.next().await { match framed.next().await {
Some(Ok(username)) => { Some(Ok(username)) => {
name = username.clone(); if !username.is_empty() && username.is_ascii() {
db.0.lock().unwrap().insert(username.clone(), address); name = username.clone();
let message = compose_message(username.clone(), db.clone()); db.0.lock().unwrap().insert(username.clone(), address);
info!("Adding username: {username} to db"); let message = compose_message(username.clone(), db.clone());
let _ = framed.send(message).await; info!("Adding username: {username} to db");
info!("Send message to client"); let _ = framed.send(message).await;
let b = BroadcastMessage( info!("Send message to client");
username.clone(), let b = BroadcastMessage(
format!("* {} has entered the room", username), username.clone(),
); format!("* {} has entered the room", username),
let _ = tx.send(b); );
let _ = tx.send(b);
} else {
return;
}
} }
Some(Err(e)) => { Some(Err(e)) => {
error!("Error parsing message: {e}"); error!("Error parsing message: {e}");
@ -98,7 +103,7 @@ async fn main() -> Result<()> {
info!("No next frame"); info!("No next frame");
let b = let b =
BroadcastMessage(name.clone(), format!("* {} has left the room", name)); BroadcastMessage(name.clone(), format!("* {} has left the room", name));
db.0.lock().unwrap().remove(username.clone()); db.0.lock().unwrap().remove(&name.clone());
let _ = tx.send(b); let _ = tx.send(b);
break; break;
} }