~samwhited/xmpp

.builds: re-enable ejabberd integration tests

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: always set "from" on s2s stanzas

Per RFC6120 § 4.7.1

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: add s2s state bit

Fixes #76

Signed-off-by: Sam Whited <sam@samwhited.com>
all: update changelog with s2s package

Signed-off-by: Sam Whited <sam@samwhited.com>
s2s: add bidi implementation

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: use new internal feature testing code

Signed-off-by: Sam Whited <sam@samwhited.com>
internal/xmpptest: make feature testing public

This will allow feature testing to be used outside of the xmpp package
for features defined in child directories.

Signed-off-by: Sam Whited <sam@samwhited.com>
examples/im: parse and respect XMPP URIs

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: update supported RFCs

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: add missing methods to changelog

Signed-off-by: Sam Whited <sam@samwhited.com>
examples: run go mod tidy

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: add methods to access stream IDs

Fixes #85

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: add an integration test for a SASL server

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: add more resource binding tests

Use the new(ish) stream feature test helper to test the BindCustom
feature.

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: support stream features that use IQs

Previously we were passing the start token in as the data parameter for
server side features, but this made us have to awkwardly reconstruct it
to the stream on any feature that needed it. Instead have the Negotiator
put the start element back on the stream before handing it off to the
stream feature.

This also allows stream features that use IQs such as resource binding
and legacy in-band registration by first popping the IQ token and
matching based on the payload instead of the stanza start.
This allows the server side of resource binding to work at long last.

Fixes #97

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: fix error comparison in tests

This isn't a great way to do things, but when using errors.New it's the
only way to compare things as far as I'm aware.

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: improve some error messages

A number of functions return stream errors due to an old API that was
never actually used in this library and a lot of copy/paste even though
no stream error was encountered. This patch fixes a handful of these
errors to return meaningful error messages that make debugging easier
and don't lead to confusion about stream errors being transmitted when
the other side did no such thing.

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: remove bare return in StartTLS feature

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: implement server side of SASL

Fixes #60

Signed-off-by: Sam Whited <sam@samwhited.com>
internal/integration/mellium: fix deadlock

Fix a deadlock where stream features were previous transmitted over
stdin which doesn't work because they contain functions.
Also add a LogXML option to make debugging easier.

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