Skip to content
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

Allow to customize auth module list per listener #3539

Merged
merged 4 commits into from
Feb 14, 2022

Conversation

arcusfelis
Copy link
Contributor

@arcusfelis arcusfelis commented Feb 10, 2022

This PR addresses "Allow to specify auth modules per a listener".

Proposed changes include:

  • Calculate a list of auth modules once on creds initialization
  • Added type for listener options
  • Added a new option allowed_auth_methods

@arcusfelis arcusfelis marked this pull request as draft February 10, 2022 09:26
@mongoose-im
Copy link
Collaborator

mongoose-im commented Feb 10, 2022

small_tests_24 / small_tests / 826adac
Reports root / small


small_tests_23 / small_tests / 826adac
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 826adac
Reports root/ big
OK: 2698 / Failed: 0 / User-skipped: 239 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 826adac
Reports root/ big
OK: 2681 / Failed: 0 / User-skipped: 256 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 826adac
Reports root/ big
OK: 2698 / Failed: 0 / User-skipped: 239 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 826adac
Reports root/ big
OK: 2698 / Failed: 0 / User-skipped: 239 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 826adac
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 826adac
Reports root/ big
OK: 1506 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 826adac
Reports root/ big
OK: 1547 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 826adac
Reports root/ big
OK: 3091 / Failed: 0 / User-skipped: 248 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 826adac
Reports root/ big
OK: 3091 / Failed: 0 / User-skipped: 248 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 826adac
Reports root/ big
OK: 1851 / Failed: 1 / User-skipped: 365 / Auto-skipped: 0

push_SUITE:toggling:disable_all_nodes_removes_it_from_all_user_session_infos
{error,{{badmatch,{{jid,<<"pub-sub">>,
            <<"disable_all_nodes_removes_it_from_all_user_session_infos_99.475733">>,
            <<>>,<<"pub-sub">>,
            <<"disable_all_nodes_removes_it_from_all_user_session_infos_99.475733">>,
            <<>>},
           <<"princely_musings_JTq8bvX.2kQ=">>,[]}},
    [{push_SUITE,'-disable_all_nodes_removes_it_from_all_user_session_infos/1-fun-0-',
           3,
           [{file,"/home/circleci/project/big_tests/tests/push_SUITE.erl"},
            {line,417}]},
     {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,1783}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1292}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,1224}]}]}}

Report log


mssql_mnesia_24 / odbc_mssql_mnesia / 826adac
Reports root/ big
OK: 3091 / Failed: 0 / User-skipped: 248 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 826adac
Reports root/ big
OK: 3086 / Failed: 0 / User-skipped: 253 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 826adac
Reports root/ big
OK: 1686 / Failed: 0 / User-skipped: 364 / Auto-skipped: 0

@codecov
Copy link

codecov bot commented Feb 10, 2022

Codecov Report

Merging #3539 (48e9f2f) into master (2e6458c) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3539      +/-   ##
==========================================
- Coverage   81.07%   81.06%   -0.01%     
==========================================
  Files         419      419              
  Lines       32298    32309      +11     
==========================================
+ Hits        26184    26190       +6     
- Misses       6114     6119       +5     
Impacted Files Coverage Δ
src/config/mongoose_config_spec.erl 99.21% <ø> (ø)
src/ejabberd_listener.erl 61.70% <ø> (ø)
src/ejabberd_socket.erl 55.68% <ø> (ø)
src/mongoose_listener_config.erl 92.85% <ø> (ø)
src/mongoose_tcp_listener.erl 76.59% <ø> (ø)
src/auth/ejabberd_auth.erl 83.42% <100.00%> (+0.18%) ⬆️
src/ejabberd_c2s.erl 88.67% <100.00%> (+<0.01%) ⬆️
src/mongoose_client_api/mongoose_client_api.erl 67.27% <100.00%> (ø)
src/mongoose_credentials.erl 95.65% <100.00%> (+2.31%) ⬆️
src/elasticsearch/mongoose_elasticsearch.erl 76.92% <0.00%> (-7.70%) ⬇️
... and 10 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2e6458c...48e9f2f. Read the comment docs.

@arcusfelis arcusfelis changed the title Allow to customize auth module list [WIP] Allow to customize auth module list per listener Feb 11, 2022
@mongoose-im
Copy link
Collaborator

mongoose-im commented Feb 11, 2022

small_tests_24 / small_tests / 45a488b
Reports root / small


small_tests_23 / small_tests / 45a488b
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 45a488b
Reports root/ big
OK: 2701 / Failed: 0 / User-skipped: 239 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 45a488b
Reports root/ big
OK: 2701 / Failed: 0 / User-skipped: 239 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 45a488b
Reports root/ big
OK: 2684 / Failed: 0 / User-skipped: 256 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 45a488b
Reports root/ big
OK: 2701 / Failed: 0 / User-skipped: 239 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 45a488b
Reports root/ big
OK: 1509 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 45a488b
Reports root/ big
OK: 1509 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 45a488b
Reports root/ big
OK: 1550 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 45a488b
Reports root/ big
OK: 3094 / Failed: 0 / User-skipped: 248 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 45a488b
Reports root/ big
OK: 3089 / Failed: 0 / User-skipped: 253 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 45a488b
Reports root/ big
OK: 3094 / Failed: 0 / User-skipped: 248 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 45a488b
Reports root/ big
OK: 1843 / Failed: 0 / User-skipped: 365 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 45a488b
Reports root/ big
OK: 3094 / Failed: 0 / User-skipped: 248 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 45a488b
Reports root/ big
OK: 1689 / Failed: 0 / User-skipped: 364 / Auto-skipped: 0

@mongoose-im
Copy link
Collaborator

mongoose-im commented Feb 11, 2022

small_tests_24 / small_tests / 48e9f2f
Reports root / small


small_tests_23 / small_tests / 48e9f2f
Reports root / small


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 48e9f2f
Reports root/ big
OK: 2701 / Failed: 0 / User-skipped: 239 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 48e9f2f
Reports root/ big
OK: 2701 / Failed: 0 / User-skipped: 239 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 48e9f2f
Reports root/ big
OK: 2684 / Failed: 0 / User-skipped: 256 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 48e9f2f
Reports root/ big
OK: 1509 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 48e9f2f
Reports root/ big
OK: 2701 / Failed: 0 / User-skipped: 239 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 48e9f2f
Reports root/ big
OK: 1550 / Failed: 0 / User-skipped: 349 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 48e9f2f
Reports root/ big
OK: 1509 / Failed: 0 / User-skipped: 390 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 48e9f2f
Reports root/ big
OK: 3094 / Failed: 0 / User-skipped: 248 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 48e9f2f
Reports root/ big
OK: 3094 / Failed: 0 / User-skipped: 248 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 48e9f2f
Reports root/ big
OK: 3089 / Failed: 0 / User-skipped: 253 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 48e9f2f
Reports root/ big
OK: 3094 / Failed: 0 / User-skipped: 248 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 48e9f2f
Reports root/ big
OK: 1843 / Failed: 0 / User-skipped: 365 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 48e9f2f
Reports root/ big
OK: 1689 / Failed: 0 / User-skipped: 364 / Auto-skipped: 0

@arcusfelis arcusfelis marked this pull request as ready for review February 11, 2022 18:21
Copy link
Collaborator

@NelsonVides NelsonVides left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👌🏽

init_per_testcase(TC, Config) ->
Spec = escalus_fresh:freshen_spec(Config, alice),
Clean = register_internal_user(Spec),
[{clean_fn, Clean}, {spec, Spec}|escalus:init_per_testcase(TC, Config)].
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spaces

@NelsonVides NelsonVides merged commit 414cad3 into master Feb 14, 2022
@NelsonVides NelsonVides deleted the mu-auth-mods-override branch February 14, 2022 11:36
@Premwoik Premwoik added this to the 5.1.0 milestone May 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants