diff --git a/docs/commands/adg.md b/docs/commands/adg.md index a2eb0d9..94731e2 100644 --- a/docs/commands/adg.md +++ b/docs/commands/adg.md @@ -60,7 +60,7 @@ Server disconnects client. ## Without list versions ### With group IDs -*Only [MSNP10](../versions/msnp10.md) with `ABCHMigrated: 0`.* +*Only in [MSNP10](../versions/msnp10.md) with `ABCHMigrated: 0`.* #### Normal use ``` diff --git a/docs/commands/bpr.md b/docs/commands/bpr.md index 20d317e..c25b76b 100644 --- a/docs/commands/bpr.md +++ b/docs/commands/bpr.md @@ -16,12 +16,12 @@ Where `list-version` is the new List Version. Removed since [MSNP10](../versions 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 -* `PHW`: Work Phone number -* `PHM`: Mobile Phone number -* `MOB`: Allow users to contact me via MSN Mobile -* `WWE`: [[MSNP9](../versions/msnp9.md)+] MSN Direct / Web Watch enabled -* `HSB`: [[MSNP11](../versions/msnp11.md)+] Has Blog (MSN Space) +* `PHH`: Home Phone number. +* `PHW`: Work Phone number. +* `PHM`: Mobile Phone number. +* `MOB`: Allow users to contact me via MSN Mobile. +* `WWE`: [[MSNP9](../versions/msnp9.md)+] MSN Direct / Web Watch enabled. +* `HSB`: [[MSNP11](../versions/msnp11.md)+] Has Blog (MSN Space). Where `value` is the URL-encoded value that is assigned to `property`. diff --git a/docs/commands/not.md b/docs/commands/not.md index 3d71686..9be600a 100644 --- a/docs/commands/not.md +++ b/docs/commands/not.md @@ -114,7 +114,7 @@ S: NOT 685 ``` ## Invalid context -*Inherited from being an unimplemented command. +*Inherited from being an unimplemented command.* ``` C: NOT 1 0 ``` diff --git a/docs/commands/prp.md b/docs/commands/prp.md index f0e42e1..bd57fdb 100644 --- a/docs/commands/prp.md +++ b/docs/commands/prp.md @@ -9,11 +9,13 @@ It sets or gets (during [SYN](syn.md)) a personal user property. Other users are `PRP TrID property value` Where `property` can be any of these values: -* `PHH`: Home Phone number -* `PHW`: Work Phone number -* `PHM`: Mobile Phone number -* `MOB`: Allow users to contact me via MSN Mobile -* `MFN`: [[MSNP10](../versions/msnp10.md)+] My Friendly Name +* `PHH`: Home Phone number. Has a maximum of 95 bytes. +* `PHW`: Work Phone number. Has a maximum of 95 bytes. +* `PHM`: Mobile Phone number. Has a maximum of 95 bytes. +* `MOB`: Allow users to contact me via MSN Mobile. +* `MFN`: [[MSNP10](../versions/msnp10.md)+] My Friendly Name, Has a maximum of 387 bytes. + +The data of the `property` parameter cannot be longer than 3 bytes. Where `value` is the URL-encoded value to set the related `property` to. @@ -23,9 +25,9 @@ Where `value` is the URL-encoded value to set the related `property` to. Where `list-version` is the new List Version. Removed since [MSNP10](../versions/msnp10.md) in `ABCHMigrated: 1` mode. The following `property` values are only set by the server: -* `MBE`: MSN Mobile enabled -* `WWE`: [[MSNP9](../versions/msnp9.md)+] MSN Direct / Web Watch enabled -* `HSB`: [[MSNP11](../versions/msnp11.md)+] Has Blog (MSN Space) +* `MBE`: MSN Mobile enabled. +* `WWE`: [[MSNP9](../versions/msnp9.md)+] MSN Direct / Web Watch enabled. +* `HSB`: [[MSNP11](../versions/msnp11.md)+] Has Blog (MSN Space). # Examples @@ -36,9 +38,24 @@ S: PRP 1 256 PHH 1%20(222)%203333 ``` ## Unknown property -*NOTE: There is no defined behaviour for this command specifically.* ``` C: PRP 2 NEW very%20yes +S: 715 2 +``` + +## Property key is too long +``` +C: PRP 3 NICE Y +``` + +Server disconnects client. + +## Property value is too long +*NOTE: This has been line-breaked. +Lines beginning with `..` followed by a space are continuations of the previous line.* +``` +C: PRP 4 PHM this%20is%20way%20too%20long%20of%20a +.. %20phone%20number%20not%20like%20it%20is%20one%20anyway... ``` Server disconnects client. diff --git a/docs/commands/qng.md b/docs/commands/qng.md index 9f22aa7..2537693 100644 --- a/docs/commands/qng.md +++ b/docs/commands/qng.md @@ -3,7 +3,7 @@ It is a Notification Server command, without either a request or response payload. -It is the response to the [PNG](png.md) command. +It is the server's response to the [PNG](png.md) command. # Client/Request This command can not be sent from the client. diff --git a/docs/commands/reg.md b/docs/commands/reg.md index eec1f70..cf4e8c0 100644 --- a/docs/commands/reg.md +++ b/docs/commands/reg.md @@ -1,7 +1,7 @@ # Introduction `REG` is a command introduced with [MSNP7](../versions/msnp7.md) -It is a Notification Server command, without a request or response payload. +It is a Notification Server command, without either a request or response payload. Renames an existing group. Replaced with [Address Book Service](../services/abservice.md)'s `ABGroupUpdate` in [MSNP13](../versions/msnp13.md). diff --git a/docs/commands/snd.md b/docs/commands/snd.md index 7a30da6..79b92fe 100644 --- a/docs/commands/snd.md +++ b/docs/commands/snd.md @@ -30,14 +30,14 @@ Where `OK` is always `OK`. ## Normal use ### First generation -*Only [MSNP2](../versions/msnp2.md).* +*Only in [MSNP2](../versions/msnp2.md).* ``` C: SND 1 anotheruser@hotmail.com S: SND 1 OK ``` ### Second generation -*Only [MSNP3](../versions/msnp3.md).* +*Only in [MSNP3](../versions/msnp3.md).* ``` C: SND 2 anotheruser@hotmail.com 0x0409 MSMSGS S: SND 2 OK diff --git a/docs/commands/ubx.md b/docs/commands/ubx.md new file mode 100644 index 0000000..f8aac85 --- /dev/null +++ b/docs/commands/ubx.md @@ -0,0 +1,105 @@ +# Introduction +`UBX` is a command introduced with [MSNP11](../versions/msnp11.md). + +It is a Notification Server command, WITH a response payload. + +For the version of the command that relates to another user, read [UUX](uux.md). + +# Client/Request +This command can not be sent from the client. + +# Server/Response +``` +UBX user-handle {network-id} length +payload +``` + +Where `user-handle` is the user handle assocated with this data. + +Where `network-id` is a Network Identification Number. Added since [MSNP14](../versions/msnp14.md). + +Where `length` is the size (in bytes) of the `payload`. + +Where `payload` is the XML data for this user on the Forward List (FL), +contained in a `` element: +* ``: The user's new Personal Status Message. +* ``: The user's new currently playing media status. +* ``: The GUID of the computer that the user is using. + Added since [MSNP13](../versions/msnp13.md). + +# Examples + +## Without MachineGuid +*Only in [MSNP11](../versions/msnp11.md) and [MSNP12](../versions/msnp12.md).* + +### Blank status +``` +S: UUX anotheruser@hotmail.com 53 + +``` + +### With PSM +``` +S: UUX anotheruser@hotmail.com 75 +example status message +``` + +### With playing media +``` +S: UUX anotheruser@hotmail.com 137 +example status message\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0 +``` + +## With MachineGuid +*Only in [MSNP13](../versions/msnp13.md).* + +### Blank status +``` +S: UUX anotheruser@hotmail.com 118 +{0061D708-CD9B-4D56-B64B-FFFAA92FF344} +``` + +### With PSM +``` +S: UUX anotheruser@hotmail.com 140 +example status message{0061D708-CD9B-4D56-B64B-FFFAA92FF344} +``` + +### With playing media +``` +S: UUX anotheruser@hotmail.com 202 +example status message\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0{0061D708-CD9B-4D56-B64B-FFFAA92FF344} +``` + +## With Network IDs +*Since [MSNP14](../versions/msnp14.md).* + +### Blank status +``` +S: UUX anotheruser@hotmail.com 1 118 +{0061D708-CD9B-4D56-B64B-FFFAA92FF344} +``` + +### With PSM +``` +S: UUX anotheruser@hotmail.com 1 140 +example status message{0061D708-CD9B-4D56-B64B-FFFAA92FF344} +``` + +### With playing media +``` +S: UUX anotheruser@hotmail.com 1 202 +example status message\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0{0061D708-CD9B-4D56-B64B-FFFAA92FF344} +``` + +## Invalid context +*Inherited from being an unimplemented command.* +``` +C: UBX 1 0 +``` + +Server disconnects client. + +# Known changes +* [MSNP13](../versions/msnp13.md): Added `` to payload. +* [MSNP14](../versions/msnp14.md): Added a new parameter for the Network ID related to this update (parameter 2). diff --git a/docs/commands/uux.md b/docs/commands/uux.md new file mode 100644 index 0000000..3b254d6 --- /dev/null +++ b/docs/commands/uux.md @@ -0,0 +1,87 @@ +# Introduction +`UUX` is a command introduced with [MSNP11](../versions/msnp11.md). + +It is a Notification Server command, WITH a request payload and WITH a response payload. + +For the version of the command that relates to another user, read [UBX](ubx.md). + +# Client/Request +``` +UUX TrID length +payload +``` + +Where `length` is the size (in bytes) of the `payload`. + +Where `payload` is the combined XML data you would like to publish, +contained in a `` element: +* ``: Your new Personal Status Message. +* ``: Your new currently playing media status. +* ``: The GUID of the computer you are using. + Added since [MSNP13](../versions/msnp13.md). + +# Server/Response +`UUX TrID length` + +Where `length` is always `0`. + +# Examples + +## Without MachineGuid +*Only in [MSNP11](../versions/msnp11.md) and [MSNP12](../versions/msnp12.md).* + +### Blank status +``` +C: UUX 1 53 + +S: UUX 1 +``` + +### With PSM +``` +C: UUX 2 75 +example status message +S: UUX 2 +``` + +### With playing media +``` +C: UUX 3 137 +example status message\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0 +S: UUX 3 +``` + +## With MachineGuid +*Since [MSNP13](../versions/msnp13.md).* + +### Blank status +``` +C: UUX 4 118 +{44BFD5A4-7450-4BDA-BA3A-C51B3031126D} +S: UUX 4 +``` + +### With PSM +``` +C: UUX 5 140 +example status message{44BFD5A4-7450-4BDA-BA3A-C51B3031126D} +S: UUX 5 +``` + +### With playing media +``` +C: UUX 6 202 +example status message\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0{44BFD5A4-7450-4BDA-BA3A-C51B3031126D} +S: UUX 6 +``` + +## Invalid data +``` +C: UUX 7 19 + +``` + +Server disconnects client. + +# Known changes +* [MSNP13](../versions/msnp13.md): Added `` to payload. diff --git a/docs/index.md b/docs/index.md index 8d502ed..acc5197 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,6 +3,15 @@ Welcome to yellows' MSNP wiki - "we actually have documentation" Why not visit the [Table of Commands](table_of_commands.md)? +# License +Copyright (C) 2024 yellows111. +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 +or any later version published by the Free Software Foundation; +with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the article entitled +"[GNU Free Documentation License](license.md)". + # Protocol Versions * [CVR0](versions/cvr0.md) * [MSNP2](versions/msnp2.md) @@ -30,6 +39,7 @@ More is to come soon! Hopefully! # Other documents and files * [Constants used on the wiki](reference_constants.md) * [Shields Configuration Data](files/shields.md) +* [`` documents](files/notification.md) # Wanted Information * [MSNP2](versions/msnp2.md): What is the format of the initial `text/x-msmsgsemailnotification`? @@ -49,6 +59,20 @@ More is to come soon! Hopefully! * [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? * [LST command](commands/lst.md): Any updates to this command outside of [SYN](commands/syn.md). +* [PRP command](commands/prp.md): Any information on the following properties (if they are properties?): + * `UTL` + * `WPL` + * `CID`: Is this related to spaces? + * `RES` + * `NSD` + * `UAC` + * `MNI` +* [UUX command](commands/uux.md): Any information on the following optional elements: + * `PHMEnabled` + * `MNIEnabled` + * `LastSpaceUpdate` + * `LastStorageError` + * `FIR` * Meta: A good way to handle removed-mid-protocol commands like [FND](commands/fnd.md), [LSG](commands/lsg.md) and [LST](commands/lst.md)... ## Unsolved Mysteries @@ -80,7 +104,7 @@ More is to come soon! Hopefully! * Carriage Return: To return the page-writing apparatus to the left of the page. * Line Feed: To move the page-writing apparatus down a "line". * TrID: Transaction ID. Links the server's response to the client's request. -* User handle: A 129-character max address used across the protocol. +* User handle: An address which supports up to 129 characters that is used across the protocol. May be called "principles" in other places. * Public Key, Private Key: The parameters used in [QRY](commands/qry.md). * The one you send with it in plain is the Public Key. @@ -92,7 +116,3 @@ More is to come soon! Hopefully! The git repo is avaliable at . You can submit changes to me via any avaliable contact method as a e-mail merge request, like those made with [`git format-patch`](https://git-scm.com/docs/git-format-patch). - -# License -This documentational site, and it's related sources are avaliable under the -[license of the GNU Free Documentation License 1.3](license.md). \ No newline at end of file diff --git a/docs/reference_constants.md b/docs/reference_constants.md index fc27a0f..5559bc2 100644 --- a/docs/reference_constants.md +++ b/docs/reference_constants.md @@ -24,6 +24,8 @@ This refers to all the constants used on the wiki. ## Other things * My Passport Unique ID: `0x00000001:0x000000002`, High: `1`, Low: `2`. +* My computer's GUID: `44bfd5a4-7450-4bda-ba3a-c51b3031126d` +* Another User's computer's GUID: `0061d708-cd9b-4d56-b64b-fffaa92ff344` ## MSNP Servers * The Dispatch Server: `10.0.0.1:1863` diff --git a/docs/table_of_commands.md b/docs/table_of_commands.md index e1ad1c1..7fbe953 100644 --- a/docs/table_of_commands.md +++ b/docs/table_of_commands.md @@ -47,19 +47,19 @@ 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 challenge response ([QRY](commands/qry.md) commands) generation algorithm drastically.) | | [`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.) | +| [`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.) | | [`NOT`](commands/not.md) | Y | N | Y | [MSNP5](versions/msnp5.md) | [MSNP11](versions/msnp11.md) (Added support for the `` sub-document, and live blog updates use the new sub-document.), [MSNP13](versions/msnp13.md) (Added live contact list updates using the `` subdocument.), [MSNP18](versions/msnp18.md) (Added live persistant chat group updates using the `` subdocument.) | | [`IPG`](commands/ipg.md) | Y | N | Y | [MSNP6](versions/msnp6.md) | | | [`REG`](commands/reg.md) | N | Y | N | [MSNP7](versions/msnp7.md) | [MSNP10](versions/msnp10.md) (Removed unused `0` and List Version parameters, with `ABCHMigrated: 1`, group IDs are instead group GUIDs), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s `ABGroupUpdate` instead.) | | [`RMG`](commands/rmg.md) | N | Y | N | [MSNP7](versions/msnp7.md) | [MSNP10](versions/msnp10.md) (Removed List Version parameter, with `ABCHMigrated: 1`, group IDs are instead group GUIDs), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s `ABGroupDelete` instead.) | | [`QRY`](commands/qry.md) | Y | Y | N | [MSNP6](versions/msnp6.md) | [MSNP10](versions/msnp10.md) (Changed challenge response generation algorithm drastically.) | +| [`UBX`](commands/ubx.md) | Y | N | Y | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Added `` to the default list of elements.) | +| [`UUX`](commands/uux.md) | Y | Y | N | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Added `` to the default list of elements.), [MSNP14](versions/msnp14.md) (Added support for Network IDs.) | # What's Missing Right Now ## In general * [MSNP11](versions/msnp11.md): SBS -* [MSNP11](versions/msnp11.md): UBX -* [MSNP11](versions/msnp11.md): UUX * [MSNP12](versions/msnp12.md): LKP # Modifiers diff --git a/docs/versions/msnp11.md b/docs/versions/msnp11.md index 97bf160..ebd353a 100644 --- a/docs/versions/msnp11.md +++ b/docs/versions/msnp11.md @@ -6,8 +6,8 @@ It was introduced officially in Client Version 7.0.0777. It introduces the notification service commands: * [GCF](../commands/gcf.md) * SBS -* UBX -* UUX +* [UBX](../commands/ubx.md) +* [UUX](../commands/uux.md) *No switchboard or dispatch service commands were known to be introduced in this version* @@ -97,11 +97,11 @@ S: GCF 9 Shields.xml 145 C: CHG 10 NLN S: CHG 10 NLN C: UUX 11 40 - + S: UUX 11 0 S: ILN 10 NLN anotheruser@hotmail.com another%20user 1073791084 S: UBX anotheruser@hotmail.com 54 -new feature :P +new feature :P 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 diff --git a/package-lock.json b/package-lock.json index 0bbb640..c98988e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "yellows-msnp-wiki", - "version": "0.1.0", + "version": "0.1.1", "license": "GFDL-1.3-or-later", "dependencies": { "yiki": "git+https://git.kevinthe.horse/yellows111/yiki.git#semver:*" diff --git a/package.json b/package.json index 14fe583..242f56c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yellows-msnp-wiki", - "version": "0.1.0", + "version": "0.1.1", "description": "The yellows111 MSNP wiki that aims for accuracy.", "author": "yellows111", "license": "GFDL-1.3-or-later",