Make client report a newer version number to the server than 2011-07-31 does and make the server enforce it

This commit is contained in:
Perttu Ahola 2011-09-22 20:47:47 +03:00
parent 7244f09111
commit bdf54908aa
4 changed files with 13 additions and 2 deletions

@ -9,7 +9,7 @@ project(minetest)
set(VERSION_MAJOR 0) set(VERSION_MAJOR 0)
set(VERSION_MINOR 2) set(VERSION_MINOR 2)
set(VERSION_PATCH 20110922) set(VERSION_PATCH 20110922_1)
set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
# Configuration options # Configuration options

@ -3,6 +3,9 @@ Minetest-c55 changelog
This should contain all the major changes. This should contain all the major changes.
For minor stuff, refer to the commit log of the repository. For minor stuff, refer to the commit log of the repository.
0.2.20110922_1:
- Make client report a newer version number to the server than 2011-07-31 does and make server disallow old clients
0.2.20110922: 0.2.20110922:
- Map is saved in an SQLite database file (by Queatz) - Map is saved in an SQLite database file (by Queatz)
- Ladders (MarkTraceur) - Ladders (MarkTraceur)

@ -431,7 +431,7 @@ void Client::step(float dtime)
snprintf((char*)&data[23], PASSWORD_SIZE, "%s", m_password.c_str()); snprintf((char*)&data[23], PASSWORD_SIZE, "%s", m_password.c_str());
// This should be incremented in each version // This should be incremented in each version
writeU16(&data[51], 1); writeU16(&data[51], 2);
// Send as unreliable // Send as unreliable
Send(0, data, false); Send(0, data, false);

@ -2010,6 +2010,14 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
L"Your client is too old. Please upgrade."); L"Your client is too old. Please upgrade.");
return; return;
} }
/* Uhh... this should actually be a warning but let's do it like this */
if(net_proto_version < 2)
{
SendAccessDenied(m_con, peer_id,
L"Your client is too old. Please upgrade.");
return;
}
/* /*
Set up player Set up player