From 814e55597d3c3c1711825366d4345cee48d8fb87 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Tue, 17 Mar 2015 14:04:46 +0100 Subject: [PATCH] Use the NetworkPacket api to read full version string instead of u8 pointers. Also store the reserved byte to use API properly Fixes #2509 --- src/network/serverpackethandler.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index bb3a53463..fd3b0ac0e 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -732,7 +732,7 @@ void Server::handleCommand_ClientReady(NetworkPacket* pkt) if (peer_proto_ver <= 22) { infostream << "Client sent message not expected by a " << "client using protocol version <= 22," - << "disconnecing peer_id: " << peer_id << std::endl; + << "disconnecting peer_id: " << peer_id << std::endl; m_con.DisconnectPeer(peer_id); return; } @@ -756,12 +756,13 @@ void Server::handleCommand_ClientReady(NetworkPacket* pkt) return; } - u8 major_ver, minor_ver, patch_ver; - *pkt >> major_ver >> minor_ver >> patch_ver; + u8 major_ver, minor_ver, patch_ver, reserved; + std::string full_ver; + *pkt >> major_ver >> minor_ver >> patch_ver >> reserved >> full_ver; m_clients.setClientVersion( 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_script->on_joinplayer(playersao);