diff --git a/docs/command-table.md b/docs/command-table.md index 8f15082..d32ac23 100644 --- a/docs/command-table.md +++ b/docs/command-table.md @@ -11,3 +11,12 @@ This is a list of all known MSNP commands and their originating version. | `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) | | [`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 instead of SND), July 2003 (not really any specific MSNP update, just soft-removed with a 502.) | +| [`BLP`](commands/blp.md) | N | Y | Y\*| [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (Removed List Version if `ABCHMigrated: 1`), [MSNP13](versions/msnp13.md) (removed: automatic disconnect) | +| [`GTC`](commands/gtc.md) | N | Y | Y\* | [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (Removed List Version if `ABCHMigrated: 1`), [MSNP13](versions/msnp13.md) (removed: automatic disconnect) | +| [`CHG`](commands/chg.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP8](versions/msnp8.md) (Client Capability flags support as parameter 2), [MSNP9](versions/msnp9.md) (MSNObject support as parameter 3) | +| [`IMS`](commands/ims.md) | N | Y | N | [MSNP3](versions/msnp3.md) | | + +# Modifiers: +* `*`: Only in `SYN`. +* `?`: Unconfirmed, but not impossible, or needs verification. \ No newline at end of file diff --git a/docs/commands/blp.md b/docs/commands/blp.md new file mode 100644 index 0000000..4ce90ee --- /dev/null +++ b/docs/commands/blp.md @@ -0,0 +1,40 @@ +# Introduction +`BLP` is a command introduced with [MSNP2](../versions/msnp2.md). + +It is a Notification Server command, without either a request or response payload. + +It modifies if messages sent to you by users not on your Allow List (AL) are allowed to be received. + +# Client/Request +`BLP TrID [ AL | BL ]` + +# Server/Response +`BLP TrID listVersion [ AL | BL ]` + +Where `listVersion` is the new List Version. + +# Examples + +## Setting to AL (Allow messages by default) +``` +C: BLP 1 AL +S: BLP 1 255 AL +``` + +## Setting to BL (Block messages by default) +``` +C: BLP 2 BL +S: BLP 2 256 BL +``` + +## Invalid argument +*NOTE: This is an assumption. The actual error code here is unknown. +It may also lead to an Instant Disconnection.* +``` +C: BLP 3 CL +S: 201 +``` + +# Known changes +* [MSNP10](../versions/msnp10.md) and higher: List Versions are dropped in `ABCHMigrated: 1` mode. +* Removed in MSNP13. You get instantly disconnected if you try using the command. diff --git a/docs/commands/chg.md b/docs/commands/chg.md new file mode 100644 index 0000000..fda1232 --- /dev/null +++ b/docs/commands/chg.md @@ -0,0 +1,97 @@ +# Introduction +`CHG` is a command introduced with [MSNP2](../versions/msnp2.md). + +It is a Notification Server command, without either a request or response payload. + +Changes your presence status, and sets your Client Capabilities and MSNObject in later MSNP versions. + +# Client/Request +`CHG TrID status {flags} {msnobj}` + +Where `status` can be any of the below: +* `NLN` - Online +* `BSY` - Busy +* `IDL` - Idle +* `BRB` - Be Right Back +* `AWY` - Away (previously Away From Keyboard) +* `PHN` - On The Phone +* `LUN` - Out To Lunch +* `HDN` - Appear Offline (previously Invisible) +* `FLN` - Semi-offline. More on this below. + +In [MSNP8](../versions/msnp8.md) and higher, `flags`, an optional parameter may be used to +specify your Client Capabilities. + +In [MSNP9](../versions/msnp9.md) and higher, `msnobj`, an optional parameter may be used to +add additional information related to your user. Requires that `flags` MUST be set to use. +The MSNObject itself is a XML-like element. + +## Status explanations + +All statuses except `HDN` and `FLN` will treat you as online. +Which means all users on your Allow List (AL) and Reverse List (RL) +will get all presence changes via the NLN command. + +The statuses `HDN` and `FLN` will treat you as offline. +Which means all users on your Allow List (AL) and Reverse List (RL) +will get a FLN command instead of an NLN command. +Also, all attempts to create a Switchboard session will fail automatically, + +Exclusive to the `FLN` state, you are put in a very reduced state where you can +only recieve presence changes from other users and resynchronize your Lists. + +# Server/Response +`CHG TrID status {flags} {msnobj}` + +The server may also send this Asynchronously, if it does, the TrID will be 0. + +# Examples + +## Changing status to Online +``` +C: CHG 1 NLN +S: CHG 1 NLN +``` + +## Changing status to Idle with Capability Flags +*This only works in [MSNP8](../versions/msnp8.md) and higher.* +``` +C: CHG 2 IDL 1 +S: CHG 2 IDL 1 +``` + +## Changing status to Busy with Capability Flags and a MSNObject. +*This only works in [MSNP9](../versions/msnp9.md) and higher.* + +*NOTE: This has been line-breaked. +Lines beginning with `..` followed by a space are continuations of the previous line. +``` +C: CHG 3 BSY 268435500 %3Cmsnobj%20Creator%3D%22example%40hotmail.com%22 +.. %20Size%3D%2225235%22%20Type%3D%223%22 +.. %20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22 +.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22 +.. %20SHA1C%3D%22DBRJPnGb+wBYawENkdor1bOdYUs%3D%22%2F%3E +S: CHG 3 BSY 268435500 %3Cmsnobj%20Creator%3D%22example%40hotmail.com%22 +.. %20Size%3D%2225235%22%20Type%3D%223%22 +.. %20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22 +.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22 +.. %20SHA1C%3D%22DBRJPnGb+wBYawENkdor1bOdYUs%3D%22%2F%3E +``` + +## Server Decides it wants you in Semi-Offline mode. +``` +S: CHG 0 FLN +``` + +## Invalid argument +*NOTE: There is no defined behavour for this command specifically.* +``` +C: CHG 4 HOT +``` + +Server disconnects client. + +# Known changes +* [MSNP8](../versions/msnp8.md): Added optional Client Capabilities parameter (as parameter 2). +* [MSNP9](../versions/msnp9.md): Added optional MSNObject parameter (as parameter 3). +* Removed in MSNP24. diff --git a/docs/commands/fnd.md b/docs/commands/fnd.md new file mode 100644 index 0000000..d31ccf4 --- /dev/null +++ b/docs/commands/fnd.md @@ -0,0 +1,62 @@ +# Introduction +`FND` is a command introduced with [MSNP2](../versions/msnp2.md). + +It is a Notification Server command, without either a request or response payload. + +Searches for other users on the Network Directory. + +# Client/Request +`FND TrID fname=first lname=last city=city state=ST country=CC` + +Where `first` is the URL-encoded string representation of the first name to search users for. + +Where `last` is the URL-encoded string representation of the last name to search users for. + +Where `city` is the URL-encoded string representation of the city to search users in (`*` is allowed, and required for countries outside of `US`.). + +Where `ST` is a 2-character string representation of the state to search users in (`*` is allowed, and required for countries outside of `US`.). + +Where `CC` is a 2-character string representation of the country to search users in (`*` is allowed). + +# Server/Response +`FND TrID 1 1 fname=Example lname=Name city=Somewhere state=OK country=US` + +This command, despite having an iterator, cannot span across multiple packets. +Instead, error 301 is returned in cases where the result would be too large to respond as one packet. + +# Examples + +## Valid, with users +``` +C: FND 1 fname=Another lname=User city=* state=* country=US +S: FND 1 1 2 fname=Another lname=User city=New%20York state=NY country=US +FND 1 2 2 fname=Another lname=User city=Stillwater state=OK country=US +``` + +## Valid, no users +``` +C: FND 2 fname=Another lname=User city=* state=* country=DE +S: FND 2 0 0 +``` + +## Invalid parameter +``` +C: FND 3 fname=Another lname=* city=* state=* country=* +S: 201 3 +``` + +## Too many users +``` +C: FND 4 fname=Another lname=User city=* state=* country=* +S: 301 4 +``` + +## Removed +``` +C: FND 5 fname=Another lname=User city=* state=* country=US +S: 502 5 +``` + +# Known changes +* [MSNP5](../versions/msnp5.md): Changed related SND command to SDC. +* Soft-removed in April 2003, uses error 502, which was added in [MSNP7](../versions/msnp7.md). diff --git a/docs/commands/gtc.md b/docs/commands/gtc.md new file mode 100644 index 0000000..bd43f2f --- /dev/null +++ b/docs/commands/gtc.md @@ -0,0 +1,40 @@ +# Introduction +`GTC` is a command introduced with [MSNP2](../versions/msnp2.md). + +It is a Notification Server command, without either a request or response payload. + +It modifies whenever your client handles new users in your Reverse List (RL). + +# Client/Request +`GTC TrID [ A | N ]` + +# Server/Response +`GTC TrID listVersion [ A | N ]` + +Where `listVersion` is the new List Version. + +# Examples + +## Setting to A (Ask before adding to AL/BL) +``` +C: GTC 1 A +S: GTC 1 255 A +``` + +## Setting to N (Automatically add to AL) +``` +C: GTC 2 N +S: GTC 2 256 N +``` + +## Invalid argument +*NOTE: This is an assumption. The actual error code here is unknown. +It may also lead to an Instant Disconnection.* +``` +C: GTC 3 B +S: 201 +``` + +# Known changes +* [MSNP10](../versions/msnp10.md) and higher: List Versions are dropped in `ABCHMigrated: 1` mode. +* Removed in MSNP13. You get instantly disconnected if you try using the command. diff --git a/docs/commands/ims.md b/docs/commands/ims.md new file mode 100644 index 0000000..772f2d4 --- /dev/null +++ b/docs/commands/ims.md @@ -0,0 +1,40 @@ +# Introduction +`IMS` is a command introduced with [MSNP3](../versions/msnp3.md). + +It is a Notification Server command, without either a request or response payload. + +It enables or disables switchboard access without modifying the user's current status. + +# Client/Request +`IMS TrID [ ON | OFF ]` + +# Server/Response +`IMS TrID 0 [ ON | OFF ]` + +Where `0` has an unknown purpose. +Rumored to be a timeout of some kind. [Please confirm this.] + +# Examples + +## Turning Switchboard access on +``` +C: IMS 1 ON +S: IMS 1 0 ON +``` + +## Turning Switchboard access off +``` +C: IMS 2 OFF +S: IMS 2 0 OFF +``` + +## Invalid argument +*NOTE: There is no defined behavour for this command specifically.* +``` +C: IMS 3 TOMORROW +``` + +Server disconnects client. + +# Known changes +* Removed in MSNP24... probably? Who really knows... Only WebTV supported it, which only has [MSNP3](../versions/msnp3.md) and [MSNP8](../versions/msnp8.md). diff --git a/docs/index.md b/docs/index.md index 652666f..0c943e8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -30,6 +30,11 @@ More is to come soon! Hopefully! * [MSNP10](versions/msnp10.md): Asynchronous `BPR MFN`s from the server. Does it really? * [MSNP11](versions/msnp11.md): How does `ABCHMigrated: 0` really work now? `OUT MIG` still exists. * 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. +* [FND command](commands/fnd.md): What was returned when this was disabled in 2003 in [MSNP2](versions/msnp2.md) to [MSNP6](versions/msnp6.md)? +* [FND command](commands/fnd.md): How did sending an invitation work in [MSNP2](versions/msnp2.md)-[MSNP4](versions/msnp4.md)? Client Version 3.0 using [MSNP4](versions/msnp4.md) just uses SND instead, but what about Client Version 1.0 to 2.2? +* [IMS command](commands/ims.md): What is the unknown number (that is usually `0`) in the response? # Common (or not) Terms * Official Client: MSN Messenger (Service) or Windows Live Messenger. diff --git a/docs/versions/msnp10.md b/docs/versions/msnp10.md index 21e6482..5fc2cd8 100644 --- a/docs/versions/msnp10.md +++ b/docs/versions/msnp10.md @@ -37,7 +37,7 @@ The following commands were removed in this version: LSG, ADG: Uses GUIDs instead of IDs. SBP: Uses the contact's GUID instead of the Contact Address. * All list version updating commands no longer return the current list version when used. - GTC, BLP, ADG, REG, RMG, REM, PRP commands are affected by this change. + [GTC](../commands/gtc.md), [BLP](../commands/blp.md), ADG, REG, RMG, REM, PRP commands are affected by this change. * Asynchronous BPRs also do not include the new list version number, and now provide Friendly Name (MFN) changes instead of sending entire NLNs [needs to be confirmed]. * Added a new list: Pending List/PL (bit 5, decimal 16). Is meant for unhandled contact added you notifications. @@ -52,7 +52,9 @@ The following commands were removed in this version: C: VER 1 MSNP10 MSNP9 CVR0 S: VER 1 MSNP10 C: CVR 2 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com -S: CVR 2 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 +S: CVR 2 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 3 TWN I example@hotmail.com S: XFR 3 NS 10.0.0.5:1863 0 10.0.0.1:1863 ``` @@ -63,7 +65,9 @@ Client opens a connection to 10.0.0.5:1863 C: VER 4 MSNP10 MSNP9 CVR0 S: VER 4 MSNP10 C: CVR 5 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com -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 +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 S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507 C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"]) @@ -113,7 +117,9 @@ Client opens a connection to 10.0.0.5:1863 (from stored server) C: VER 10 MSNP10 MSNP9 CVR0 S: VER 10 MSNP10 C: CVR 11 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com -S: CVR 11 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 +S: CVR 11 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 12 TWN I example@hotmail.com S: USR 12 TWN S passport=parameters,neat=huh,lc=1033,id=507 C: USR 13 TWN S $(pp14response.headers.authenticationInfo["from-PP"]) diff --git a/docs/versions/msnp11.md b/docs/versions/msnp11.md index 1c71151..17c4020 100644 --- a/docs/versions/msnp11.md +++ b/docs/versions/msnp11.md @@ -33,7 +33,9 @@ It introduces the notification service commands: C: VER 1 MSNP10 MSNP9 CVR0 S: VER 1 MSNP10 C: CVR 2 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com -S: CVR 2 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 +S: CVR 2 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 3 TWN I example@hotmail.com S: XFR 3 NS 10.0.0.5:1863 0 10.0.0.1:1863 ``` @@ -44,7 +46,9 @@ Client opens a connection to 10.0.0.5:1863 (from stored server) C: VER 4 MSNP10 MSNP9 CVR0 S: VER 4 MSNP10 C: CVR 5 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com -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 +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 S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507 C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"]) diff --git a/docs/versions/msnp12.md b/docs/versions/msnp12.md index 90f14a6..d8bb3cd 100644 --- a/docs/versions/msnp12.md +++ b/docs/versions/msnp12.md @@ -27,7 +27,9 @@ It introduces the notification service commands: C: VER 1 MSNP12 MSNP11 MSNP10 CVR0 S: VER 1 MSNP12 C: CVR 2 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com -S: CVR 2 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 +S: CVR 2 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 3 TWN I example@hotmail.com S: XFR 3 NS 10.0.0.5:1863 0 10.0.0.1:1863 ``` @@ -38,7 +40,9 @@ Client opens a connection to 10.0.0.5:1863 (from stored server) C: VER 4 MSNP12 MSNP11 MSNP10 CVR0 S: VER 4 MSNP12 C: CVR 5 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com -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 +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 S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507 C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"]) diff --git a/docs/versions/msnp2.md b/docs/versions/msnp2.md index 715666e..af659c5 100644 --- a/docs/versions/msnp2.md +++ b/docs/versions/msnp2.md @@ -13,12 +13,12 @@ It introduces the dispatch service commands: It introduces the notification service commands: * ADD -* BLP -* CHG +* [BLP](../commands/blp.md) +* [CHG](../commands/chg.md) * CVR (not in draft) -* FND (not in draft) +* [FND](../commands/fnd.md) (not in draft) * FLN -* GTC +* [GTC](../commands/gtc.md) * [INF](../commands/inf.md) * ILN * LST diff --git a/docs/versions/msnp3.md b/docs/versions/msnp3.md index ba43466..f01c1fc 100644 --- a/docs/versions/msnp3.md +++ b/docs/versions/msnp3.md @@ -6,7 +6,7 @@ It was introduced officially in Client Version 2.0.0085. # Command information It introduces the notification service commands: -* IMS +* [IMS](../commands/ims.md) *No switchboard or dispatch commands were known to be introduced in this version* diff --git a/docs/versions/msnp5.md b/docs/versions/msnp5.md index e5fa0d7..210ef5d 100644 --- a/docs/versions/msnp5.md +++ b/docs/versions/msnp5.md @@ -27,6 +27,11 @@ It introduces the notification service commands: * Official Client: Introduced File Transfer and Messenger-to-Messenger calling via invitations. * Introduced first payload commands (SDC, PAG) to be sent to the switchboard from the client. * Official Client: Error code 913 is no longer handled. It was last seen in Client Version 2.1. +* 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 in the format of + `SDC TrID {FND index} 0x0409 MSMSGS MSMSGS X X example%20user {length}`. + The `0x0409` can be changed to any language code, with the `length` denoting the payload if specified. # Client-server communication example ``` diff --git a/docs/versions/msnp8.md b/docs/versions/msnp8.md index 21b2f4a..f114161 100644 --- a/docs/versions/msnp8.md +++ b/docs/versions/msnp8.md @@ -32,7 +32,7 @@ The following commands were removed in this version: * BPR removes related user, for some reason, default fields share same optimization as PRP does. * LST (for SYN): Lists are now all combined into a single number, where: 1 = FL, 2 = AL, 4 = BL, 8 = RL, for example FL+AL+RL = 11. -* CHG, ILN, NLN: Client Capabilities are introduced. +* [CHG](../commands/chg.md), ILN, NLN: 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. @@ -44,11 +44,15 @@ The following commands were removed in this version: It likely has a `` child element containing the URL of the ABCH service. # Client-server communication example +*NOTE: This has been line-breaked. +Lines beginning with `..` followed by a space are continuations of the previous line. ``` C: VER 1 MSNP8 CVR0 S: VER 1 MSNP8 C: CVR 2 0x0409 win 4.10 i386 MSNMSGR 5.0.0537 MSMSGS example@hotmail.com -S: CVR 2 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 +S: CVR 2 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 C: USR 3 TWN I example@hotmail.com S: XFR 3 NS 10.0.0.5:1863 0 10.0.0.1:1863 ``` @@ -59,7 +63,9 @@ Client opens a connection to 10.0.0.5:1863 C: VER 4 MSNP8 CVR0 S: VER 4 MSNP8 C: CVR 5 0x0409 win 4.10 i386 MSNMSGR 5.0.0537 MSMSGS example@hotmail.com -S: CVR 5 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 +S: CVR 5 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 C: USR 6 TWN I example@hotmail.com S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507 C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"]) diff --git a/docs/versions/msnp9.md b/docs/versions/msnp9.md index 2dd15a8..361126a 100644 --- a/docs/versions/msnp9.md +++ b/docs/versions/msnp9.md @@ -18,7 +18,7 @@ The following commands were removed in this version: # Known changes (from [MSNP8](msnp8.md)): -* ILN, NLN, CHG: Added a MSNObject parameter. +* [CHG](../commands/chg.md), ILN, NLN: Added a MSNObject parameter. Now you can tell other clients about image data associated with your account. * QNG: Added a "next ping" time (in seconds) parameter * Switchboard MSG: Acknowledgement type D added @@ -27,11 +27,15 @@ The following commands were removed in this version: * Official Client: Supports the Messenger Config XML service, replacing `svcs.microsoft.com`. # Client-server communication example +*NOTE: This has been line-breaked. +Lines beginning with `..` followed by a space are continuations of the previous line. ``` C: VER 1 MSNP9 MSNP8 CVR0 S: VER 1 MSNP9 C: CVR 2 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com -S: CVR 2 6.0.0602 6.0.0602 6.0.0268 http://download.microsoft.com/download/8/a/4/8a42bcae-f533-4468-b871-d2bc8dd32e9e/SetupDl.exe http://messenger.msn.com +S: CVR 2 6.0.0602 6.0.0602 6.0.0268 +.. http://download.microsoft.com/download/8/a/4/8a42bcae-f533-4468-b871-d2bc8dd32e9e/SetupDl.exe +.. http://messenger.msn.com C: USR 3 TWN I example@hotmail.com S: XFR 3 NS 10.0.0.5:1863 0 10.0.0.1:1863 ``` @@ -42,7 +46,9 @@ Client opens a connection to 10.0.0.5:1863 C: VER 4 MSNP9 MSNP8 CVR0 S: VER 4 MSNP9 C: CVR 5 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com -S: CVR 5 6.0.0602 6.0.0602 6.0.0268 http://download.microsoft.com/download/8/a/4/8a42bcae-f533-4468-b871-d2bc8dd32e9e/SetupDl.exe http://messenger.msn.com +S: CVR 5 6.0.0602 6.0.0602 6.0.0268 +.. http://download.microsoft.com/download/8/a/4/8a42bcae-f533-4468-b871-d2bc8dd32e9e/SetupDl.exe +.. 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 C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"]) @@ -75,9 +81,17 @@ C: SYN 8 15 S: SYN 8 15 C: CHG 9 NLN S: CHG 9 NLN -S: ILN 9 NLN anotheruser@hotmail.com another%20user 268435500 %3Cmsnobj%20Creator%3D%22anotherdude%40hotmail.com%22%20Size%3D%2225235%22%20Type%3D%223%22%20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22%20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22%20SHA1C%3D%22PApbbjkbDSGrt3ybGHRKNaZ8s%2Fw%3D%22%2F%3E +S: ILN 9 NLN anotheruser@hotmail.com another%20user 268435500 %3Cmsnobj%20Creator%3D%22anotherdude%40hotmail.com%22 +.. %20Size%3D%2225235%22%20Type%3D%223%22 +.. %20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22 +.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22 +.. %20SHA1C%3D%22PApbbjkbDSGrt3ybGHRKNaZ8s%2Fw%3D%22%2F%3E C: PNG -S: NLN NLN anotheruser@hotmail.com another%20user 268435500 %3Cmsnobj%20Creator%3D%22anotherdude%40hotmail.com%22%20Size%3D%2225235%22%20Type%3D%223%22%20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22%20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22%20SHA1C%3D%22PApbbjkbDSGrt3ybGHRKNaZ8s%2Fw%3D%22%2F%3E +S: NLN NLN anotheruser@hotmail.com another%20user 268435500 %3Cmsnobj%20Creator%3D%22anotherdude%40hotmail.com%22 +.. %20Size%3D%2225235%22%20Type%3D%223%22 +.. %20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22 +.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22 +.. %20SHA1C%3D%22PApbbjkbDSGrt3ybGHRKNaZ8s%2Fw%3D%22%2F%3E S: QNG 60 C: OUT ``` diff --git a/package-lock.json b/package-lock.json index d419d85..6c9ba87 100644 --- a/package-lock.json +++ b/package-lock.json @@ -680,8 +680,8 @@ } }, "node_modules/yiki": { - "version": "0.1.3", - "resolved": "git+https://git.kevinthe.horse/yellows111/yiki.git#8736d49e527cd9127fbf4d78ea7b648f5af5da16", + "version": "0.1.4", + "resolved": "git+https://git.kevinthe.horse/yellows111/yiki.git#6565b78ac144a48cf553252fc46d1d1b883fa20d", "license": "MIT", "dependencies": { "@liquify/prettify": "^0.5.5-beta.1", diff --git a/templates/command.md b/templates/command.md new file mode 100644 index 0000000..3660d29 --- /dev/null +++ b/templates/command.md @@ -0,0 +1,46 @@ +# Introduction +`xxx` is a command introduced with [MSNPx](../versions/msnpx.md). + +It is a Notification Server command, without either a request or response payload. + +Description. + +# Client/Request +`xxx TrID {...}` + +# Server/Response +`xxx TrID {...}` + +# Examples + +## blah +``` +C: xxx 3 +S: xxx 3 +``` + +## bleh +``` +C: xxx 3 +S: xxx 3 +``` + +## bluh? +``` +C: xxx 3 +S: xxx 3 +``` + +## Invalid argument +*NOTE: This is an assumption. The actual error code here is unknown. +It may also lead to an Instant Disconnection.* +*NOTE: There is no defined behavour for this command specifically.* +``` +C: xxx 4 something wrong to go here +S: 201 +``` + +Server disconnects client. + +# Known changes +* Removed in MSNP24. diff --git a/templates/msnpver.md b/templates/msnpver.md new file mode 100644 index 0000000..f7b8d42 --- /dev/null +++ b/templates/msnpver.md @@ -0,0 +1,73 @@ +# Introduction + +MSNPx is the nth released version of the Mobile Status Notification Protocol. +It was introduced officially in Client Version y.y.yyyy. + +# Command information + +*No commands for any service were known to be introduced in this version* + +*No error codes were known to be introduced in this version* + +*No commands were known to be removed in this version* + +# Known changes +(from [MSNPx-1](msnpx-1.md)): +* a +* b +* c + +# Client-server communication example +``` +C: VER 1 MSNPx MSNPx-1? CVR0 +S: VER 1 MSNPx +C: CVR 2 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@hotmail.com +S: CVR 2 6.0.0602 6.0.0602 6.0.0268 http://download.microsoft.com/download/8/a/4/8a42bcae-f533-4468-b871-d2bc8dd32e9e/SetupDl.exe http://messenger.msn.com +C: USR 3 TWN I example@hotmail.com +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 + +``` +C: VER 4 MSNPx MSNPx-1 CVR0 +S: VER 4 MSNPx +C: CVR 5 0x0409 winnt 5.1 i386 MSNMSGR y.y.yyyy MSMSGS example@hotmail.com +S: CVR 5 z.z.zzzz z.z.zzzz z.z.zzzz http://example.com/download.exe 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 +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 +MIME-Version: 1.0 +Content-Type: text/x-msmsgsprofile; charset=UTF-8 +LoginTime: 1726321960 +EmailEnabled: 1 +MemberIdHigh: 1 +MemberIdLow: 2 +lang_preference: 1033 +PreferredEmail: example@hotmail.com +country: US +PostalCode: +Gender: +Kid: 0 +Age: +BDayPre: +Birthday: +Wallet: +Flags: 1027 +sid: 507 +kv: 11 +MSPAuth: whatever+t+is+in+your+passport+login+ticket+that+you+sent+for+USR+TWN+S$ +ClientIP: 192.168.1.111 +ClientPort: 18183 + +C: SYN 8 15 +if syn is different, write new syn response +S: SYN 8 15 +C: CHG 9 NLN +S: CHG 9 NLN +write some new commands or example of changes here +```