diff options
author | sapier <Sapier at GMX dot net> | 2014-07-16 20:01:00 +0200 |
---|---|---|
committer | sapier <Sapier at GMX dot net> | 2014-07-16 20:01:00 +0200 |
commit | d38f6ebb9bb9ff201b3a1e19a8e6ad311dbe4972 (patch) | |
tree | 72e4823f34c274519c92f882f2297dede6536b0b | |
parent | 7d72ac6a6954e25d635795e099fbe51e4a668df9 (diff) | |
download | minetest-d38f6ebb9bb9ff201b3a1e19a8e6ad311dbe4972.tar.gz minetest-d38f6ebb9bb9ff201b3a1e19a8e6ad311dbe4972.tar.bz2 minetest-d38f6ebb9bb9ff201b3a1e19a8e6ad311dbe4972.zip |
Fix error handling on inconsistent client ready message
Fix android makefile to provide a correct dummy githash if detection fails
-rw-r--r-- | build/android/Makefile | 6 | ||||
-rw-r--r-- | src/server.cpp | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/build/android/Makefile b/build/android/Makefile index 38a3cbb0e..6528e839c 100644 --- a/build/android/Makefile +++ b/build/android/Makefile @@ -691,7 +691,11 @@ $(ROOT)/jni/src/android_version.h : echo "#define VERSION_PATCH_ORIG $$(cat ${ROOT}/../../CMakeLists.txt | \ grep ^set\(VERSION_PATCH\ | sed 's/)/ /' | awk '{print $$2;}')" \ >> ${ROOT}/jni/src/android_version.h; \ - echo "#define CMAKE_VERSION_GITHASH \"$$(git rev-parse --short=8 HEAD)\"" \ + export GITHASH=$$(git rev-parse --short=8 HEAD); \ + if [ "x$$GITHASH" = "x" ] ; then \ + export GITHASH=gUnknown; \ + fi; \ + echo "#define CMAKE_VERSION_GITHASH \"$$GITHASH\"" \ >> ${ROOT}/jni/src/android_version.h; \ echo "#define CMAKE_VERSION_STRING STR(VERSION_MAJOR)\".\"STR(VERSION_MINOR)\ \".\"STR(VERSION_PATCH)" \ diff --git a/src/server.cpp b/src/server.cpp index 1e644ce6c..40857f84d 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -1732,14 +1732,20 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id) if (playersao == NULL) { errorstream - << "TOSERVER_CLIENT_READY stage 2 client init failed for peer " + << "TOSERVER_CLIENT_READY stage 2 client init failed for peer_id: " << peer_id << std::endl; + m_con.DisconnectPeer(peer_id); return; } - if(datasize < 2+8) + if(datasize < 2+8) { + errorstream + << "TOSERVER_CLIENT_READY client sent inconsistent data, disconnecting peer_id: " + << peer_id << std::endl; + m_con.DisconnectPeer(peer_id); return; + } m_clients.setClientVersion( peer_id, |