Lobby / Client bug - disconnecting after certain string
Posted: 02 Nov 2006, 22:20
I started to back trace this and what i found first was that if you SAY something on any channel you disconnect everyone from the server if your msg is formed as follows:
-the actual msg being said is 230 charracters long
-u have four over 7bit charracters (bytes) there (all the realworld charracters like ├â┬ñ├â┬Â├â┬Ñ)
so you have 4x8bit signed variables that should be unsigned.
now the client says that it has gotten bad data from the server after you sent this to the server. now i sniffed and the server does not reply anything. So what makes the client think like this - well i asume there is some function(s) that uses these variables that should be unsigned - and if you pass them signed values they do all sorta crazy stuff and the client thinks the server has sent something.
Now i had fun finding out all this - so post here what the actual problem was - i think you have now a good clue where to start to search and what to search.
To sum it up:
Search from: Client code (HA HA eat pascal)
Search for: signed variables lenght of 8 (or perhaps 32bit but used in some funny way)
Now there is also big possiblity that this is not it becaus i dont have any idea how pascal is writen but this might be one of good pointers to the right direction.
-the actual msg being said is 230 charracters long
-u have four over 7bit charracters (bytes) there (all the realworld charracters like ├â┬ñ├â┬Â├â┬Ñ)
so you have 4x8bit signed variables that should be unsigned.
now the client says that it has gotten bad data from the server after you sent this to the server. now i sniffed and the server does not reply anything. So what makes the client think like this - well i asume there is some function(s) that uses these variables that should be unsigned - and if you pass them signed values they do all sorta crazy stuff and the client thinks the server has sent something.
Now i had fun finding out all this - so post here what the actual problem was - i think you have now a good clue where to start to search and what to search.
To sum it up:
Search from: Client code (HA HA eat pascal)
Search for: signed variables lenght of 8 (or perhaps 32bit but used in some funny way)
Now there is also big possiblity that this is not it becaus i dont have any idea how pascal is writen but this might be one of good pointers to the right direction.