Protocols/MSNP/Client Versioning: Difference between revisions
No edit summary |
m (1 revision imported) |
||
(No difference)
|
Revision as of 00:23, 29 May 2020
Overview
MSNP0 is a protocol always supported by the server. It was introduced along with MSNP2, and can be used by clients who do not support any of the other MSNP versions to query the server for the latest client information. The MSNP0 protocol is special in that it is represented by the string "CVR0" in the VER, instead of following the traditional MSNPx format.
Supported commands
VER
For more information about VER, see VER
CVQ
Client Version Query. The client can send this to the server, and will also accept any CVQ commands coming from the server. It will be sent by the client if the server responds to VER without an actual protocol (i.e. only "CVR0" is sent).
The syntax was discovered by making the MSNP13 client connect to an MSNP12 server. The reply of the server is identical to that of a CVR command (this was simply reversed by guessing the syntax):
(Connection established) >>> VER 1 MSNP13 CVR0 <<< VER 1 CVR0 >>> CVQ 2 0x0409 winnt 5.1 i386 MSG80BETA b.0.0328 msmsgs email@addr.ess <<< CVQ 4 8.0.0328 8.0.0328 8.0.0290 <Download Link> http://messenger.msn.com
When the client detects that the latest version (the first parameter) is higher than its own build, it will take no action (one would have expected a 'A newer version is available' warning). If the latest client is equal to or lower than its own build, it will prompt the user with the following error:
--------------------------- Messenger (BETA) --------------------------- Signing in to Messenger 8.0 BETA failed because the service is not compatible with this version of Messenger. 81000305 --------------------------- Retry Cancel Help ---------------------------