xmpp/muc d---------
all: add strict namespace checking to mux

Previously anything that had a local name that looked like a stanza
("message", "iq", or "presence") would be treated as such, opening us up
to potential vulnerabilities in servers that allow a
{jabber:server}message on a jabber:client stream but don't treat it as a
stanza, for example.
Being more strict about checking namespaces helps to avoid this issue,
but does require a breaking change to the mux API.

Signed-off-by: Sam Whited <sam@samwhited.com>
b3be6ffc — genofire a month ago
muc: use new items package in integration tests

Signed-off-by: genofire <geno+dev@fireorbit.de>
all: generate disco features

Signed-off-by: Sam Whited <sam@samwhited.com>
design: update service discovery proposal

The previous plan to include a registry was a rather naive
implementation that would have required that the multiplexer and the
registry both have features registered against them, resulting in a lot
of boilerplate and potential for advertising features that don't exist
or failing to advertise features that do exist because we forgot one or
the other registration.

A new plan was created that uses the multiplexer as the registery so
that handlers regstered against the mux that also advertise features
can automatically respond to disco info requests.
The new plan has the added benefit of working with nested multiplexers
without further modification.

Signed-off-by: Sam Whited <sam@samwhited.com>
muc: write basic package level docs

This provides users with an entry point and a basic overview of the
packages philosophy so that they're not stuck wondering where to begin
or why the package doesn't keep track of joined users.

Fixes #145

Signed-off-by: Sam Whited <sam@samwhited.com>
muc: add method to set subject

Signed-off-by: Sam Whited <sam@samwhited.com>
muc: allow re-syncing rooms

Signed-off-by: Sam Whited <sam@samwhited.com>
muc: use new muc channel config

Signed-off-by: Sam Whited <sam@samwhited.com>
muc: fix broken tests

Don't check for the 110 status code, just check that we're expecting a

Signed-off-by: Sam Whited <sam@samwhited.com>
muc: add ability to set affiliation and handle changes

Signed-off-by: Sam Whited <sam@samwhited.com>
muc: new package

examples/im: use new muc package

Signed-off-by: Sam Whited <sam@samwhited.com>