Protocols/MSNP/Client Versioning

From NINA Wiki
Revision as of 18:34, 23 October 2007 by AD (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
MSN Protocol Version 0


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
---------------------------