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

Move auth config spec to auth backend modules #3437

Merged
merged 2 commits into from
Dec 8, 2021
Merged

Conversation

chrzaszcz
Copy link
Member

@chrzaszcz chrzaszcz commented Dec 8, 2021

Just like for modules and services, this keeps it more organized and simplifies future changes of auth handling, e.g. introducing defaults.

@mongoose-im
Copy link
Collaborator

mongoose-im commented Dec 8, 2021

small_tests_23 / small_tests / d0bbaec
Reports root / small


small_tests_24 / small_tests / d0bbaec
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / d0bbaec
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / d0bbaec
Reports root/ big
OK: 2709 / Failed: 0 / User-skipped: 203 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / d0bbaec
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / d0bbaec
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / d0bbaec
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / d0bbaec
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / d0bbaec
Reports root/ big
OK: 1587 / Failed: 0 / User-skipped: 301 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / d0bbaec
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / d0bbaec
Reports root/ big
OK: 1880 / Failed: 0 / User-skipped: 313 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / d0bbaec
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / d0bbaec
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / d0bbaec
Reports root/ big
OK: 3108 / Failed: 0 / User-skipped: 200 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / d0bbaec
Reports root/ big
OK: 1726 / Failed: 0 / User-skipped: 314 / Auto-skipped: 0

@codecov
Copy link

codecov bot commented Dec 8, 2021

Codecov Report

Merging #3437 (dc96af3) into master (c138fdc) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3437      +/-   ##
==========================================
- Coverage   80.82%   80.80%   -0.02%     
==========================================
  Files         414      415       +1     
  Lines       32312    32318       +6     
==========================================
- Hits        26115    26114       -1     
- Misses       6197     6204       +7     
Impacted Files Coverage Δ
src/vcard/mod_vcard.erl 80.22% <ø> (ø)
src/auth/ejabberd_auth.erl 83.24% <100.00%> (+0.09%) ⬆️
src/auth/ejabberd_auth_anonymous.erl 56.25% <100.00%> (+0.69%) ⬆️
src/auth/ejabberd_auth_dummy.erl 70.83% <100.00%> (+1.26%) ⬆️
src/auth/ejabberd_auth_external.erl 29.70% <100.00%> (+0.70%) ⬆️
src/auth/ejabberd_auth_http.erl 74.25% <100.00%> (+0.25%) ⬆️
src/auth/ejabberd_auth_jwt.erl 79.48% <100.00%> (+2.34%) ⬆️
src/auth/ejabberd_auth_ldap.erl 70.42% <100.00%> (+0.49%) ⬆️
src/auth/ejabberd_auth_rdbms.erl 57.22% <100.00%> (+0.25%) ⬆️
src/auth/ejabberd_auth_riak.erl 77.50% <100.00%> (+0.28%) ⬆️
... and 11 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 c138fdc...dc96af3. Read the comment docs.

@mongoose-im
Copy link
Collaborator

mongoose-im commented Dec 8, 2021

small_tests_24 / small_tests / 011412e
Reports root / small


small_tests_23 / small_tests / 011412e
Reports root / small


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 011412e
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / 011412e
Reports root/ big
OK: 2709 / Failed: 0 / User-skipped: 203 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 011412e
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 011412e
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 011412e
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 011412e
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 011412e
Reports root/ big
OK: 1587 / Failed: 0 / User-skipped: 301 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 011412e
Reports root/ big
OK: 1880 / Failed: 0 / User-skipped: 313 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 011412e
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 011412e
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 011412e
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 011412e
Reports root/ big
OK: 3108 / Failed: 0 / User-skipped: 200 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 011412e
Reports root/ big
OK: 1726 / Failed: 0 / User-skipped: 314 / Auto-skipped: 0

@chrzaszcz chrzaszcz force-pushed the auth-config-spec branch 2 times, most recently from 241e1be to 90f1ea5 Compare December 8, 2021 11:02
@mongoose-im
Copy link
Collaborator

mongoose-im commented Dec 8, 2021

small_tests_24 / small_tests / a5234d2
Reports root / small


small_tests_23 / small_tests / a5234d2
Reports root / small


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / a5234d2
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / a5234d2
Reports root/ big
OK: 2709 / Failed: 0 / User-skipped: 203 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / a5234d2
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / a5234d2
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / a5234d2
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / a5234d2
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / a5234d2
Reports root/ big
OK: 1587 / Failed: 0 / User-skipped: 301 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / a5234d2
Reports root/ big
OK: 1880 / Failed: 0 / User-skipped: 313 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / a5234d2
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / a5234d2
Reports root/ big
OK: 3108 / Failed: 0 / User-skipped: 200 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / a5234d2
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / a5234d2
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / a5234d2
Reports root/ big
OK: 1726 / Failed: 0 / User-skipped: 314 / Auto-skipped: 0

@mongoose-im
Copy link
Collaborator

mongoose-im commented Dec 8, 2021

small_tests_24 / small_tests / 90f1ea5
Reports root / small


small_tests_23 / small_tests / 90f1ea5
Reports root / small


dynamic_domains_mysql_redis_24 / mysql_redis / 90f1ea5
Reports root/ big
OK: 2709 / Failed: 0 / User-skipped: 203 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 90f1ea5
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 90f1ea5
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 90f1ea5
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 90f1ea5
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 90f1ea5
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 90f1ea5
Reports root/ big
OK: 1587 / Failed: 0 / User-skipped: 301 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 90f1ea5
Reports root/ big
OK: 1880 / Failed: 0 / User-skipped: 313 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 90f1ea5
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 90f1ea5
Reports root/ big
OK: 3108 / Failed: 0 / User-skipped: 200 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 90f1ea5
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / 90f1ea5
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 90f1ea5
Reports root/ big
OK: 1726 / Failed: 0 / User-skipped: 314 / Auto-skipped: 0

@chrzaszcz chrzaszcz marked this pull request as ready for review December 8, 2021 11:40
This way it will be easier to introduce defaults and reuse code.
Currently it has mostly auth-related options,
but the goal is to unify the common parts of LDAP configuration
for auth, mod_shared_roster_ldap and mod_vcard.
@mongoose-im
Copy link
Collaborator

mongoose-im commented Dec 8, 2021

small_tests_24 / small_tests / f708bc7
Reports root / small


small_tests_23 / small_tests / f708bc7
Reports root / small


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / f708bc7
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / f708bc7
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / f708bc7
Reports root/ big
OK: 2709 / Failed: 0 / User-skipped: 203 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / f708bc7
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / f708bc7
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / f708bc7
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / f708bc7
Reports root/ big
OK: 1587 / Failed: 0 / User-skipped: 301 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / f708bc7
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / f708bc7
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / f708bc7
Reports root/ big
OK: 1887 / Failed: 1 / User-skipped: 313 / Auto-skipped: 0

sm_SUITE:parallel_manual_ack_freq_1:resume_session_state_stop_c2s
{error,{thrown,{timeout,msg}}}

Report log


mssql_mnesia_24 / odbc_mssql_mnesia / f708bc7
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / f708bc7
Reports root/ big
OK: 3108 / Failed: 0 / User-skipped: 200 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / f708bc7
Reports root/ big
OK: 1726 / Failed: 0 / User-skipped: 314 / Auto-skipped: 0

@mongoose-im
Copy link
Collaborator

mongoose-im commented Dec 8, 2021

small_tests_24 / small_tests / 69640b1
Reports root / small


small_tests_23 / small_tests / 69640b1
Reports root / small


dynamic_domains_mysql_redis_24 / mysql_redis / 69640b1
Reports root/ big
OK: 2709 / Failed: 0 / User-skipped: 203 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / 69640b1
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / 69640b1
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / 69640b1
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / 69640b1
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / 69640b1
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / 69640b1
Reports root/ big
OK: 1587 / Failed: 0 / User-skipped: 301 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / 69640b1
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / 69640b1
Reports root/ big
OK: 1887 / Failed: 1 / User-skipped: 313 / Auto-skipped: 0

sm_SUITE:parallel_manual_ack_freq_1:resume_session_state_stop_c2s
{error,{thrown,{timeout,msg}}}

Report log


pgsql_mnesia_24 / pgsql_mnesia / 69640b1
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / 69640b1
Reports root/ big
OK: 3108 / Failed: 0 / User-skipped: 200 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / 69640b1
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / 69640b1
Reports root/ big
OK: 1733 / Failed: 1 / User-skipped: 314 / Auto-skipped: 0

sm_SUITE:parallel_manual_ack_freq_1:resume_session_state_stop_c2s
{error,{thrown,{timeout,msg}}}

Report log

@mongoose-im
Copy link
Collaborator

mongoose-im commented Dec 8, 2021

small_tests_24 / small_tests / dc96af3
Reports root / small


small_tests_23 / small_tests / dc96af3
Reports root / small


dynamic_domains_pgsql_mnesia_23 / pgsql_mnesia / dc96af3
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_24 / odbc_mssql_mnesia / dc96af3
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_24 / pgsql_mnesia / dc96af3
Reports root/ big
OK: 2726 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0


dynamic_domains_mysql_redis_24 / mysql_redis / dc96af3
Reports root/ big
OK: 2709 / Failed: 0 / User-skipped: 203 / Auto-skipped: 0


ldap_mnesia_23 / ldap_mnesia / dc96af3
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


ldap_mnesia_24 / ldap_mnesia / dc96af3
Reports root/ big
OK: 1502 / Failed: 0 / User-skipped: 386 / Auto-skipped: 0


internal_mnesia_24 / internal_mnesia / dc96af3
Reports root/ big
OK: 1587 / Failed: 0 / User-skipped: 301 / Auto-skipped: 0


mysql_redis_24 / mysql_redis / dc96af3
Reports root/ big
OK: 3108 / Failed: 0 / User-skipped: 200 / Auto-skipped: 0


pgsql_mnesia_24 / pgsql_mnesia / dc96af3
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


pgsql_mnesia_23 / pgsql_mnesia / dc96af3
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


elasticsearch_and_cassandra_24 / elasticsearch_and_cassandra_mnesia / dc96af3
Reports root/ big
OK: 1880 / Failed: 0 / User-skipped: 313 / Auto-skipped: 0


mssql_mnesia_24 / odbc_mssql_mnesia / dc96af3
Reports root/ big
OK: 3113 / Failed: 0 / User-skipped: 195 / Auto-skipped: 0


riak_mnesia_24 / riak_mnesia / dc96af3
Reports root/ big
OK: 1726 / Failed: 0 / User-skipped: 314 / Auto-skipped: 0

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.

I'm all in for this, excellent 👌🏽

Comment on lines +470 to +471
Items = maps:from_list([{a2b(Method), ejabberd_auth:config_spec(Method)} ||
Method <- all_auth_methods()]),
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is the only part that feels like a hack, and still, it's so much cleaner than before. Have modules do their own configs, yay! 🎉

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, I know it's not that clean, but it's the same as for modules and services.

@NelsonVides NelsonVides merged commit e1e1e08 into master Dec 8, 2021
@NelsonVides NelsonVides deleted the auth-config-spec branch December 8, 2021 13:07
@Premwoik Premwoik modified the milestone: 5.1.0 May 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants