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

mongoose_c2s prototype #3729

Merged
merged 56 commits into from
Sep 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
b5a4b78
Prepare a new C2S prototype
NelsonVides May 30, 2022
4ef90fb
Implement a new barebones c2s process
NelsonVides May 30, 2022
292777f
Keep the sasl state in the statem state, not in the statem data
NelsonVides May 30, 2022
0da72e4
Accept <session> in a backwards compatible way
NelsonVides May 30, 2022
a300fbe
Accept proxy protocol in the listener when configured
NelsonVides May 30, 2022
ce03994
stream starm to be accepted only on the stream_start state
NelsonVides May 30, 2022
74a56e0
Hide server if configured
NelsonVides May 30, 2022
46f6f33
Test session replacement logic
NelsonVides May 30, 2022
901a2a3
Enable starting a tls listener
NelsonVides Jun 2, 2022
9630dd0
Implement shapers
NelsonVides Jun 2, 2022
fd1e1d1
Implement hibernate_after using gen_statem and ssl parameter
NelsonVides Jun 3, 2022
dd0ab77
Implement ip blacklisting and proxy with ssl
NelsonVides Jun 3, 2022
02790b6
Add c2s state timeouts
NelsonVides Jun 6, 2022
e77547a
Prepare new c2s hooks and add the first handlers
NelsonVides Jun 8, 2022
42f193f
Prepare hooks and handlers state
NelsonVides Aug 11, 2022
fa6dc64
Move c2s files to c2s dir
NelsonVides Jun 16, 2022
e7e241c
Trigger connect event in a more automatic way
NelsonVides Jun 16, 2022
0e56acb
Extend gen_hook types
NelsonVides Jun 17, 2022
a768afc
Define a full eventing interface for mongoose_c2s hooks
NelsonVides Jun 17, 2022
3655e76
Rework how retries and handle results work in c2s
NelsonVides Jun 17, 2022
3b2a91c
Add xmlstreamerror for consistency with other stream records
NelsonVides Aug 5, 2022
5c7597c
Fix ejabberd_sm updating the acc with the full stanza details
NelsonVides Aug 5, 2022
b9089a1
Encapsulate requests to the statem engine
NelsonVides Aug 5, 2022
488c9ca
Extend and reorder mongoose_c2s
NelsonVides Aug 7, 2022
b145d5c
Configure the new listener extensively
NelsonVides Aug 5, 2022
8594543
Implement acl login checks in the user_open_session hook
NelsonVides Aug 17, 2022
22c9b4a
Carbons: fix inserting from and to early in c2s
NelsonVides Aug 16, 2022
63a7540
C2S implement socket abstraction
NelsonVides Aug 17, 2022
da68954
Properly rename state machine data as _data_
NelsonVides Sep 1, 2022
04ae25d
Add start_link interface to mongoose_c2s
NelsonVides Sep 1, 2022
b7a774e
Extract infos and timeouts from the big handle_event
NelsonVides Sep 1, 2022
ffd81ad
Rename close_socket to simpler close
NelsonVides Aug 18, 2022
e9c71f9
Rename c2s handlers to state_mod
NelsonVides Sep 2, 2022
409b6e5
Update escalus
NelsonVides Jun 2, 2022
0298b36
Fix ranch in global_distrib
NelsonVides Jun 1, 2022
c979080
Temporarily bypass xref unused new modules
NelsonVides Sep 3, 2022
f23f212
Run new c2s framework
NelsonVides Sep 3, 2022
dcdf1b2
Fix login tests in c2s
NelsonVides Aug 18, 2022
5df3215
Temporary rework of tests
NelsonVides Sep 7, 2022
ca19934
Fix process alive check over distribution
NelsonVides Sep 15, 2022
2a56815
Rename variables and function names for c2s_acc
NelsonVides Sep 16, 2022
17a6ed0
Create temporary type including ejabberd_c2s and mongoose_c2s datas
NelsonVides Sep 16, 2022
46ff97b
Better type cyrsasl results
NelsonVides Sep 16, 2022
6e0cbb1
Make new hook names consistent with the parent they branch off from
NelsonVides Sep 16, 2022
90deb6d
Rename incoming/outgoing to to_client/from_client
NelsonVides Sep 16, 2022
f7ea1ca
fix xref for c2s_stanzas
NelsonVides Sep 16, 2022
a4dcf7c
Rename handler for the listener's user_open_session
NelsonVides Sep 16, 2022
0113245
Reorder API and statem callbacks and other minor changes
NelsonVides Sep 16, 2022
7323d0a
MYNAME is not a host_type
NelsonVides Sep 16, 2022
8a6a7fa
Move c2s_state_timeout as a listener opt
NelsonVides Sep 19, 2022
3924392
Rename reuseport to reuse_port
NelsonVides Sep 19, 2022
73aea76
Fix tests for c2s listener
NelsonVides Sep 19, 2022
7300e35
Move c2s_preprocessing_hook into mongoose_c2s_hooks
NelsonVides Sep 19, 2022
225849a
Refactoring mongoose_c2s_acc
NelsonVides Sep 19, 2022
90d2b91
Fix max_stanza_size in config
NelsonVides Sep 19, 2022
3d7a35a
Fix small-tests where they depended on the old ranch
NelsonVides Sep 19, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
198 changes: 100 additions & 98 deletions big_tests/default.spec
Original file line number Diff line number Diff line change
Expand Up @@ -12,106 +12,108 @@
%% do not remove below SUITE if testing mongoose
{suites, "tests", mongoose_sanity_checks_SUITE}.

{suites, "tests", acc_e2e_SUITE}.
{suites, "tests", accounts_SUITE}.
{suites, "tests", adhoc_SUITE}.
{suites, "tests", amp_big_SUITE}.
{suites, "tests", anonymous_SUITE}.
{suites, "tests", bosh_SUITE}.
{suites, "tests", carboncopy_SUITE}.
{suites, "tests", cluster_commands_SUITE}.
{suites, "tests", component_SUITE}.
{suites, "tests", connect_SUITE}.
{suites, "tests", disco_and_caps_SUITE}.
{suites, "tests", extdisco_SUITE}.
{suites, "tests", gdpr_SUITE}.
{suites, "tests", graphql_SUITE}.
{suites, "tests", graphql_account_SUITE}.
{suites, "tests", graphql_domain_SUITE}.
{suites, "tests", graphql_inbox_SUITE}.
{suites, "tests", graphql_last_SUITE}.
{suites, "tests", graphql_muc_SUITE}.
{suites, "tests", graphql_muc_light_SUITE}.
{suites, "tests", graphql_offline_SUITE}.
{suites, "tests", graphql_private_SUITE}.
{suites, "tests", graphql_roster_SUITE}.
{suites, "tests", graphql_session_SUITE}.
{suites, "tests", graphql_stanza_SUITE}.
{suites, "tests", graphql_stats_SUITE}.
{suites, "tests", graphql_gdpr_SUITE}.
{suites, "tests", graphql_token_SUITE}.
{suites, "tests", graphql_mnesia_SUITE}.
{suites, "tests", graphql_vcard_SUITE}.
{suites, "tests", graphql_http_upload_SUITE}.
{suites, "tests", graphql_metric_SUITE}.
{suites, "tests", inbox_SUITE}.
{suites, "tests", inbox_extensions_SUITE}.
{suites, "tests", jingle_SUITE}.
{suites, "tests", last_SUITE}.
{suites, "tests", login_SUITE}.
{suites, "tests", mam_SUITE}.
{suites, "tests", mim_c2s_SUITE}.

% {suites, "tests", acc_e2e_SUITE}.
% {suites, "tests", accounts_SUITE}.
% {suites, "tests", adhoc_SUITE}.
% {suites, "tests", amp_big_SUITE}.
% {suites, "tests", anonymous_SUITE}.
% {suites, "tests", bosh_SUITE}.
% {suites, "tests", carboncopy_SUITE}.
% {suites, "tests", cluster_commands_SUITE}.
% {suites, "tests", component_SUITE}.
% {suites, "tests", connect_SUITE}.
% {suites, "tests", disco_and_caps_SUITE}.
% {suites, "tests", extdisco_SUITE}.
% {suites, "tests", gdpr_SUITE}.
% {suites, "tests", graphql_SUITE}.
% {suites, "tests", graphql_account_SUITE}.
% {suites, "tests", graphql_domain_SUITE}.
% {suites, "tests", graphql_inbox_SUITE}.
% {suites, "tests", graphql_last_SUITE}.
% {suites, "tests", graphql_muc_SUITE}.
% {suites, "tests", graphql_muc_light_SUITE}.
% {suites, "tests", graphql_offline_SUITE}.
% {suites, "tests", graphql_private_SUITE}.
% {suites, "tests", graphql_roster_SUITE}.
% {suites, "tests", graphql_session_SUITE}.
% {suites, "tests", graphql_stanza_SUITE}.
% {suites, "tests", graphql_stats_SUITE}.
% {suites, "tests", graphql_gdpr_SUITE}.
% {suites, "tests", graphql_token_SUITE}.
% {suites, "tests", graphql_mnesia_SUITE}.
% {suites, "tests", graphql_vcard_SUITE}.
% {suites, "tests", graphql_http_upload_SUITE}.
% {suites, "tests", graphql_metric_SUITE}.
% {suites, "tests", inbox_SUITE}.
% {suites, "tests", inbox_extensions_SUITE}.
% {suites, "tests", jingle_SUITE}.
% {suites, "tests", last_SUITE}.
% {suites, "tests", login_SUITE}.
% {suites, "tests", mam_SUITE}.
{suites, "tests", mam_proper_SUITE}.
{suites, "tests", metrics_api_SUITE}.
{suites, "tests", metrics_c2s_SUITE}.
{suites, "tests", metrics_register_SUITE}.
{suites, "tests", metrics_roster_SUITE}.
{suites, "tests", metrics_session_SUITE}.
{suites, "tests", mod_blocking_SUITE}.
{suites, "tests", mod_event_pusher_rabbit_SUITE}.
{suites, "tests", mod_event_pusher_http_SUITE}.
{suites, "tests", mod_event_pusher_sns_SUITE}.
{suites, "tests", mod_global_distrib_SUITE}.
{suites, "tests", mod_http_upload_SUITE}.
{suites, "tests", mod_ping_SUITE}.
{suites, "tests", mod_time_SUITE}.
{suites, "tests", mod_version_SUITE}.
{suites, "tests", mongoose_cassandra_SUITE}.
{suites, "tests", mongoose_elasticsearch_SUITE}.
{suites, "tests", mongooseimctl_SUITE}.
{suites, "tests", muc_SUITE}.
{suites, "tests", muc_http_api_SUITE}.
{suites, "tests", muc_light_SUITE}.
{suites, "tests", muc_light_http_api_SUITE}.
{suites, "tests", muc_light_legacy_SUITE}.
{suites, "tests", oauth_SUITE}.
{suites, "tests", offline_stub_SUITE}.
{suites, "tests", offline_SUITE}.
{suites, "tests", pep_SUITE}.
% {suites, "tests", metrics_api_SUITE}.
% {suites, "tests", metrics_c2s_SUITE}.
% {suites, "tests", metrics_register_SUITE}.
% {suites, "tests", metrics_roster_SUITE}.
% {suites, "tests", metrics_session_SUITE}.
% {suites, "tests", mod_blocking_SUITE}.
% {suites, "tests", mod_event_pusher_rabbit_SUITE}.
% {suites, "tests", mod_event_pusher_http_SUITE}.
% {suites, "tests", mod_event_pusher_sns_SUITE}.
% {suites, "tests", mod_global_distrib_SUITE}.
% {suites, "tests", mod_http_upload_SUITE}.
% {suites, "tests", mod_ping_SUITE}.
% {suites, "tests", mod_time_SUITE}.
% {suites, "tests", mod_version_SUITE}.
% {suites, "tests", mongoose_cassandra_SUITE}.
% {suites, "tests", mongoose_elasticsearch_SUITE}.
% {suites, "tests", mongooseimctl_SUITE}.
% {suites, "tests", muc_SUITE}.
% {suites, "tests", muc_http_api_SUITE}.
% {suites, "tests", muc_light_SUITE}.
% {suites, "tests", muc_light_http_api_SUITE}.
% {suites, "tests", muc_light_legacy_SUITE}.
% {suites, "tests", oauth_SUITE}.
% {suites, "tests", offline_stub_SUITE}.
% {suites, "tests", offline_SUITE}.
% {suites, "tests", pep_SUITE}.
{suites, "tests", persistent_cluster_id_SUITE}.
{suites, "tests", presence_SUITE}.
{suites, "tests", privacy_SUITE}.
{suites, "tests", private_SUITE}.
{suites, "tests", pubsub_SUITE}.
{suites, "tests", pubsub_s2s_SUITE}.
{suites, "tests", push_SUITE}.
{suites, "tests", push_http_SUITE}.
{suites, "tests", push_integration_SUITE}.
{suites, "tests", push_pubsub_SUITE}.
{suites, "tests", race_conditions_SUITE}.
{suites, "tests", rdbms_SUITE}.
{suites, "tests", rest_SUITE}.
{suites, "tests", rest_client_SUITE}.
{suites, "tests", s2s_SUITE}.
{suites, "tests", sasl_SUITE}.
{suites, "tests", sasl_external_SUITE}.
{suites, "tests", service_mongoose_system_metrics_SUITE}.
{suites, "tests", shared_roster_SUITE}.
{suites, "tests", sic_SUITE}.
{suites, "tests", smart_markers_SUITE}.
{suites, "tests", sm_SUITE}.
{suites, "tests", users_api_SUITE}.
{suites, "tests", vcard_SUITE}.
{suites, "tests", vcard_simple_SUITE}.
{suites, "tests", websockets_SUITE}.
{suites, "tests", xep_0352_csi_SUITE}.
{suites, "tests", service_domain_db_SUITE}.
{suites, "tests", domain_isolation_SUITE}.
{suites, "tests", domain_removal_SUITE}.
{suites, "tests", mam_send_message_SUITE}.
{suites, "tests", dynamic_domains_SUITE}.
{suites, "tests", auth_methods_for_c2s_SUITE}.
{suites, "tests", local_iq_SUITE}.
{suites, "tests", tcp_listener_SUITE}.
% {suites, "tests", presence_SUITE}.
% {suites, "tests", privacy_SUITE}.
% {suites, "tests", private_SUITE}.
% {suites, "tests", pubsub_SUITE}.
% {suites, "tests", pubsub_s2s_SUITE}.
% {suites, "tests", push_SUITE}.
% {suites, "tests", push_http_SUITE}.
% {suites, "tests", push_integration_SUITE}.
% {suites, "tests", push_pubsub_SUITE}.
% {suites, "tests", race_conditions_SUITE}.
% {suites, "tests", rdbms_SUITE}.
% {suites, "tests", rest_SUITE}.
% {suites, "tests", rest_client_SUITE}.
% {suites, "tests", s2s_SUITE}.
% {suites, "tests", sasl_SUITE}.
% {suites, "tests", sasl_external_SUITE}.
% {suites, "tests", service_mongoose_system_metrics_SUITE}.
% {suites, "tests", shared_roster_SUITE}.
% {suites, "tests", sic_SUITE}.
% {suites, "tests", smart_markers_SUITE}.
% {suites, "tests", sm_SUITE}.
% {suites, "tests", users_api_SUITE}.
% {suites, "tests", vcard_SUITE}.
% {suites, "tests", vcard_simple_SUITE}.
% {suites, "tests", websockets_SUITE}.
% {suites, "tests", xep_0352_csi_SUITE}.
% {suites, "tests", service_domain_db_SUITE}.
% {suites, "tests", domain_isolation_SUITE}.
% {suites, "tests", domain_removal_SUITE}.
% {suites, "tests", mam_send_message_SUITE}.
% {suites, "tests", dynamic_domains_SUITE}.
% {suites, "tests", auth_methods_for_c2s_SUITE}.
% {suites, "tests", local_iq_SUITE}.
% {suites, "tests", tcp_listener_SUITE}.

{config, ["test.config"]}.
{logdir, "ct_report"}.
Expand Down
Loading