Corrections, Shields, CHL, GCF and SBP.

Your usual ordeal.

Seven commands await.
This commit is contained in:
yellows111 2024-10-22 21:40:16 +01:00
parent d83ed1e0cd
commit 960bfc641b
Signed by: yellows111
SSH Key Fingerprint: SHA256:ynw5IJBU1pb7fZfHgLihKu9gHHA8FVpixZbB6IEB3r8
17 changed files with 265 additions and 19 deletions

View File

@ -75,6 +75,14 @@ C: ADC 3 FL N=anotheruser@hotmail.com F=anotheruser@hotmail.com
S: ADC 3 FL N=anotheruser@hotmail.com F=anotheruser@hotmail.com C=c1f9a363-4ee9-4a33-a434-b056a4c55b98
```
#### A telephone number
*Since [MSNP11](../versions/msnp11.md) if `<MobileMessaging>`
is set correctly in the [Messenger Config](../services/msgrconfig.md).*
```
C: ADC 4 FL N=tel:15551111222 F=john
S: ADC 4 FL N=tel:15551111222 F=john C=a47e39cf-312c-4100-94a6-f2b33adf5b68
```
### Add to a group
*Only applies to the Forward List (FL).*
@ -155,5 +163,7 @@ C: ADC 14 FL N=anotheruser@hotmail.com F=anotheruser@hotmail.com
Server disconnects client.
# Known changes
* [MSNP13]: Removed, use a combination of ADL and
* [MSNP11](../versions/msnp11.md): Now supports phone-only (`tel:`) contacts.
Requires `MobileMessaging` in the [Messenger Config](../services/msgrconfig.md) to be configured for the Official Client.
* [MSNP13](../versions/msnp13.md): Removed, use a combination of ADL and
[Address Book Service](../services/abservice.md)'s `ABContactAdd` instead.

View File

@ -17,11 +17,11 @@ Where `0` is always `0.`. Removed in [MSNP10](../comnmands/msnp10.md).
# Server/Response
`ADG TrID {list-version} group-name group-id {0}`
Where `list-version` is the new List Version. Removed in [MSNP10](../commands/msnp10.md).
Where `list-version` is the new List Version. Removed in [MSNP10](../versions/msnp10.md).
Where `group-id` is your new group's identification number.
Where `0` is always `0.` Removed in [MSNP10](../commands/msnp10.md).
Where `0` is always `0`. Removed in [MSNP10](../versions/msnp10.md).
# Examples

View File

@ -23,7 +23,7 @@ Where `property` can be any of these values:
* `WWE`: [[MSNP9](../versions/msnp9.md)+] MSN Direct / Web Watch enabled
* `HSB`: [[MSNP11](../versions/msnp11.md)+] Has Blog (MSN Space)
Where `value` is the value that is assigned to `property`.
Where `value` is the URL-encoded value that is assigned to `property`.
# Examples

45
docs/commands/chl.md Normal file
View File

@ -0,0 +1,45 @@
# Introduction
`CHL` is a command introduced with [MSNP6](../versions/msnp6.md).
It is a Notification Server command, without a request or response payload.
A request to generate a challenge. Respond with QRY on a new transaction to continue your connection.
# Client/Request
`CHL TrID`
# Server/Response
`CHL TrID challenge`
If this command is sent asynchronously, the Transaction ID will be `0` instead.
Where `challenge` is usually a 20-character numeric value (but can be any valid string)
that is concatenated with the client's private key.
# Examples
## From server at any time
```
S: CHL 0 12345678901234567890
```
## Requested challenge
```
C: CHL 1
S: CHL 1 12345678901234567890
```
## Challenge timeout
```
S: CHL 0 12345678901234567890
```
... some time passes ...
```
S: OUT
```
Server disconnects client.
# Known changes
* [MSNP11](../versions/msnp11.md): Challenge response (QRY commands)'s
algorithm changed to be more formidable.

66
docs/commands/gcf.md Normal file
View File

@ -0,0 +1,66 @@
# Introduction
`GCF` is a command introduced with [MSNP11](../versions/msnp11.md).
It is a Notification Server command, without a request payload and WITH a response payload.
It gets configuration data from a file on the server.
# Client/Request
*Only in [MSNP11](../versions/msnp11.md) and [MSNP12](./versions/msnp12.md).*
`GCF TrID filename`
Where filename is the file to retrieve. Only `Shields.xml` is known to be this parameter.
# Server/Response
## From filename
```
GCF TrID filename length
payload
```
Where `length` is the length of `payload`.
Where `payload` is the data for this file.
## Asynchronously
```
GCF 0 length
payload
```
Being an asynchronous command, the Transaction ID is set to `0`.
# Examples
## Downloading shields
*For more information read the [Shields Configuration Data](../files/shields.md) article.*
### By filename
*Only in [MSNP11](../versions/msnp11.md) and [MSNP12](../versions/msnp12.md).*
```
C: GCF 1 Shields.xml
S: GCF 1 Shields.xml 145
<?xml version="1.0" encoding="utf-8" ?><config><shield><cli maj="7" min="0" minbld="0" maxbld="9999" deny=" " /></shield><block></block></config>
```
### Automatically
*Since [MSNP13](../versions/msnp13.md).*
```
C: USR 2 TWN I example@hotmail.com
S: GCF 0 158
<Policies><Policy type="SHIELDS"><config><shield><cli maj="7" min="0" minbld="0" maxbld="9999" deny=" " /></shield><block></block></config><Policy></Policies>
S: USR 2 TWN S passport=parameters,neat=huh,lc=1033,id=507
```
## By filename after removal
*NOTE: I don't know if this is correct.*
```
C: GCF 3 Shields.xml
```
Server disconnects client.
# Known changes
* [MSNP13](../versions/msnp13.md): Dropped support for getting a response via filenames,
and changed how the Shields configuration data is contained.

View File

@ -185,7 +185,7 @@ S: LST N=anotheruser@hotmail.com F=another%20user C=c1f9a363-4ee9-4a33-a434-b056
* [MSNP7](../versions/msnp7.md): Added support for groups.
* [MSNP8](../versions/msnp8.md): Changed format in SYN considerably, dropping the iterator parameters and
merging all lists into a single parameter instead of multiple calls.
* [MSNP10](../versions/msnp10.md): Added prefixes for user handle, stored friendly name to SYN version, added `C=` for contact address.
* [MSNP10](../versions/msnp10.md): Added prefixes for user handle, stored friendly name to SYN version, added `C=` for contact ID.
Changed `C=` to contact GUID and changed group ID list to group GUID list with `ABCHMigrated: 1` to SYN version.
* [MSNP12](../versions/msnp12.md): Added Network IDs to SYN version.
* [MSNP13](../versions/msnp13.md): Removed SYN.

View File

@ -15,7 +15,7 @@ Where `property` can be any of these values:
* `MOB`: Allow users to contact me via MSN Mobile
* `MFN`: [[MSNP10](../versions/msnp10.md)+] My Friendly Name
Where `value` is the value to set the related `property` to.
Where `value` is the URL-encoded value to set the related `property` to.
# Server/Response
`PRP TrID {list-version} property value`

View File

@ -3,7 +3,7 @@
It is a Notification Server command, without either a request or response payload.
Renames a user. For the commands that replaced REA with a `MFN` property, read [PRP](prp.md) and SBP.
Renames a user. For the commands that replaced REA with a `MFN` property, read [PRP](prp.md) and [SBP](sbp.md).
# Client/Request
`REA TrID user-handle new-friendly-name`
@ -65,4 +65,4 @@ S: 800 10
# Known changes
* [MSNP10](../versions/msnp10.md): Removed (automatic disconnection?).
Use [PRP](prp.md) `MFN` to change your own friendly name, and SBP `MFN` to change stored friendly names.
Use [PRP](prp.md) `MFN` to change your own friendly name, and [SBP](sbp.md) `MFN` to change stored friendly names.

52
docs/commands/sbp.md Normal file
View File

@ -0,0 +1,52 @@
# Introduction
`SBP` is a command introduced with [MSNP10](../versions/msnp10.md).
It is a Notification Server command, without a request or response payload.
Sets a buddy's property in your cache to a specified value.
For the command this replaced, read [REA](rea.md).
# Client/Request
`SBP TrID contact-id property value`
Where `contact-id` is the `C=` value from either [ADD](add.md) or [LST](lst.md).
If you are using `ABCHMigrated: 0`, this is the contact's user handle.
If you are instead using `ABCHMigrated: 1`, this is the contact's GUID.
Where `property` are any of the values:
* `MFN`: My Friendly Name
* `MOB`: User can contact me via MSN Mobile, changed by the Client Capability.
* `WWE`: User can contact me via MSN Direct, changed by the Client Capability.
* `HSB`: [MSNP11](../versions/msnp11.md)+: Has blog, changed by the Client Capability.
Where `value` is the URL-encoded value to set the related `property` to.
# Server/Response
`SBP TrID contact-id property value`
Same parameters as the request.
# Examples
## Normal use
### Without GUIDs
*Only with `ABCHMigrated: 0`.*
```
C: SBP 1 anotheruser@hotmail.com MFN another%20user
S: SBP 1 anotheruser@hotmail.com MFN anoter%20user
```
### With GUIDs
*Only with `ABCHMigrated: 1`.*
```
C: SBP 2 c1f9a363-4ee9-4a33-a434-b056a4c55b98 MFN another%20user
S: SBP 2 c1f9a363-4ee9-4a33-a434-b056a4c55b98 MFN another%20user
```
## Errors
None are currently known. If you know of one, please contact me.
# Known changes
* [MSNP11](../versions/msnp11.md): Added support for `HSB` property.
* [MSNP13](../versions/msnp13.md): Removed, use [Address Book Service](../services/abservice.md)'s `ABContactUpdate` action instead.

59
docs/files/shields.md Normal file
View File

@ -0,0 +1,59 @@
# Introduction
`Shields.xml` contains the Shields Configuration Data, and was first seen in [MSNP11](../versions/msnp11.md).
It is provided by the [GCF](../commands/gcf.md) command.
# Content
*If this is in [MSNP13](../versions/msnp13.md) or above, this element will be contained in the following:*
```
<Policies><Policy type="SHIELDS"><config>...</config></Policy></Policies>
```
*Otherwise, it is prefixed with the following:*
```
<?xml version="1.0" encoding="utf-8" ?>
```
## config
The root element of the document. Nothing special.
Contains the `<shield>` and `<block>` elements.
### shield
Contains many `<cli>` elements.
#### cli
This empty attribute has 5 parameters:
* `maj`: The major version that this block applies to.
* `min`: The minor version that this block applies to.
* `minbld`: Lowest bound of builds that this block applies to.
* `maxbld`: Highest bound of builds that this block applies to
* `deny`: What features are disabled:
* `SharingFolders`: Sharing Folders. Since [MSNP13](../versions/msnp13.md).
* `protocolhandler`: Unknown.
* `dynamicbackgrounds`: Dynamic Backgrounds (Flash chat backgrounds).
* `phone`: Calling features. Since [MSNP13](../versions/msnp13.md).
* `voiceim`: Voice Clips.
* `camera`: Video Conversations.
* `audio`: Audio Conversations.
* `filexfer`: File transfer.
* `hotlinks`: Web links.
If this feature is blocked URLs sent in the chat will not be formatted as links.
* `ddp`: Dynamic Display Pictures (Flash avatars).
* `winks`: Winks (Flash full chat window animations).
### block
*Since [MSNP12](../versions/msnp12.md).*
Contains either `<hashes>` or `<regexp>` elements.
#### hashes
This element blocks file hashes from being sent.
TODO: Does anyone have an example of things that go here?
#### regexp
This element contains multiple `<imtext>` elments
##### imtext
This empty element only has the `value` attribute, which is the regular expression
to search instant message text for. This attribute is base64-encoded.

View File

@ -26,8 +26,9 @@ More is to come soon! Hopefully!
More is to come soon! Hopefully!
# Other documents
# Other documents and files
* [Constants used on the wiki](reference_constants.md).
* [Shields Configuration Data](files/shields.md).
# Wanted Information
* [MSNP2](versions/msnp2.md): What is the format of the initial `text/x-msmsgsemailnotification`?

View File

@ -11,6 +11,7 @@ This refers to all the constants used on the wiki.
* My E-mail Address and User Handle: `example@hotmail.com`
* Another User's E-mail Address and User Handle: `anotheruser@hotmail.com`
* A user that doesn't exist: `ghost@hotmail.com`
* John's Number: `1 (555) 1111-222`
## Group GUIDs
* The "Other Contacts" group GUID (GID 0): `d6deeacd-7849-4de4-93c5-d130915d0042`
@ -19,6 +20,7 @@ This refers to all the constants used on the wiki.
## Contact GUIDs
* Another User's contact GUID: `c1f9a363-4ee9-4a33-a434-b056a4c55b98`
* My [Address Book Service](services/abservice.md) GUID: `00000000-0000-0000-0000-000000000000`
* John's (mobile-only contact) GUID: `a47e39cf-312c-4100-94a6-f2b33adf5b68`
## MSNP Servers
* The Dispatch Server: `10.0.0.1:1863`

View File

@ -41,9 +41,12 @@ This is a list of all known MSNP commands and their originating version.
| [`REA`](commands/rea.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (Removed; automatic disconnect) |
| [`SND`](commands/snd.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (parameters 2 and 3), [MSNP4](versions/msnp4.md) (parameter 4), [MSNP5](versions/msnp5.md) (obsoleted by [SDC](commands/sdc.md)) |
| [`SDC`](commands/sdc.md) | Y | Y | N | [MSNP5](versions/msnp5.md) | |
| [`ADC`](commands/adc.md) | N | Y | N?| [MSNP10](versions/msnp10.md) | [MSNP10](versions/msnp10.md) (`ABCHMigrated: 1` Contact user handles and Group IDs are now both GUIDs.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use ADL and the [Address Book Service](services/abservice.md) instead) |
| [`PAG`](commands/pag.md) | Y | Y | N | [MSNP5](versions/msnp5.md) | [MSNP9] (Removed; error 715, use [PGD](commands/pgd.md) instead.) |
| [`ADC`](commands/adc.md) | N | Y | N?| [MSNP10](versions/msnp10.md) | [MSNP10](versions/msnp10.md) (`ABCHMigrated: 1`: Contact user handles and Group IDs are now both GUIDs.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use ADL and the [Address Book Service](services/abservice.md)'s `ABContactAdd` action instead) |
| [`PAG`](commands/pag.md) | Y | Y | N | [MSNP5](versions/msnp5.md) | [MSNP9](versions/msnp9.md) (Removed; error 715, use [PGD](commands/pgd.md) instead.) |
| [`PGD`](commands/pgd.md) | Y | Y | N | [MSNP9](versions/msnp9.md) | |
| [`SBP`](commands/sbp.md) | N | Y | N | [MSNP10](versions/msnp10.md) | [MSNP10](versions/msnp10.md) (`ABCHMigrated: 1`: Contact user handles are now GUIDs.), [MSNP11](versions/msnp11.md) (Added property `HSB`, for Has Blog. Set by the relevant Client Capability.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s `ABContactUpdate` action instead.) |
| [`CHL`](commands/chl.md) | N | Y | Y | [MSNP6](versions/msnp6.md) | [MSNP10](versions/msnp10.md) (Changed QRY response algorithm) |
| [`GCF`](commands/gcf.md) | Y | Y | Y | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Command is now always asynchronous and always retuns `Shields.xml` in a new wrapper.) |
# What's Missing Right Now
@ -51,15 +54,12 @@ This is a list of all known MSNP commands and their originating version.
* [MSNP2](versions/msnp2.md): USR
* [MSNP2](versions/msnp2.md): SYN
* [MSNP5](versions/msnp5.md): NOT
* [MSNP6](versions/msnp6.md): CHL
* [MSNP6](versions/msnp6.md): IPG
* [MSNP6](versions/msnp6.md): QRY
* [MSNP7](versions/msnp7.md): REG
* [MSNP7](versions/msnp7.md): RMG
## In general
* [MSNP10](versions/msnp10.md): SBP
* [MSNP11](versions/msnp11.md): GCF
* [MSNP11](versions/msnp11.md): SBS
* [MSNP11](versions/msnp11.md): UBX
* [MSNP11](versions/msnp11.md): UUX

View File

@ -5,7 +5,7 @@ It was introduced officially in Client Version 6.1.0155.
# Command information
It introduces the notification service commands:
* [ADC](../commands/adc.md)
* SBP
* [SBP](../commands/sbp.md)
*No switchboard or dispatch service commands were known to be introduced in this version*
@ -25,7 +25,7 @@ The following commands were removed in this version:
`settingsVersion` is always 0.
* Removed unused parameter from [LSG](../commands/lsg.md).
* Current display name is removed from USR, now is returned with other user properties ([PRP](../commands/prp.md) commands) in SYN.
* [PRP](../commands/prp.md) MFN replaces [REA](../commands/rea.md) (current user handle). SBP (contact's address) MFN replaces other uses of [REA](../commands/rea.md).
* [PRP](../commands/prp.md) MFN replaces [REA](../commands/rea.md) (current user handle). [SBP](../commands/sbp.md) (contact ID) MFN replaces other uses of [REA](../commands/rea.md).
* [LST](../commands/lst.md): Added prefixes to the user handle (`N=`) and friendly name (`F=`) parameters.
* Added new initial profile variable `ABCHMigrated`. If set to 1, some commands are altered, such as:
* SYN: The request and response's list versions are now ISO 8601 with 7 subsecond digits,
@ -35,7 +35,7 @@ The following commands were removed in this version:
* [LST](../commands/lst.md): GUID specified as `C=` parameter, group IDs are now GUIDs.
* [ADC](../commands/adc.md), [REM](../commands/rem.md): uses GUIDs instead of contact user handles if the list is the Forward List (FL), and same applies also for groups.
* [LSG](../commands/lsg.md), [ADG](../commands/adg.md): Uses GUIDs instead of IDs.
* SBP: Uses the contact's GUID instead of the Contact Address.
* [SBP](../commands/sbp.md): Uses the contact's GUID instead of the Contact Address.
* All list version updating commands no longer return the current list version when used. The following commands are affected:
* [GTC](../commands/gtc.md)
* [BLP](../commands/blp.md)

View File

@ -4,7 +4,7 @@ It was introduced officially in Client Version 7.0.0777.
# Command information
It introduces the notification service commands:
* GCF
* [GCF](../commands/gcf.md)
* SBS
* UBX
* UUX
@ -17,10 +17,15 @@ It introduces the notification service commands:
# Known changes
(from [MSNP10](msnp10.md)):
* QRY: Challenge response is drastically overhauled.
Check the command article for more information.
* [OUT](../commands/out.md) RCT `TimeBeforeRetry` now exists.
`TimeBeforeRetry` is a numerical value in minutes that specifies the amount
of time in minutes the client should wait before reconnecting.
* All `ABCHMigrated` changes are now the default - `ABCHMigrated: 0` is Undefined Behavour from now on.
* [ADC](../commands/adc.md): Now supports a telephone address (`tel:`) for `N=`.
* Official Client: Feature blocks are implemented using the [GCF](../commands/gcf.md) command
to download `Shields.xml`. For more information read the [Shields Configuration Data](../files/shields.md) article.
* Official Client: WebMessenger now canonically exists - Client Capability 512 is used for this.
* Official Client: Notifications (NOT commands) with encoded `NotificationData` documents are supported for spaces (blogs).
* Official Client: Messenger Config requests now support regional arguments via SOAP.
@ -92,6 +97,10 @@ S: UUX 11 0
S: ILN 10 NLN anotheruser@hotmail.com another%20user 1073791084
S: UBX anotheruser@hotmail.com 54
<PSM>new feature :P</PSM><CurrentMedia></CurrentMedia>
C: ADC 11 FL N=tel:15551111222 F=john
S: ADC 11 FL N=tel:15551111222 F=john C=a47e39cf-312c-4100-94a6-f2b33adf5b68
C: ADC 12 AL N=tel:15551111222
S: ADC 12 AL N=tel:15551111222
C: OUT
```
Client disconnects from server

View File

@ -20,6 +20,8 @@ It introduces the notification service commands:
* Official Client: Uses Passport 3.0 (via the Microsoft Identity Common Runtime Library).
* Official Client: Dropped support for older operating systems, Now requires Windows XP or higher.
* Official Client: Now supports Voice Clips, which can be disabled in the [Messenger Config](../services/msgrconfig.md).
* Official Client: [Shield Configuration Data](../files/shields.md) can now block file hashes and
instant message text via regular expressions.
# Client-server communication example
*NOTE: This has been line-breaked.

View File

@ -4,7 +4,7 @@ It was introduced officially in Client Version 3.6.0038.
# Command information
It introduces the notification service commands:
* CHL
* [CHL](../commands/chl.md)
* IPG
* QRY