diff -r 5a9dc001e1ad -r 1c4a4a609f85 src/network/network_client.cpp --- a/src/network/network_client.cpp Mon Dec 03 23:39:38 2007 +0000 +++ b/src/network/network_client.cpp Tue Jan 22 21:00:30 2008 +0000 @@ -4,26 +4,28 @@ #include "../stdafx.h" #include "../debug.h" -#include "../string.h" #include "../openttd.h" -#include "../strings.h" #include "network_data.h" #include "core/tcp.h" -#include "../date.h" -#include "table/strings.h" -#include "../functions.h" #include "network_client.h" #include "network_gamelist.h" #include "network_gui.h" #include "../saveload.h" -#include "../command.h" -#include "../window.h" +#include "../command_func.h" #include "../console.h" #include "../variables.h" #include "../ai/ai.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" #include "../fileio.h" #include "../md5.h" +#include "../strings_func.h" +#include "../window_func.h" +#include "../string_func.h" +#include "../player_func.h" +#include "../player_base.h" +#include "../player_gui.h" + +#include "table/strings.h" // This file handles all the client-commands @@ -55,18 +57,18 @@ memset(salted_password, 0, sizeof(salted_password)); snprintf(salted_password, sizeof(salted_password), "%s", password); /* Add the game seed and the server's unique ID as the salt. */ - for (uint i = 0; i < NETWORK_UNIQUE_ID_LENGTH; i++) salted_password[i] ^= _password_server_unique_id[i] ^ (_password_game_seed >> i); + for (uint i = 0; i < NETWORK_UNIQUE_ID_LENGTH - 1; i++) salted_password[i] ^= _password_server_unique_id[i] ^ (_password_game_seed >> i); - md5_state_t state; - md5_byte_t digest[16]; + Md5 checksum; + uint8 digest[16]; static char hashed_password[NETWORK_UNIQUE_ID_LENGTH]; /* Generate the MD5 hash */ - md5_init(&state); - md5_append(&state, (const md5_byte_t*)salted_password, sizeof(salted_password)); - md5_finish(&state, digest); + checksum.Append((const uint8*)salted_password, sizeof(salted_password) - 1); + checksum.Finish(digest); for (int di = 0; di < 16; di++) sprintf(hashed_password + di * 2, "%02x", digest[di]); + hashed_password[lengthof(hashed_password) - 1] = '\0'; return hashed_password; }