98 lines
3.8 KiB
Markdown
98 lines
3.8 KiB
Markdown
|
# Introduction
|
||
|
`CVQ` is a command introduced with [CVR0](../versions/cvr0.md).
|
||
|
|
||
|
It is a Dispatch Server command, without either a request or response payload.
|
||
|
|
||
|
Sends the current client information and retrieves the latest avaliable version of the client when there are no other avaliable protocols.
|
||
|
Related to [CVR](cvr.md).
|
||
|
|
||
|
# Client/Request
|
||
|
`CVQ TrID locale system-type system-ver system-arch requesting-library client-version client-identification {user-handle}`
|
||
|
|
||
|
Where `locale` is a 16-bit hexadecimally encoded LCID. `0x0409` is the LCID for English, United States.
|
||
|
|
||
|
Where `system-type` is a string that defines the operating system you are using, such as `winnt`.
|
||
|
|
||
|
Where `system-ver` is the major and minor version of the operating system, such as `5.1`.
|
||
|
|
||
|
Where `system-arch` is the architecture of the processor that is used to run the client, usually `i386`.
|
||
|
|
||
|
Where `requesting-library` is the name of the library that requested this CVR, usually `MSMSGS` or `MSNMSGR`.
|
||
|
|
||
|
Where `client-version` is the current client's major, minor and patch version, should be in the format of "{M}M.m.pppp".
|
||
|
|
||
|
Where `client-identification` is the internal name of the codebase used to create `requesting-library`, usually `MSMSGS`.
|
||
|
|
||
|
Where `user-handle` is the user's handle. Included since [MSNP8](../versions/msnp8.md).
|
||
|
|
||
|
# Server/Response
|
||
|
`CVQ TrID recommended-version recommended-version-2 minimum-allowed-version download-url fallback-url`
|
||
|
|
||
|
Where `recommended-version` is the current version of the client for this system.
|
||
|
|
||
|
Where `recommended-version-2` is (usually) the same as `recommended-version`,
|
||
|
Could possibly be a maximum allowed version? (forced downgrade)
|
||
|
|
||
|
Where `minimum-allowed-version` is the lowest version the server considers "safe" to connect with.
|
||
|
If the client's `client-version` is lower than the server's `minimum-allowed-version`,
|
||
|
the client should automatically disconnect from the server,
|
||
|
and request an forced upgrade using the binary provided in `download-url`.
|
||
|
|
||
|
Where `download-url` is the file to download and open to update this client to `recommended-version`.
|
||
|
|
||
|
Where `fallback-url` is the URL the client opens if it failed to download `download-url` for any reason.
|
||
|
|
||
|
# Examples
|
||
|
*NOTE: This has been line-breaked.
|
||
|
Lines beginning with `..` are continuations of the previous line."
|
||
|
|
||
|
## Old
|
||
|
*Only used in the [CVR0](../versions/cvr0.md) implementation of [MSNP2](../versions/msnp2.md) to [MSNP7](../versions/msnp2.md).*
|
||
|
```
|
||
|
C: CVQ 1 0x0409 win 4.10 i386 MSMSGS 1.0.0863 MSMSGS
|
||
|
S: CVQ 1 5.0.0537 5.0.0537 1.0.0863
|
||
|
.. http://download.microsoft.com/download/msnmessenger/install/5.0/w98nt42kmexp/en-us/setupdl.exe
|
||
|
.. http://messenger.microsoft.com
|
||
|
```
|
||
|
|
||
|
Client disconnects from server, since it sees that `minimum-allowed` is above it's `client-version`.
|
||
|
|
||
|
## New
|
||
|
*Since [CVR0](../versions/cvr0.md) in [MSNP8](../versions/msnp8.md).*
|
||
|
```
|
||
|
C: CVQ 2 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com
|
||
|
S: CVQ 2 7.0.0813 7.0.0813 6.2.0205
|
||
|
.. http://msgr.dlservice.microsoft.com/download/5/d/9/5d9bb5b2-49c7-4890-94ab-d1d5e44a0e6d/Install_MSN_Messenger.exe
|
||
|
.. http://messenger.msn.com
|
||
|
```
|
||
|
|
||
|
Client disconnects from server, since it sees that `minimum-allowed` is above it's `client-version`.
|
||
|
|
||
|
## Invalid client identification or version
|
||
|
*This response may or may not disconnect you.*
|
||
|
```
|
||
|
C: CVQ 3 0x0409 winnt 5.0 i386 MSNMSGR 99.9.9999 MSMSGS
|
||
|
S: 420 3
|
||
|
C: CVQ 4 0x0409 winnt 5.0 i386 YCOMM 0.1.0023 MSMSGS
|
||
|
S: 420 4
|
||
|
```
|
||
|
|
||
|
## Invalid language ID
|
||
|
```
|
||
|
C: CVQ 5 0x1111 winnt 5.1 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com
|
||
|
S: 710 5
|
||
|
```
|
||
|
|
||
|
## Invalid CVR
|
||
|
```
|
||
|
C: CVQ 6 spaghetti
|
||
|
S: 731 6
|
||
|
```
|
||
|
|
||
|
Server disconnects client.
|
||
|
|
||
|
# Known changes
|
||
|
* [MSNP2](../versions/msnp2.md): Changed [CVR](cvr.md) to [CVQ](cvq.md), Added a fallback URL parameter to the response (parameter 5).
|
||
|
* [MSNP8](../versions/msnp8.md): Added support for this command in Dispatch Servers.
|
||
|
* Removed in MSNP24.
|