rust/hedgewars-server/src/server/handlers/loggingin.rs
changeset 14683 932ff7683653
parent 14673 08a8605bafaf
child 14686 9f98086de1b6
equal deleted inserted replaced
14682:204fb862d0e4 14683:932ff7683653
    55             } else {
    55             } else {
    56                 client.nick = nick.clone();
    56                 client.nick = nick.clone();
    57                 response.add(Nick(nick).send_self());
    57                 response.add(Nick(nick).send_self());
    58 
    58 
    59                 if client.protocol_number > 0 {
    59                 if client.protocol_number > 0 {
    60                     //CheckRegistered
    60                     super::common::process_login(server, response);
    61                 }
    61                 }
    62             }
    62             }
    63         }
    63         }
    64         HWProtocolMessage::Proto(proto) => {
    64         HWProtocolMessage::Proto(proto) => {
    65             let client = &mut server.clients[client_id];
    65             let client = &mut server.clients[client_id];
    70             } else {
    70             } else {
    71                 client.protocol_number = proto;
    71                 client.protocol_number = proto;
    72                 response.add(Proto(proto).send_self());
    72                 response.add(Proto(proto).send_self());
    73 
    73 
    74                 if client.nick != "" {
    74                 if client.nick != "" {
    75                     // CheckRegistered
    75                     super::common::process_login(server, response);
    76                 }
    76                 }
    77             }
    77             }
    78         }
    78         }
    79         #[cfg(feature = "official-server")]
    79         #[cfg(feature = "official-server")]
    80         HWProtocolMessage::Password(hash, salt) => {
    80         HWProtocolMessage::Password(hash, salt) => {
    82 
    82 
    83             let client_hash = get_hash(c, &salt, &c.server_salt);
    83             let client_hash = get_hash(c, &salt, &c.server_salt);
    84             let server_hash = get_hash(c, &c.server_salt, &salt);
    84             let server_hash = get_hash(c, &c.server_salt, &salt);
    85             if client_hash == server_hash {
    85             if client_hash == server_hash {
    86                 response.add(ServerAuth(format!("{:x}", server_hash)).send_self());
    86                 response.add(ServerAuth(format!("{:x}", server_hash)).send_self());
    87             //JoinLobby
    87             //TODO enter lobby
    88             } else {
    88             } else {
    89                 super::common::remove_client(server, response, "Authentication failed".to_string())
    89                 super::common::remove_client(server, response, "Authentication failed".to_string())
    90             };
    90             };
    91         }
    91         }
    92         #[cfg(feature = "official-server")]
    92         #[cfg(feature = "official-server")]