-
Notifications
You must be signed in to change notification settings - Fork 428
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xeps/extensible sasl #4102
Xeps/extensible sasl #4102
Conversation
3961800
to
213c87f
Compare
This comment was marked as outdated.
This comment was marked as outdated.
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## feature/sasl2 #4102 +/- ##
=================================================
+ Coverage 83.91% 84.01% +0.09%
=================================================
Files 552 553 +1
Lines 33642 33818 +176
=================================================
+ Hits 28232 28411 +179
+ Misses 5410 5407 -3
☔ View full report in Codecov by Sentry. |
213c87f
to
a07be8f
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
aa95cc8
to
2a9b0ec
Compare
This comment was marked as outdated.
This comment was marked as outdated.
2a9b0ec
to
73ee398
Compare
This comment was marked as outdated.
This comment was marked as outdated.
73ee398
to
aadb65c
Compare
aadb65c
to
20c7b1d
Compare
This comment was marked as outdated.
This comment was marked as outdated.
20c7b1d
to
427909a
Compare
This comment was marked as outdated.
This comment was marked as outdated.
427909a
to
73194c3
Compare
This comment was marked as outdated.
This comment was marked as outdated.
a43a4b1
to
f79924f
Compare
6392e9b
to
6647141
Compare
This comment was marked as outdated.
This comment was marked as outdated.
6647141
to
5f9c4a2
Compare
This comment was marked as outdated.
This comment was marked as outdated.
5f9c4a2
to
14bde2d
Compare
This comment was marked as outdated.
This comment was marked as outdated.
14bde2d
to
898cc16
Compare
This comment was marked as outdated.
This comment was marked as outdated.
c9e30d8
to
f4eeb60
Compare
This comment was marked as outdated.
This comment was marked as outdated.
Note that 'handle_resume' now returns the values that has changed in a map on its own, instead of actually modifying the data or the accumulator, because it will be called from two places which have slightly different semantics, so we let the caller prepare the final return value instead.
f4eeb60
to
2ec78f1
Compare
elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / 2ec78f1 small_tests_24 / small_tests / 2ec78f1 small_tests_25 / small_tests / 2ec78f1 small_tests_25_arm64 / small_tests / 2ec78f1 ldap_mnesia_25 / ldap_mnesia / 2ec78f1 dynamic_domains_mysql_redis_25 / mysql_redis / 2ec78f1 dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 2ec78f1 ldap_mnesia_24 / ldap_mnesia / 2ec78f1 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 2ec78f1 internal_mnesia_25 / internal_mnesia / 2ec78f1 mysql_redis_25 / mysql_redis / 2ec78f1 carboncopy_SUITE:one2one:dropped_client_doesnt_create_duplicate_carbons{error,
{{badmatch,
[{xmlel,<<"message">>,
[{<<"from">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_564@localhost">>},
{<<"to">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_564@localhost/res2">>},
{<<"xmlns">>,<<"jabber:client">>},
{<<"type">>,<<"chat">>}],
[{xmlel,<<"sent">>,
[{<<"xmlns">>,<<"urn:xmpp:carbons:2">>}],
[{xmlel,<<"forwarded">>,
[{<<"xmlns">>,<<"urn:xmpp:forward:0">>}],
[{xmlel,<<"message">>,
[{<<"from">>,
<<"alice_dropped_client_doesnt_create_duplicate_carbons_564@localhost/res1">>},
{<<"to">>,
<<"bob_dropped_client_doesnt_create_duplicate_carbons_564@localhost/res1">>},
{<<"type">>,<<"chat">>},
{<<"xmlns">>,<<"jabber:client">>}],
[{xmlel,<<"body">>,[],
[{xmlcdata,
<<"And pious action">>}]}]}]}]}]}]},
[{carboncopy_SUITE,
'-dropped_client_doesnt_create_duplicate_carbons/1-fun-0-',4,
[{file,
"/home/circleci/project/big_tests/tests/carboncopy_SUITE.erl"},
{line,189}]},
{escalus_story,story,4,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,72}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_serv... pgsql_cets_25 / pgsql_cets / 2ec78f1 pgsql_mnesia_24 / pgsql_mnesia / 2ec78f1 dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 2ec78f1 connect_SUITE:fast_tls:feature_order:cannot_connect_with_proxy_header{error,
{thrown,
{{timeout,stream_end},
[{escalus_connection,get_stream_end,2,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
{line,370}]},
{escalus_connection,end_stream,1,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
{line,508}]},
{escalus_connection,stop,1,
[{file,
"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_connection.erl"},
{line,408}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1223}]}]}}} pgsql_mnesia_25 / pgsql_mnesia / 2ec78f1 mssql_mnesia_25 / odbc_mssql_mnesia / 2ec78f1 dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / 2ec78f1 mysql_redis_25 / mysql_redis / 2ec78f1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good in general, I like the usage of hooks. I added some minor comments.
This comment was marked as outdated.
This comment was marked as outdated.
b9b3314
to
b45636c
Compare
elasticsearch_and_cassandra_25 / elasticsearch_and_cassandra_mnesia / b45636c small_tests_24 / small_tests / b45636c small_tests_25_arm64 / small_tests / b45636c small_tests_25 / small_tests / b45636c ldap_mnesia_25 / ldap_mnesia / b45636c dynamic_domains_mysql_redis_25 / mysql_redis / b45636c ldap_mnesia_24 / ldap_mnesia / b45636c dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / b45636c dynamic_domains_mssql_mnesia_25 / odbc_mssql_mnesia / b45636c dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / b45636c pgsql_cets_25 / pgsql_cets / b45636c mysql_redis_25 / mysql_redis / b45636c carboncopy_SUITE:one2one:unavailable_resources_dont_get_carbons{error,
{{assertion_failed,assert_many,true,
[is_presence,is_presence],
[{xmlel,<<"message">>,
[{<<"from">>,
<<"alice_unavailable_resources_dont_get_carbons_566@localhost">>},
{<<"to">>,
<<"alice_unavailable_resources_dont_get_carbons_566@localhost/res1">>},
{<<"xmlns">>,<<"jabber:client">>},
{<<"type">>,<<"chat">>}],
[{xmlel,<<"received">>,
[{<<"xmlns">>,<<"urn:xmpp:carbons:2">>}],
[{xmlel,<<"forwarded">>,
[{<<"xmlns">>,<<"urn:xmpp:forward:0">>}],
[{xmlel,<<"message">>,
[{<<"from">>,
<<"bob_unavailable_resources_dont_get_carbons_566@localhost/res1">>},
{<<"to">>,
<<"alice_unavailable_resources_dont_get_carbons_566@localhost/res2">>},
{<<"type">>,<<"chat">>},
{<<"xmlns">>,<<"jabber:client">>}],
[{xmlel,<<"body">>,[],
[{xmlcdata,<<"And pious action">>}]}]}]}]}]},
{xmlel,<<"presence">>,
[{<<"from">>,
<<"alice_unavailable_resources_dont_get_carbons_566@localhost/res1">>},
{<<"to">>,
<<"alice_unavailable_resources_dont_get_carbons_566@localhost/res1">>}],
[]}],
" <message from='alice_unavailable_resources_dont_get_carbons_566@localhost' to='alice_unavailable_resources_dont_get_carbons_566@localhost/res1' xmlns='jabber:client' type='chat'><received xmlns='urn:xmpp:carbons:2'><forwarded... internal_mnesia_25 / internal_mnesia / b45636c pgsql_mnesia_24 / pgsql_mnesia / b45636c pgsql_mnesia_25 / pgsql_mnesia / b45636c mssql_mnesia_25 / odbc_mssql_mnesia / b45636c mysql_redis_25 / mysql_redis / b45636c |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good 👌
Thanks for the work, and for the corrections!
This PR introduces
mod_sasl2
, which of all points stated in the XEP-0388, for now only provides with improvements over the number of round-trips and the removal of the redundant stream restart. It also introduces stream-management session resumption within the inline features of SASL2. So it at least already introduces a faster session establishment, that is, 6 round-trips in the usual way vs only 2 round-trips now.Uses #4101, so it merges on top of it.