forked from Mirrorlandia_minetest/minetest
Use the NetworkPacket api to read full version string instead of u8 pointers. Also store the reserved byte to use API properly
Fixes #2509
This commit is contained in:
parent
bfc4652c66
commit
814e55597d
@ -732,7 +732,7 @@ void Server::handleCommand_ClientReady(NetworkPacket* pkt)
|
|||||||
if (peer_proto_ver <= 22) {
|
if (peer_proto_ver <= 22) {
|
||||||
infostream << "Client sent message not expected by a "
|
infostream << "Client sent message not expected by a "
|
||||||
<< "client using protocol version <= 22,"
|
<< "client using protocol version <= 22,"
|
||||||
<< "disconnecing peer_id: " << peer_id << std::endl;
|
<< "disconnecting peer_id: " << peer_id << std::endl;
|
||||||
m_con.DisconnectPeer(peer_id);
|
m_con.DisconnectPeer(peer_id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -756,12 +756,13 @@ void Server::handleCommand_ClientReady(NetworkPacket* pkt)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 major_ver, minor_ver, patch_ver;
|
u8 major_ver, minor_ver, patch_ver, reserved;
|
||||||
*pkt >> major_ver >> minor_ver >> patch_ver;
|
std::string full_ver;
|
||||||
|
*pkt >> major_ver >> minor_ver >> patch_ver >> reserved >> full_ver;
|
||||||
|
|
||||||
m_clients.setClientVersion(
|
m_clients.setClientVersion(
|
||||||
peer_id, major_ver, minor_ver, patch_ver,
|
peer_id, major_ver, minor_ver, patch_ver,
|
||||||
std::string(pkt->getString(6),(u16) pkt->getU8(4)));
|
full_ver);
|
||||||
|
|
||||||
m_clients.event(peer_id, CSE_SetClientReady);
|
m_clients.event(peer_id, CSE_SetClientReady);
|
||||||
m_script->on_joinplayer(playersao);
|
m_script->on_joinplayer(playersao);
|
||||||
|
Loading…
Reference in New Issue
Block a user