found what that parameter does, 923 and 924 info

apparently 923 and 924 are supported way earlier

it's REALLY confusing apparently because yes those clients DO handle those codes, but HOW?

makes me want to throw out the error code tables because it seems like different clients implement them in different ways with no established rule, especially those two because only 924 doesn't appear in plain text in the main binary until P7, but it absolutely exists before then?

And for 923... I don't even know. It's not in the main binary (at all). Let alone in later versions.
This commit is contained in:
yellows111 2024-10-24 15:17:51 +01:00
parent 221de2169f
commit 9144709921
Signed by: yellows111
SSH Key Fingerprint: SHA256:ynw5IJBU1pb7fZfHgLihKu9gHHA8FVpixZbB6IEB3r8
11 changed files with 84 additions and 28 deletions

View File

@ -96,7 +96,7 @@ Server disconnects client.
## Asynchronous update
```
C: ADD 0 RL 258 anotheruser@hotmail.com anotheruser@hotmail.com
S: ADD 0 RL 258 anotheruser@hotmail.com anotheruser@hotmail.com
```
# Known changes

View File

@ -124,3 +124,4 @@ S: LSG Friends f60efbe7-94af-4b16-b926-e4e10878d329
* [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`.
* Hard-removed in November 2003, Removed outside of [SYN](commands/syn.md), now just automatically disconnects.

View File

@ -189,3 +189,4 @@ S: LST N=anotheruser@hotmail.com F=another%20user C=c1f9a363-4ee9-4a33-a434-b056
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](syn.md) version.
* [MSNP13](../versions/msnp13.md): Removed [SYN](syn.md).
* Hard-removed in November 2003, Removed outside of [SYN](commands/syn.md), now just automatically disconnects.

View File

@ -53,7 +53,7 @@ Where `challenge`, based on the `security-package` is:
* `SSO`: The Passport login policy and a base64-encoded key.
### Successfully authenticated
`USR TrID OK user-handle {friendly-name} {verified} {unknown}`
`USR TrID OK user-handle {friendly-name} {verified} {account-restricted}`
Where `OK` is always `OK`.
@ -64,8 +64,9 @@ Where `friendly-name` is your current Friendly Name. Removed in [MSNP10](../vers
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).
Where `account-restricted` is the account's restricted status,
where 0 is unrestricted, and 1 is restricted. Added since [MSNP8](../versions/msnp8.md).
If this is set, the Client may log out automatically and ask to use MSN Explorer.
## Switchboard Server
`USR TrID OK user-handle friendly-name`
@ -93,19 +94,19 @@ S: USR 2 OK example@hotmail.com example%20user
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
S: USR 4 OK example@hotmail.com example%20user 1
```
### 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
S: USR 5 TWN 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
C: USR 6 TWN S t=token&p=profile
S: USR 6 OK example@hotmail.com example%20user 1 0
```
### Using SSO
@ -139,25 +140,66 @@ S: 911 10
Server disconnects client.
### Account not verfiied
*This will show the "Account Verification Required" dialog in [MSNP6](../versions/msnp6.md) clients?*
### Child account not authorized
*Since [MSNP4](../versions/msnp4.md).*
```
C: USR 11 MD5 I example@hotmail.com
S: USR 11 MD5 S 1234567890.123456789
C: USR 12 MD5 S f59af8f2fa91d38aff7c870c17f99903
S: 924 12
S: 923 12
```
Server disconnects client.
### Account not verified
#### Hard block
*Since [MSNP5](../versions/msnp5.md).*
*NOTE: This will show the Account Verification dialog.*
```
C: USR 13 MD5 I example@hotmail.com
S: USR 13 MD5 S 1234567890.123456789
C: USR 14 MD5 S f59af8f2fa91d38aff7c870c17f99903
S: 924 14
```
Server disconnects client.
#### Soft warning
*Since [MSNP6](../versions/msnp6.md).*
```
C: USR 15 MD5 I example@hotmail.com
S: USR 15 MD5 S 1234567890.123456789
C: USR 16 MD5 S f59af8f2fa91d38aff7c870c17f99903
S: USR 16 OK example@hotmail.com example%20user 0
```
### Account restricted
*Since [MSNP8](../versions/msnp8.md).*
*NOTE: This will automatically log you out and force you to use MSN Explorer instead.*
```
C: USR 17 TWN I example@hotmail.com
S: USR 17 TWN S passport=parameters,neat=huh,lc=1033,id=507
C: USR 18 TWN S t=token&p=profile
S: USR 18 OK example@hotmail.com example%20user 1 1
```
Client disconnects from server.
### Wrong server for this account
```
C: USR 13 TWN I example@hotmail.com
S: 931 13
C: USR 19 TWN I example@hotmail.com
S: 931 19
```
Server disconnects client.
## Switchboard Server
```
C: USR 14 example@passport.com 1234567890.1234567890.1234567890
S: USR 14 OK example@passport.com example%20user
C: USR 20 example@passport.com 1234567890.1234567890.1234567890
S: USR 20 OK example@passport.com example%20user
```
# Known changes

View File

@ -33,31 +33,28 @@ More is to come soon! Hopefully!
# 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](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](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](commands/syn.md) in this version?
* Error Codes: A new article for them, seems like they are implemented in wildly different ways.
* All Protocols: Any error code known to exist but is missing from the pages.
* 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](commands/syn.md).
* [ADC command](commands/adc.md): Can this show up as a asynchronous command?
* 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
* [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.
* [FND command](commands/fnd.md): Why does this have an iterator if you can't send it over multiple packets?
* [USR command](commands/usr.md): Speaking of CKI, Why is it not specified when authenticating to Switchboard?
* [XFR command](commands/xfr.md): That one single digit parameter and what it has to do with `application/x-msmsgsspmessage`.
* The Draft: Why did the draft go vague on the errors? The list was there, but no explanations on what can cause them... Odd.
* The Draft: Why did the draft go vague on the errors? The list [was there](https://datatracker.ietf.org/doc/html/draft-movva-msn-messenger-protocol-00#section-7.11), but no explanations on what can cause them... Odd.
# Common (or not) Terms
* Official Client: MSN Messenger (Service) or Windows Live Messenger.

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`](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.) |
| [`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) (Added account restricted bit to USR OK), [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.) |
@ -27,14 +27,14 @@ This is a list of all known MSNP commands and their originating version.
| [`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](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) |
| [`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), November 2003 (Removed outside of [SYN](commands/syn.md), not really any specific MSNP update, just hard removed with an automatic disconnect.) |
| [`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](commands/syn.md) 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`.), November 2003 (Removed outside of [SYN](commands/syn.md), not really any specific MSNP update, just hard removed with an automatic disconnect.) |
| [`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) |

View File

@ -14,7 +14,10 @@ It was introduced officially in Client Version 2.1.1047.
* [CVR](../commands/cvr.md), [SND](../commands/snd.md): Added a client codebase identification parameter.
* [CVQ](../commands/cvq.md) has an empty parameter, meant to be the client codebase
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.
* Official Client: Client Version 2.2.1053 re-enables the ability to invite people again,
and shadow-implements the error code `923`,
which when sent as a [USR](../commands/usr.md) response, shows the
"Sorry, this Kids Passport account does not have permission to access this service" dialog.
## Changes to error codes
*Only applies for the Official Client.*

View File

@ -33,6 +33,9 @@ It introduces the error codes:
The `0x0409` can be changed to any language code, with the `length` denoting the payload if specified.
* 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` .
* Official Client: Error code 924 has been shadow-implemented,
which when sent as a [USR](../commands/usr.md) response, shows the
"Sorry, you can not sign in until your verify that (user handle) really belongs to you" dialog.
## Changes to error codes
*Only applies for the Official Client.*

View File

@ -19,7 +19,8 @@ It introduces the error codes:
# Known changes
(from [MSNP5](msnp5.md)):
* [USR](../commands/usr.md) 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 it is `0`, the Official Client 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
@ -27,6 +28,7 @@ It introduces the error codes:
* 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`.
* Official Client: Error 924 dialog changed to the unverified but still can use service one. Not sure why.
## Changes to error codes
*Only applies for the Official Client.*

View File

@ -18,7 +18,9 @@ The following commands were removed in this version:
all released clients that support MSNP8 do not support any previous versions.
* 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.
* [USR](../commands/usr.md) OK has a new parameter, Account restriction status, if set to `1`,
the Official Client will log out and ask to log in using MSN Explorer instead.
Unrestricted accounts (those that do not need to log in using MSN Explorer) will have `0` instead.
* 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.
@ -30,6 +32,7 @@ The following commands were removed in this version:
ClientPort needs to be endian swapped for it's correct value.
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.
All previous protocols also received the 502 error code.
* [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](../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),

View File

@ -13,6 +13,10 @@ It introduces the error codes:
The following commands were removed in this version:
* [PAG](../commands/pag.md) (returns 715)
* [LST](../commands/lst.md) (Only client-initated, the one in [SYN](../commands/syn.md) is kept,
removed in November, 2003 via automatic disconnect.)
* [LSG](../commands/lsg.md) (Only client-initated, the one in [SYN](../commands/syn.md) is kept,
removed in November, 2003 via automatic disconnect.)
# Known changes
(from [MSNP8](msnp8.md)):