67 lines
1.6 KiB
Markdown
67 lines
1.6 KiB
Markdown
# Introduction
|
|
`QRY` is a command introduced with [MSNP6](../versions/msnp6.md).
|
|
|
|
It is a Notification Server command, WITH a request payload but without a response payload.
|
|
|
|
Responds to a challenge request ([CHL](chl.md) command).
|
|
|
|
# Client/Request
|
|
```
|
|
QRY TrID public-key length
|
|
payload
|
|
```
|
|
|
|
Where `public-key` is your client's Public Key.
|
|
|
|
Where `length` is the size (in bytes) of the `payload`.
|
|
|
|
Where `payload` is the challenge response.
|
|
|
|
## Challenge responses
|
|
Calculating the challenge response depends on the version of the protocol you are using.
|
|
|
|
### Basic responses
|
|
*Only in [MSNP6](../versions/msnp10.md) to [MSNP10](../versions/msnp10.md).*
|
|
|
|
Simply MD5 hash the challenge and your client's Private Key concatenated together as a string.
|
|
|
|
The output should be 32 bytes and lowercase hexadecimal.
|
|
|
|
### Advanced responses
|
|
*Since [MSNP11](../versions/msnp11.md).*
|
|
|
|
Since this is more advanced of an algorithm,
|
|
it will be avaliable as annotated source code in the Miscellaneous Files sectiom.
|
|
|
|
TODO: Write said annotated source code.
|
|
|
|
The output should be 32 bytes and lowercase hexadecimal.
|
|
|
|
# Server/Response
|
|
`QRY TrID`
|
|
|
|
# Examples
|
|
|
|
## Successful response
|
|
```
|
|
S: CHL 12345678901234567890
|
|
C: QRY 1 msmsgs@msnmsgr.com 32
|
|
8ba1bb9d6dbf624fee31a2053af5fdd0
|
|
S: QRY 1
|
|
```
|
|
|
|
## Failed challenge
|
|
*NOTE: This happens as-is in [MSNP11](../versions/msnp11.md),
|
|
since it isn't using the new method.*
|
|
```
|
|
S: CHL 12345678901234567890
|
|
C: QRY 2 msmsgs@msnmsgr.com 32
|
|
8ba1bb9d6dbf624fee31a2053af5fdd0
|
|
S: 540 2
|
|
```
|
|
|
|
Server disconnects client.
|
|
|
|
# Known changes
|
|
* [MSNP11](../versions/msnp11.md): Changed challenge response generation algorithm drastically.
|