Xep 0198 s2s
Pull request
This is the pull request for "server-to-Server Stream Management Support for ejabberd" GSOC 2017 project.
During GSOC 2017 mod_stream_mgmt_s2s was implemented. To view documentation for server-to-server stream management module follow link:
https://github.com/Amuhar/docs_for_0198_s2s/blob/master/mod_stream_mgmt_s2s.md
Tests for server part of implementation are provided (module sms2s_tests).
Thanks.
We should look into at least the following issues (I didn't get to review the code until yesterday due to my vacation, so Anna couldn't address these things earlier):
- The client part of the code currently sends the
<enable/>request without checking for the stream feature. We should checks2s_out_authenticated_features(the PR contains code for this, but it's commented out). This means that stream management won't be negotiated for dialback-authenticated connections, though. (XEP-0198 was written withc2sconnections in mind and doesn't mention this issue.) - If the queue exceeds the limit, the connection should be killed. Currently, only an error message is sent (to the remote server rather than the sender).
- If the remote server specifies a
locationattribute, the code should honor this. - The module shouldn't access the Mnesia table
s2sdirectly. - At least parts of the code could be merged with
mod_stream_mgmt. - Test cases for the
s2s_out(the stream management client) code should be added. This requires some changes to our current test infrastructure.
Nice job in GSoC this year!
@weiss Not sure if you still have plan to merge this patch. Please, let us know :)
There is a talk about XEP-0198, can you look?
- https://social.anoxinon.de/@jabberati/111656400619077295
Thanks in advance.
Linked to:
- https://www.process-one.net/blog/server-to-server-stream-management-support/
- https://www.process-one.net/blog/ejabberd-17-03/
- https://www.process-one.net/blog/ejabberd-community-14-05/
- https://www.process-one.net/en/ejabberd/protocols/