-
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
Feature/listeners #4452
base: master
Are you sure you want to change the base?
Feature/listeners #4452
Conversation
Note that components might register _any_ domain, even one not necessarily provided by a static config or a dynamically configured one. Hence it makes no sense to use the subdomains registration API as it was described in a TODO in `mod_disco:get_external_components/2`. Furthermore, when it comes to discovery, we want to leave all components as discoverable, regardless of whether the component is a subdomain of a static domain as it was previously done. The code filtering out unrelated parent domains comes from long before MongooseIM 1.0.0, as well as the option to set `extra_domains` to reenable visibility.
This option was used to make discoverable components that for a user might not have been discoverable given the domain was unrelated. This was so decided over a decade ago before MongooseIM 1.0.0, but I'd judge a better solution is to leave components as either entirely discoverable or entirely hidden by default, as components are usually dynamic and at the same time fully controllable at the deployment, and we can now have an infinite amount of domains for which a component can become a subdomain and hard-coding "extra_domains" for each static or dynamic domain is not feasible.
Xmpp services
This comment was marked as outdated.
This comment was marked as outdated.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4452 +/- ##
==========================================
+ Coverage 85.50% 85.55% +0.04%
==========================================
Files 559 562 +3
Lines 34065 34083 +18
==========================================
+ Hits 29128 29159 +31
+ Misses 4937 4924 -13 ☔ View full report in Codecov by Sentry. |
Components/dynamic domains
This comment was marked as outdated.
This comment was marked as outdated.
Services in the context of MongooseIM means something else.
…of transforming at runtime
Rename components as components instead of the old services
This comment was marked as outdated.
This comment was marked as outdated.
Components/tls
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Listeners — Remove fast_tls
This comment was marked as outdated.
This comment was marked as outdated.
Reimplement adding dynamic domains to components
This comment was marked as outdated.
This comment was marked as outdated.
In the future, when s2s state machines are reworked, we can work into unifying sockets for c2s, components, and s2s, as common XMPP modules.
Listeners/unification
This comment was marked as outdated.
This comment was marked as outdated.
elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / b828652 small_tests_26 / small_tests / b828652 small_tests_27 / small_tests / b828652 small_tests_27_arm64 / small_tests / b828652 ldap_mnesia_26 / ldap_mnesia / b828652 dynamic_domains_mysql_redis_27 / mysql_redis / b828652 ldap_mnesia_27 / ldap_mnesia / b828652 internal_mnesia_27 / internal_mnesia / b828652 dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / b828652 dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / b828652 dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / b828652 pgsql_cets_27 / pgsql_cets / b828652 mysql_redis_27 / mysql_redis / b828652 cockroachdb_cets_27 / cockroachdb_cets / b828652 pgsql_mnesia_26 / pgsql_mnesia / b828652 pgsql_mnesia_27 / pgsql_mnesia / b828652 mssql_mnesia_27 / odbc_mssql_mnesia / b828652 last_SUITE:valid_queries:last_online_user{error,
{test_case_failed,
{has_stanzas_but_shouldnt,
{client,<<"alice_unnamed_3781@localhost/res1">>,escalus_tcp,
<0.133762.0>,
[{event_manager,<0.133761.0>},
{server,<<"localhost">>},
{username,<<"alicE_unnamed_3781">>},
{resource,<<"res1">>}],
[{event_client,
[{event_manager,<0.133761.0>},
{server,<<"localhost">>},
{username,<<"alicE_unnamed_3781">>},
{resource,<<"res1">>}]},
{resource,<<"res1">>},
{username,<<"alice_unnamed_3781">>},
{server,<<"localhost">>},
{host,<<"localhost">>},
{port,5222},
{auth,fun escalus_auth:auth_plain/2},
{wspath,undefined},
{username,<<"alicE_unnamed_3781">>},
{server,<<"localhost">>},
{password,<<"matygrysa">>},
{stream_id,<<"5c635eb8758090d7">>}]},
[{xmlel,<<"presence">>,
[{<<"from">>,<<"bob_unnamed_3781@localhost/res1">>},
{<<"to">>,<<"alice_unnamed_3781@localhost/res1">>}],
[]}]}}} mssql_mnesia_27 / odbc_mssql_mnesia / b828652 |
elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / 63591f6 small_tests_26 / small_tests / 63591f6 small_tests_27 / small_tests / 63591f6 small_tests_27_arm64 / small_tests / 63591f6 ldap_mnesia_26 / ldap_mnesia / 63591f6 ldap_mnesia_27 / ldap_mnesia / 63591f6 dynamic_domains_mysql_redis_27 / mysql_redis / 63591f6 dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 63591f6 dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / 63591f6 internal_mnesia_27 / internal_mnesia / 63591f6 mysql_redis_27 / mysql_redis / 63591f6 pgsql_cets_27 / pgsql_cets / 63591f6 dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / 63591f6 cockroachdb_cets_27 / cockroachdb_cets / 63591f6 pgsql_mnesia_27 / pgsql_mnesia / 63591f6 mssql_mnesia_27 / odbc_mssql_mnesia / 63591f6 pgsql_mnesia_26 / pgsql_mnesia / 63591f6 |
Note that now we can use `erlang:alias/1` to ensure that this message doesn't come from anywhere else, so the `Ref` parameter is not needed to ensure uniqueness. This allows us to unify the c2s preparing options from all other submodules preparing so, and we can fix naming convention by simply `make_client_opts` vs `make_server_opts`. Note that the given `verify_fun` is just the default for the cases when `verify_mode` is `peer` or `none`, so only for `selfsigned_peer` it is needed to be provided explicitly. Also, the `verify_fun_wrapper` gets quite more readable this way.
elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / 829e566 gdpr_SUITE:retrieve_personal_data:retrieve_logs{error,{{badmatch,{error,enoent}},
[{gdpr_SUITE,'-retrieve_logs/1-fun-0-',2,
[{file,"/home/circleci/project/big_tests/tests/gdpr_SUITE.erl"},
{line,1546}]},
{escalus_story,story,4,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,75}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1794}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1303}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1235}]}]}} small_tests_26 / small_tests / 829e566 small_tests_27 / small_tests / 829e566 small_tests_27_arm64 / small_tests / 829e566 ldap_mnesia_26 / ldap_mnesia / 829e566 pubsub_SUITE:dag+node_config:send_last_published_item_test{error,{{badmatch,false},
[{pubsub_tools,check_response,2,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,445}]},
{pubsub_tools,receive_response,3,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,435}]},
{pubsub_tools,receive_and_check_response,4,
[{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
{line,425}]},
{pubsub_SUITE,'-send_last_published_item_test/1-fun-0-',2,
[{file,"/home/circleci/project/big_tests/tests/pubsub_SUITE.erl"},
{line,923}]},
{escalus_story,story,4,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
{line,75}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} ldap_mnesia_27 / ldap_mnesia / 829e566 internal_mnesia_27 / internal_mnesia / 829e566 dynamic_domains_mysql_redis_27 / mysql_redis / 829e566 dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 829e566 pgsql_cets_27 / pgsql_cets / 829e566 dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / 829e566 dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / 829e566 pgsql_mnesia_27 / pgsql_mnesia / 829e566 mysql_redis_27 / mysql_redis / 829e566 pgsql_mnesia_26 / pgsql_mnesia / 829e566 cockroachdb_cets_27 / cockroachdb_cets / 829e566 mssql_mnesia_27 / odbc_mssql_mnesia / 829e566 ldap_mnesia_26 / ldap_mnesia / 829e566 elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / 829e566 |
Improve the consistency of just_tls helpers
elasticsearch_and_cassandra_27 / elasticsearch_and_cassandra_mnesia / 1d45385 small_tests_27 / small_tests / 1d45385 small_tests_26 / small_tests / 1d45385 small_tests_27_arm64 / small_tests / 1d45385 ldap_mnesia_26 / ldap_mnesia / 1d45385 ldap_mnesia_27 / ldap_mnesia / 1d45385 dynamic_domains_mysql_redis_27 / mysql_redis / 1d45385 dynamic_domains_pgsql_mnesia_27 / pgsql_mnesia / 1d45385 internal_mnesia_27 / internal_mnesia / 1d45385 dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 1d45385 dynamic_domains_mssql_mnesia_27 / odbc_mssql_mnesia / 1d45385 pgsql_cets_27 / pgsql_cets / 1d45385 cockroachdb_cets_27 / cockroachdb_cets / 1d45385 mysql_redis_27 / mysql_redis / 1d45385 pgsql_mnesia_27 / pgsql_mnesia / 1d45385 pgsql_mnesia_26 / pgsql_mnesia / 1d45385 mssql_mnesia_27 / odbc_mssql_mnesia / 1d45385 |
No description provided.