--- a/rust/hedgewars-server/src/server/handlers/loggingin.rs Sun Dec 16 00:09:20 2018 +0100
+++ b/rust/hedgewars-server/src/server/handlers/loggingin.rs Sun Dec 16 00:12:29 2018 +0100
@@ -1,21 +1,19 @@
use mio;
use crate::{
+ protocol::messages::{HWProtocolMessage, HWServerMessage::*},
server::{
+ actions::{Action, Action::*},
client::HWClient,
core::HWServer,
coretypes::ClientId,
- actions::{Action, Action::*}
},
- protocol::messages::{
- HWProtocolMessage, HWServerMessage::*
- },
- utils::is_name_illegal
+ utils::is_name_illegal,
};
+use log::*;
#[cfg(feature = "official-server")]
use openssl::sha::sha1;
use std::fmt::{Formatter, LowerHex};
-use log::*;
#[derive(PartialEq)]
struct Sha1Digest([u8; 20]);
@@ -31,29 +29,27 @@
#[cfg(feature = "official-server")]
fn get_hash(client: &HWClient, salt1: &str, salt2: &str) -> Sha1Digest {
- let s = format!("{}{}{}{}{}", salt1, salt2,
- client.web_password, client.protocol_number, "!hedgewars");
+ let s = format!(
+ "{}{}{}{}{}",
+ salt1, salt2, client.web_password, client.protocol_number, "!hedgewars"
+ );
Sha1Digest(sha1(s.as_bytes()))
}
-pub fn handle(server: & mut HWServer, client_id: ClientId, message: HWProtocolMessage) {
+pub fn handle(server: &mut HWServer, client_id: ClientId, message: HWProtocolMessage) {
match message {
HWProtocolMessage::Nick(nick) => {
let client = &mut server.clients[client_id];
debug!("{} {}", nick, is_name_illegal(&nick));
let actions = if client.room_id != None {
unreachable!()
- }
- else if !client.nick.is_empty() {
+ } else if !client.nick.is_empty() {
vec![ProtocolError("Nickname already provided.".to_string())]
- }
- else if is_name_illegal(&nick) {
+ } else if is_name_illegal(&nick) {
vec![ByeClient("Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|}".to_string())]
- }
- else {
+ } else {
client.nick = nick.clone();
- vec![Nick(nick).send_self().action(),
- CheckRegistered]
+ vec![Nick(nick).send_self().action(), CheckRegistered]
};
server.react(client_id, actions);
@@ -62,14 +58,11 @@
let client = &mut server.clients[client_id];
let actions = if client.protocol_number != 0 {
vec![ProtocolError("Protocol already known.".to_string())]
- }
- else if proto == 0 {
+ } else if proto == 0 {
vec![ProtocolError("Bad number.".to_string())]
- }
- else {
+ } else {
client.protocol_number = proto;
- vec![Proto(proto).send_self().action(),
- CheckRegistered]
+ vec![Proto(proto).send_self().action(), CheckRegistered]
};
server.react(client_id, actions);
}
@@ -80,8 +73,12 @@
let client_hash = get_hash(c, &salt, &c.server_salt);
let server_hash = get_hash(c, &c.server_salt, &salt);
let actions = if client_hash == server_hash {
- vec![ServerAuth(format!("{:x}", server_hash)).send_self().action(),
- JoinLobby]
+ vec![
+ ServerAuth(format!("{:x}", server_hash))
+ .send_self()
+ .action(),
+ JoinLobby,
+ ]
} else {
vec![ByeClient("Authentication failed".to_string())]
};