massive amount of corrections, rest of pre-P11 commands
upgrade yiki, slugs now work better, but not in URLs (i forgot) 0 Commands Left. Time for that parity check. Add a license too. Bump version to 0.1.0. NEW RECORD!
This commit is contained in:
parent
9144709921
commit
e6520d0ac0
43 changed files with 1787 additions and 89 deletions
445
LICENSE.md
Normal file
445
LICENSE.md
Normal file
|
@ -0,0 +1,445 @@
|
||||||
|
# GNU Free Documentation License
|
||||||
|
|
||||||
|
Version 1.3, 3 November 2008
|
||||||
|
|
||||||
|
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation,
|
||||||
|
Inc. <https://fsf.org/>
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this
|
||||||
|
license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
## 0. PREAMBLE
|
||||||
|
|
||||||
|
The purpose of this License is to make a manual, textbook, or other
|
||||||
|
functional and useful document "free" in the sense of freedom: to
|
||||||
|
assure everyone the effective freedom to copy and redistribute it,
|
||||||
|
with or without modifying it, either commercially or noncommercially.
|
||||||
|
Secondarily, this License preserves for the author and publisher a way
|
||||||
|
to get credit for their work, while not being considered responsible
|
||||||
|
for modifications made by others.
|
||||||
|
|
||||||
|
This License is a kind of "copyleft", which means that derivative
|
||||||
|
works of the document must themselves be free in the same sense. It
|
||||||
|
complements the GNU General Public License, which is a copyleft
|
||||||
|
license designed for free software.
|
||||||
|
|
||||||
|
We have designed this License in order to use it for manuals for free
|
||||||
|
software, because free software needs free documentation: a free
|
||||||
|
program should come with manuals providing the same freedoms that the
|
||||||
|
software does. But this License is not limited to software manuals; it
|
||||||
|
can be used for any textual work, regardless of subject matter or
|
||||||
|
whether it is published as a printed book. We recommend this License
|
||||||
|
principally for works whose purpose is instruction or reference.
|
||||||
|
|
||||||
|
## 1. APPLICABILITY AND DEFINITIONS
|
||||||
|
|
||||||
|
This License applies to any manual or other work, in any medium, that
|
||||||
|
contains a notice placed by the copyright holder saying it can be
|
||||||
|
distributed under the terms of this License. Such a notice grants a
|
||||||
|
world-wide, royalty-free license, unlimited in duration, to use that
|
||||||
|
work under the conditions stated herein. The "Document", below, refers
|
||||||
|
to any such manual or work. Any member of the public is a licensee,
|
||||||
|
and is addressed as "you". You accept the license if you copy, modify
|
||||||
|
or distribute the work in a way requiring permission under copyright
|
||||||
|
law.
|
||||||
|
|
||||||
|
A "Modified Version" of the Document means any work containing the
|
||||||
|
Document or a portion of it, either copied verbatim, or with
|
||||||
|
modifications and/or translated into another language.
|
||||||
|
|
||||||
|
A "Secondary Section" is a named appendix or a front-matter section of
|
||||||
|
the Document that deals exclusively with the relationship of the
|
||||||
|
publishers or authors of the Document to the Document's overall
|
||||||
|
subject (or to related matters) and contains nothing that could fall
|
||||||
|
directly within that overall subject. (Thus, if the Document is in
|
||||||
|
part a textbook of mathematics, a Secondary Section may not explain
|
||||||
|
any mathematics.) The relationship could be a matter of historical
|
||||||
|
connection with the subject or with related matters, or of legal,
|
||||||
|
commercial, philosophical, ethical or political position regarding
|
||||||
|
them.
|
||||||
|
|
||||||
|
The "Invariant Sections" are certain Secondary Sections whose titles
|
||||||
|
are designated, as being those of Invariant Sections, in the notice
|
||||||
|
that says that the Document is released under this License. If a
|
||||||
|
section does not fit the above definition of Secondary then it is not
|
||||||
|
allowed to be designated as Invariant. The Document may contain zero
|
||||||
|
Invariant Sections. If the Document does not identify any Invariant
|
||||||
|
Sections then there are none.
|
||||||
|
|
||||||
|
The "Cover Texts" are certain short passages of text that are listed,
|
||||||
|
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||||
|
the Document is released under this License. A Front-Cover Text may be
|
||||||
|
at most 5 words, and a Back-Cover Text may be at most 25 words.
|
||||||
|
|
||||||
|
A "Transparent" copy of the Document means a machine-readable copy,
|
||||||
|
represented in a format whose specification is available to the
|
||||||
|
general public, that is suitable for revising the document
|
||||||
|
straightforwardly with generic text editors or (for images composed of
|
||||||
|
pixels) generic paint programs or (for drawings) some widely available
|
||||||
|
drawing editor, and that is suitable for input to text formatters or
|
||||||
|
for automatic translation to a variety of formats suitable for input
|
||||||
|
to text formatters. A copy made in an otherwise Transparent file
|
||||||
|
format whose markup, or absence of markup, has been arranged to thwart
|
||||||
|
or discourage subsequent modification by readers is not Transparent.
|
||||||
|
An image format is not Transparent if used for any substantial amount
|
||||||
|
of text. A copy that is not "Transparent" is called "Opaque".
|
||||||
|
|
||||||
|
Examples of suitable formats for Transparent copies include plain
|
||||||
|
ASCII without markup, Texinfo input format, LaTeX input format, SGML
|
||||||
|
or XML using a publicly available DTD, and standard-conforming simple
|
||||||
|
HTML, PostScript or PDF designed for human modification. Examples of
|
||||||
|
transparent image formats include PNG, XCF and JPG. Opaque formats
|
||||||
|
include proprietary formats that can be read and edited only by
|
||||||
|
proprietary word processors, SGML or XML for which the DTD and/or
|
||||||
|
processing tools are not generally available, and the
|
||||||
|
machine-generated HTML, PostScript or PDF produced by some word
|
||||||
|
processors for output purposes only.
|
||||||
|
|
||||||
|
The "Title Page" means, for a printed book, the title page itself,
|
||||||
|
plus such following pages as are needed to hold, legibly, the material
|
||||||
|
this License requires to appear in the title page. For works in
|
||||||
|
formats which do not have any title page as such, "Title Page" means
|
||||||
|
the text near the most prominent appearance of the work's title,
|
||||||
|
preceding the beginning of the body of the text.
|
||||||
|
|
||||||
|
The "publisher" means any person or entity that distributes copies of
|
||||||
|
the Document to the public.
|
||||||
|
|
||||||
|
A section "Entitled XYZ" means a named subunit of the Document whose
|
||||||
|
title either is precisely XYZ or contains XYZ in parentheses following
|
||||||
|
text that translates XYZ in another language. (Here XYZ stands for a
|
||||||
|
specific section name mentioned below, such as "Acknowledgements",
|
||||||
|
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
|
||||||
|
of such a section when you modify the Document means that it remains a
|
||||||
|
section "Entitled XYZ" according to this definition.
|
||||||
|
|
||||||
|
The Document may include Warranty Disclaimers next to the notice which
|
||||||
|
states that this License applies to the Document. These Warranty
|
||||||
|
Disclaimers are considered to be included by reference in this
|
||||||
|
License, but only as regards disclaiming warranties: any other
|
||||||
|
implication that these Warranty Disclaimers may have is void and has
|
||||||
|
no effect on the meaning of this License.
|
||||||
|
|
||||||
|
## 2. VERBATIM COPYING
|
||||||
|
|
||||||
|
You may copy and distribute the Document in any medium, either
|
||||||
|
commercially or noncommercially, provided that this License, the
|
||||||
|
copyright notices, and the license notice saying this License applies
|
||||||
|
to the Document are reproduced in all copies, and that you add no
|
||||||
|
other conditions whatsoever to those of this License. You may not use
|
||||||
|
technical measures to obstruct or control the reading or further
|
||||||
|
copying of the copies you make or distribute. However, you may accept
|
||||||
|
compensation in exchange for copies. If you distribute a large enough
|
||||||
|
number of copies you must also follow the conditions in section 3.
|
||||||
|
|
||||||
|
You may also lend copies, under the same conditions stated above, and
|
||||||
|
you may publicly display copies.
|
||||||
|
|
||||||
|
## 3. COPYING IN QUANTITY
|
||||||
|
|
||||||
|
If you publish printed copies (or copies in media that commonly have
|
||||||
|
printed covers) of the Document, numbering more than 100, and the
|
||||||
|
Document's license notice requires Cover Texts, you must enclose the
|
||||||
|
copies in covers that carry, clearly and legibly, all these Cover
|
||||||
|
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||||
|
the back cover. Both covers must also clearly and legibly identify you
|
||||||
|
as the publisher of these copies. The front cover must present the
|
||||||
|
full title with all words of the title equally prominent and visible.
|
||||||
|
You may add other material on the covers in addition. Copying with
|
||||||
|
changes limited to the covers, as long as they preserve the title of
|
||||||
|
the Document and satisfy these conditions, can be treated as verbatim
|
||||||
|
copying in other respects.
|
||||||
|
|
||||||
|
If the required texts for either cover are too voluminous to fit
|
||||||
|
legibly, you should put the first ones listed (as many as fit
|
||||||
|
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||||
|
pages.
|
||||||
|
|
||||||
|
If you publish or distribute Opaque copies of the Document numbering
|
||||||
|
more than 100, you must either include a machine-readable Transparent
|
||||||
|
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||||
|
a computer-network location from which the general network-using
|
||||||
|
public has access to download using public-standard network protocols
|
||||||
|
a complete Transparent copy of the Document, free of added material.
|
||||||
|
If you use the latter option, you must take reasonably prudent steps,
|
||||||
|
when you begin distribution of Opaque copies in quantity, to ensure
|
||||||
|
that this Transparent copy will remain thus accessible at the stated
|
||||||
|
location until at least one year after the last time you distribute an
|
||||||
|
Opaque copy (directly or through your agents or retailers) of that
|
||||||
|
edition to the public.
|
||||||
|
|
||||||
|
It is requested, but not required, that you contact the authors of the
|
||||||
|
Document well before redistributing any large number of copies, to
|
||||||
|
give them a chance to provide you with an updated version of the
|
||||||
|
Document.
|
||||||
|
|
||||||
|
## 4. MODIFICATIONS
|
||||||
|
|
||||||
|
You may copy and distribute a Modified Version of the Document under
|
||||||
|
the conditions of sections 2 and 3 above, provided that you release
|
||||||
|
the Modified Version under precisely this License, with the Modified
|
||||||
|
Version filling the role of the Document, thus licensing distribution
|
||||||
|
and modification of the Modified Version to whoever possesses a copy
|
||||||
|
of it. In addition, you must do these things in the Modified Version:
|
||||||
|
|
||||||
|
- A. Use in the Title Page (and on the covers, if any) a title
|
||||||
|
distinct from that of the Document, and from those of previous
|
||||||
|
versions (which should, if there were any, be listed in the
|
||||||
|
History section of the Document). You may use the same title as a
|
||||||
|
previous version if the original publisher of that version
|
||||||
|
gives permission.
|
||||||
|
- B. List on the Title Page, as authors, one or more persons or
|
||||||
|
entities responsible for authorship of the modifications in the
|
||||||
|
Modified Version, together with at least five of the principal
|
||||||
|
authors of the Document (all of its principal authors, if it has
|
||||||
|
fewer than five), unless they release you from this requirement.
|
||||||
|
- C. State on the Title page the name of the publisher of the
|
||||||
|
Modified Version, as the publisher.
|
||||||
|
- D. Preserve all the copyright notices of the Document.
|
||||||
|
- E. Add an appropriate copyright notice for your modifications
|
||||||
|
adjacent to the other copyright notices.
|
||||||
|
- F. Include, immediately after the copyright notices, a license
|
||||||
|
notice giving the public permission to use the Modified Version
|
||||||
|
under the terms of this License, in the form shown in the
|
||||||
|
Addendum below.
|
||||||
|
- G. Preserve in that license notice the full lists of Invariant
|
||||||
|
Sections and required Cover Texts given in the Document's
|
||||||
|
license notice.
|
||||||
|
- H. Include an unaltered copy of this License.
|
||||||
|
- I. Preserve the section Entitled "History", Preserve its Title,
|
||||||
|
and add to it an item stating at least the title, year, new
|
||||||
|
authors, and publisher of the Modified Version as given on the
|
||||||
|
Title Page. If there is no section Entitled "History" in the
|
||||||
|
Document, create one stating the title, year, authors, and
|
||||||
|
publisher of the Document as given on its Title Page, then add an
|
||||||
|
item describing the Modified Version as stated in the
|
||||||
|
previous sentence.
|
||||||
|
- J. Preserve the network location, if any, given in the Document
|
||||||
|
for public access to a Transparent copy of the Document, and
|
||||||
|
likewise the network locations given in the Document for previous
|
||||||
|
versions it was based on. These may be placed in the "History"
|
||||||
|
section. You may omit a network location for a work that was
|
||||||
|
published at least four years before the Document itself, or if
|
||||||
|
the original publisher of the version it refers to
|
||||||
|
gives permission.
|
||||||
|
- K. For any section Entitled "Acknowledgements" or "Dedications",
|
||||||
|
Preserve the Title of the section, and preserve in the section all
|
||||||
|
the substance and tone of each of the contributor acknowledgements
|
||||||
|
and/or dedications given therein.
|
||||||
|
- L. Preserve all the Invariant Sections of the Document, unaltered
|
||||||
|
in their text and in their titles. Section numbers or the
|
||||||
|
equivalent are not considered part of the section titles.
|
||||||
|
- M. Delete any section Entitled "Endorsements". Such a section may
|
||||||
|
not be included in the Modified Version.
|
||||||
|
- N. Do not retitle any existing section to be Entitled
|
||||||
|
"Endorsements" or to conflict in title with any Invariant Section.
|
||||||
|
- O. Preserve any Warranty Disclaimers.
|
||||||
|
|
||||||
|
If the Modified Version includes new front-matter sections or
|
||||||
|
appendices that qualify as Secondary Sections and contain no material
|
||||||
|
copied from the Document, you may at your option designate some or all
|
||||||
|
of these sections as invariant. To do this, add their titles to the
|
||||||
|
list of Invariant Sections in the Modified Version's license notice.
|
||||||
|
These titles must be distinct from any other section titles.
|
||||||
|
|
||||||
|
You may add a section Entitled "Endorsements", provided it contains
|
||||||
|
nothing but endorsements of your Modified Version by various
|
||||||
|
parties—for example, statements of peer review or that the text has
|
||||||
|
been approved by an organization as the authoritative definition of a
|
||||||
|
standard.
|
||||||
|
|
||||||
|
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||||
|
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||||
|
of Cover Texts in the Modified Version. Only one passage of
|
||||||
|
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||||
|
through arrangements made by) any one entity. If the Document already
|
||||||
|
includes a cover text for the same cover, previously added by you or
|
||||||
|
by arrangement made by the same entity you are acting on behalf of,
|
||||||
|
you may not add another; but you may replace the old one, on explicit
|
||||||
|
permission from the previous publisher that added the old one.
|
||||||
|
|
||||||
|
The author(s) and publisher(s) of the Document do not by this License
|
||||||
|
give permission to use their names for publicity for or to assert or
|
||||||
|
imply endorsement of any Modified Version.
|
||||||
|
|
||||||
|
## 5. COMBINING DOCUMENTS
|
||||||
|
|
||||||
|
You may combine the Document with other documents released under this
|
||||||
|
License, under the terms defined in section 4 above for modified
|
||||||
|
versions, provided that you include in the combination all of the
|
||||||
|
Invariant Sections of all of the original documents, unmodified, and
|
||||||
|
list them all as Invariant Sections of your combined work in its
|
||||||
|
license notice, and that you preserve all their Warranty Disclaimers.
|
||||||
|
|
||||||
|
The combined work need only contain one copy of this License, and
|
||||||
|
multiple identical Invariant Sections may be replaced with a single
|
||||||
|
copy. If there are multiple Invariant Sections with the same name but
|
||||||
|
different contents, make the title of each such section unique by
|
||||||
|
adding at the end of it, in parentheses, the name of the original
|
||||||
|
author or publisher of that section if known, or else a unique number.
|
||||||
|
Make the same adjustment to the section titles in the list of
|
||||||
|
Invariant Sections in the license notice of the combined work.
|
||||||
|
|
||||||
|
In the combination, you must combine any sections Entitled "History"
|
||||||
|
in the various original documents, forming one section Entitled
|
||||||
|
"History"; likewise combine any sections Entitled "Acknowledgements",
|
||||||
|
and any sections Entitled "Dedications". You must delete all sections
|
||||||
|
Entitled "Endorsements".
|
||||||
|
|
||||||
|
## 6. COLLECTIONS OF DOCUMENTS
|
||||||
|
|
||||||
|
You may make a collection consisting of the Document and other
|
||||||
|
documents released under this License, and replace the individual
|
||||||
|
copies of this License in the various documents with a single copy
|
||||||
|
that is included in the collection, provided that you follow the rules
|
||||||
|
of this License for verbatim copying of each of the documents in all
|
||||||
|
other respects.
|
||||||
|
|
||||||
|
You may extract a single document from such a collection, and
|
||||||
|
distribute it individually under this License, provided you insert a
|
||||||
|
copy of this License into the extracted document, and follow this
|
||||||
|
License in all other respects regarding verbatim copying of that
|
||||||
|
document.
|
||||||
|
|
||||||
|
## 7. AGGREGATION WITH INDEPENDENT WORKS
|
||||||
|
|
||||||
|
A compilation of the Document or its derivatives with other separate
|
||||||
|
and independent documents or works, in or on a volume of a storage or
|
||||||
|
distribution medium, is called an "aggregate" if the copyright
|
||||||
|
resulting from the compilation is not used to limit the legal rights
|
||||||
|
of the compilation's users beyond what the individual works permit.
|
||||||
|
When the Document is included in an aggregate, this License does not
|
||||||
|
apply to the other works in the aggregate which are not themselves
|
||||||
|
derivative works of the Document.
|
||||||
|
|
||||||
|
If the Cover Text requirement of section 3 is applicable to these
|
||||||
|
copies of the Document, then if the Document is less than one half of
|
||||||
|
the entire aggregate, the Document's Cover Texts may be placed on
|
||||||
|
covers that bracket the Document within the aggregate, or the
|
||||||
|
electronic equivalent of covers if the Document is in electronic form.
|
||||||
|
Otherwise they must appear on printed covers that bracket the whole
|
||||||
|
aggregate.
|
||||||
|
|
||||||
|
## 8. TRANSLATION
|
||||||
|
|
||||||
|
Translation is considered a kind of modification, so you may
|
||||||
|
distribute translations of the Document under the terms of section 4.
|
||||||
|
Replacing Invariant Sections with translations requires special
|
||||||
|
permission from their copyright holders, but you may include
|
||||||
|
translations of some or all Invariant Sections in addition to the
|
||||||
|
original versions of these Invariant Sections. You may include a
|
||||||
|
translation of this License, and all the license notices in the
|
||||||
|
Document, and any Warranty Disclaimers, provided that you also include
|
||||||
|
the original English version of this License and the original versions
|
||||||
|
of those notices and disclaimers. In case of a disagreement between
|
||||||
|
the translation and the original version of this License or a notice
|
||||||
|
or disclaimer, the original version will prevail.
|
||||||
|
|
||||||
|
If a section in the Document is Entitled "Acknowledgements",
|
||||||
|
"Dedications", or "History", the requirement (section 4) to Preserve
|
||||||
|
its Title (section 1) will typically require changing the actual
|
||||||
|
title.
|
||||||
|
|
||||||
|
## 9. TERMINATION
|
||||||
|
|
||||||
|
You may not copy, modify, sublicense, or distribute the Document
|
||||||
|
except as expressly provided under this License. Any attempt otherwise
|
||||||
|
to copy, modify, sublicense, or distribute it is void, and will
|
||||||
|
automatically terminate your rights under this License.
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your license
|
||||||
|
from a particular copyright holder is reinstated (a) provisionally,
|
||||||
|
unless and until the copyright holder explicitly and finally
|
||||||
|
terminates your license, and (b) permanently, if the copyright holder
|
||||||
|
fails to notify you of the violation by some reasonable means prior to
|
||||||
|
60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is
|
||||||
|
reinstated permanently if the copyright holder notifies you of the
|
||||||
|
violation by some reasonable means, this is the first time you have
|
||||||
|
received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after
|
||||||
|
your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under
|
||||||
|
this License. If your rights have been terminated and not permanently
|
||||||
|
reinstated, receipt of a copy of some or all of the same material does
|
||||||
|
not give you any rights to use it.
|
||||||
|
|
||||||
|
## 10. FUTURE REVISIONS OF THIS LICENSE
|
||||||
|
|
||||||
|
The Free Software Foundation may publish new, revised versions of the
|
||||||
|
GNU Free Documentation License from time to time. Such new versions
|
||||||
|
will be similar in spirit to the present version, but may differ in
|
||||||
|
detail to address new problems or concerns. See
|
||||||
|
<https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Each version of the License is given a distinguishing version number.
|
||||||
|
If the Document specifies that a particular numbered version of this
|
||||||
|
License "or any later version" applies to it, you have the option of
|
||||||
|
following the terms and conditions either of that specified version or
|
||||||
|
of any later version that has been published (not as a draft) by the
|
||||||
|
Free Software Foundation. If the Document does not specify a version
|
||||||
|
number of this License, you may choose any version ever published (not
|
||||||
|
as a draft) by the Free Software Foundation. If the Document specifies
|
||||||
|
that a proxy can decide which future versions of this License can be
|
||||||
|
used, that proxy's public statement of acceptance of a version
|
||||||
|
permanently authorizes you to choose that version for the Document.
|
||||||
|
|
||||||
|
## 11. RELICENSING
|
||||||
|
|
||||||
|
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
|
||||||
|
World Wide Web server that publishes copyrightable works and also
|
||||||
|
provides prominent facilities for anybody to edit those works. A
|
||||||
|
public wiki that anybody can edit is an example of such a server. A
|
||||||
|
"Massive Multiauthor Collaboration" (or "MMC") contained in the site
|
||||||
|
means any set of copyrightable works thus published on the MMC site.
|
||||||
|
|
||||||
|
"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
|
||||||
|
license published by Creative Commons Corporation, a not-for-profit
|
||||||
|
corporation with a principal place of business in San Francisco,
|
||||||
|
California, as well as future copyleft versions of that license
|
||||||
|
published by that same organization.
|
||||||
|
|
||||||
|
"Incorporate" means to publish or republish a Document, in whole or in
|
||||||
|
part, as part of another Document.
|
||||||
|
|
||||||
|
An MMC is "eligible for relicensing" if it is licensed under this
|
||||||
|
License, and if all works that were first published under this License
|
||||||
|
somewhere other than this MMC, and subsequently incorporated in whole
|
||||||
|
or in part into the MMC, (1) had no cover texts or invariant sections,
|
||||||
|
and (2) were thus incorporated prior to November 1, 2008.
|
||||||
|
|
||||||
|
The operator of an MMC Site may republish an MMC contained in the site
|
||||||
|
under CC-BY-SA on the same site at any time before August 1, 2009,
|
||||||
|
provided the MMC is eligible for relicensing.
|
||||||
|
|
||||||
|
## ADDENDUM: How to use this License for your documents
|
||||||
|
|
||||||
|
To use this License in a document you have written, include a copy of
|
||||||
|
the License in the document and put the following copyright and
|
||||||
|
license notices just after the title page:
|
||||||
|
|
||||||
|
Copyright (C) YEAR YOUR NAME.
|
||||||
|
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 section entitled "GNU
|
||||||
|
Free Documentation License".
|
||||||
|
|
||||||
|
If you have Invariant Sections, Front-Cover Texts and Back-Cover
|
||||||
|
Texts, replace the "with … Texts." line with this:
|
||||||
|
|
||||||
|
with the Invariant Sections being LIST THEIR TITLES, with the
|
||||||
|
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
|
||||||
|
|
||||||
|
If you have Invariant Sections without Cover Texts, or some other
|
||||||
|
combination of the three, merge those two alternatives to suit the
|
||||||
|
situation.
|
||||||
|
|
||||||
|
If your document contains nontrivial examples of program code, we
|
||||||
|
recommend releasing these examples in parallel under your choice of
|
||||||
|
free software license, such as the GNU General Public License, to
|
||||||
|
permit their use in free software.
|
|
@ -12,3 +12,7 @@ mkdir build
|
||||||
npm run build
|
npm run build
|
||||||
cp ./node_modules/yiki/yiki.css build/
|
cp ./node_modules/yiki/yiki.css build/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# License
|
||||||
|
This work is licensed under the
|
||||||
|
[GNU Free Documentation License 1.3](https://www.gnu.org/licenses/fdl-1.3.en.html).
|
||||||
|
|
|
@ -12,7 +12,7 @@ Replaced with [Address Book Service](../services/abservice)'s `ABGroupAdd` in [M
|
||||||
Where `group-name` is the name of the group you'd like to create.
|
Where `group-name` is the name of the group you'd like to create.
|
||||||
Has a limit of 61 bytes (URL encoded characters count as 3 bytes).
|
Has a limit of 61 bytes (URL encoded characters count as 3 bytes).
|
||||||
|
|
||||||
Where `0` is always `0.`. Removed in [MSNP10](../comnmands/msnp10.md).
|
Where `0` is always `0`. Removed in [MSNP10](../versions/msnp10.md).
|
||||||
|
|
||||||
# Server/Response
|
# Server/Response
|
||||||
`ADG TrID {list-version} group-name group-id {0}`
|
`ADG TrID {list-version} group-name group-id {0}`
|
||||||
|
@ -127,4 +127,4 @@ Server disconnects client.
|
||||||
* [MSNP10](../versions/msnp10.md): Removed unused `0` parameter,
|
* [MSNP10](../versions/msnp10.md): Removed unused `0` parameter,
|
||||||
Returns a GUID instead of a Group ID if `ABCHMigrated: 1`.
|
Returns a GUID instead of a Group ID if `ABCHMigrated: 1`.
|
||||||
* [MSNP13](../versions/msnp13.md): Removed (automatic disconnect),
|
* [MSNP13](../versions/msnp13.md): Removed (automatic disconnect),
|
||||||
use Address Book Service's `ABGroupAdd` instead.
|
use [Address Book Service](../services/abservice.md)'s `ABGroupAdd` instead.
|
||||||
|
|
|
@ -32,7 +32,7 @@ S: ANS 1 OK
|
||||||
```
|
```
|
||||||
|
|
||||||
## Invalid session
|
## Invalid session
|
||||||
*NOTE: There is no defined behavour for this command specificially."
|
*NOTE: There is no defined behaviour for this command specificially.*
|
||||||
```
|
```
|
||||||
C: ANS 2 example@hotmail.com bad data
|
C: ANS 2 example@hotmail.com bad data
|
||||||
```
|
```
|
||||||
|
|
|
@ -27,12 +27,20 @@ C: BLP 2 BL
|
||||||
S: BLP 2 257 BL
|
S: BLP 2 257 BL
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Already in that mode
|
||||||
|
```
|
||||||
|
C: BLP 3 AL
|
||||||
|
S: BLP 3 258 AL
|
||||||
|
C: BLP 4 AL
|
||||||
|
S: 218 4
|
||||||
|
```
|
||||||
|
|
||||||
## Invalid argument
|
## Invalid argument
|
||||||
*NOTE: This is an assumption. The actual error code here is unknown.
|
*NOTE: This is an assumption. The actual error code here is unknown.
|
||||||
It may also lead to an Instant Disconnection.*
|
It may also lead to an Instant Disconnection.*
|
||||||
```
|
```
|
||||||
C: BLP 3 CL
|
C: BLP 5 CL
|
||||||
S: 201
|
S: 201 5
|
||||||
```
|
```
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
|
|
|
@ -9,15 +9,15 @@ Changes your presence status, and sets your Client Capabilities and MSNObject in
|
||||||
`CHG TrID status {flags} {msnobj}`
|
`CHG TrID status {flags} {msnobj}`
|
||||||
|
|
||||||
Where `status` can be any of the below:
|
Where `status` can be any of the below:
|
||||||
* `NLN` - Online
|
* `NLN`: Online
|
||||||
* `BSY` - Busy
|
* `BSY`: Busy
|
||||||
* `IDL` - Idle
|
* `IDL`: Idle
|
||||||
* `BRB` - Be Right Back
|
* `BRB`: Be Right Back
|
||||||
* `AWY` - Away (previously Away From Keyboard)
|
* `AWY`: Away (previously Away From Keyboard)
|
||||||
* `PHN` - On The Phone
|
* `PHN`: On The Phone
|
||||||
* `LUN` - Out To Lunch
|
* `LUN`: Out To Lunch
|
||||||
* `HDN` - Appear Offline (previously Invisible)
|
* `HDN`: Appear Offline (previously Invisible)
|
||||||
* `FLN` - Semi-offline. More on this below.
|
* `FLN`: Semi-offline. More on this below.
|
||||||
|
|
||||||
In [MSNP8](../versions/msnp8.md) and higher, `flags`, an optional parameter may be used to
|
In [MSNP8](../versions/msnp8.md) and higher, `flags`, an optional parameter may be used to
|
||||||
specify your Client Capabilities.
|
specify your Client Capabilities.
|
||||||
|
@ -63,7 +63,7 @@ S: CHG 2 IDL 1
|
||||||
*This only works in [MSNP9](../versions/msnp9.md) and higher.*
|
*This only works in [MSNP9](../versions/msnp9.md) and higher.*
|
||||||
|
|
||||||
*NOTE: This has been line-breaked.
|
*NOTE: This has been line-breaked.
|
||||||
Lines beginning with `..` followed by a space are continuations of the previous line.
|
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
|
C: CHG 3 BSY 268435500 %3Cmsnobj%20Creator%3D%22example%40hotmail.com%22
|
||||||
.. %20Size%3D%2225235%22%20Type%3D%223%22
|
.. %20Size%3D%2225235%22%20Type%3D%223%22
|
||||||
|
@ -83,7 +83,7 @@ S: CHG 0 FLN
|
||||||
```
|
```
|
||||||
|
|
||||||
## Invalid argument
|
## Invalid argument
|
||||||
*NOTE: There is no defined behavour for this command specifically.*
|
*NOTE: There is no defined behaviour for this command specifically.*
|
||||||
```
|
```
|
||||||
C: CHG 4 HOT
|
C: CHG 4 HOT
|
||||||
```
|
```
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
|
|
||||||
It is a Notification Server command, without a request or response payload.
|
It is a Notification Server command, without a request or response payload.
|
||||||
|
|
||||||
A request to generate a challenge. Respond with QRY on a new transaction to continue your connection.
|
A request to generate or solve a challenge.
|
||||||
|
Respond correctly with [QRY](qry.md) on a new transaction to continue your connection.
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
`CHL TrID`
|
`CHL TrID`
|
||||||
|
@ -41,5 +42,4 @@ S: OUT
|
||||||
Server disconnects client.
|
Server disconnects client.
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* [MSNP11](../versions/msnp11.md): Challenge response (QRY commands)'s
|
* [MSNP11](../versions/msnp11.md): Changed challenge response ([QRY](qry.md) commands) generation algorithm drastically.
|
||||||
algorithm changed to be more formidable.
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ Where `fallback-url` is the URL the client opens if it failed to download `downl
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
*NOTE: This has been line-breaked.
|
*NOTE: This has been line-breaked.
|
||||||
Lines beginning with `..` are continuations of the previous line."
|
Lines beginning with `..` followed by a space are continuations of the previous line.*
|
||||||
|
|
||||||
## Old
|
## Old
|
||||||
*Only used in the [CVR0](../versions/cvr0.md) implementation of [MSNP2](../versions/msnp2.md) to [MSNP7](../versions/msnp2.md).*
|
*Only used in the [CVR0](../versions/cvr0.md) implementation of [MSNP2](../versions/msnp2.md) to [MSNP7](../versions/msnp2.md).*
|
||||||
|
|
|
@ -45,7 +45,7 @@ Where `fallback-url` is the URL the client opens if it failed to download `downl
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
*NOTE: This has been line-breaked.
|
*NOTE: This has been line-breaked.
|
||||||
Lines beginning with `..` are continuations of the previous line."
|
Lines beginning with `..` followed by a space are continuations of the previous line.*
|
||||||
|
|
||||||
## Post-login
|
## Post-login
|
||||||
*Only used in [MSNP2](../versions/msnp2.md) to [MSNP7](../versions/msnp2.md).*
|
*Only used in [MSNP2](../versions/msnp2.md) to [MSNP7](../versions/msnp2.md).*
|
||||||
|
|
|
@ -19,7 +19,7 @@ GCF TrID filename length
|
||||||
payload
|
payload
|
||||||
```
|
```
|
||||||
|
|
||||||
Where `length` is the length of `payload`.
|
Where `length` is the size (in bytes) of the `payload`.
|
||||||
|
|
||||||
Where `payload` is the data for this file.
|
Where `payload` is the data for this file.
|
||||||
|
|
||||||
|
|
|
@ -27,12 +27,20 @@ C: GTC 2 N
|
||||||
S: GTC 2 257 N
|
S: GTC 2 257 N
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Already in that mode
|
||||||
|
```
|
||||||
|
C: GTC 3 A
|
||||||
|
S: GTC 3 258 A
|
||||||
|
C: GTC 4 A
|
||||||
|
S: 218 4
|
||||||
|
```
|
||||||
|
|
||||||
## Invalid argument
|
## Invalid argument
|
||||||
*NOTE: This is an assumption. The actual error code here is unknown.
|
*NOTE: This is an assumption. The actual error code here is unknown.
|
||||||
It may also lead to an Instant Disconnection.*
|
It may also lead to an Instant Disconnection.*
|
||||||
```
|
```
|
||||||
C: GTC 3 B
|
C: GTC 5 B
|
||||||
S: 201
|
S: 201 5
|
||||||
```
|
```
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
|
|
|
@ -29,7 +29,7 @@ S: IMS 2 0 OFF
|
||||||
```
|
```
|
||||||
|
|
||||||
## Invalid argument
|
## Invalid argument
|
||||||
*NOTE: There is no defined behavour for this command specifically.*
|
*NOTE: There is no defined behaviour for this command specifically.*
|
||||||
```
|
```
|
||||||
C: IMS 3 TOMORROW
|
C: IMS 3 TOMORROW
|
||||||
```
|
```
|
||||||
|
|
|
@ -5,7 +5,8 @@ It is a Dispatch Server and Notification Server command, without either a reques
|
||||||
|
|
||||||
It specifies which authentication methods the client is allowed to use.
|
It specifies which authentication methods the client is allowed to use.
|
||||||
|
|
||||||
This command can only be sent once. Any further uses of this command in the same session is Undefined Behavour.
|
This command can only be sent once.
|
||||||
|
Any further uses of this command in the same session is Undefined Behaviour.
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
`INF TrID`
|
`INF TrID`
|
||||||
|
|
51
docs/commands/ipg.md
Normal file
51
docs/commands/ipg.md
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
# Introduction
|
||||||
|
`IPG` is a command introduced with [MSNP6](../versions/msnp6.md).
|
||||||
|
|
||||||
|
It is a Notification Server command, WITH a response payload.
|
||||||
|
|
||||||
|
Used to send incoming pages (mobile text messages) to the client.
|
||||||
|
For the command to send text messages to a mobile device, read [PAG](pag.md) or [PGD](pgd.md).
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
This command can not be sent from the client.
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
```
|
||||||
|
IPG length
|
||||||
|
payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `length` is the size (in bytes) of the `payload`.
|
||||||
|
|
||||||
|
Where `payload` is a [`<NOTIFICATION>` document](../files/notification.md).
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
## Incoming page
|
||||||
|
```
|
||||||
|
S: IPG 471
|
||||||
|
<NOTIFICATION id="0" siteid="111100400" siteurl="http://mobile.msn.com/">
|
||||||
|
<TO name="example@hotmail.com" pid="0x00000001:0x00000002" email="example@hotmail.com">
|
||||||
|
<VIA agent="mobile"/>
|
||||||
|
</TO>
|
||||||
|
<FROM pid="0x00000001:0x00000002" name="anotheruser@hotmail.com"/>
|
||||||
|
<MSG pri="1" id="0">
|
||||||
|
<ACTION url="2wayIM.asp"/>
|
||||||
|
<SUBSCR url="2wayIM.asp"/>
|
||||||
|
<CAT id="110110001"/>
|
||||||
|
<BODY lang="1033">
|
||||||
|
<TEXT>Hello! I am talking from a mobile device.</TEXT>
|
||||||
|
</BODY>
|
||||||
|
</MSG>
|
||||||
|
</NOTIFICATION>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Invalid context
|
||||||
|
```
|
||||||
|
C: IPG 1 0
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
None.
|
|
@ -124,4 +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.
|
* [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.
|
* [MSNP10](../versions/msnp10.md): Removed unused `0` parameter and support for the `~` quasi-group.
|
||||||
Changed group IDs to group GUIDs if `ABCHMigrated: 1`.
|
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.
|
* Hard-removed in November 2003, Removed outside of [SYN](syn.md), now just automatically disconnects.
|
||||||
|
|
|
@ -189,4 +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.
|
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.
|
* [MSNP12](../versions/msnp12.md): Added Network IDs to [SYN](syn.md) version.
|
||||||
* [MSNP13](../versions/msnp13.md): Removed [SYN](syn.md).
|
* [MSNP13](../versions/msnp13.md): Removed [SYN](syn.md).
|
||||||
* Hard-removed in November 2003, Removed outside of [SYN](commands/syn.md), now just automatically disconnects.
|
* Hard-removed in November 2003, Removed outside of [SYN](syn.md), now just automatically disconnects.
|
||||||
|
|
|
@ -9,7 +9,7 @@ Used to transfer MIME-headered data to other parties, whenever that be you or ot
|
||||||
*This command can only be sent in a Switchboard session.*
|
*This command can only be sent in a Switchboard session.*
|
||||||
```
|
```
|
||||||
MSG TrID [ U | N | A | D ] length
|
MSG TrID [ U | N | A | D ] length
|
||||||
data
|
payload
|
||||||
```
|
```
|
||||||
## Acknowledgement Types
|
## Acknowledgement Types
|
||||||
* U: Unacknowledged, no response is sent.
|
* U: Unacknowledged, no response is sent.
|
||||||
|
@ -19,15 +19,15 @@ data
|
||||||
|
|
||||||
Acknowledgement Type `D` is defined since [MSNP9](../versions/msnp9.md).
|
Acknowledgement Type `D` is defined since [MSNP9](../versions/msnp9.md).
|
||||||
|
|
||||||
Where `length` is the `length` in bytes of `data`.
|
Where `length` is the size (in bytes) of the `payload`.
|
||||||
|
|
||||||
Where `data` is the body of the message,
|
Where `payload` is the body of the message,
|
||||||
usually containing a `MIME-Version` header and a `Content-Type`.
|
usually containing a `MIME-Version` header and a `Content-Type`.
|
||||||
|
|
||||||
# Server/Response
|
# Server/Response
|
||||||
```
|
```
|
||||||
MSG user-handle friendly-name length
|
MSG user-handle friendly-name length
|
||||||
data
|
payload
|
||||||
```
|
```
|
||||||
|
|
||||||
Where `user-handle` is either the senders's handle,
|
Where `user-handle` is either the senders's handle,
|
||||||
|
@ -36,9 +36,9 @@ or `Hotmail`, if sent from the Notification Server itself.
|
||||||
Where `friendly-name` is either the URL-encoded Friendly Name of the sender,
|
Where `friendly-name` is either the URL-encoded Friendly Name of the sender,
|
||||||
or `Hotmail`, if sent from the Notification Server itself.
|
or `Hotmail`, if sent from the Notification Server itself.
|
||||||
|
|
||||||
Where `length` is the `length` in bytes of `data`.
|
Where `length` is the size (in bytes) of the `payload`.
|
||||||
|
|
||||||
Where `data` is the body of the message,
|
Where `payload` is the body of the message,
|
||||||
usually containing a `MIME-Version` header and a `Content-Type`.
|
usually containing a `MIME-Version` header and a `Content-Type`.
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
|
|
128
docs/commands/not.md
Normal file
128
docs/commands/not.md
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
# Introduction
|
||||||
|
`NOT` is a command introduced with [MSNP5](../versions/msnp5.md).
|
||||||
|
|
||||||
|
It is a Notification Server command, WITH a response payload.
|
||||||
|
|
||||||
|
Used to send notifications ("alerts") to the client.
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
This command can not be sent from the client.
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
```
|
||||||
|
NOT length
|
||||||
|
payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `length` is the size (in bytes) of the `payload`.
|
||||||
|
|
||||||
|
Where `payload` is a [`<NOTIFICATION>` document](../files/notification.md).
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
## Basic notification
|
||||||
|
```
|
||||||
|
S: NOT 367
|
||||||
|
<NOTIFICATION ver="1" id="2" siteid="0" siteurl="http://example.com/">
|
||||||
|
<TO pid="0x00000001:0x00000002" name="example@hotmail.com" />
|
||||||
|
<MSG id="0">
|
||||||
|
<ACTION url="alert?command=action" />
|
||||||
|
<SUBSCR url="alert?command=change" />
|
||||||
|
<BODY lang="1033" icon="alerticon_32x32.png">
|
||||||
|
<TEXT>This is an example notification.</TEXT>
|
||||||
|
</BODY>
|
||||||
|
</MSG>
|
||||||
|
</NOTIFICATION>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Advanced notification
|
||||||
|
*Since [MSNP9](../versions/msnp9.md).*
|
||||||
|
```
|
||||||
|
S: NOT 457
|
||||||
|
<NOTIFICATION ver="1" id="2" siteid="0" siteurl="http://example.com/">
|
||||||
|
<TO pid="0x00000001:0x00000002" name="example@hotmail.com" />
|
||||||
|
<MSG id="0">
|
||||||
|
<ACTION url="alert?command=action" />
|
||||||
|
<SUBSCR url="alert?command=change" />
|
||||||
|
<BODY lang="1033" icon="alerticon_32x32.png">
|
||||||
|
<TEXT>This is an example notification.</TEXT>
|
||||||
|
<TEXTX><P>This is an <B>extended</B> notification!</P></TEXTX>
|
||||||
|
</BODY>
|
||||||
|
</MSG>
|
||||||
|
</NOTIFICATION>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Blog update notification
|
||||||
|
*Since [MSNP11](../versions/msnp11.md).*
|
||||||
|
```
|
||||||
|
S: NOT 1249
|
||||||
|
<NOTIFICATION id="2" siteid="45705" siteurl="http://storage.msn.com/">
|
||||||
|
<TO pid="0x00000001:0x00000002" name="example@hotmail.com">
|
||||||
|
<VIA agent="messenger"/>
|
||||||
|
</TO>
|
||||||
|
<MSG id="0">
|
||||||
|
<ACTION url="a.htm" />
|
||||||
|
<SUBSCR url="s.htm" />
|
||||||
|
<BODY>
|
||||||
|
<NotificationData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<SpaceHandle>
|
||||||
|
<ResourceID>example1!101</ResourceID>
|
||||||
|
</SpaceHandle>
|
||||||
|
<ComponentHandle>
|
||||||
|
<ResourceID>example2!101</ResourceID>
|
||||||
|
</ComponentHandle>
|
||||||
|
<OwnerCID>4294967298</OwnerCID>
|
||||||
|
<LastModifiedDate>2024-10-26T09:33:27.1020000-08:00</LastModifiedDate>
|
||||||
|
<HasNewItem>true<HasNewItem>
|
||||||
|
<ComponentSummary>
|
||||||
|
<Component xsi:type="MessageContainer">
|
||||||
|
<ResourceID>example2!102</ResourceID>
|
||||||
|
</Component>
|
||||||
|
<Items>
|
||||||
|
<Component xsi:type="Message">
|
||||||
|
<ResourceID>example2!101</ResourceID>
|
||||||
|
</Component>
|
||||||
|
</Items>
|
||||||
|
</ComponentSummary>
|
||||||
|
</NotificationData>
|
||||||
|
</BODY>
|
||||||
|
</MSG>
|
||||||
|
</NOTIFICATION>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contact update notification
|
||||||
|
*Since [MSNP13](../versions/msnp13.md).*
|
||||||
|
```
|
||||||
|
S: NOT 685
|
||||||
|
<NOTIFICATION id="2" siteid="45705" siteurl="http://contacts.msn.com/">
|
||||||
|
<TO pid="0x00000001:0x00000002" name="example@hotmail.com">
|
||||||
|
<VIA agent="messenger"/>
|
||||||
|
</TO>
|
||||||
|
<MSG id="0">
|
||||||
|
<ACTION url="a.htm" />
|
||||||
|
<SUBSCR url="s.htm" />
|
||||||
|
<BODY>
|
||||||
|
<NotificationData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<Service>ABCHInternal</Service>
|
||||||
|
<CID>4294967298</CID>
|
||||||
|
<LastModifiedDate>2024-10-26T09:33:27.1020000-08:00</LastModifiedDate>
|
||||||
|
<HasNewItem>false</HasNewItem>
|
||||||
|
</NotificationData>
|
||||||
|
</BODY>
|
||||||
|
</MSG>
|
||||||
|
</NOTIFICATION>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Invalid context
|
||||||
|
*Inherited from being an unimplemented command.
|
||||||
|
```
|
||||||
|
C: NOT 1 0
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
* [MSNP11](../versions/msnp11.md): Using an `<NotificationData>` sub-document embedded into a `<NOTIFICATION>` document is supported.
|
||||||
|
Using the new sub-document, live blog updates are now sent.
|
||||||
|
* [MSNP13](../versions/msnp13.md): Used for [Address Book Service](../services/abservice.md) live updates using the `<NotificationData>` sub-document.
|
||||||
|
* [MSNP18](../versions/msnp18.md): Used for live persistant chat group ("circle") updates using the `<NotificationData>` sub-document.
|
|
@ -5,6 +5,7 @@ It is a Notification Server command, with a request payload.
|
||||||
|
|
||||||
It sends a text message to a mobile device or pager.
|
It sends a text message to a mobile device or pager.
|
||||||
For the version of this command that supports Web Watches, read [PGD](pgd.md).
|
For the version of this command that supports Web Watches, read [PGD](pgd.md).
|
||||||
|
For the command that is sent when you receive a page, read [IPG](ipg.md).
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
```
|
```
|
||||||
|
@ -14,7 +15,7 @@ payload
|
||||||
|
|
||||||
Where `user-handle` is the target user for this page.
|
Where `user-handle` is the target user for this page.
|
||||||
|
|
||||||
Where `length` is the length of `payload`.
|
Where `length` is the size (in bytes) of the `payload`.
|
||||||
|
|
||||||
Where `payload` is a XML-like payload that encodes the following characters:
|
Where `payload` is a XML-like payload that encodes the following characters:
|
||||||
* `&` turns into `&`
|
* `&` turns into `&`
|
||||||
|
|
|
@ -5,6 +5,7 @@ It is a Notification Server command, with a request payload.
|
||||||
|
|
||||||
It sends a text message to a mobile device/pager or Web Watch.
|
It sends a text message to a mobile device/pager or Web Watch.
|
||||||
For the version of this command that doesn't support Web watches, read [PAG](pag.md).
|
For the version of this command that doesn't support Web watches, read [PAG](pag.md).
|
||||||
|
For the command that is sent when you receive a page, read [IPG](ipg.md).
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
```
|
```
|
||||||
|
@ -18,7 +19,7 @@ Where `device-type` is a number:
|
||||||
* 1: Mobile Device
|
* 1: Mobile Device
|
||||||
* 2: Web Watch
|
* 2: Web Watch
|
||||||
|
|
||||||
Where `length` is the length of `payload`.
|
Where `length` is the size (in bytes) of the `payload`.
|
||||||
|
|
||||||
Where `payload` is a XML-like payload that encodes the following characters:
|
Where `payload` is a XML-like payload that encodes the following characters:
|
||||||
* `&` turns into `&`
|
* `&` turns into `&`
|
||||||
|
|
|
@ -36,7 +36,7 @@ S: PRP 1 256 PHH 1%20(222)%203333
|
||||||
```
|
```
|
||||||
|
|
||||||
## Unknown property
|
## Unknown property
|
||||||
*NOTE: There is no defined behavour for this command specifically.*
|
*NOTE: There is no defined behaviour for this command specifically.*
|
||||||
```
|
```
|
||||||
C: PRP 2 NEW very%20yes
|
C: PRP 2 NEW very%20yes
|
||||||
```
|
```
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
It is a Notification Server command, without either a request or response payload.
|
It is a Notification Server command, without either a request or response payload.
|
||||||
|
|
||||||
It is a response to the [PNG](../commands/png.md) command.
|
It is the response to the [PNG](png.md) command.
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
This command can not be sent from the client.
|
This command can not be sent from the client.
|
||||||
|
@ -11,7 +11,7 @@ This command can not be sent from the client.
|
||||||
# Server/Response
|
# Server/Response
|
||||||
`QNG {next-seconds}`
|
`QNG {next-seconds}`
|
||||||
|
|
||||||
Where `next-seconds` is the amount of seconds until the client should send another [PNG](../commands/png.md). Added since [MSNP9](../versions/msnp9.md).
|
Where `next-seconds` is the amount of seconds until the client should send another [PNG](png.md). Added since [MSNP9](../versions/msnp9.md).
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
|
|
||||||
|
|
66
docs/commands/qry.md
Normal file
66
docs/commands/qry.md
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
# Introduction
|
||||||
|
`QRY` is a command introduced with [MSNP6](../versions/msnp6.md).
|
||||||
|
|
||||||
|
It is a Notification Server command, WITH a request payload but without a response payload.
|
||||||
|
|
||||||
|
Responds to a challenge request ([CHL](chl.md) command).
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
```
|
||||||
|
QRY TrID public-key length
|
||||||
|
payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `public-key` is your client's Public Key.
|
||||||
|
|
||||||
|
Where `length` is the size (in bytes) of the `payload`.
|
||||||
|
|
||||||
|
Where `payload` is the challenge response.
|
||||||
|
|
||||||
|
## Challenge responses
|
||||||
|
Calculating the challenge response depends on the version of the protocol you are using.
|
||||||
|
|
||||||
|
### Basic responses
|
||||||
|
*Only in [MSNP6](../versions/msnp10.md) to [MSNP10](../versions/msnp10.md).*
|
||||||
|
|
||||||
|
Simply MD5 hash the challenge and your client's Private Key concatenated together as a string.
|
||||||
|
|
||||||
|
The output should be 32 bytes and lowercase hexadecimal.
|
||||||
|
|
||||||
|
### Advanced responses
|
||||||
|
*Since [MSNP11](../versions/msnp11.md).*
|
||||||
|
|
||||||
|
Since this is more advanced of an algorithm,
|
||||||
|
it will be avaliable as annotated source code in the Miscellaneous Files sectiom.
|
||||||
|
|
||||||
|
TODO: Write said annotated source code.
|
||||||
|
|
||||||
|
The output should be 32 bytes and lowercase hexadecimal.
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
`QRY TrID`
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
## Successful response
|
||||||
|
```
|
||||||
|
S: CHL 12345678901234567890
|
||||||
|
C: QRY 1 msmsgs@msnmsgr.com 32
|
||||||
|
8ba1bb9d6dbf624fee31a2053af5fdd0
|
||||||
|
S: QRY 1
|
||||||
|
```
|
||||||
|
|
||||||
|
## Failed challenge
|
||||||
|
*NOTE: This happens as-is in [MSNP11](../versions/msnp11.md),
|
||||||
|
since it isn't using the new method.*
|
||||||
|
```
|
||||||
|
S: CHL 12345678901234567890
|
||||||
|
C: QRY 2 msmsgs@msnmsgr.com 32
|
||||||
|
8ba1bb9d6dbf624fee31a2053af5fdd0
|
||||||
|
S: 540 2
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
* [MSNP11](../versions/msnp11.md): Changed challenge response generation algorithm drastically.
|
132
docs/commands/reg.md
Normal file
132
docs/commands/reg.md
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
# Introduction
|
||||||
|
`REG` is a command introduced with [MSNP7](../versions/msnp7.md)
|
||||||
|
|
||||||
|
It is a Notification Server command, without a request or response payload.
|
||||||
|
|
||||||
|
Renames an existing group. Replaced with [Address Book Service](../services/abservice.md)'s `ABGroupUpdate` in [MSNP13](../versions/msnp13.md).
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
`REG TrID group-id new-group-name {0}`
|
||||||
|
|
||||||
|
Where `group-id` is the group's identification number.
|
||||||
|
With `ABCHMigrated: 1`, this is instead the group's GUID.
|
||||||
|
|
||||||
|
Where `new-group-name` is the name you want to rename `group-id` to.
|
||||||
|
Has a limit of 127 bytes (URL-encoded characters count as 3 bytes).
|
||||||
|
|
||||||
|
Where `0` is always `0`. Removed in [MSNP10](../versions/msnp10.md).
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
`REG TrID {list-version} group-id group-name {0}`
|
||||||
|
|
||||||
|
Where `list-version` is the new List Version. Removed in [MSNP10](../versions/msnp10.md)
|
||||||
|
|
||||||
|
Where` group-name` is the updated name of the group.
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
## With list versions
|
||||||
|
*Only in [MSNP7](../versions/msnp7.md) to [MSNP9](../versions/msnp9.md).*
|
||||||
|
|
||||||
|
### Normal use
|
||||||
|
```
|
||||||
|
C: REG 1 0 example%20group%20rename 0
|
||||||
|
S: REG 1 256 0 example%20group%20rename 0
|
||||||
|
```
|
||||||
|
|
||||||
|
### Cannot rename group that doesn't exist yet
|
||||||
|
```
|
||||||
|
C: REG 2 2 non-existant%20group 0
|
||||||
|
S: 224 2
|
||||||
|
```
|
||||||
|
|
||||||
|
### Cannot rename out-of-bounds groups
|
||||||
|
```
|
||||||
|
C: REG 3 30 example%20out%20of%20bounds%20group 0
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client
|
||||||
|
|
||||||
|
### Group name extremely long
|
||||||
|
*NOTE: This has been line-breaked.
|
||||||
|
Lines beginnging with `..` followed by a space are continuations of the previous line.*
|
||||||
|
```
|
||||||
|
C: REG 4 0 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
.. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
.. AAAAAAAAA 0
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
## Without list versions
|
||||||
|
|
||||||
|
### With group IDs
|
||||||
|
*Only in [MSNP10](../versions/msnp10.md) with `ABCHMigrated: 0`.*
|
||||||
|
|
||||||
|
#### Normal use
|
||||||
|
```
|
||||||
|
C: REG 5 0 another%20example%20group%20rename
|
||||||
|
S: REG 5 0 another%20example%20group%20rename
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Cannot rename group that doesn't exist yet
|
||||||
|
```
|
||||||
|
C: REG 6 2 still%20a%20non-existant%20group
|
||||||
|
S: 224 6
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Cannot rename out-of-bounds groups
|
||||||
|
```
|
||||||
|
C: REG 7 30 still%20out%20of%20bounds
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
### Group name extremely long
|
||||||
|
*NOTE: This has been line-breaked.
|
||||||
|
Lines beginnging with `..` followed by a space are continuations of the previous line.*
|
||||||
|
```
|
||||||
|
C: REG 8 0 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
.. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
.. AAAAAAAAA
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
### With group GUIDs
|
||||||
|
*Since [MSNP10](../versions/msnp10.md) with `ABCHMigrated: 1`.*
|
||||||
|
|
||||||
|
#### Normal use
|
||||||
|
```
|
||||||
|
C: REG 9 d6deeacd-7849-4de4-93c5-d130915d0042 yet%20another%20example%20group%20rename
|
||||||
|
C: REG 9 d6deeacd-7849-4de4-93c5-d130915d0042 yet%20another%20example%20group%20rename
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Cannot rename group that doesn't exist yet
|
||||||
|
```
|
||||||
|
C: REG 10 11111111-2222-3333-4444-555555555555 still%20a%20non-existant%20group
|
||||||
|
S: 224 10
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Cannot use an invalid GUID
|
||||||
|
```
|
||||||
|
C: REG 11 THIS0IS0-NOT0-A0VA-LID0-GUID0AT0ALL! very%20invalid%20GUID%20there
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
### Group name extremely long
|
||||||
|
*NOTE: This has been line-breaked.
|
||||||
|
Lines beginnging with `..` followed by a space are continuations of the previous line.*
|
||||||
|
```
|
||||||
|
C: REG 12 d6deeacd-7849-4de4-93c5-d130915d0042 AAAAAAAAAAAAAAAAAAAA
|
||||||
|
.. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
.. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
* [MSNP10](../versions/msnp10.md): Removed unused `0` parameter, removed List Versions,
|
||||||
|
and with `ABCHMigrated: 1`, changed group IDs to GUIDs.
|
||||||
|
* [MSNP13](../versions/msnp13.md): Removed (automatic disconnect), use [Address Book Service](../services/abservice.md)'s `ABGroupUpdate` instead.
|
115
docs/commands/rmg.md
Normal file
115
docs/commands/rmg.md
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
# Introduction
|
||||||
|
`RMG` is a command introduced with [MSNP7](../versions/msnp7.md).
|
||||||
|
|
||||||
|
It is a Notification Server command, without either a request or response payload.
|
||||||
|
|
||||||
|
Removes all users from a group and the group itself.
|
||||||
|
Replaced with [Address Book Service](../services/abservice.md)'s `ABGroupDelete` in [MSNP13](../versions/msnp13.md).
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
`RMG TrID group-id`
|
||||||
|
|
||||||
|
Where `group-id` is the identification number of the group you would like to remove.
|
||||||
|
With `ABCHMigrated: 1`, this parameter is instead the GUID of the group you'd like to remove.
|
||||||
|
You cannot remove the "Other Contacts" group (group ID `0`).
|
||||||
|
|
||||||
|
*NOTE: If users are exclusively in the group you remove,
|
||||||
|
THEY WILL BE ALSO REMOVED FROM THE FORWARD LIST (FL).*
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
`RMG TrID {list-version} group-id`
|
||||||
|
|
||||||
|
Where `list-version` is the new List Version. Removed in [MSNP10](../versions/msnp10.md).
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
## With List Versions
|
||||||
|
*Only in [MSNP7](../versions/msnp7.md) to [MSNP9](../versions/msnp9.md).*
|
||||||
|
|
||||||
|
## Without List Versions
|
||||||
|
|
||||||
|
### Normal use
|
||||||
|
```
|
||||||
|
C: RMG 1 1
|
||||||
|
S: RMG 1 256 1
|
||||||
|
```
|
||||||
|
|
||||||
|
### Group doesn't exist yet
|
||||||
|
```
|
||||||
|
C: RMG 2 2
|
||||||
|
S: 224 2
|
||||||
|
```
|
||||||
|
|
||||||
|
### Can not remove the initial group
|
||||||
|
```
|
||||||
|
C: RMG 3 0
|
||||||
|
S: 230 3
|
||||||
|
```
|
||||||
|
|
||||||
|
### Can not remove out-of-bounds groups
|
||||||
|
```
|
||||||
|
C: RMG 4 30
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
### With group IDs
|
||||||
|
*Only in [MSNP10](../versions/msnp10.md) with `ABCHMigrated: 0`.*
|
||||||
|
|
||||||
|
#### Normal use
|
||||||
|
```
|
||||||
|
C: RMG 5 1
|
||||||
|
S: RMG 5 1
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Group doesn't exist yet
|
||||||
|
```
|
||||||
|
C: RMG 6 2
|
||||||
|
S: 224 6
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Can not remove the initial group
|
||||||
|
```
|
||||||
|
C: RMG 7 0
|
||||||
|
S: 230 7
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Can not remove out-of-bounds groups
|
||||||
|
```
|
||||||
|
C: RMG 8 30
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
### With group GUIDs
|
||||||
|
*Since [MSNP10](../versions/msnp10.md) with `ABCHMigrated: 1`.*
|
||||||
|
|
||||||
|
#### Normal use
|
||||||
|
```
|
||||||
|
C: RMG 9 f60efbe7-94af-4b16-b926-e4e10878d329
|
||||||
|
S: RMG 9 f60efbe7-94af-4b16-b926-e4e10878d329
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Group doesn't exist yet
|
||||||
|
```
|
||||||
|
C: RMG 10 11111111-2222-3333-4444-555555555555
|
||||||
|
S: 224 10
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Can not remove the initial group
|
||||||
|
```
|
||||||
|
C: RMG 11 d6deeacd-7849-4de4-93c5-d130915d0042
|
||||||
|
S: 230 11
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Can not remove out-of-bounds groups
|
||||||
|
```
|
||||||
|
C: RMG 8 THIS0IS0-NOT0-A0VA-LID0-GUID0AT0ALL!
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
* [MSNP10](../versions/msnp10.md): Removed the List Version parameter, and with `ABCHMigrated: 1`
|
||||||
|
* [MSNP13](../versions/msnp13.md): Removed (automatic disconnect),
|
||||||
|
use [Address Book Services](../services/abservice.md)'s `ABGroupDelete` instead.
|
|
@ -9,7 +9,7 @@ For the version of this command that does not support friendly names, read [SND]
|
||||||
# Client/Request
|
# Client/Request
|
||||||
```
|
```
|
||||||
SDC TrID target-address translation-lcid requesting-library client-identification X X my-friendly-name length
|
SDC TrID target-address translation-lcid requesting-library client-identification X X my-friendly-name length
|
||||||
{payload}
|
payload
|
||||||
````
|
````
|
||||||
|
|
||||||
Where `target-address` is the E-mail address or index from the last [FND](fnd.md) response you'd like to invite to the service.
|
Where `target-address` is the E-mail address or index from the last [FND](fnd.md) response you'd like to invite to the service.
|
||||||
|
@ -26,11 +26,11 @@ Where `my-friendly-name` is your current friendly name.
|
||||||
Invalid escaped characters are forcefully re-encoded to`%3DXX`,
|
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.
|
Where `length` is the size (in bytes) of the `payload`.
|
||||||
Set to `0` if you don't want to add anything else to your invitation.
|
Set to `0` if you don't want to add anything else to your invitation.
|
||||||
|
|
||||||
Where `payload` is plain-text data that is included in the invitation.
|
Where `payload` is plain-text data that is included in the invitation.
|
||||||
If this is `0`, this parameter is empty.
|
If the `length` is `0`, the `payload` is not to be set.
|
||||||
|
|
||||||
# Server/Response
|
# Server/Response
|
||||||
`SDC TrID OK`
|
`SDC TrID OK`
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
# Introduction
|
# Introduction
|
||||||
`SYN` is a command introduced with [MSNP2](../versions/msnp2.md)
|
`SYN` is a command introduced with [MSNP2](../versions/msnp2.md)
|
||||||
|
|
||||||
|
It is a Notification Server command, without a request or response payload.
|
||||||
|
|
||||||
|
Synchronizes user options and every contact list.
|
||||||
|
|
||||||
|
This command can only be sent once.
|
||||||
|
Any further uses of this command in the same session is Undefined Behaviour.
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
`SYN TrID list-version {settings-version}`
|
`SYN TrID list-version {settings-version}`
|
||||||
|
|
||||||
|
@ -121,6 +128,10 @@ S: LST 3 RL 255 1 1 anotheruser@hotmail.com another%20user
|
||||||
*This only happens if the only group is `~`,
|
*This only happens if the only group is `~`,
|
||||||
and you set the client to sort by groups.*
|
and you set the client to sort by groups.*
|
||||||
|
|
||||||
|
Used commands:
|
||||||
|
* [REG](reg.md)
|
||||||
|
* [ADG](adg.md)
|
||||||
|
|
||||||
```
|
```
|
||||||
S: LSG 3 255 1 1 0 ~ 0
|
S: LSG 3 255 1 1 0 ~ 0
|
||||||
```
|
```
|
||||||
|
@ -163,6 +174,10 @@ S: BPR PHH 1%20(222)%20333%204444
|
||||||
*This only happens if the only group is `~`,
|
*This only happens if the only group is `~`,
|
||||||
and you set the client to sort by groups.*
|
and you set the client to sort by groups.*
|
||||||
|
|
||||||
|
Used commands:
|
||||||
|
* [REG](reg.md)
|
||||||
|
* [ADG](adg.md)
|
||||||
|
|
||||||
```
|
```
|
||||||
S: LSG 0 ~ 0
|
S: LSG 0 ~ 0
|
||||||
```
|
```
|
||||||
|
|
|
@ -6,7 +6,8 @@ The command exists in all services, without a request or response payload.
|
||||||
Specifies a user that wants to authenticate to the service.
|
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).
|
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.
|
This command can only be sent once.
|
||||||
|
Any further uses of this command in the same session is Undefined Behaviour.
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,8 @@ It is a Dispatch Server and Notification Server command, without either a reques
|
||||||
|
|
||||||
It specifies which protocols the client can accept, and which one the server likes the best.
|
It specifies which protocols the client can accept, and which one the server likes the best.
|
||||||
|
|
||||||
This command can only be sent once. Any further uses of this command in the same session is Undefined Behavour.
|
This command can only be sent once.
|
||||||
|
Any further uses of this command in the same session is Undefined Behaviour.
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
`VER TrID dialect-name {dialect-name ...}`
|
`VER TrID dialect-name {dialect-name ...}`
|
||||||
|
|
207
docs/files/notification.md
Normal file
207
docs/files/notification.md
Normal file
|
@ -0,0 +1,207 @@
|
||||||
|
# Introduction
|
||||||
|
`<NOTIFICATION>` documents are the basis behind the [NOT](../commands/not.md) and [IPG](../commands/ipg.md) commands.
|
||||||
|
Being such, it was introduced with [MSNP5](../versions/msnp5.md).
|
||||||
|
|
||||||
|
This article only describes the `<NOTIFICATION>` command from .NET Alerts 5.0 and below,
|
||||||
|
and not the `<Notify>` element used in .NET Alerts 6.0 and above.
|
||||||
|
|
||||||
|
# NOTIFICATION
|
||||||
|
This is the root element of the document, and supports four attributes:
|
||||||
|
* `ver`: This is always `1`. Seems optional, or was removed later.
|
||||||
|
* `id`: A 32-bit unsigned integer that is set by the sending party.
|
||||||
|
* `siteid`: The .NET Alerts Site ID, not to be confused with the .NET Passport Site ID.
|
||||||
|
Setting this to some values changes the default icon:
|
||||||
|
* `0`: Use stocks (stack of coins or line-chart) icon
|
||||||
|
* `1`: Use calendar (clock) icon
|
||||||
|
* Other values: Use default bell icon or custom icon
|
||||||
|
* `siteurl`: The base URL to the service used in later relative URL attributes.
|
||||||
|
|
||||||
|
## TO
|
||||||
|
This element supports two attributes:
|
||||||
|
* `pid`: The recipient's Passport Unique ID.
|
||||||
|
The format for the PUID is `0xHHHHHHHH:0xLLLLLLLL`,
|
||||||
|
where `H` is the hexadecimal representation of the profile's `MemberIdHigh` variable,
|
||||||
|
and where `L` is the hexadecimal representation of the profile's `MemberIdLow` variable.
|
||||||
|
* `name`: The recipient's display name or user handle. Optional.
|
||||||
|
|
||||||
|
If this element (`<TO>`) does not have a (`<VIA>`) element, it is to be empty.
|
||||||
|
|
||||||
|
### VIA
|
||||||
|
*NOTE: This element seems to only exist as backwards compatibility from .NET Alerts 6.0.*
|
||||||
|
|
||||||
|
This empty element only supports one attribute:
|
||||||
|
* `agent`: What this alert is intended to be viewed by:
|
||||||
|
* `email`: A e-mail message.
|
||||||
|
* `messenger`: A "toast" generated by the Official Client.
|
||||||
|
* `mobile`: A mobile device.
|
||||||
|
|
||||||
|
## FROM
|
||||||
|
*NOTE: This element should NOT be added to any `<NOTIFICATION>` documents.*
|
||||||
|
|
||||||
|
This optional empty element supports two attributes:
|
||||||
|
* `pid`: The sender's Passport Unique ID. Follows the same format as [`<TO>`](#to)'s `pid` parameter.
|
||||||
|
* `from`: The sender's display name or user handle. Optional.
|
||||||
|
|
||||||
|
## MSG
|
||||||
|
This is the primary element of the document, and supports two attributes:
|
||||||
|
* `pri`: This is always empty, and should NOT be set. May be set to `1` for incoming pages. Optional.
|
||||||
|
* `id`: The notification's numeric ID, defaulting to '0', and should NOT be changed.
|
||||||
|
|
||||||
|
### ACTION
|
||||||
|
This element supports only one attribute:
|
||||||
|
* `url`: The main URL that is used when this notification is activated, relative to `siteurl`.
|
||||||
|
|
||||||
|
When opened by a client, the following are added to the URL as query parameters:
|
||||||
|
* `to_pid`: The `pid` attribute from [`<TO>`](#to) element.
|
||||||
|
* `notification_id`: The `id` attribute from [`<NOTIFICATION>`](#notification) element.
|
||||||
|
* `message_id`: The `id` attribute from [`<MSG>`](#msg) element.
|
||||||
|
* `agent`: The client that activated this notification. The Official Client sets this to `messenger`. Optional.
|
||||||
|
|
||||||
|
### SUBSCR
|
||||||
|
This element supports only one attribute:
|
||||||
|
* `url`: The configuration URL that is used when the notification's `change` option is activated, relative to `siteurl`.
|
||||||
|
|
||||||
|
When opened by a client, the following are added to the URL as query parameters:
|
||||||
|
* `to_pid`: The `pid` attribute from [`<TO>`](#to) element.
|
||||||
|
* `notification_id`: The `id` attribute from [`<NOTIFICATION>`](#notification) element.
|
||||||
|
* `message_id`: The `id` attribute from [`<MSG>`](#msg) element.
|
||||||
|
* `agent`: The client that activated this notification. The Official Client sets this to `messenger`. Optional.
|
||||||
|
|
||||||
|
### CAT
|
||||||
|
*NOTE: This element is obsolete and
|
||||||
|
should NOT be added to any `<NOTIFICATION>` documents.*
|
||||||
|
|
||||||
|
This optional empty element only supports one attribute:
|
||||||
|
* `id`: The category ID of this notification.
|
||||||
|
|
||||||
|
### BODY
|
||||||
|
This is the main body of the document, and supports two attributes:
|
||||||
|
|
||||||
|
* `lang`: The decimal LCID that this notification document is meant to display in. Optional, but should be set.
|
||||||
|
* `icon`: The custom 32x32 PNG icon URL, relative to `siteurl`. Optional.
|
||||||
|
Note: Newer versions of the client support 48x32 icons and will use them automatically
|
||||||
|
if your icon URL has `_32x32` in it, the client can replace it with `_48x32`.
|
||||||
|
If you do not have a 48x32 icon, it will fall-back to the original 32x32 one.
|
||||||
|
|
||||||
|
The default element that this parents is `<TEXT>`. It may also contain other types of data.
|
||||||
|
One such data type is the [`<NotificationData>`](#notificationdata) sub-document.
|
||||||
|
|
||||||
|
This element (including the `<BODY>` and `</BODY>`) are restricted in size to 1024 bytes.
|
||||||
|
|
||||||
|
#### NAME
|
||||||
|
*NOTE: This element should NOT be added to any `<NOTIFICATION>` documents.*
|
||||||
|
|
||||||
|
This optional element contains the friendly name of the recipient.
|
||||||
|
|
||||||
|
#### TEXT
|
||||||
|
This optional element contains the text data of the notification.
|
||||||
|
|
||||||
|
#### TEXTX
|
||||||
|
This optional element contains the extended text data of the notification,
|
||||||
|
supported by [MSNP9](../versions/msnp9.md) and higher.
|
||||||
|
|
||||||
|
The [`<TEXT>`](#text) element is required for this to be parsed by the Official Client.
|
||||||
|
|
||||||
|
The inner docment of this is required to be XML encoded.
|
||||||
|
|
||||||
|
##### P
|
||||||
|
A paragraph, required for [`<TEXTX>`](#textx) elements to parse correctly.
|
||||||
|
|
||||||
|
This element supports one attribute:
|
||||||
|
* `align`: The extended notification's text alignment:
|
||||||
|
* `left`
|
||||||
|
* `center`
|
||||||
|
* `right`
|
||||||
|
|
||||||
|
This element may contain any of the following elements:
|
||||||
|
* `P`: Nested paragraph, also supporting the `align` element.
|
||||||
|
* `B`: Bold text.
|
||||||
|
* `I`: Italic text.
|
||||||
|
* `BR`: This empty element denotes a line-break.
|
||||||
|
|
||||||
|
# NotificationData
|
||||||
|
This element may instead be contained in the [`<BODY>`](#body) element entirely,
|
||||||
|
replacing all of it's children.
|
||||||
|
This sub-document is XML encoded if set as the inner data of the [`<BODY>`](#body) element.
|
||||||
|
|
||||||
|
This element supports two attributes:
|
||||||
|
* `xmlns:xsd`: is always set to `http://www.w3.org/2001/XMLSchema`
|
||||||
|
* `xmlns:xsi`: is always set to `http://www.w3.org/2001/XMLSchema-instance`
|
||||||
|
|
||||||
|
## Service
|
||||||
|
Contains only `ABCHInternal`. Unknown if there are other values supported.
|
||||||
|
|
||||||
|
This element is exclusive to notifications generated by the [Address Book Service](../services/abservice.md).
|
||||||
|
|
||||||
|
## CID
|
||||||
|
Contains only the Contact ID of the user associated with this notification.
|
||||||
|
|
||||||
|
This element is exclusive to notifications generated by the [Address Book Service](../services/abservice.md).
|
||||||
|
|
||||||
|
## SpaceHandle
|
||||||
|
This element only has one child named `ResourceID`.
|
||||||
|
|
||||||
|
This element and it's children are exclusive to notifications generated by the blog service.
|
||||||
|
|
||||||
|
### ResourceID
|
||||||
|
Contains the blog service's ID for this user.
|
||||||
|
|
||||||
|
## ComponentHandle
|
||||||
|
This element only has one child named `ResourceID`.
|
||||||
|
|
||||||
|
This element and it's children are exclusive to notifications generated by the blog service.
|
||||||
|
|
||||||
|
### ResourceID
|
||||||
|
Contains the blog service's ID for the main component.
|
||||||
|
|
||||||
|
## OwnerCID
|
||||||
|
This element only contains a signed 64-bit integer for the Contact ID.
|
||||||
|
Added since [MSNP13](../versions/msnp13.md).
|
||||||
|
|
||||||
|
This element and it's children are exclusive to notifications generated by the blog service.
|
||||||
|
|
||||||
|
## LastModifiedDate
|
||||||
|
Contains a ISO 8601-compatible timestamp with 7 millisecond digits.
|
||||||
|
|
||||||
|
This element is omitted in notifications generated by the persistant group service.
|
||||||
|
|
||||||
|
## Action
|
||||||
|
Only observed to contain `Add`. Unknown if there are other values supported.
|
||||||
|
|
||||||
|
This element is exclusive to notifications generated by the blog service.
|
||||||
|
|
||||||
|
## HasNewItem
|
||||||
|
Contains either `true` or `false`.
|
||||||
|
|
||||||
|
## ComponentSummary
|
||||||
|
This element has two children named `<Component>` and `<Items>`.
|
||||||
|
|
||||||
|
This element and it's children are exclusive to notifications generated by the blog service.
|
||||||
|
|
||||||
|
### Component
|
||||||
|
This element has one child named `ResourceID` and supports one attribute:
|
||||||
|
* `xsi:type`: The type of this `<Component>`:
|
||||||
|
* `List`: A list.
|
||||||
|
* `Folder`: A photo collection.
|
||||||
|
* `MessageContainer`: A text message container.
|
||||||
|
|
||||||
|
#### ResourceID
|
||||||
|
Contains the blog service's ID for this `<Component>`.
|
||||||
|
|
||||||
|
### Items
|
||||||
|
This element supports multiple `<Item>` child elements.
|
||||||
|
|
||||||
|
#### Item
|
||||||
|
This element has one child named `ResourceID` and supports one attribute:
|
||||||
|
* `xsi:type`: The type of this `<Component>`:
|
||||||
|
* `ListEntry`: An entry on a list.
|
||||||
|
* `Photo`: A photo.
|
||||||
|
* `Message`: A text message.
|
||||||
|
|
||||||
|
##### ResourceID
|
||||||
|
Contains the blog service's ID for this `<Item>`.
|
||||||
|
|
||||||
|
## CircleId
|
||||||
|
Contains the GUID of the persistant group.
|
||||||
|
|
||||||
|
This element is exclusive to notifications generated by the persistant group service.
|
|
@ -39,7 +39,9 @@ More is to come soon! Hopefully!
|
||||||
* [MSNP10](versions/msnp10.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of [SYN](commands/syn.md) 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.
|
* [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?
|
* [MSNP12](versions/msnp12.md): Did [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
|
||||||
|
* MSNP18: Was `<NotificationData>`'d circle updates get added in MSNP17 instead?
|
||||||
* Error Codes: A new article for them, seems like they are implemented in wildly different ways.
|
* Error Codes: A new article for them, seems like they are implemented in wildly different ways.
|
||||||
|
* [MSNP2](versions/msnp2.md) to [MSNP7](versions/msnp7.md): TODO: Add CVR requests as command 10.
|
||||||
* All Protocols: Any error code known to exist but is missing from the pages.
|
* 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: 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.
|
* 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.
|
||||||
|
@ -68,7 +70,7 @@ More is to come soon! Hopefully!
|
||||||
* PP30: Passport over SOAP that was implemented in Client Version 7.5+ ([MSNP12](versions/msnp12.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.
|
* 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.
|
* 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.
|
* Undefined Behaviour: An intentional blank left in the documentation, basically as a "I am not responsible for what this does to your client or server" warning.
|
||||||
* Dispatch Server: A type of MSNP server that handles moving users to Notification Servers.
|
* Dispatch Server: A type of MSNP server that handles moving users to Notification Servers.
|
||||||
* Notification Server: The real meat of MSNP, handles authentication, user presence, notifications, creates Switchboard Server sessions and boasts the most commands.
|
* Notification Server: The real meat of MSNP, handles authentication, user presence, notifications, creates Switchboard Server sessions and boasts the most commands.
|
||||||
* Switchboard Server: The messaging part of the protocol. Changed only twice until it was deprecated in [MSNP21](versions/msnp21.md).
|
* Switchboard Server: The messaging part of the protocol. Changed only twice until it was deprecated in [MSNP21](versions/msnp21.md).
|
||||||
|
@ -80,7 +82,7 @@ More is to come soon! Hopefully!
|
||||||
* TrID: Transaction ID. Links the server's response to the client's request.
|
* 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: A 129-character max address used across the protocol.
|
||||||
May be called "principles" in other places.
|
May be called "principles" in other places.
|
||||||
* Public Key, Private Key: The parameters used in QRY.
|
* Public Key, Private Key: The parameters used in [QRY](commands/qry.md).
|
||||||
* The one you send with it in plain is the Public Key.
|
* 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`.
|
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.
|
* The one you use for the main challenge response hash is the Private Key.
|
||||||
|
@ -90,3 +92,7 @@ More is to come soon! Hopefully!
|
||||||
The git repo is avaliable at <https://git.kevinthe.horse/yellows111/msnp-wiki>.
|
The git repo is avaliable at <https://git.kevinthe.horse/yellows111/msnp-wiki>.
|
||||||
|
|
||||||
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).
|
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).
|
445
docs/license.md
Normal file
445
docs/license.md
Normal file
|
@ -0,0 +1,445 @@
|
||||||
|
# GNU Free Documentation License
|
||||||
|
|
||||||
|
Version 1.3, 3 November 2008
|
||||||
|
|
||||||
|
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation,
|
||||||
|
Inc. <https://fsf.org/>
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this
|
||||||
|
license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
## 0. PREAMBLE
|
||||||
|
|
||||||
|
The purpose of this License is to make a manual, textbook, or other
|
||||||
|
functional and useful document "free" in the sense of freedom: to
|
||||||
|
assure everyone the effective freedom to copy and redistribute it,
|
||||||
|
with or without modifying it, either commercially or noncommercially.
|
||||||
|
Secondarily, this License preserves for the author and publisher a way
|
||||||
|
to get credit for their work, while not being considered responsible
|
||||||
|
for modifications made by others.
|
||||||
|
|
||||||
|
This License is a kind of "copyleft", which means that derivative
|
||||||
|
works of the document must themselves be free in the same sense. It
|
||||||
|
complements the GNU General Public License, which is a copyleft
|
||||||
|
license designed for free software.
|
||||||
|
|
||||||
|
We have designed this License in order to use it for manuals for free
|
||||||
|
software, because free software needs free documentation: a free
|
||||||
|
program should come with manuals providing the same freedoms that the
|
||||||
|
software does. But this License is not limited to software manuals; it
|
||||||
|
can be used for any textual work, regardless of subject matter or
|
||||||
|
whether it is published as a printed book. We recommend this License
|
||||||
|
principally for works whose purpose is instruction or reference.
|
||||||
|
|
||||||
|
## 1. APPLICABILITY AND DEFINITIONS
|
||||||
|
|
||||||
|
This License applies to any manual or other work, in any medium, that
|
||||||
|
contains a notice placed by the copyright holder saying it can be
|
||||||
|
distributed under the terms of this License. Such a notice grants a
|
||||||
|
world-wide, royalty-free license, unlimited in duration, to use that
|
||||||
|
work under the conditions stated herein. The "Document", below, refers
|
||||||
|
to any such manual or work. Any member of the public is a licensee,
|
||||||
|
and is addressed as "you". You accept the license if you copy, modify
|
||||||
|
or distribute the work in a way requiring permission under copyright
|
||||||
|
law.
|
||||||
|
|
||||||
|
A "Modified Version" of the Document means any work containing the
|
||||||
|
Document or a portion of it, either copied verbatim, or with
|
||||||
|
modifications and/or translated into another language.
|
||||||
|
|
||||||
|
A "Secondary Section" is a named appendix or a front-matter section of
|
||||||
|
the Document that deals exclusively with the relationship of the
|
||||||
|
publishers or authors of the Document to the Document's overall
|
||||||
|
subject (or to related matters) and contains nothing that could fall
|
||||||
|
directly within that overall subject. (Thus, if the Document is in
|
||||||
|
part a textbook of mathematics, a Secondary Section may not explain
|
||||||
|
any mathematics.) The relationship could be a matter of historical
|
||||||
|
connection with the subject or with related matters, or of legal,
|
||||||
|
commercial, philosophical, ethical or political position regarding
|
||||||
|
them.
|
||||||
|
|
||||||
|
The "Invariant Sections" are certain Secondary Sections whose titles
|
||||||
|
are designated, as being those of Invariant Sections, in the notice
|
||||||
|
that says that the Document is released under this License. If a
|
||||||
|
section does not fit the above definition of Secondary then it is not
|
||||||
|
allowed to be designated as Invariant. The Document may contain zero
|
||||||
|
Invariant Sections. If the Document does not identify any Invariant
|
||||||
|
Sections then there are none.
|
||||||
|
|
||||||
|
The "Cover Texts" are certain short passages of text that are listed,
|
||||||
|
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||||
|
the Document is released under this License. A Front-Cover Text may be
|
||||||
|
at most 5 words, and a Back-Cover Text may be at most 25 words.
|
||||||
|
|
||||||
|
A "Transparent" copy of the Document means a machine-readable copy,
|
||||||
|
represented in a format whose specification is available to the
|
||||||
|
general public, that is suitable for revising the document
|
||||||
|
straightforwardly with generic text editors or (for images composed of
|
||||||
|
pixels) generic paint programs or (for drawings) some widely available
|
||||||
|
drawing editor, and that is suitable for input to text formatters or
|
||||||
|
for automatic translation to a variety of formats suitable for input
|
||||||
|
to text formatters. A copy made in an otherwise Transparent file
|
||||||
|
format whose markup, or absence of markup, has been arranged to thwart
|
||||||
|
or discourage subsequent modification by readers is not Transparent.
|
||||||
|
An image format is not Transparent if used for any substantial amount
|
||||||
|
of text. A copy that is not "Transparent" is called "Opaque".
|
||||||
|
|
||||||
|
Examples of suitable formats for Transparent copies include plain
|
||||||
|
ASCII without markup, Texinfo input format, LaTeX input format, SGML
|
||||||
|
or XML using a publicly available DTD, and standard-conforming simple
|
||||||
|
HTML, PostScript or PDF designed for human modification. Examples of
|
||||||
|
transparent image formats include PNG, XCF and JPG. Opaque formats
|
||||||
|
include proprietary formats that can be read and edited only by
|
||||||
|
proprietary word processors, SGML or XML for which the DTD and/or
|
||||||
|
processing tools are not generally available, and the
|
||||||
|
machine-generated HTML, PostScript or PDF produced by some word
|
||||||
|
processors for output purposes only.
|
||||||
|
|
||||||
|
The "Title Page" means, for a printed book, the title page itself,
|
||||||
|
plus such following pages as are needed to hold, legibly, the material
|
||||||
|
this License requires to appear in the title page. For works in
|
||||||
|
formats which do not have any title page as such, "Title Page" means
|
||||||
|
the text near the most prominent appearance of the work's title,
|
||||||
|
preceding the beginning of the body of the text.
|
||||||
|
|
||||||
|
The "publisher" means any person or entity that distributes copies of
|
||||||
|
the Document to the public.
|
||||||
|
|
||||||
|
A section "Entitled XYZ" means a named subunit of the Document whose
|
||||||
|
title either is precisely XYZ or contains XYZ in parentheses following
|
||||||
|
text that translates XYZ in another language. (Here XYZ stands for a
|
||||||
|
specific section name mentioned below, such as "Acknowledgements",
|
||||||
|
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
|
||||||
|
of such a section when you modify the Document means that it remains a
|
||||||
|
section "Entitled XYZ" according to this definition.
|
||||||
|
|
||||||
|
The Document may include Warranty Disclaimers next to the notice which
|
||||||
|
states that this License applies to the Document. These Warranty
|
||||||
|
Disclaimers are considered to be included by reference in this
|
||||||
|
License, but only as regards disclaiming warranties: any other
|
||||||
|
implication that these Warranty Disclaimers may have is void and has
|
||||||
|
no effect on the meaning of this License.
|
||||||
|
|
||||||
|
## 2. VERBATIM COPYING
|
||||||
|
|
||||||
|
You may copy and distribute the Document in any medium, either
|
||||||
|
commercially or noncommercially, provided that this License, the
|
||||||
|
copyright notices, and the license notice saying this License applies
|
||||||
|
to the Document are reproduced in all copies, and that you add no
|
||||||
|
other conditions whatsoever to those of this License. You may not use
|
||||||
|
technical measures to obstruct or control the reading or further
|
||||||
|
copying of the copies you make or distribute. However, you may accept
|
||||||
|
compensation in exchange for copies. If you distribute a large enough
|
||||||
|
number of copies you must also follow the conditions in section 3.
|
||||||
|
|
||||||
|
You may also lend copies, under the same conditions stated above, and
|
||||||
|
you may publicly display copies.
|
||||||
|
|
||||||
|
## 3. COPYING IN QUANTITY
|
||||||
|
|
||||||
|
If you publish printed copies (or copies in media that commonly have
|
||||||
|
printed covers) of the Document, numbering more than 100, and the
|
||||||
|
Document's license notice requires Cover Texts, you must enclose the
|
||||||
|
copies in covers that carry, clearly and legibly, all these Cover
|
||||||
|
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||||
|
the back cover. Both covers must also clearly and legibly identify you
|
||||||
|
as the publisher of these copies. The front cover must present the
|
||||||
|
full title with all words of the title equally prominent and visible.
|
||||||
|
You may add other material on the covers in addition. Copying with
|
||||||
|
changes limited to the covers, as long as they preserve the title of
|
||||||
|
the Document and satisfy these conditions, can be treated as verbatim
|
||||||
|
copying in other respects.
|
||||||
|
|
||||||
|
If the required texts for either cover are too voluminous to fit
|
||||||
|
legibly, you should put the first ones listed (as many as fit
|
||||||
|
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||||
|
pages.
|
||||||
|
|
||||||
|
If you publish or distribute Opaque copies of the Document numbering
|
||||||
|
more than 100, you must either include a machine-readable Transparent
|
||||||
|
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||||
|
a computer-network location from which the general network-using
|
||||||
|
public has access to download using public-standard network protocols
|
||||||
|
a complete Transparent copy of the Document, free of added material.
|
||||||
|
If you use the latter option, you must take reasonably prudent steps,
|
||||||
|
when you begin distribution of Opaque copies in quantity, to ensure
|
||||||
|
that this Transparent copy will remain thus accessible at the stated
|
||||||
|
location until at least one year after the last time you distribute an
|
||||||
|
Opaque copy (directly or through your agents or retailers) of that
|
||||||
|
edition to the public.
|
||||||
|
|
||||||
|
It is requested, but not required, that you contact the authors of the
|
||||||
|
Document well before redistributing any large number of copies, to
|
||||||
|
give them a chance to provide you with an updated version of the
|
||||||
|
Document.
|
||||||
|
|
||||||
|
## 4. MODIFICATIONS
|
||||||
|
|
||||||
|
You may copy and distribute a Modified Version of the Document under
|
||||||
|
the conditions of sections 2 and 3 above, provided that you release
|
||||||
|
the Modified Version under precisely this License, with the Modified
|
||||||
|
Version filling the role of the Document, thus licensing distribution
|
||||||
|
and modification of the Modified Version to whoever possesses a copy
|
||||||
|
of it. In addition, you must do these things in the Modified Version:
|
||||||
|
|
||||||
|
- A. Use in the Title Page (and on the covers, if any) a title
|
||||||
|
distinct from that of the Document, and from those of previous
|
||||||
|
versions (which should, if there were any, be listed in the
|
||||||
|
History section of the Document). You may use the same title as a
|
||||||
|
previous version if the original publisher of that version
|
||||||
|
gives permission.
|
||||||
|
- B. List on the Title Page, as authors, one or more persons or
|
||||||
|
entities responsible for authorship of the modifications in the
|
||||||
|
Modified Version, together with at least five of the principal
|
||||||
|
authors of the Document (all of its principal authors, if it has
|
||||||
|
fewer than five), unless they release you from this requirement.
|
||||||
|
- C. State on the Title page the name of the publisher of the
|
||||||
|
Modified Version, as the publisher.
|
||||||
|
- D. Preserve all the copyright notices of the Document.
|
||||||
|
- E. Add an appropriate copyright notice for your modifications
|
||||||
|
adjacent to the other copyright notices.
|
||||||
|
- F. Include, immediately after the copyright notices, a license
|
||||||
|
notice giving the public permission to use the Modified Version
|
||||||
|
under the terms of this License, in the form shown in the
|
||||||
|
Addendum below.
|
||||||
|
- G. Preserve in that license notice the full lists of Invariant
|
||||||
|
Sections and required Cover Texts given in the Document's
|
||||||
|
license notice.
|
||||||
|
- H. Include an unaltered copy of this License.
|
||||||
|
- I. Preserve the section Entitled "History", Preserve its Title,
|
||||||
|
and add to it an item stating at least the title, year, new
|
||||||
|
authors, and publisher of the Modified Version as given on the
|
||||||
|
Title Page. If there is no section Entitled "History" in the
|
||||||
|
Document, create one stating the title, year, authors, and
|
||||||
|
publisher of the Document as given on its Title Page, then add an
|
||||||
|
item describing the Modified Version as stated in the
|
||||||
|
previous sentence.
|
||||||
|
- J. Preserve the network location, if any, given in the Document
|
||||||
|
for public access to a Transparent copy of the Document, and
|
||||||
|
likewise the network locations given in the Document for previous
|
||||||
|
versions it was based on. These may be placed in the "History"
|
||||||
|
section. You may omit a network location for a work that was
|
||||||
|
published at least four years before the Document itself, or if
|
||||||
|
the original publisher of the version it refers to
|
||||||
|
gives permission.
|
||||||
|
- K. For any section Entitled "Acknowledgements" or "Dedications",
|
||||||
|
Preserve the Title of the section, and preserve in the section all
|
||||||
|
the substance and tone of each of the contributor acknowledgements
|
||||||
|
and/or dedications given therein.
|
||||||
|
- L. Preserve all the Invariant Sections of the Document, unaltered
|
||||||
|
in their text and in their titles. Section numbers or the
|
||||||
|
equivalent are not considered part of the section titles.
|
||||||
|
- M. Delete any section Entitled "Endorsements". Such a section may
|
||||||
|
not be included in the Modified Version.
|
||||||
|
- N. Do not retitle any existing section to be Entitled
|
||||||
|
"Endorsements" or to conflict in title with any Invariant Section.
|
||||||
|
- O. Preserve any Warranty Disclaimers.
|
||||||
|
|
||||||
|
If the Modified Version includes new front-matter sections or
|
||||||
|
appendices that qualify as Secondary Sections and contain no material
|
||||||
|
copied from the Document, you may at your option designate some or all
|
||||||
|
of these sections as invariant. To do this, add their titles to the
|
||||||
|
list of Invariant Sections in the Modified Version's license notice.
|
||||||
|
These titles must be distinct from any other section titles.
|
||||||
|
|
||||||
|
You may add a section Entitled "Endorsements", provided it contains
|
||||||
|
nothing but endorsements of your Modified Version by various
|
||||||
|
parties—for example, statements of peer review or that the text has
|
||||||
|
been approved by an organization as the authoritative definition of a
|
||||||
|
standard.
|
||||||
|
|
||||||
|
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||||
|
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||||
|
of Cover Texts in the Modified Version. Only one passage of
|
||||||
|
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||||
|
through arrangements made by) any one entity. If the Document already
|
||||||
|
includes a cover text for the same cover, previously added by you or
|
||||||
|
by arrangement made by the same entity you are acting on behalf of,
|
||||||
|
you may not add another; but you may replace the old one, on explicit
|
||||||
|
permission from the previous publisher that added the old one.
|
||||||
|
|
||||||
|
The author(s) and publisher(s) of the Document do not by this License
|
||||||
|
give permission to use their names for publicity for or to assert or
|
||||||
|
imply endorsement of any Modified Version.
|
||||||
|
|
||||||
|
## 5. COMBINING DOCUMENTS
|
||||||
|
|
||||||
|
You may combine the Document with other documents released under this
|
||||||
|
License, under the terms defined in section 4 above for modified
|
||||||
|
versions, provided that you include in the combination all of the
|
||||||
|
Invariant Sections of all of the original documents, unmodified, and
|
||||||
|
list them all as Invariant Sections of your combined work in its
|
||||||
|
license notice, and that you preserve all their Warranty Disclaimers.
|
||||||
|
|
||||||
|
The combined work need only contain one copy of this License, and
|
||||||
|
multiple identical Invariant Sections may be replaced with a single
|
||||||
|
copy. If there are multiple Invariant Sections with the same name but
|
||||||
|
different contents, make the title of each such section unique by
|
||||||
|
adding at the end of it, in parentheses, the name of the original
|
||||||
|
author or publisher of that section if known, or else a unique number.
|
||||||
|
Make the same adjustment to the section titles in the list of
|
||||||
|
Invariant Sections in the license notice of the combined work.
|
||||||
|
|
||||||
|
In the combination, you must combine any sections Entitled "History"
|
||||||
|
in the various original documents, forming one section Entitled
|
||||||
|
"History"; likewise combine any sections Entitled "Acknowledgements",
|
||||||
|
and any sections Entitled "Dedications". You must delete all sections
|
||||||
|
Entitled "Endorsements".
|
||||||
|
|
||||||
|
## 6. COLLECTIONS OF DOCUMENTS
|
||||||
|
|
||||||
|
You may make a collection consisting of the Document and other
|
||||||
|
documents released under this License, and replace the individual
|
||||||
|
copies of this License in the various documents with a single copy
|
||||||
|
that is included in the collection, provided that you follow the rules
|
||||||
|
of this License for verbatim copying of each of the documents in all
|
||||||
|
other respects.
|
||||||
|
|
||||||
|
You may extract a single document from such a collection, and
|
||||||
|
distribute it individually under this License, provided you insert a
|
||||||
|
copy of this License into the extracted document, and follow this
|
||||||
|
License in all other respects regarding verbatim copying of that
|
||||||
|
document.
|
||||||
|
|
||||||
|
## 7. AGGREGATION WITH INDEPENDENT WORKS
|
||||||
|
|
||||||
|
A compilation of the Document or its derivatives with other separate
|
||||||
|
and independent documents or works, in or on a volume of a storage or
|
||||||
|
distribution medium, is called an "aggregate" if the copyright
|
||||||
|
resulting from the compilation is not used to limit the legal rights
|
||||||
|
of the compilation's users beyond what the individual works permit.
|
||||||
|
When the Document is included in an aggregate, this License does not
|
||||||
|
apply to the other works in the aggregate which are not themselves
|
||||||
|
derivative works of the Document.
|
||||||
|
|
||||||
|
If the Cover Text requirement of section 3 is applicable to these
|
||||||
|
copies of the Document, then if the Document is less than one half of
|
||||||
|
the entire aggregate, the Document's Cover Texts may be placed on
|
||||||
|
covers that bracket the Document within the aggregate, or the
|
||||||
|
electronic equivalent of covers if the Document is in electronic form.
|
||||||
|
Otherwise they must appear on printed covers that bracket the whole
|
||||||
|
aggregate.
|
||||||
|
|
||||||
|
## 8. TRANSLATION
|
||||||
|
|
||||||
|
Translation is considered a kind of modification, so you may
|
||||||
|
distribute translations of the Document under the terms of section 4.
|
||||||
|
Replacing Invariant Sections with translations requires special
|
||||||
|
permission from their copyright holders, but you may include
|
||||||
|
translations of some or all Invariant Sections in addition to the
|
||||||
|
original versions of these Invariant Sections. You may include a
|
||||||
|
translation of this License, and all the license notices in the
|
||||||
|
Document, and any Warranty Disclaimers, provided that you also include
|
||||||
|
the original English version of this License and the original versions
|
||||||
|
of those notices and disclaimers. In case of a disagreement between
|
||||||
|
the translation and the original version of this License or a notice
|
||||||
|
or disclaimer, the original version will prevail.
|
||||||
|
|
||||||
|
If a section in the Document is Entitled "Acknowledgements",
|
||||||
|
"Dedications", or "History", the requirement (section 4) to Preserve
|
||||||
|
its Title (section 1) will typically require changing the actual
|
||||||
|
title.
|
||||||
|
|
||||||
|
## 9. TERMINATION
|
||||||
|
|
||||||
|
You may not copy, modify, sublicense, or distribute the Document
|
||||||
|
except as expressly provided under this License. Any attempt otherwise
|
||||||
|
to copy, modify, sublicense, or distribute it is void, and will
|
||||||
|
automatically terminate your rights under this License.
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your license
|
||||||
|
from a particular copyright holder is reinstated (a) provisionally,
|
||||||
|
unless and until the copyright holder explicitly and finally
|
||||||
|
terminates your license, and (b) permanently, if the copyright holder
|
||||||
|
fails to notify you of the violation by some reasonable means prior to
|
||||||
|
60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is
|
||||||
|
reinstated permanently if the copyright holder notifies you of the
|
||||||
|
violation by some reasonable means, this is the first time you have
|
||||||
|
received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after
|
||||||
|
your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under
|
||||||
|
this License. If your rights have been terminated and not permanently
|
||||||
|
reinstated, receipt of a copy of some or all of the same material does
|
||||||
|
not give you any rights to use it.
|
||||||
|
|
||||||
|
## 10. FUTURE REVISIONS OF THIS LICENSE
|
||||||
|
|
||||||
|
The Free Software Foundation may publish new, revised versions of the
|
||||||
|
GNU Free Documentation License from time to time. Such new versions
|
||||||
|
will be similar in spirit to the present version, but may differ in
|
||||||
|
detail to address new problems or concerns. See
|
||||||
|
<https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Each version of the License is given a distinguishing version number.
|
||||||
|
If the Document specifies that a particular numbered version of this
|
||||||
|
License "or any later version" applies to it, you have the option of
|
||||||
|
following the terms and conditions either of that specified version or
|
||||||
|
of any later version that has been published (not as a draft) by the
|
||||||
|
Free Software Foundation. If the Document does not specify a version
|
||||||
|
number of this License, you may choose any version ever published (not
|
||||||
|
as a draft) by the Free Software Foundation. If the Document specifies
|
||||||
|
that a proxy can decide which future versions of this License can be
|
||||||
|
used, that proxy's public statement of acceptance of a version
|
||||||
|
permanently authorizes you to choose that version for the Document.
|
||||||
|
|
||||||
|
## 11. RELICENSING
|
||||||
|
|
||||||
|
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
|
||||||
|
World Wide Web server that publishes copyrightable works and also
|
||||||
|
provides prominent facilities for anybody to edit those works. A
|
||||||
|
public wiki that anybody can edit is an example of such a server. A
|
||||||
|
"Massive Multiauthor Collaboration" (or "MMC") contained in the site
|
||||||
|
means any set of copyrightable works thus published on the MMC site.
|
||||||
|
|
||||||
|
"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
|
||||||
|
license published by Creative Commons Corporation, a not-for-profit
|
||||||
|
corporation with a principal place of business in San Francisco,
|
||||||
|
California, as well as future copyleft versions of that license
|
||||||
|
published by that same organization.
|
||||||
|
|
||||||
|
"Incorporate" means to publish or republish a Document, in whole or in
|
||||||
|
part, as part of another Document.
|
||||||
|
|
||||||
|
An MMC is "eligible for relicensing" if it is licensed under this
|
||||||
|
License, and if all works that were first published under this License
|
||||||
|
somewhere other than this MMC, and subsequently incorporated in whole
|
||||||
|
or in part into the MMC, (1) had no cover texts or invariant sections,
|
||||||
|
and (2) were thus incorporated prior to November 1, 2008.
|
||||||
|
|
||||||
|
The operator of an MMC Site may republish an MMC contained in the site
|
||||||
|
under CC-BY-SA on the same site at any time before August 1, 2009,
|
||||||
|
provided the MMC is eligible for relicensing.
|
||||||
|
|
||||||
|
## ADDENDUM: How to use this License for your documents
|
||||||
|
|
||||||
|
To use this License in a document you have written, include a copy of
|
||||||
|
the License in the document and put the following copyright and
|
||||||
|
license notices just after the title page:
|
||||||
|
|
||||||
|
Copyright (C) YEAR YOUR NAME.
|
||||||
|
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 section entitled "GNU
|
||||||
|
Free Documentation License".
|
||||||
|
|
||||||
|
If you have Invariant Sections, Front-Cover Texts and Back-Cover
|
||||||
|
Texts, replace the "with … Texts." line with this:
|
||||||
|
|
||||||
|
with the Invariant Sections being LIST THEIR TITLES, with the
|
||||||
|
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
|
||||||
|
|
||||||
|
If you have Invariant Sections without Cover Texts, or some other
|
||||||
|
combination of the three, merge those two alternatives to suit the
|
||||||
|
situation.
|
||||||
|
|
||||||
|
If your document contains nontrivial examples of program code, we
|
||||||
|
recommend releasing these examples in parallel under your choice of
|
||||||
|
free software license, such as the GNU General Public License, to
|
||||||
|
permit their use in free software.
|
|
@ -22,6 +22,9 @@ This refers to all the constants used on the wiki.
|
||||||
* My [Address Book Service](services/abservice.md) GUID: `00000000-0000-0000-0000-000000000000`
|
* My [Address Book Service](services/abservice.md) GUID: `00000000-0000-0000-0000-000000000000`
|
||||||
* John's (mobile-only contact) GUID: `a47e39cf-312c-4100-94a6-f2b33adf5b68`
|
* John's (mobile-only contact) GUID: `a47e39cf-312c-4100-94a6-f2b33adf5b68`
|
||||||
|
|
||||||
|
## Other things
|
||||||
|
* My Passport Unique ID: `0x00000001:0x000000002`, High: `1`, Low: `2`.
|
||||||
|
|
||||||
## MSNP Servers
|
## MSNP Servers
|
||||||
* The Dispatch Server: `10.0.0.1:1863`
|
* The Dispatch Server: `10.0.0.1:1863`
|
||||||
* The Notification Server: `10.0.0.5:1863`
|
* The Notification Server: `10.0.0.5:1863`
|
||||||
|
|
|
@ -27,15 +27,15 @@ 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`) |
|
| [`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`) |
|
| [`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) | |
|
| [`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), November 2003 (Removed outside of [SYN](commands/syn.md), not really any specific MSNP update, just hard removed with an automatic disconnect.) |
|
| [`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) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s `ABFindAll` and [Contact Sharing Service](services/sharingservice.md)'s `FindMemberships` instead.), 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) |
|
| [`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) |
|
| [`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) | |
|
| [`FLN`](commands/fln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | |
|
||||||
| [`PNG`](commands/png.md) | N | Y | N | [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) |
|
| [`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) |
|
| [`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`.), November 2003 (Removed outside of [SYN](commands/syn.md), not really any specific MSNP update, just hard removed with an automatic disconnect.) |
|
| [`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`.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s `ABFindAll` instead.) 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.) |
|
| [`ADG`](commands/adg.md) | N | Y | N | [MSNP7](versions/msnp7.md) | [MSNP10](versions/msnp10.md) (Removed unused `0` and List Version parameters, 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) |
|
| [`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) |
|
| [`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) |
|
||||||
| [`REA`](commands/rea.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (Removed; automatic disconnect) |
|
| [`REA`](commands/rea.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (Removed; automatic disconnect) |
|
||||||
|
@ -45,19 +45,17 @@ This is a list of all known MSNP commands and their originating version.
|
||||||
| [`PAG`](commands/pag.md) | Y | Y | N | [MSNP5](versions/msnp5.md) | [MSNP9](versions/msnp9.md) (Removed; error 715, use [PGD](commands/pgd.md) instead.) |
|
| [`PAG`](commands/pag.md) | Y | Y | N | [MSNP5](versions/msnp5.md) | [MSNP9](versions/msnp9.md) (Removed; error 715, use [PGD](commands/pgd.md) instead.) |
|
||||||
| [`PGD`](commands/pgd.md) | Y | Y | N | [MSNP9](versions/msnp9.md) | |
|
| [`PGD`](commands/pgd.md) | Y | Y | N | [MSNP9](versions/msnp9.md) | |
|
||||||
| [`SBP`](commands/sbp.md) | N | Y | N | [MSNP10](versions/msnp10.md) | [MSNP10](versions/msnp10.md) (`ABCHMigrated: 1`: Contact user handles are now GUIDs.), [MSNP11](versions/msnp11.md) (Added property `HSB`, for Has Blog. Set by the relevant Client Capability.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s `ABContactUpdate` action instead.) |
|
| [`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) |
|
| [`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.) |
|
| [`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 `<NotificationData>` sub-document, and live blog updates use the new sub-document.), [MSNP13](versions/msnp13.md) (Added live contact list updates using the `<NotificationData>` subdocument.), [MSNP18](versions/msnp18.md) (Added live persistant chat group updates using the `<NotificationData>` 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.) |
|
||||||
|
|
||||||
# What's Missing Right Now
|
# What's Missing Right Now
|
||||||
|
|
||||||
## For next parity check
|
|
||||||
* [MSNP5](versions/msnp5.md): NOT
|
|
||||||
* [MSNP6](versions/msnp6.md): IPG
|
|
||||||
* [MSNP6](versions/msnp6.md): QRY
|
|
||||||
* [MSNP7](versions/msnp7.md): REG
|
|
||||||
* [MSNP7](versions/msnp7.md): RMG
|
|
||||||
|
|
||||||
## In general
|
## In general
|
||||||
* [MSNP11](versions/msnp11.md): SBS
|
* [MSNP11](versions/msnp11.md): SBS
|
||||||
* [MSNP11](versions/msnp11.md): UBX
|
* [MSNP11](versions/msnp11.md): UBX
|
||||||
|
|
|
@ -41,8 +41,8 @@ The following commands were removed in this version:
|
||||||
* [BLP](../commands/blp.md)
|
* [BLP](../commands/blp.md)
|
||||||
* [ADG](../commands/adg.md)
|
* [ADG](../commands/adg.md)
|
||||||
* [BPR](../commands/bpr.md)
|
* [BPR](../commands/bpr.md)
|
||||||
* REG
|
* [REG](../commands/reg.md)
|
||||||
* RMG
|
* [RMG](../commands/rmg.md)
|
||||||
* [REM](../commands/rem.md)
|
* [REM](../commands/rem.md)
|
||||||
* [PRP](../commands/prp.md)
|
* [PRP](../commands/prp.md)
|
||||||
* Added a new list: Pending List/PL (bit 5, decimal 16). Is meant for unhandled contact added you notifications.
|
* Added a new list: Pending List/PL (bit 5, decimal 16). Is meant for unhandled contact added you notifications.
|
||||||
|
|
|
@ -17,17 +17,18 @@ It introduces the notification service commands:
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
(from [MSNP10](msnp10.md)):
|
(from [MSNP10](msnp10.md)):
|
||||||
* QRY: Challenge response is drastically overhauled.
|
* [QRY](../commands/qry.md): Challenge response generation has been drastically overhauled.
|
||||||
Check the command article for more information.
|
TODO: Write annotated source code explaning new algorithm.
|
||||||
* [OUT](../commands/out.md) RCT `TimeBeforeRetry` now exists.
|
* [OUT](../commands/out.md) RCT `TimeBeforeRetry` now exists.
|
||||||
`TimeBeforeRetry` is a numerical value in minutes that specifies the amount
|
`TimeBeforeRetry` is a numerical value in minutes that specifies the amount
|
||||||
of time in minutes the client should wait before reconnecting.
|
of time in minutes the client should wait before reconnecting.
|
||||||
* All `ABCHMigrated` changes are now the default - `ABCHMigrated: 0` is Undefined Behavour from now on.
|
* All `ABCHMigrated` changes are now the default - `ABCHMigrated: 0` is Undefined Behaviour from now on.
|
||||||
* [ADC](../commands/adc.md): Now supports a telephone address (`tel:`) for `N=`.
|
* [ADC](../commands/adc.md): Now supports a telephone address (`tel:`) for `N=`.
|
||||||
* Official Client: Feature blocks are implemented using the [GCF](../commands/gcf.md) command
|
* Official Client: Feature blocks are implemented using the [GCF](../commands/gcf.md) command
|
||||||
to download `Shields.xml`. For more information read the [Shields Configuration Data](../files/shields.md) article.
|
to download `Shields.xml`. For more information read the [Shields Configuration Data](../files/shields.md) article.
|
||||||
* Official Client: WebMessenger now canonically exists - Client Capability 512 is used for this.
|
* Official Client: WebMessenger now canonically exists - Client Capability 512 is used for this.
|
||||||
* Official Client: Notifications (NOT commands) with encoded `NotificationData` documents are supported for spaces (blogs).
|
* Official Client: Notifications ([NOT](../commands/not.md) commands) with encoded
|
||||||
|
[`<NotificationData>`](../files/notification.md) sub-documents are supported for spaces (blogs).
|
||||||
* Official Client: Messenger Config requests now support regional arguments via SOAP.
|
* Official Client: Messenger Config requests now support regional arguments via SOAP.
|
||||||
* Official Client: [OUT](../commands/out.md) SSD is actually implemented now.
|
* 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?
|
* Official Client: Error code 913 is handled again after being removed last version. Why?
|
||||||
|
@ -105,6 +106,39 @@ C: ADC 11 FL N=tel:15551111222 F=john
|
||||||
S: ADC 11 FL N=tel:15551111222 F=john C=a47e39cf-312c-4100-94a6-f2b33adf5b68
|
S: ADC 11 FL N=tel:15551111222 F=john C=a47e39cf-312c-4100-94a6-f2b33adf5b68
|
||||||
C: ADC 12 AL N=tel:15551111222
|
C: ADC 12 AL N=tel:15551111222
|
||||||
S: ADC 12 AL N=tel:15551111222
|
S: ADC 12 AL N=tel:15551111222
|
||||||
|
S: NOT 1249
|
||||||
|
<NOTIFICATION id="2" siteid="45705" siteurl="http://storage.msn.com/">
|
||||||
|
<TO pid="0x00000001:0x00000002" name="example@hotmail.com">
|
||||||
|
<VIA agent="messenger"/>
|
||||||
|
</TO>
|
||||||
|
<MSG id="0">
|
||||||
|
<ACTION url="a.htm" />
|
||||||
|
<SUBSCR url="s.htm" />
|
||||||
|
<BODY>
|
||||||
|
<NotificationData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<SpaceHandle>
|
||||||
|
<ResourceID>example1!101</ResourceID>
|
||||||
|
</SpaceHandle>
|
||||||
|
<ComponentHandle>
|
||||||
|
<ResourceID>example2!101</ResourceID>
|
||||||
|
</ComponentHandle>
|
||||||
|
<OwnerCID>4294967298</OwnerCID>
|
||||||
|
<LastModifiedDate>2024-10-26T09:33:27.1020000-08:00</LastModifiedDate>
|
||||||
|
<HasNewItem>true<HasNewItem>
|
||||||
|
<ComponentSummary>
|
||||||
|
<Component xsi:type="MessageContainer">
|
||||||
|
<ResourceID>example2!102</ResourceID>
|
||||||
|
</Component>
|
||||||
|
<Items>
|
||||||
|
<Component xsi:type="Message">
|
||||||
|
<ResourceID>example2!101</ResourceID>
|
||||||
|
</Component>
|
||||||
|
</Items>
|
||||||
|
</ComponentSummary>
|
||||||
|
</NotificationData>
|
||||||
|
</BODY>
|
||||||
|
</MSG>
|
||||||
|
</NOTIFICATION>
|
||||||
C: OUT
|
C: OUT
|
||||||
```
|
```
|
||||||
Client disconnects from server
|
Client disconnects from server
|
||||||
|
|
|
@ -5,7 +5,7 @@ It was introduced officially in Client Version 3.0.0283.
|
||||||
# Command information
|
# Command information
|
||||||
It introduces the notification service commands:
|
It introduces the notification service commands:
|
||||||
* [BPR](../commands/bpr.md)
|
* [BPR](../commands/bpr.md)
|
||||||
* NOT
|
* [NOT](../commands/not.md)
|
||||||
* [PAG](../commands/pag.md)
|
* [PAG](../commands/pag.md)
|
||||||
* [PRP](../commands/prp.md)
|
* [PRP](../commands/prp.md)
|
||||||
* [SDC](../commands/sdc.md)
|
* [SDC](../commands/sdc.md)
|
||||||
|
@ -20,6 +20,7 @@ It introduces the error codes:
|
||||||
# Known changes
|
# Known changes
|
||||||
(from [MSNP4](msnp4.md)):
|
(from [MSNP4](msnp4.md)):
|
||||||
* [BPR](../commands/bpr.md) and [PRP](../commands/prp.md) have been added to [SYN](../commands/syn.md).
|
* [BPR](../commands/bpr.md) and [PRP](../commands/prp.md) have been added to [SYN](../commands/syn.md).
|
||||||
|
* [`<NOTIFICATION>`](../files/notification.md) documents are handled by the client with the new [NOT](not.md) payload command.
|
||||||
* Non-protocol: Official website stopped updating the whatsnew.asp page between this (MSNP5) and [MSNP7](msnp7.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: 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: Log in notifications are now handled by the newly introduced toast system.
|
||||||
|
@ -116,17 +117,16 @@ S: LST 8 BL 6 0 0
|
||||||
S: LST 8 RL 6 1 1 anotheruser@hotmail.com another%20user
|
S: LST 8 RL 6 1 1 anotheruser@hotmail.com another%20user
|
||||||
C: CHG 9 NLN
|
C: CHG 9 NLN
|
||||||
S: CHG 9 NLN
|
S: CHG 9 NLN
|
||||||
S: NOT 431
|
S: NOT 367
|
||||||
<NOTIFICATION ver="1" siteid="111100000" siteurl="http://example.com" id="0">
|
<NOTIFICATION ver="1" id="2" siteid="0" siteurl="http://example.com/">
|
||||||
<TO pid="0x00000001:0x00000002" name="example@hotmail.com" />
|
<TO pid="0x00000001:0x00000002" name="example@hotmail.com" />
|
||||||
<MSG pri="" id="0">
|
<MSG id="0">
|
||||||
<ACTION url="/messenger/action?reference=something1"/>
|
<ACTION url="alert?command=action" />
|
||||||
<SUBSCR url="/messenger/changealerts?reference=something1"/>
|
<SUBSCR url="alert?command=change" />
|
||||||
<CAT id="111100001" />
|
<BODY lang="1033" icon="alerticon_32x32.png">
|
||||||
<BODY lang="1033" icon="/messenger/icon_32x32.png">
|
<TEXT>This is an example notification.</TEXT>
|
||||||
<TEXT>text of the notification</TEXT>
|
</BODY>
|
||||||
</BODY>
|
</MSG>
|
||||||
</MSG>
|
|
||||||
</NOTIFICATION>
|
</NOTIFICATION>
|
||||||
C: PRP 10 PHH 123%20(4567)
|
C: PRP 10 PHH 123%20(4567)
|
||||||
S: PRP 10 7 PHH 123%20(4567)
|
S: PRP 10 7 PHH 123%20(4567)
|
||||||
|
|
|
@ -5,8 +5,8 @@ It was introduced officially in Client Version 3.6.0038.
|
||||||
# Command information
|
# Command information
|
||||||
It introduces the notification service commands:
|
It introduces the notification service commands:
|
||||||
* [CHL](../commands/chl.md)
|
* [CHL](../commands/chl.md)
|
||||||
* IPG
|
* [IPG](../commands/ipg.md)
|
||||||
* QRY
|
* [QRY](../commands/qry.md)
|
||||||
|
|
||||||
*No switchboard or dispatch service commands were known to be introduced in this version*
|
*No switchboard or dispatch service commands were known to be introduced in this version*
|
||||||
|
|
||||||
|
@ -23,9 +23,9 @@ It introduces the error codes:
|
||||||
if it is `0`, the Official Client shows a warning to verify the account.
|
if it is `0`, the Official Client shows a warning to verify the account.
|
||||||
NOTE: Your display name will be forced to be
|
NOTE: Your display name will be forced to be
|
||||||
`example@hotmail.com (E-Mail Address Not Verified)`, and can not be changed.
|
`example@hotmail.com (E-Mail Address Not Verified)`, and can not be changed.
|
||||||
* Client-server challenges were introduced. The format for the response is
|
* Client-server challenges were introduced. The format for the response ([QRY](../commands/qry.md) commands) are
|
||||||
`MD5(challenge + privateKey)` as a lowercase hexadecimal string.
|
`MD5(challenge + privateKey)` as a lowercase hexadecimal string.
|
||||||
* An example client secret is `Q1P7W2E4J9R8U3S5`, which is tied to `msmsgs@msnmsgr.com`.
|
* An example Private Key is `Q1P7W2E4J9R8U3S5`, which is tied to the Public Key of `msmsgs@msnmsgr.com`.
|
||||||
* First protocol version added in a patch release (Client Versions 3.6.0025 and 3.6.0026 do not support MSNP6).
|
* 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: 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.
|
* Official Client: Error 924 dialog changed to the unverified but still can use service one. Not sure why.
|
||||||
|
@ -92,6 +92,21 @@ S: CHL 0 11111111111111111111
|
||||||
C: QRY 10 msmsgs@msnmsgr.com 32
|
C: QRY 10 msmsgs@msnmsgr.com 32
|
||||||
3b6666b60157322b6fc6e41a115968f5
|
3b6666b60157322b6fc6e41a115968f5
|
||||||
S: QRY 10
|
S: QRY 10
|
||||||
|
S: IPG 478
|
||||||
|
<NOTIFICATION id="0" siteid="111100400" siteurl="http://mobile.msn.com/">
|
||||||
|
<TO name="example@hotmail.com" pid="0x00000001:0x00000002" email="example@hotmail.com">
|
||||||
|
<VIA agent="mobile"/>
|
||||||
|
</TO>
|
||||||
|
<FROM pid="0x00000001:0x00000002" name="anotheruser@hotmail.com"/>
|
||||||
|
<MSG pri="1" id="0">
|
||||||
|
<ACTION url="2wayIM.asp"/>
|
||||||
|
<SUBSCR url="2wayIM.asp"/>
|
||||||
|
<CAT id="110110001"/>
|
||||||
|
<BODY lang="1033">
|
||||||
|
<TEXT>Hello! I am talking from a mobile device.</TEXT>
|
||||||
|
</BODY>
|
||||||
|
</MSG>
|
||||||
|
</NOTIFICATION>
|
||||||
C: OUT
|
C: OUT
|
||||||
```
|
```
|
||||||
Client disconnects from server
|
Client disconnects from server
|
||||||
|
|
|
@ -5,8 +5,8 @@ It was introduced officially in Client Version 4.5.0121.
|
||||||
# Command information
|
# Command information
|
||||||
It introduces the notification service commands:
|
It introduces the notification service commands:
|
||||||
* [ADG](../commands/adg.md)
|
* [ADG](../commands/adg.md)
|
||||||
* REG
|
* [REG](../commands/reg.md)
|
||||||
* RMG
|
* [RMG](../commands/rmg.md)
|
||||||
* [LSG](../commands/lsg.md)
|
* [LSG](../commands/lsg.md)
|
||||||
|
|
||||||
*No switchboard or dispatch service commands were known to be introduced in this version*
|
*No switchboard or dispatch service commands were known to be introduced in this version*
|
||||||
|
|
|
@ -58,7 +58,7 @@ Added: 603
|
||||||
|
|
||||||
# Client-server communication example
|
# Client-server communication example
|
||||||
*NOTE: This has been line-breaked.
|
*NOTE: This has been line-breaked.
|
||||||
Lines beginning with `..` followed by a space are continuations of the previous line.
|
Lines beginning with `..` followed by a space are continuations of the previous line.*
|
||||||
```
|
```
|
||||||
C: VER 1 MSNP8 CVR0
|
C: VER 1 MSNP8 CVR0
|
||||||
S: VER 1 MSNP8
|
S: VER 1 MSNP8
|
||||||
|
|
|
@ -25,6 +25,7 @@ The following commands were removed in this version:
|
||||||
* [QNG](../commands/qng.md): Added a "next ping" time (in seconds) parameter.
|
* [QNG](../commands/qng.md): Added a "next ping" time (in seconds) parameter.
|
||||||
* Switchboard [MSG](../commands/msg.md): Acknowledgement type D added.
|
* Switchboard [MSG](../commands/msg.md): Acknowledgement type D added.
|
||||||
Can respond with either [ACK](../commands/ack.md), error 282, or possibly any other error codes.
|
Can respond with either [ACK](../commands/ack.md), error 282, or possibly any other error codes.
|
||||||
|
* [NOT](../commands/not.md): Extended notifications are now supported via the `<TEXTX>` element.
|
||||||
* Official Client: Error 603 is handled again after being removed in Client Version 5.0.
|
* Official Client: Error 603 is handled again after being removed in Client Version 5.0.
|
||||||
Error code 711 is no longer handled after being implemented in Client Version 5.0.
|
Error code 711 is no longer handled after being implemented in Client Version 5.0.
|
||||||
* Official Client: Supports the [Messenger Config](../services/msgrconfig.md) XML service, replacing `svcs.microsoft.com`.
|
* Official Client: Supports the [Messenger Config](../services/msgrconfig.md) XML service, replacing `svcs.microsoft.com`.
|
||||||
|
@ -99,6 +100,18 @@ S: NLN NLN anotheruser@hotmail.com another%20user 268435500 %3Cmsnobj%20Creator%
|
||||||
.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22
|
.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22
|
||||||
.. %20SHA1C%3D%22PApbbjkbDSGrt3ybGHRKNaZ8s%2Fw%3D%22%2F%3E
|
.. %20SHA1C%3D%22PApbbjkbDSGrt3ybGHRKNaZ8s%2Fw%3D%22%2F%3E
|
||||||
S: QNG 60
|
S: QNG 60
|
||||||
|
S: NOT 457
|
||||||
|
<NOTIFICATION ver="1" id="2" siteid="0" siteurl="http://example.com/">
|
||||||
|
<TO pid="0x00000001:0x00000002" name="example@hotmail.com" />
|
||||||
|
<MSG id="0">
|
||||||
|
<ACTION url="alert?command=action" />
|
||||||
|
<SUBSCR url="alert?command=change" />
|
||||||
|
<BODY lang="1033" icon="alerticon_32x32.png">
|
||||||
|
<TEXT>This is an example notification.</TEXT>
|
||||||
|
<TEXTX><P>This is an <B>extended</B> notification!</P></TEXTX>
|
||||||
|
</BODY>
|
||||||
|
</MSG>
|
||||||
|
</NOTIFICATION>
|
||||||
C: OUT
|
C: OUT
|
||||||
```
|
```
|
||||||
Client disconnects from server
|
Client disconnects from server
|
||||||
|
|
8
package-lock.json
generated
8
package-lock.json
generated
|
@ -6,8 +6,8 @@
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "yellows-msnp-wiki",
|
"name": "yellows-msnp-wiki",
|
||||||
"version": "0.0.1",
|
"version": "0.1.0",
|
||||||
"license": "UNLICENSED",
|
"license": "GFDL-1.3-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"yiki": "git+https://git.kevinthe.horse/yellows111/yiki.git#semver:*"
|
"yiki": "git+https://git.kevinthe.horse/yellows111/yiki.git#semver:*"
|
||||||
}
|
}
|
||||||
|
@ -680,8 +680,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/yiki": {
|
"node_modules/yiki": {
|
||||||
"version": "0.1.4",
|
"version": "0.1.5",
|
||||||
"resolved": "git+https://git.kevinthe.horse/yellows111/yiki.git#6565b78ac144a48cf553252fc46d1d1b883fa20d",
|
"resolved": "git+https://git.kevinthe.horse/yellows111/yiki.git#7991d78e1c2461db7ab36ee10dd0a53105801b8b",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@liquify/prettify": "^0.5.5-beta.1",
|
"@liquify/prettify": "^0.5.5-beta.1",
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{
|
{
|
||||||
"name": "yellows-msnp-wiki",
|
"name": "yellows-msnp-wiki",
|
||||||
"version": "0.0.1",
|
"version": "0.1.0",
|
||||||
"description": "The yellows111 MSNP wiki that aims for accuracy.",
|
"description": "The yellows111 MSNP wiki that aims for accuracy.",
|
||||||
"author": "yellows111",
|
"author": "yellows111",
|
||||||
"license": "UNLICENSED",
|
"license": "GFDL-1.3-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"yiki": "git+https://git.kevinthe.horse/yellows111/yiki.git#semver:*"
|
"yiki": "git+https://git.kevinthe.horse/yellows111/yiki.git#semver:*"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node ./node_modules/yiki/ymake.js"
|
"build": "node ./node_modules/yiki/ymake.js"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue