Corrections, USR, SYN

Added new section to Protocols (half done with it though): Changes to error codes, to ask "When did that error code get implemented and when did it get removed" Probably could be made better, eh.

5 Commands Remain.

New change record, too.
This commit is contained in:
Declan B. 2024-10-23 21:47:02 +01:00
parent 960bfc641b
commit 221de2169f
Signed by: yellows111
SSH key fingerprint: SHA256:ynw5IJBU1pb7fZfHgLihKu9gHHA8FVpixZbB6IEB3r8
33 changed files with 745 additions and 76 deletions

View file

@ -35,6 +35,8 @@ otherwise in `ABCHMigrated: 1`, it is the group's GUID.
## Successfully added to list
`ADC TrID [ FL | AL | BL | RL ] N=user-handle {F=stored-friendly-name} {C=contact-id}`
If this is an asynchronous use of this command, the Transaction ID (or `TrID`) will be set to `0`.
Where `contact-id` is the contact's ID associated with the user.
Only applies to users added to the Forward List.
If in `ABCHMigrated: 0`, this is the contact's user handle,
@ -162,6 +164,11 @@ C: ADC 14 FL N=anotheruser@hotmail.com F=anotheruser@hotmail.com
Server disconnects client.
## Asynchronous update
```
S: ADC 0 RL N=anotheruser@hotmail.com F=another%20user
```
# Known changes
* [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.

View file

@ -3,7 +3,7 @@
It is a Notification Server command, without a request or response payload.
Adds a user to a list. Replaced by [ADL](adl.md) in [MSNP10](../versions/msnp10.md).
Adds a user to a list. Replaced by [ADC](adc.md) in [MSNP10](../versions/msnp10.md).
# Client/Request
`ADD TrID [ FL | AL | BL ] user-handle custom-friendly-name {group}`
@ -101,4 +101,4 @@ C: ADD 0 RL 258 anotheruser@hotmail.com anotheruser@hotmail.com
# Known changes
* [MSNP7](../versions/msnp7.md): Now supports groups if target list is Forward List.
* [MSNP10](../versions/msnp10.md): Removed (automatic disconnect). Use [ADL](adl.md) instead.
* [MSNP10](../versions/msnp10.md): Removed (automatic disconnect). Use [ADC](adc.md) instead.

View file

@ -13,7 +13,7 @@ This command can not be sent from the client.
Where `list-version` is the new List Version. Removed since [MSNP10](../versions/msnp10.md) in `ABCHMigrated: 1` mode.
Where `user-handle` is the related user's handle. Removed in SYN since [MSNP8](../versions/msnp8.md).
Where `user-handle` is the related user's handle. Removed in [SYN](syn.md) since [MSNP8](../versions/msnp8.md).
Where `property` can be any of these values:
* `PHH`: Home Phone number
@ -39,5 +39,5 @@ C: BPR example@hotmail.com
```
# Known changes
* [MSNP8](../versions/msnp8.md): Removed the user's handle when used in SYN.
* [MSNP8](../versions/msnp8.md): Removed the user's handle when used in [SYN](syn.md).
* [MSNP10](../versions/msnp10.md): Removed the List Version in `ABCHMigrated: 1` mode.

View file

@ -14,7 +14,7 @@ A request to generate a challenge. Respond with QRY on a new transaction to cont
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.
that is concatenated with the client's Private Key.
# Examples

View file

@ -4,7 +4,7 @@
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.
For the version of this command that is sent in the main protocols, read [CVR](cvR.md).
For the version of this command that is sent in the main protocols, read [CVR](cvr.md).
# Client/Request
`CVQ TrID locale system-type system-ver system-arch requesting-library client-version client-identification {user-handle}`

View file

@ -55,8 +55,8 @@ it is instead `group-guid`, which is the group's GUID.
## Client-initiated
### No groups created
*NOTE: Specifiying this as the LSG in SYN will cause the client to attempt to re-initialize the default groups.
Please review the SYN page for what the client attempts to do here.*
*NOTE: Specifiying this as the LSG in [SYN](syn.md) will cause the client to attempt to re-initialize the default groups.
Please review the [SYN](syn.md) page for what the client attempts to do here.*
```
C: LSG 1
S: LSG 1 255 1 1 0 ~ 0
@ -70,6 +70,7 @@ S: LSG 2 255 2 2 1 Friends 0
```
## From SYN
*Main article: [SYN](syn.md).*
### Using first generation
*Only in [MSNP7](../versions/msnp7.md).*
@ -120,6 +121,6 @@ S: LSG Friends f60efbe7-94af-4b16-b926-e4e10878d329
```
# Known changes
* [MSNP8](../versions/msnp8.md): Removed iterator and List Version parameters from SYN version.
* [MSNP8](../versions/msnp8.md): Removed iterator and List Version parameters from [SYN](syn.md) version.
* [MSNP10](../versions/msnp10.md): Removed unused `0` parameter and support for the `~` quasi-group.
Changed group IDs to group GUIDs if `ABCHMigrated: 1`.

View file

@ -183,9 +183,9 @@ S: LST N=anotheruser@hotmail.com F=another%20user C=c1f9a363-4ee9-4a33-a434-b056
# Known changes
* [MSNP7](../versions/msnp7.md): Added support for groups.
* [MSNP8](../versions/msnp8.md): Changed format in SYN considerably, dropping the iterator parameters and
* [MSNP8](../versions/msnp8.md): Changed format in [SYN](syn.md) 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 ID.
* [MSNP10](../versions/msnp10.md): Added prefixes for user handle, stored friendly name to [SYN](syn.md) 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.
* [MSNP12](../versions/msnp12.md): Added Network IDs to [SYN](syn.md) version.
* [MSNP13](../versions/msnp13.md): Removed [SYN](syn.md).

View file

@ -6,6 +6,7 @@ It is a Notification and Switchboard Server command, WITH a request and WITH a r
Used to transfer MIME-headered data to other parties, whenever that be you or other users.
# Client/Request
*This command can only be sent in a Switchboard session.*
```
MSG TrID [ U | N | A | D ] length
data
@ -23,8 +24,6 @@ Where `length` is the `length` in bytes of `data`.
Where `data` is the body of the message,
usually containing a `MIME-Version` header and a `Content-Type`.
*This can only be sent from Switchboard.*
# Server/Response
```
MSG user-handle friendly-name length

View file

@ -45,19 +45,19 @@ S: OUT SSD
```
## ABCH Migration
*This can only happen in [MSNP10](../versions/msnp10.md) exclusively.*
*Only in [MSNP10](../versions/msnp10.md).*
```
S: OUT MIG
```
## Terms of Use update
*This can only happen since [MSNP10](../versions/msnp10.md).*
*Since [MSNP10](../versions/msnp10.md).*
```
S: OUT TOU
```
## Forced Reconnect
*This can only happen since [MSNP11](../versions/msnp11.md).*
*Since [MSNP11](../versions/msnp11.md).*
```
S: OUT RCT 6
```

View file

@ -3,7 +3,7 @@
It is a Notification Server command, without either a request or response payload.
It sets or gets (during SYN) a personal user property. Other users are handled via [BPR](bpr.md).
It sets or gets (during [SYN](syn.md)) a personal user property. Other users are handled via [BPR](bpr.md).
# Client/Request
`PRP TrID property value`
@ -44,6 +44,6 @@ C: PRP 2 NEW very%20yes
Server disconnects client.
# Known changes
* [MSNP8](../versions/msnp8.md): During SYN, the current List Version is omitted.
* [MSNP8](../versions/msnp8.md): During [SYN](syn.md), the current List Version is omitted.
* [MSNP10](../versions/msnp10.md): Added `MFN` property, "My Friendly Name",
List Version removed from response in `ABCHMigrated: 1` mode.

View file

@ -17,7 +17,7 @@ Where `address:port` is the server you need to connect to join the conversation.
Where `CKI` is always `CKI`.
Where `cookie` is the Switchboard cookie, to be used in USR and [ANS](ans.md).
Where `cookie` is the Switchboard cookie, to be used in [USR](usr.md) and [ANS](ans.md).
Where `inviter-handle` is the inviter's handle.

View file

@ -24,7 +24,7 @@ Where both `X` parameters are always `X`.
Where `my-friendly-name` is your current friendly name.
Invalid escaped characters are forcefully re-encoded to`%3DXX`,
where `XX` is original escaped character code
where `XX` is original escaped character code.
Where `length` is the length of the payload.
Set to `0` if you don't want to add anything else to your invitation.

256
docs/commands/syn.md Normal file
View file

@ -0,0 +1,256 @@
# Introduction
`SYN` is a command introduced with [MSNP2](../versions/msnp2.md)
# Client/Request
`SYN TrID list-version {settings-version}`
Where `list-version` is the last saved List Version this client remembers.
If the client doesn't remember any information, this is `0`.
With [MSNP10](../versions/msnp10.md) and `ABCHMigrated: 1`,
this is changed from a numerical value to a timestamp.
Where `settings-version` is the last saved Settings Version this client remembers.
If the client doesn't remember any settings, this is set to `0`.
Added since [MSNP10](../versions/msnp10.md).
With `ABCHMigrated: 1`, this is changed from a numerical value to a timestamp.
# Server/Response
`SYN TrID list-version {settings-version} {amount-of-users} {amount-of-groups}`
Where `list-version` is either the current or new List Version, depending if the client's
version of this parameter is the same as the one the server has.
With [MSNP10](../versions/msnp10.md) and `ABCHMigrated: 1`,
this is changed from a numerical value to a timestamp.
Where `settings-version` is either the current or new Settings Version,
depending if the client's version of this parameter is the same as the one the server has.
Added since [MSNP10](../versions/msnp10.md).
With `ABCHMigrated: 1`, this is changed from a numerical value to a timetstamp.
Where `amount-of-users` is the amount of unique [LST](lst.md) responses
your client is going to have to expect. Added since [MSNP8](../versions/msnp8.md).
Where `amount-of-groups` is the amount of [LSG](lsg.md) responses
your client is going to have to expect. Adec since [MSNP8](../versions/msnp8.md).
# Examples
## First generation
*Only in [MSNP2](../versions/msnp2.md) to [MSNP4](../versions/msnp4.md).*
Used commands:
* [GTC](gtc.md)
* [BLP](blp.md)
* [LST](lst.md)
```
C: SYN 1 0
S: SYN 1 255
S: GTC 1 255 A
S: BLP 1 255 AL
S: LST 1 FL 255 1 1 anotheruser@hotmail.com another%20user
S: LST 1 AL 255 1 1 anotheruser@hotmail.com another%20user
S: LST 1 BL 255 0 0
S: LST 1 RL 255 1 1 anotheruser@hotmail.com another%20user
```
## Second generation
*Only in [MSNP5](../versions/msnp5.md) and [MSNP6](../versions/msnp6.md).*
Used commands:
* [GTC](gtc.md)
* [BLP](blp.md)
* [PRP](prp.md)
* [LST](lst.md)
* [BPR](bpr.md)
```
C: SYN 2 0
S: SYN 2 255
S: GTC 2 255 A
S: BLP 2 255 AL
S: PRP 2 255 PHH 123%20(4567)
S: PRP 2 255 PHW
S: PRP 2 255 PHM
S: PRP 2 255 MOB N
S: PRP 2 255 MBE N
S: LST 2 FL 255 1 1 anotheruser@hotmail.com another%20user
S: BPR 255 anotheruser@hotmail.com PHH 1%20(222)%20333%204444
S: BPR 255 anotheruser@hotmail.com PHW
S: BPR 255 anotheruser@hotmail.com PHM
S: BPR 255 anotheruser@hotmail.com MOB N
S: LST 2 AL 255 1 1 anotheruser@hotmail.com another%20user
S: LST 2 BL 255 0 0
S: LST 2 RL 255 1 1 anotheruser@hotmail.com another%20user
```
## Third generation
*Only in [MSNP7](../versions/msnp7.md).*
Used commands:
* [GTC](gtc.md)
* [BLP](blp.md)
* [PRP](prp.md)
* [LSG](lsg.md)
* [LST](lst.md)
* [BPR](bpr.md)
```
C: SYN 3 0
S: SYN 3 255
S: GTC 3 255 A
S: BLP 3 255 AL
S: PRP 3 255 PHH 123%20(4567)
S: PRP 3 255 PHW
S: PRP 3 255 PHM
S: PRP 3 255 MOB N
S: PRP 3 255 MBE N
S: LSG 3 255 1 2 0 Other%20Contacts 0
S: LSG 3 255 2 2 1 Friends 0
S: LST 3 FL 255 1 1 anotheruser@hotmail.com another%20user 0
S: BPR 255 anotheruser@hotmail.com PHH 1%20(222)%20333%204444
S: BPR 255 anotheruser@hotmail.com PHW
S: BPR 255 anotheruser@hotmail.com PHM
S: BPR 255 anotheruser@hotmail.com MOB N
S: LST 3 AL 255 1 1 anotheruser@hotmail.com another%20user
S: LST 3 BL 255 0 0
S: LST 3 RL 255 1 1 anotheruser@hotmail.com another%20user
```
### No groups specified
*This only happens if the only group is `~`,
and you set the client to sort by groups.*
```
S: LSG 3 255 1 1 0 ~ 0
```
...
```
C: REG 4 0 Other%20Contacts 0
S: REG 4 256 0 Other%20Contacts 0
C: ADG 5 Coworkers 0
C: ADG 6 Friends 0
C: ADG 7 Family 0
S: ADG 5 257 1 Coworkers 0
S: ADG 6 258 2 Friends 0
S: ADG 7 259 3 Family 0
```
## Fourth generation
*Only in [MSNP8](../versions/msnp8.md) and [MSNP9](../versions/msnp9.md).*
Used commands:
* [GTC](gtc.md)
* [BLP](blp.md)
* [PRP](prp.md)
* [LSG](lsg.md)
* [LST](lst.md)
* [BPR](bpr.md)
```
C: SYN 8 0
S: SYN 8 255 1 2
S: GTC A
S: BLP AL
S: PRP PHH 123%20(4567)
S: LSG 0 Other%20Contacts 0
S: LSG 1 Friends 0
S: LST anotheruser@hotmail.com another%20user 11 0
S: BPR PHH 1%20(222)%20333%204444
```
### No groups specified
*This only happens if the only group is `~`,
and you set the client to sort by groups.*
```
S: LSG 0 ~ 0
```
...
```
C: REG 9 0 Other%20Contacts 0
S: REG 9 256 0 Other%20Contacts 0
C: ADG 10 Coworkers 0
C: ADG 11 Friends 0
C: ADG 12 Family 0
S: ADG 10 257 1 Coworkers 0
S: ADG 11 258 2 Friends 0
S: ADG 12 259 3 Family 0
```
## Fifth generation
*Only in [MSNP10](../versions/msnp10.md) and [MSNP11](../versions/msnp11.md).*
Used commands:
* [GTC](gtc.md)
* [BLP](blp.md)
* [PRP](prp.md)
* [LSG](lsg.md)
* [LST](lst.md)
* [BPR](bpr.md)
### Without GUIDs
*Only with `ABCHMigrated: 0`.*
```
C: SYN 13 0 0
S: SYN 13 255 255 1 2
S: GTC A
S: BLP AL
S: PRP MFN example%20user
S: PRP PHH 123%20(4567)
S: LSG Other%20Contacts 0
S: LSG Friends 1
S: LST N=anotheruser@hotmail.com F=another%20user C=anotheruser@hotmail.com 11 0
S: BPR PHH 1%20(222)%20333%204444
```
### With GUIDs
*Only with `ABCHMigrated: 1`.*
```
C: SYN 14 0 0
S: SYN 14 2024-10-23T14:02:48.5360000-07:00 2024-10-23T14:02:48.5360000-07:00 1 2
S: GTC A
S: BLP AL
S: PRP MFN example%20user
S: PRP PHH 123%20(4567)
S: LSG Other%20Contacts d6deeacd-7849-4de4-93c5-d130915d0042
S: LSG Friends f60efbe7-94af-4b16-b926-e4e10878d32
S: LST N=anotheruser@hotmail.com F=another%20user C=c1f9a363-4ee9-4a33-a434-b056a4c55b98 11 d6deeacd-7849-4de4-93c5-d130915d0042
S: BPR PHH 1%20(222)%20333%204444
```
## Sixth generation
*Only in [MSNP12](../versions/msnp12.md).*
```
C: SYN 15 0 0
S: SYN 15 2024-10-23T14:06:20.5360000-07:00 2024-10-23T14:02:48.5360000-07:00 1 2
S: GTC A
S: BLP AL
S: PRP MFN example%20user
S: PRP PHH 123%20(4567)
S: LSG Other%20Contacts d6deeacd-7849-4de4-93c5-d130915d0042
S: LSG Friends f60efbe7-94af-4b16-b926-e4e10878d32
S: LST N=anotheruser@hotmail.com F=another%20user C=c1f9a363-4ee9-4a33-a434-b056a4c55b98 11 1 d6deeacd-7849-4de4-93c5-d130915d0042
S: BPR PHH 1%20(222)%20333%204444
```
## Removed
*Since [MSNP13](../versions/msnp13.md).*
```
C: SYN 16 0 0
```
Server disconnects client.
# Known changes
* [MSNP5](../versions/msnp5.md): Added [PRP](prp.md) and [BPR](bpr.md) support.
* [MSNP7](../versions/msnp7.md): Added [LSG](lsg.md) and groups support in [LST](lst.md).
* [MSNP8](../versions/msnp8.md): Unset properties are omitted,
added new response parameters to replace [LSG](lsg.md) and [LST](lst.md) iterator parameters.
Transaction IDs and List Versions were removed from used commands.
* [MSNP10](../versions/msnp10.md): Added new parameters for the current settings version.
With `ABCHMigrated: 1`, the List Version and Settings Version are changed to ISO 8601 timestamps.
* [MSNP12](../versions/msnp12.md): [LST](lst.md): Added support for Network IDs.
* [MSNP13](../versions/msnp13.md): Removed (automatic disconnection).
Use the [Address Book Service](../services/abservice.md)
and the [Contact Sharing Service](../services/sharingservice.md) instead.

168
docs/commands/usr.md Normal file
View file

@ -0,0 +1,168 @@
# Introduction
`USR` is a command introduced with [MSNP2](../versions/msnp2.md).
The command exists in all services, without a request or response payload.
Specifies a user that wants to authenticate to the service.
For the command that is used when sending this to a Dispatch Server, read [XFR](xfr.md).
This command can only be sent once. Any further uses of this command in the same session is Undefined Behavour.
# Client/Request
## Dispatch Server or Notification Server
### The Initial request
`USR TrID security-package I user-handle`
Depending on the version of the protocol you are using, `security-package` can be:
* `CTP`: Clear Text Password. Only in [MSNP2](../versions/msnp2.md).
* `MD5`: MD5-based authentication. Only in [MSNP2](../versions/msnp2.md) to [MSNP7](../versions/msnp7.md).
* `TWN`: "Tweener", Passport 1.4 or compatible authentication service. Since [MSNP8](../versions/msnp8.md).
* `SSO`: Single Sign On, usually a more advanced Passport 3.0 authentication method. Since [MSNP15](../versions/msnp15.md).
### The Subsequent request
`USR TrID security-package S {...response-args}`
Where `response-args` can be anything, but based on `security-package` it can be:
* `CTP`: Your password in plain text.
* `MD5`: The server's login challenge concatenated with your password.
* `TWN`: The `from-PP` parameter in the `Authentication-Info` header sent in response to Passport 1.4,
or if using Passport 3.0, the `<wsse:BinarySecurityToken>` of the relevant `<wst:RequestSecurityTokenResponse>`.
* `SSO`: The same as Passport 3.0 in `TWN`, but with the extra parameter
being the custom challenge response encoded as base64.
## Switchboard Server
`USR TrID user-handle cookie`
Where `user-handle` is your current user handle.
Where `cookie` is the relevant parameter given from [XFR](xfr.md) or [RNG](rng.md).
# Server/Response
## Dispatch Server or Notification Server
### Requesting a Subsequent action
`USR TrID OK security-package S {...challenge}`
Where `challenge`, based on the `security-package` is:
* `CTP`: Nothing. This parameter is omitted.
* `MD5`: The login challenge to concatenate with your password.
* `TWN`: The Passport login parameters.
* `SSO`: The Passport login policy and a base64-encoded key.
### Successfully authenticated
`USR TrID OK user-handle {friendly-name} {verified} {unknown}`
Where `OK` is always `OK`.
Where `user-handle` is your user handle.
Where `friendly-name` is your current Friendly Name. Removed in [MSNP10](../versions/msnp10.md).
Where `verified` is the account's verification status,
where 0 is unverified, and 1 is verified. Added since [MSNP6](../versions/msnp6.md).
Where `unknown` is an unknown value,
where 0 is something, and 1 is something else. Added since [MSNP8](../versions/msnp8.md).
## Switchboard Server
`USR TrID OK user-handle friendly-name`
Where `user-handle` is your current user handle.
Where `friendly-name` is your current friendly name.
# Examples
## Notification Server
### Using CTP
*Only in [MSNP2](../versions/msnp2.md).*
```
C: USR 1 CTP I example@hotmail.com
S: USR 1 CTP S
C: USR 2 CTP S password
S: USR 2 OK example@hotmail.com example%20user
```
### Using MD5
*Only in [MSNP2](../versions/msnp2.md) to [MSNP7](../versions/msnp7.md).*
```
C: USR 3 MD5 I example@hotmail.com
S: USR 3 MD5 S 1234567890.123456789
C: USR 4 MD5 S f59af8f2fa91d38aff7c870c17f99903
S: USR 4 OK example@hotmail.com example%20user
```
### Using TWN
*Since [MSNP8](../versions/msnp8.md).*
```
C: USR 5 TWN I example@hotmail.com
S: USR 5 MD5 S passport=parameters,neat=huh,lc=1033,id=507
```
*The HTTPS interlude has been moved to the [Passport 1.4](../services/passport14.md) article.*
```
USR 6 TWN S t=token&p=profile
USR 6 OK example@hotmail.com example%20user
```
### Using SSO
*Since [MSNP15](../versions/msnp15.md).*
*NOTE: This has been line-breaked.
Lines beginning with `..` followed by a space are continuations of the previous line.*
```
C: USR 7 SSO I example@hotmail.com
S: USR 7 SSO S MBI_KEY_OLD AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
```
*The HTTPS and key-encryption interlude has been removed from here
and is to reinstated as two seperate pages.*
```
C: USR 8 SSO S t=ticket HAAAAAEAAAADZgAABIAAAAgAAAAUAAAASAAAAAAAAA
.. AAAAAA7XgT5ohvaZdoXdrWUUcMF2G8OK2JohyYcK5l5M
.. JSitab33scxJeK/RQXcUr0L+R2ZA9CEAzn0izmUzSMp
.. 2LZdxSbHtnuxCmptgtoScHp9E26HjQVkA9YJxgK/HM=
S: USR 8 OK example@hotmail.com
```
### Invalid username or password
```
C: USR 9 TWN I example@hotmail.com
S: USR 9 TWN S passport=parameters,neat=huh,lc=1033,id=507
C: USR 10 TWN S t=not*a*passport*ticket&p=not*a*profile*either
S: 911 10
```
Server disconnects client.
### Account not verfiied
*This will show the "Account Verification Required" dialog in [MSNP6](../versions/msnp6.md) clients?*
```
C: USR 11 MD5 I example@hotmail.com
S: USR 11 MD5 S 1234567890.123456789
C: USR 12 MD5 S f59af8f2fa91d38aff7c870c17f99903
S: 924 12
```
### Wrong server for this account
```
C: USR 13 TWN I example@hotmail.com
S: 931 13
```
## Switchboard Server
```
C: USR 14 example@passport.com 1234567890.1234567890.1234567890
S: USR 14 OK example@passport.com example%20user
```
# Known changes
* [MSNP3](../versions/msnp3.md): Removed the `CTP` security package.
* [MSNP6](../versions/msnp6.md): Added account verification bit to [USR OK](#successfully-authenticated).
* [MSNP8](../versions/msnp8.md): Added an unknown bit to [USR OK](#successfully-authenticated) and
removed the `MD5` security package, and replaced with the `TWN` security package.
* [MSNP15](../versions/msnp15.md): Added support for the `SSO` security package.

View file

@ -54,7 +54,7 @@ Client opens a connection to 10.0.0.5:1863
## Client referred from Dispatch Server
### Very Old
*Only in [MSNP2](../versions/msnp2.md) Exclusively.*
*Only in [MSNP2](../versions/msnp2.md).*
```
C: USR 3 MD5 I example@hotmail.com
S: XFR 3 NS 10.0.0.5:1863
@ -90,5 +90,5 @@ C: VER 6 MSNP7 MSNP6 MSNP5 MSNP4
```
# Known changes
* [MSNP3](..versions/msnp3.md) adds a new parameter that is always 0 to XFR NS.
* [MSNP7](..versions/msnp7.md) adds a new parameter that is the current server you are communicating with to XFR NS.
* [MSNP3](../versions/msnp3.md) adds a new parameter that is always 0 to XFR NS.
* [MSNP7](../versions/msnp7.md) adds a new parameter that is the current server you are communicating with to XFR NS.

View file

@ -21,34 +21,36 @@ More is to come soon! Hopefully!
# Web Services
* [Address Book Service](services/abservice.md)
* [Contact Sharing Service](services/sharingservice.md).
* [Messenger Config Service](services/msgrconfig.md).
* [Contact Sharing Service](services/sharingservice.md)
* [Messenger Config Service](services/msgrconfig.md)
* [Passport 1.4](services/passport14.md)
More is to come soon! Hopefully!
# Other documents and files
* [Constants used on the wiki](reference_constants.md).
* [Shields Configuration Data](files/shields.md).
* [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`?
* [MSNP6](versions/msnp6.md): What makes the "Account must be verified before using the service" dialog show up?
* [MSNP6](versions/msnp6.md): Does it really acknoledge the account verified bit? I couldn't get the toast to show up in Client Version 3.6.003x.
* [MSNP8](versions/msnp8.md): Did FND exist? Rumors said it did shortly before it got killed in all protocols.
* [MSNP8](versions/msnp8.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of SYN in this version?
* [MSNP8](versions/msnp8.md): Did [FND](commands/fnd.md) exist? Rumors said it did shortly before it got killed in all protocols.
* [MSNP8](versions/msnp8.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
* [MSNP8](versions/msnp8.md): What is the new bit (parameter 5) in [USR](commands/usr.md) OK?
* [MSNP10](versions/msnp10.md): Asynchronous `BPR MFN`s from the server. Does it really?
* [MSNP10](versions/msnp10.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of SYN in this version?
* [MSNP10](versions/msnp10.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
* [MSNP11](versions/msnp11.md): How does `ABCHMigrated: 0` really work now? `OUT MIG` still exists.
* [MSNP12](versions/msnp12.md): Did [LST](commands/lst.md) change outside of SYN in this version?
* [MSNP12](versions/msnp12.md): Did [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
* All Protocols: Any error code known to exist but is missing from the pages.
* All Protocols: Good CVR responses, all of them are their release versions, when they could be latest.
* All Protocols since [MSNP10](versions/msnp10.md): Use legitimate CVR responses from the time if possible, not ones for Client Version 6.1.
* All Protocols: Good [CVR](commands/cvr.md) responses, all of them are their release versions, when they could be latest.
* All Protocols since [MSNP10](versions/msnp10.md): Use legitimate [CVR](commands/cvr.md) responses from the time if possible, not ones for Client Version 6.1.
* [FND command](commands/fnd.md): What was returned when this was disabled in 2003 in [MSNP2](versions/msnp2.md) to [MSNP6](versions/msnp6.md)?
* [IMS command](commands/ims.md): What is the unknown number (that is usually `0`) in the response?
* [NAK command](commands/nak.md): This isn't used ever as a response for [MSG](commands/msg.md) D right?
* [MSG command](commands/msg.md): What can return from [MSG](commands/msg.md) D?
* [INF command](commands/inf.md): ***Why*** does the [MSNP2](versions/msnp2.md) [draft](https://datatracker.ietf.org/doc/html/draft-movva-msn-messenger-protocol-00#section-7.2) have this in Switchboard? It's not used by any client as far as i'm aware.
* [LST command](commands/lst.md): Any updates to this command outside of SYN.
* [LST command](commands/lst.md): Any updates to this command outside of [SYN](commands/syn.md).
* [ADC command](commands/adc.md): Can this show up as a asynchronous command?
## Unsolved Mysteries
@ -65,8 +67,8 @@ More is to come soon! Hopefully!
* Messenger Config: A file used by Client Version 6.0 and higher that specifies some data for the Official Client.
* `svcs.microsoft.com`: Usually a grab-bag of random XML files or services used for clients older than Client Version 6.0.
* Protocol Split: A MSNP version that usually defines a point of no return.
* PP14: Passport SSI Version 1.4.
* PP30: Passport over SOAP ala Client Version 7.5+.
* PP14: [Passport SSI Version 1.4](services/passport14.md).
* PP30: Passport over SOAP that was implemented in Client Version 7.5+ ([MSNP12](versions/msnp12.md)).
* SOAP: Simple Object Access Protocol, A wrapper over XML. That's the kindest thing I can write about it.
* Passport: The Authentication Server and/or Protocol.
* Undefined Behavour: An intentional blank left in the documentation, basically as a "I am not responsible for what this does to your client or server" warning.
@ -81,6 +83,11 @@ More is to come soon! Hopefully!
* TrID: Transaction ID. Links the server's response to the client's request.
* User handle: A 129-character max address used across the protocol.
May be called "principles" in other places.
* Public Key, Private Key: The parameters used in QRY.
* The one you send with it in plain is the Public Key.
An example of the Public Key is `msmsgs@msnmsgr.com` or `PROD0090YUAUV{2B`.
* The one you use for the main challenge response hash is the Private Key.
An example of the Private Key is `Q1P7W2E4J9R8U3S5` or `YMM8C_H7KCQ2S_KL`.
# Where do I find or edit these page's source?
The git repo is avaliable at <https://git.kevinthe.horse/yellows111/msnp-wiki>.

View file

@ -7,7 +7,7 @@ It manages the link(s) between the E-mail Service Address Book and the Forward L
It's default HTTP URL is `http://contacts.msn.com/abservice/abservice.asmx`.
It's default HTTPS URL is `https://contacts.msn.com/abservice/abservice.asmx`.
This service requires Passport authentication.
This service requires [Passport authentication](passport14.md).
Related: [Contact Sharing Service](sharingservice.md) (for other List's members).

View file

@ -541,7 +541,9 @@ Where `<msnmenudata>` contains:
* `<siteid>`: The Passport Site ID used for `<clickurl>` (and `<clicktrackurl>`?).
If the item is for a `<premium>` product, `<clickurl>` is opened in the internal page browser.
If it is for a `<merchant>` product instead, `<clickurl>` is sent to MessengerContentInstaller. (TODO: Does this want something else? Passing a .cab just results in failed to install.)
If it is for a `<merchant>` product instead, `<clickurl>` is sent to `MessengerContentInstaller.InstallIndirectContent`.
TODO: What is a "Merchant CAB file"? `InstallIndirectContent` wants one.
## Editorial document
```

102
docs/services/passport14.md Normal file
View file

@ -0,0 +1,102 @@
# Introduction
Passport 1.4, or "Tweener", as it's sometimes called,
is an HTTP-based authentication system that was introduced with [MSNP8](../versions/msnp8.md).
For [MSNP12](../versions/msnp12.md) and above, read Passport 3.0.
# Nexus
The Passport Nexus is a server that provides information to other parties about how to use Passport.
It's default domain is `nexus.passport.com`.
## pprdr.asp
The Passport Redirection service returns the `PassportURLs` header, which contains the `DALogin` parameter
that is used to specify which server to attempt Passport 1.4 authentication with.
### Client/Request
```
GET /rdr/pprdr.asp HTTP/1.1
Host: nexus.passport.com
```
### Server/Response
```
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html
Content-Length: 0
PassportURLs: DARealm=Passport.Net,DALogin=login.passport.com/login2.srf,ConfigVersion=15
```
Where `PassportURLs` (case-sensitive) contains the following parameters:
* `DARealm`: The Domain Authority's realm name.
* `DALogin`: The Domain Authority's login endpoint.
* `ConfigVersion`: Increases by 1 every time that PassportURLs is updated to flush the URL cache.
# Passport Login
The Passport Login server is a HTTPS server that provides the login service (default is `login2.srf`)
specified in `DALogin` from the [Nexus](#nexus) response.
## login2.srf
The `login2.srf` endpoint is used for programmatic authentication.
### Client/Request
```
GET /login2.srf HTTP/1.1
Authorization: Passport1.4 Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in={user-handle},pwd={password},{server-args}
User-Agent: MSMSGS
Host: login.passport.com
Connection: Keep-Alive
Cache-Control: no-cache
```
Where `user-handle` is the URL-encoded user handle of the user to authenticate.
Where `password` is the URL-encoded password of the user to authenticate.
Where `server-args` is the parameter given to the server's response to the Initial [USR](../commands/usr.md).
### Server/Response
#### Authentication Redirection
If the server you are authenticating to does not support your account type,
but knows a server that does, this is used, otherwise [Authentication Successful](#authentication-successful) is.
If you are redirected, you have to send the `Authorization` header again to the new server specified in `Location`.
```
HTTP/1.1 302 Found
Cache-Control: no-cache
cachecontrol: no-store
Connection: close
Authentication-Info: Passport1.4 da-status=redir
Location: https://loginnet.passport.com/login2.srf?lc=1033
```
#### Authentication Successful
```
HTTP/1.1 200 OK
Cache-Control: no-cache
cachecontrol: no-store
Connection: close
Content-Type: text/html
Authentication-Info: Passport1.4 dastatus=success,from-PP='t=token&p=profile',ru=http://messenger.msn.com
Content-Length: 0
```
#### Authentication Failure
The `dastatus` may instead be `failed-noretry`.
```
HTTP/1.1 Unauthorized
Cache-Control: no-cache
cachecontrol: no-store
WWW-Authenticate Passport1.4 dastatus=failed,srealm=Passport.NET,ts=-1,prompt,cburl=http://www.passportimages.com/XPPassportLogo.gif
Content-Length: 154
<HTML><HEAD><META HTTP-EQUIV="REFRESH" CONTENT="0; URL=https://login.passport.com/pp25/login2.srf?f=11"><script>function OnBack(){}</script></HEAD></HTML>
```

View file

@ -7,7 +7,7 @@ It manages the Messenger Service's Allow List (AL), Block List (BL), Reverse Lis
It's default HTTP URL is `http://byrdr.omega.contacts.msn.com/abservice/SharingService.asmx`.
It's default HTTPS URL is `https://byrdr.omega.contacts.msn.com/abservice/SharingService.asmx`.
This service requires Passport authentication.
This service requires [Passport authentication](passport14.md).
Related: [Address Book Service](abservice.md) (for Forward List (PL) members).

View file

@ -8,7 +8,7 @@ This is a list of all known MSNP commands and their originating version.
| [`INF`](commands/inf.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (removed CTP), [MSNP8](versions/msnp8.md) (Removed; automatic disconnect) |
| [`CVR`](commands/cvr.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP4](versions/msnp4.md) (parameter 7), [MSNP8](versions/msnp8.md) (parameter 8) |
| [`CVQ`](commands/cvq.md) | N | Y | N | [CVR0](versions/cvr0.md) | [MSNP4](versions/msnp4.md) (parameter 7, but always empty), [MSNP8](versions/msnp8.md) (fixed parameter 7 being empty, parameter 8 ) |
| `USR` | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (removed CTP), [MSNP6](versions/msnp7.md) (added verified bit to OK), [MSNP8](versions/msnp8.md) (TWN auth, removed MD5 auth, added unknown bit to OK), [MSNP10](versions/msnp10.md) (removed current display name in favor of PRP MFN), [MSNP15](versions/msnp15.md) (SSO auth) |
| [`USR`](commands/usr.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (Removed `CTP` security package), [MSNP6](versions/msnp6.md) (Added account verified bit to USR OK), [MSNP8](versions/msnp8.md), [MSNP10](versions/msnp10.md) (removed current friendly name in favour of [PRP](commands/prp.md) MFN), (Removed `MD5` security package, added `TWN` security package, added new unknown bit (parameter 5) to USR OK), [MSNP15](versions/msnp15.md) (Added `SSO` security package.) |
| [`XFR`](commands/xfr.md) | N | Y | Y?| [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (parameter 3), [MSNP7](versions/msnp7.md) (parameter 4) |
| [`OUT`](commands/out.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (MIG and TOU disconnect reasons added), [MSNP11](versions/msnp11.md) (RCT reason added with parameter for amount of minutes until attempted reconnect.) |
| [`FND`](commands/fnd.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP5](versions/msnp5.md) (uses [SDC](commands/sdc.md) instead of [SND](commands/snd.md)), July 2003 (not really any specific MSNP update, just soft-removed with a 502.) |
@ -24,17 +24,17 @@ This is a list of all known MSNP commands and their originating version.
| [`IRO`](commands/iro.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP12](versions/msnp12.md) (Added Client Capability flags support as parameter 5) |
| [`JOI`](commands/joi.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP12](versions/msnp12.md) (Added Client Capability flags support as parameter 3) |
| [`CAL`](commands/cal.md) | N | Y | N | [MSNP2](versions/msnp2.md) | |
| [`PRP`](commands/prp.md) | N | Y | N | [MSNP5](versions/msnp5.md) | [MSNP8](versions/msnp8.md) (Removed List Version in SYN), [MSNP10](versions/msnp10.md) (Removed List Version outside of SYN if `ABCHMigrated: 1`) |
| [`BPR`](commands/bpr.md) | N | N | Y | [MSNP5](versions/msnp5.md) | [MSNP8](versions/msnp8.md) (Removed List Version and user handle in SYN), [MSNP10](versions/msnp10.md) (Removed List Version outside of SYN if `ABCHMigrated: 1`) |
| [`PRP`](commands/prp.md) | N | Y | N | [MSNP5](versions/msnp5.md) | [MSNP8](versions/msnp8.md) (Removed List Version in [SYN](commands/syn.md)), [MSNP10](versions/msnp10.md) (Removed List Version outside of [SYN](commands/syn.md) if `ABCHMigrated: 1`) |
| [`BPR`](commands/bpr.md) | N | N | Y | [MSNP5](versions/msnp5.md) | [MSNP8](versions/msnp8.md) (Removed List Version and user handle in [SYN](commands/syn.md)), [MSNP10](versions/msnp10.md) (Removed List Version outside of SYN if `ABCHMigrated: 1`) |
| [`RNG`](commands/rng.md) | N | N | Y | [MSNP2](versions/msnp2.md) | |
| [`LST`](commands/lst.md) | N | Y | Y\*| [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP8](versions/msnp8.md) (SYN: removed iterator parameters, condensed all lists into a single parameter, removed List Version), [MSNP10](versions/msnp10.md) (Added prefixes to contact's handle and friendly name, and added a GUID parameter if `ABCHMigrated: 1`. Also changed group IDs to GUIDs.), [MSNP12](versions/msnp12.md) (Added network IDs), [MSNP13](versions/msnp13.md) (Likely removed) |
| [`LST`](commands/lst.md) | N | Y | Y\*| [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP8](versions/msnp8.md) ([SYN](commands/syn.md): removed iterator parameters, condensed all lists into a single parameter, removed List Version), [MSNP10](versions/msnp10.md) (Added prefixes to contact's handle and friendly name, and added a GUID parameter if `ABCHMigrated: 1`. Also changed group IDs to GUIDs.), [MSNP12](versions/msnp12.md) (Added network IDs), [MSNP13](versions/msnp13.md) (Likely removed) |
| [`ADD`](commands/add.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP10](versions/msnp10.md) (Removed; automatic disconnect, use [ADC](commands/adc.md) instead) |
| [`REM`](commands/rem.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP10](versions/msnp10.md) (Replaced user handles with GUIDs if list is the Forward List (FL), and removed list versions from all responses), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, replaced with RML) |
| [`FLN`](commands/fln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | |
| [`PNG`](commands/png.md) | N | Y | N | [MSNP2](versions/msnp2.md) | |
| [`QNG`](commands/qng.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP9](versions/msnp9.md) (Added next seconds parameter) |
| [`URL`](commands/url.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (Added Passport Site ID support as parameter 3), removed `PASSWORD` service), [MSNP5](versions/msnp5.md) (Added `MOBILE` and `CHGMOB` services), [MSNP6](versions/msnp6.md) (Added `PROFILE`, `N2PACCOUNT` and `N2PFUND` services), [MSNP7](versions/msnp7.md) (Added `CHAT` service), [MSNP8](versions/msnp8.md) (Added `ADDRBOOK`, `ADVSEARCH` and `INTSEARCH` services) |
| [`LSG`](commands/lsg.md) | N | Y | Y\*| [MSNP7](versions/msnp7.md) | [MSNP8](versions/msnp8.md) (Removed iterator and List Version parameters from SYN version), [MSNP10](versions/msnp10.md) (Removed unused parameter, and replaced Group IDs with Group GUIDs if `ABCHMigrated: 1`.) |
| [`LSG`](commands/lsg.md) | N | Y | Y\*| [MSNP7](versions/msnp7.md) | [MSNP8](versions/msnp8.md) (Removed iterator and List Version parameters from [SYN](commands/syn.md) version), [MSNP10](versions/msnp10.md) (Removed unused parameter, and replaced Group IDs with Group GUIDs if `ABCHMigrated: 1`.) |
| [`ADG`](commands/adg.md) | N | Y | N | [MSNP7](versions/msnp7.md) | [MSNP10](versions/msnp10.md) (Removed unused parameter, and replaced Group IDs with Group GUIDs if `ABCHMigrated: 1`), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect?, use [Address Book Service](services/abservice.md) `ABGroupAdd` instead.) |
| [`ILN`](commands/iln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP8](versions/msnp8.md) (Added support for Client Capabilities), [MSNP9](versions/msnp9.md) (Added optional MSNObject parameter), [MSNP14](versions/msnp14.md) (Added Network ID parameter and optional Presence Icon URL parameter), [MSNP16](versions/msnp16.md) (Support for the Extended Client Capabilities, changing the original Client Capabilities parameter to now be delimited by a colon) |
| [`NLN`](commands/nln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP8](versions/msnp8.md) (Added support for Client Capabilities), [MSNP9](versions/msnp9.md) (Added optional MSNObject parameter), [MSNP14](versions/msnp14.md) (Added Network ID parameter and optional Presence Icon URL parameter), [MSNP16](versions/msnp16.md) (Support for the Extended Client Capabilities, changing the original Client Capabilities parameter to now be delimited by a colon) |
@ -47,12 +47,11 @@ This is a list of all known MSNP commands and their originating version.
| [`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.) |
| [`SYN`](commands/syn.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP5](versions/msnp5.md) (Added [BPR](commands/bpr.md) and [PRP](commands/prp.md) to response.), [MSNP7](versions/msnp7.md) (Added [LSG](commands/lsg.md) support and groups in [LST](commands/lst.md).), [MSNP8](versions/msnp8.md) (Unset properties are now omitted, new response parameters to replace [LSG](commands/lsg.md) and [LST](commands/lst.md) iterator parameters, Transaction IDs and List Version was removed from used commands), [MSNP10](versions/msnp10.md) (Added new parameters for the settings version. With `ABCHMigrated: 1`, both versions are now timestamps), [MSNP12](versions/msnp12.md) (Added Network IDs to [LST](commands/lst.md).), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use the [Address Book Service](../services/abservice.md) and the [Contact Sharing Service](../services/sharingservice.md) instead.) |
# What's Missing Right Now
## For next parity check
* [MSNP2](versions/msnp2.md): USR
* [MSNP2](versions/msnp2.md): SYN
* [MSNP5](versions/msnp5.md): NOT
* [MSNP6](versions/msnp6.md): IPG
* [MSNP6](versions/msnp6.md): QRY
@ -66,5 +65,5 @@ This is a list of all known MSNP commands and their originating version.
* [MSNP12](versions/msnp12.md): LKP
# Modifiers
* `*`: Only in `SYN`.
* `*`: Only in [SYN](commands/syn.md).
* `?`: Unconfirmed, but not impossible, or needs verification.

View file

@ -38,7 +38,7 @@ Server disconnects client.
```
C: VER 1 MSNP10 MSNP9 CVR0
S: VER 1 CVR0
C: CVQ 2 0x0409 winnt 5.1 i386 MSNMSGR 6.1.0211 MSMSGS example@passport.com
C: CVQ 2 0x0409 winnt 5.1 i386 MSNMSGR 6.1.0211 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
```
Server disconnects client.

View file

@ -19,7 +19,7 @@ The following commands were removed in this version:
(from [MSNP9](msnp9.md)):
* Added new initial profile variable `TOUNeeded`. If exists and set to 1,
a dialog box to review the Messenger Service Terms of Use is shown to the user.
* Changed SYN request and response.
* Changed [SYN](../commands/syn.md) request and response.
Client: `SYN transactionID listVersion settingsVersion`.
Server: `SYN transactionID listVersion settingsVersion numberOfContacts numberOfGroups`.
`settingsVersion` is always 0.
@ -28,7 +28,7 @@ The following commands were removed in this version:
* [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,
* [SYN](../commands/syn.md): The request and response's list versions are now ISO 8601 with 7 subsecond digits,
usually with a -07:00 timezone offset.
the previously unused second parameter (both request and response) is used as the Last Settings Version,
and follows the same time format as List Versions now do.
@ -48,7 +48,8 @@ The following commands were removed in this version:
* Added a new list: Pending List/PL (bit 5, decimal 16). Is meant for unhandled contact added you notifications.
* Added new server-side [OUT](../commands/out.md) reasons: `MIG`, if the server has migrated you to ABCH,
and `TOU`, for not accepting the Service Terms of Use.
* Official Client: Now handles the 604 error code again, which was last seen in Client Version 3.6.003x.
* Official Client: Now handles the 604, 914, 916 error codes again,
which were last seen in Client Version 3.6.003x.
Error code 913 is no longer handled after being implemented in Client Version 4.5.
* First protocol version to remove a core command implemented since [MSNP2](msnp2.md) draft ([ADD](../commands/add.md)).
@ -77,6 +78,9 @@ S: CVR 5 6.1.0211 6.1.0211 6.1.0155
.. http://messenger.msn.com
C: USR 6 TWN I example@hotmail.com
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
```
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
```
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
S: USR 7 OK example@hotmail.com 1 0
S: MSG Hotmail Hotmail 465

View file

@ -30,6 +30,7 @@ It introduces the notification service commands:
* 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.
* Official Client: [OUT](../commands/out.md) SSD is actually implemented now.
* Official Client: Error code 913 is handled again after being removed last version. Why?
# Client-server communication example
*NOTE: This has been line-breaked.
@ -56,6 +57,9 @@ S: CVR 5 6.1.0211 6.1.0211 6.1.0155
.. http://messenger.msn.com
C: USR 6 TWN I example@hotmail.com
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
```
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
```
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
S: USR 7 OK example@hotmail.com 1 0
S: SBS 0 null

View file

@ -38,7 +38,7 @@ S: XFR 3 NS 10.0.0.5:1863 0 10.0.0.1:1863
```
Client disconnects from server
Client opens a connection to 10.0.0.5:1863 (from stored server)
Client opens a connection to 10.0.0.5:1863
```
C: VER 4 MSNP12 MSNP11 MSNP10 CVR0
S: VER 4 MSNP12
@ -47,6 +47,11 @@ S: CVR 5 6.1.0211 6.1.0211 6.1.0155
.. http://download.microsoft.com/download/8/3/C/83C4B2DB-AC1C-4B56-8144-4472C0982F21/SetupDl.exe
.. http://messenger.msn.com
C: USR 6 TWN I example@hotmail.com
```
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
TODO: This is actually meant to be Passport 3.0.
```
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
S: USR 7 OK example@hotmail.com 1 0

View file

@ -6,7 +6,7 @@ It was introduced officially in Client Version 1.0.0863, along with [CVR0](cvr0.
It introduces the dispatch service commands:
* [INF](../commands/inf.md)
* [OUT](../commands/out.md)
* USR
* [USR](../commands/usr.md)
* [VER](../commands/ver.md)
* [XFR](../commands/xfr.md)
@ -30,9 +30,9 @@ It introduces the notification service commands:
* [REM](../commands/rem.md)
* [RNG](../commands/rng.md)
* [SND](../commands/snd.md) (not in draft)
* SYN
* [SYN](../commands/syn.md)
* [URL](../commands/url.md) (not in draft)
* USR
* [USR](../commands/usr.md)
* [VER](../commands/ver.md)
* [XFR](../commands/xfr.md)
@ -46,7 +46,7 @@ It introduces the switchboard service commands:
* [MSG](../commands/msg.md)
* [NAK](../commands/nak.md)
* [OUT](../commands/out.md)
* USR
* [USR](../commands/usr.md)
It introduces the error codes:
* 100 (not in draft)

View file

@ -10,8 +10,11 @@ It introduces the notification service commands:
It introduces the error codes:
* 131
* 212
* 217
* 716
* 800
* 917
*No commands were known to be removed in this version*
@ -25,8 +28,6 @@ It introduces the error codes:
a client library parameter, similar to the one in [CVR](../commands/cvr.md).
* Initial profile: Added Passport intergration fields.
* Font information has been added to Switchboard [MSG](../commands/msg.md) commands.
* Multiple error-codes unimplemented in 1.x that were in the draft are now implemented in the Official Client.
Examples include: 208, 215, 501, 604 (bizzarely enough), 715 and finally 913.
* Non-protocol: Client can now use non-hotmail domains in relevant places.
* Non-protocol: WebTV 2.5+ clients (example@webtv.net) can talk to other users (example@hotmail.com)
* Clear-Text Password (`CTP`) authentication method removed. Use `MD5` instead.
@ -49,6 +50,32 @@ It introduces the error codes:
* Official Client: Removed [URL](../commands/url.md) service `PASSWORD`.
* Official Client: Disabled inviting people to the service (needs confirmation).
## Changes to error codes
*Only applies for the Official Client.*
### Re-added
*Where the parenthesis are the last version that had the error.*
* 208 (draft)
* 215 (draft)
* 501 (draft)
* 604 (draft)
* 715 (draft)
* 913 (draft)
* 917 (draft)
### Removed
* 146
* 206
* 207
* 211
* 218
* 503
* 510
* 914
* 918
* 919
# Client-server communication example
```
C: VER 1 MSNP3 MSNP2 CVR0

View file

@ -16,6 +16,18 @@ It was introduced officially in Client Version 2.1.1047.
identification parameter, like [CVR](../commands/cvr.md) has, but is always empty.
* Official Client: Client Version 2.2.1053 re-enables the ability to invite people again.
## Changes to error codes
*Only applies for the Official Client.*
### Re-added
*Where the parenthesis are the last version that had the error.*
* 208 (draft)
* 500
### Removed
None.
# Client-server communication example
```
C: VER 1 MSNP4 MSNP3 CVR0

View file

@ -12,19 +12,20 @@ It introduces the notification service commands:
*No switchboard or dispatch service commands were known to be introduced in this version*
*No error codes were known to be introduced in this version*
It introduces the error codes:
* 922
*No commands were known to be removed in this version*
# Known changes
(from [MSNP4](msnp4.md)):
* [BPR](../commands/bpr.md) and [PRP](../commands/prp.md) have been added to [SYN](../commands/syn.md).
* Non-protocol: Official website stopped updating the whatsnew.asp page between this (MSNP5) and [MSNP7](msnp7.md).
* Official Client: Introduced the toast notification system. Notifications can now stack vertically.
* Official Client: Log in notifications are now handled by the newly introduced toast system.
* Official Client: Introduced emoticons.
* Official Client: Introduced File Transfer and Messenger-to-Messenger calling via invitations.
* Introduced first payload commands ([SDC](../commands/sdc.md), PAG) to be sent to the Notification Server from the client.
* Official Client: Error code 913 is no longer handled. It was last seen in Client Version 2.2.
* Official Client: [FND](../commands/fnd.md) functionality changed slightly(?) to say that Passport
doesn't allow users to retrieve the e-mails assocated with the user's account,
sending the user to a invitation screen with, with it ending in sending an [SDC](../commands/sdc.md) in the format of
@ -33,6 +34,27 @@ It introduces the notification service commands:
* Official Client: [URL](../commands/url.md) without the Passport Site ID (parameter 3) support has been removed.
* Official Client: Added new [URL](../commands/url.md) services `MOBILE` and `CHGMOB` .
## Changes to error codes
*Only applies for the Official Client.*
### Re-added
*Where the parenthesis are the last version that had the error.*
* 211 ([MSNP2](msnp2).md)
* 503
* 510
* 914 ([MSNP2](msnp2).md)
* 919 ([MSNP2](msnp2).md)
### Removed
* 131
* 209
* 212
* 500
* 501
* 912
* 913
# Client-server communication example
```
C: VER 1 MSNP5 MSNP4 CVR0

View file

@ -12,19 +12,33 @@ It introduces the notification service commands:
*No error codes were known to be introduced in this version*
*No commands were known to be removed in this version*
It introduces the error codes:
* 540
* 915
* 916
# Known changes
(from [MSNP5](msnp5.md)):
* USR OK now has a verified bit (parameter 4), if 0, shows a warning to verify the account.
* [USR](../commands/usr.md) OK now has a verified bit (parameter 4), if 0, shows a warning to verify the account.
NOTE: Your display name will be forced to be
`example@hotmail.com (E-Mail Address Not Verified)`, and can not be changed.
* Client-server challenges were introduced. The format for the response is
`MD5(challenge + clientSecret)` as a lowercase hex-string.
`MD5(challenge + privateKey)` as a lowercase hexadecimal string.
* An example client secret is `Q1P7W2E4J9R8U3S5`, which is tied to `msmsgs@msnmsgr.com`.
* First protocol version added in a patch release (Client Versions 3.6.0025 and 3.6.0026 do not support MSNP6).
* Official Client: Added new [URL](../commands/url.md) services `PROFILE`, `N2PACCOUNT` and `N2PFUND`.
## Changes to error codes
*Only applies for the Official Client.*
### Re-added
None.
### Removed
* 215
* 219
* 919
# Client-server communication example
```
C: VER 1 MSNP6 MSNP5 MSNP4 CVR0

View file

@ -12,7 +12,14 @@ It introduces the notification service commands:
*No switchboard or dispatch service commands were known to be introduced in this version*
It introduces the error codes:
* 224
* 225
* 226
* 229
* 230
* 502
* 710
* 921
* 924
*No commands were known to be removed in this version*
@ -26,16 +33,38 @@ It introduces the error codes:
not the Forward List (FL) itself.
* [ADD](../commands/add.md) commnads with the list set to the Forward List (FL) with a group ID only adds that user from the respective group,
and the Forward List (FL) if the user is not already in the Forward List (FL).
* SYN now includes LSG entries for groups.
* [SYN](../commands/syn.md) now includes LSG entries for groups.
* [LST](../commands/lst.md) (either from itself or a SYN response) now includes contact group numbers for the Forward List (FL).
* [XFR](../commands/xfr.md) NS's now include the server it was sent from.
* Official Client: Error codes 602, 603, 911 (since removal in Client Version 3.0) are implemented.
Error code 604 is no longer handled since Client Version 2.0.
* Official website's `whatsnew.asp` page has been updated.
* Official Client: New service URLs for some features.
* Official Client: Added new [URL](../commands/url.md) service `CHAT`.
* Official Client: Removed [URL](../commands/url.md) services `N2PACCOUNT` and `N2PFUND`.
## Changes to error codes
*Only applies for the Official Client.*
### Re-added
*Where the parenthesis are the last version that had the error.*
* 131
* 146
* 603
* 604
* 913 ([MSNP4](msnp4.md))
* 918 ([MSNP2](msnp2.md))
### Removed
* 503
* 601
* 604
* 715
* 716
* 914
* 915
* 916
* 920
# Client-server communication example
```
C: VER 1 MSNP7 MSNP6 MSNP5 MSNP4 CVR0

View file

@ -16,10 +16,11 @@ The following commands were removed in this version:
* [CVQ](../commands/cvq.md): Client codebase identification parameter is no longer empty.
* Being the first protocol split,
all released clients that support MSNP8 do not support any previous versions.
* Login process now [VER](../commands/ver.md)-[CVR](../commands/cvr.md)-USR instead of [VER](../commands/ver.md)-[INF](../commands/inf.md)-USR.
* USR OK has a new parameter, usually? 0, but of currently unknown use.
* Introduced `TWN` authentication method, which uses Passport 1.4 over HTTPS.
* Reworked SYN and related response commands (notably [LSG](../commands/lsg.md) and [LST](../commands/lst.md)) drastically:
* Login process now [VER](../commands/ver.md)-[CVR](../commands/cvr.md)-[USR](../commands/usr.md)
instead of [VER](../commands/ver.md)-[INF](../commands/inf.md)-[USR](../commands/usr.md).
* [USR](../commands/usr.md) OK has a new parameter, usually? 0, but of currently unknown use.
* Introduced `TWN` authentication method, which uses [Passport 1.4](../services/passport14.md) over HTTPS.
* Reworked [SYN](../commands/syn.md) and related response commands (notably [LSG](../commands/lsg.md) and [LST](../commands/lst.md)) drastically:
Iterators are gone, now total size of both groups and total contacts included in SYN response.
All transaction IDs and list versions have been removed from response commands (now treated as asynchronous commands).
Unset properties ([PRP](../commands/prp.md) commands) are now omitted. Hurray.
@ -30,24 +31,28 @@ The following commands were removed in this version:
Formula: `y = (((x & 0xff) * 256) + ((x & 0xff00)/256))`.
* NOTE: [FND](../commands/fnd.md) might still exist in client, but theres no way of triggering it. Practically removed.
* [BPR](../commands/bpr.md) removes related user, for some reason, default fields share same optimization as [PRP](../commands/prp.md) does.
* [LST](../commands/lst.md) (for SYN): Lists are now all combined into a single number, where:
* [LST](../commands/lst.md) (for [SYN](../commands/syn.md)): Lists are now all combined into a single number, where:
1 = Forward List (FL), 2 = Allow List (AL), 4 = BlocK List (BL), 8 = Reverse List (RL),
For example, a contact on the Forward List (FL), Allow List (AL) and Reverse List (RL)
would have their combined list number be 11.
* [CHG](../commands/chg.md), [ILN](../commands/iln.md), [NLN](../commands/nln.md): Client Capabilities are introduced.
You can now tell other clients what features you support.
* Official Client: Error 711 is now handled.
Error 603 isn't handled again after Client Version 4.5 supported it.
* Official Client: Connectivity field added to application requests
to notify the other user about what the network conditions are.
* Official Client: Introduced ABCH (Address Book Clearing House) support.
The URL is gathered from `svcs.microsoft.com`.
`abch_config.asp` provides an XML document with a `<abchconfig>` element.
It has a `<url>` element containing the service URL, a `<refresh>` element,
It has a `<url>` element containing the service URL, a `<refresh>` element,
and finally a `<percent>` element. Example values are
`http://contacts.msn.com/abservice/abservice.asmx`, `0` and `0.0` respectively.
* Official Client: Added new [URL](../commands/url.md) services `ADDRBOOK`, `ADVSEARCH` and `INTSEARCH`
## Changes to error codes
TODO: this section
Added: 603
# Client-server communication example
*NOTE: This has been line-breaked.
Lines beginning with `..` followed by a space are continuations of the previous line.
@ -73,6 +78,9 @@ S: CVR 5 5.0.0537 5.0.0537 1.0.0863
.. http://messenger.microsoft.com
C: USR 6 TWN I example@hotmail.com
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
```
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
```
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
S: USR 7 OK example@hotmail.com example%20user 1 0
S: MSG Hotmail Hotmail 448

View file

@ -50,6 +50,9 @@ S: CVR 5 6.0.0602 6.0.0602 6.0.0268
.. http://messenger.msn.com
C: USR 6 TWN I example@hotmail.com
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
```
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
```
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
S: USR 7 OK example@hotmail.com example%20user 1 0
S: MSG Hotmail Hotmail 448