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

strip acc before running filter_local_packet #2510

Merged
merged 6 commits into from
Oct 25, 2019

Conversation

bartekgorny
Copy link
Collaborator

@bartekgorny bartekgorny commented Oct 22, 2019

This PR addresses ticket MIM-659.

The issue being solved here is that in filter_local_packet we have already done all the sender-side processing and switch to the recipient side - it is run before ejabberd_sm ships the message to the recipient process, because we don't yet know if he is online and want to do some stuff regardless. So the accumulator should be already stripped of all sender-related cached data.

Proposed changes include:

  • strip acc in mongoose_local_delivery, not in ejabberd_sm
  • test which stops the message if at the filter_local_packet stage the acc still contains some data cached by the sender

@mongoose-im
Copy link
Collaborator

mongoose-im commented Oct 22, 2019

7374.1 / Erlang 22.0 / small_tests / ab8661e
Reports root / small


7374.2 / Erlang 22.0 / internal_mnesia / ab8661e
Reports root/ big
OK: 1268 / Failed: 0 / User-skipped: 138 / Auto-skipped: 3

acc_e2e_SUITE:init_per_suite
{'EXIT',{{badmatch,{error,enoent}},
     [{acc_e2e_SUITE,acc_test_helper_code,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,163}]},
      {acc_e2e_SUITE,init_per_suite,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,66}]},
      {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
      {test_server,run_test_case_eval1,6,
             [{file,"test_server.erl"},{line,1351}]},
      {test_server,run_test_case_eval,9,
             [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7374.3 / Erlang 22.0 / odbc_mssql_mnesia / ab8661e
Reports root/ big
OK: 2487 / Failed: 0 / User-skipped: 199 / Auto-skipped: 3

acc_e2e_SUITE:init_per_suite
{'EXIT',{{badmatch,{error,enoent}},
     [{acc_e2e_SUITE,acc_test_helper_code,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,163}]},
      {acc_e2e_SUITE,init_per_suite,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,66}]},
      {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
      {test_server,run_test_case_eval1,6,
             [{file,"test_server.erl"},{line,1351}]},
      {test_server,run_test_case_eval,9,
             [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7374.4 / Erlang 22.0 / mysql_redis / ab8661e
Reports root/ big
OK: 2482 / Failed: 0 / User-skipped: 204 / Auto-skipped: 3

acc_e2e_SUITE:init_per_suite
{'EXIT',{{badmatch,{error,enoent}},
     [{acc_e2e_SUITE,acc_test_helper_code,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,163}]},
      {acc_e2e_SUITE,init_per_suite,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,66}]},
      {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
      {test_server,run_test_case_eval1,6,
             [{file,"test_server.erl"},{line,1351}]},
      {test_server,run_test_case_eval,9,
             [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7374.7 / Erlang 22.0 / elasticsearch_and_cassandra_mnesia / ab8661e
Reports root/ big
OK: 328 / Failed: 0 / User-skipped: 28 / Auto-skipped: 0


7374.6 / Erlang 22.0 / ldap_mnesia / ab8661e
Reports root/ big
OK: 1237 / Failed: 0 / User-skipped: 169 / Auto-skipped: 3

acc_e2e_SUITE:init_per_suite
{'EXIT',{{badmatch,{error,enoent}},
     [{acc_e2e_SUITE,acc_test_helper_code,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,163}]},
      {acc_e2e_SUITE,init_per_suite,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,66}]},
      {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
      {test_server,run_test_case_eval1,6,
             [{file,"test_server.erl"},{line,1351}]},
      {test_server,run_test_case_eval,9,
             [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7374.5 / Erlang 22.0 / riak_mnesia / ab8661e
Reports root/ big
OK: 1401 / Failed: 0 / User-skipped: 145 / Auto-skipped: 3

acc_e2e_SUITE:init_per_suite
{'EXIT',{{badmatch,{error,enoent}},
     [{acc_e2e_SUITE,acc_test_helper_code,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,163}]},
      {acc_e2e_SUITE,init_per_suite,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,66}]},
      {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
      {test_server,run_test_case_eval1,6,
             [{file,"test_server.erl"},{line,1351}]},
      {test_server,run_test_case_eval,9,
             [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7374.9 / Erlang 21.3 / pgsql_mnesia / ab8661e
Reports root/ big / small
OK: 2500 / Failed: 0 / User-skipped: 186 / Auto-skipped: 3

acc_e2e_SUITE:init_per_suite
{'EXIT',{{badmatch,{error,enoent}},
     [{acc_e2e_SUITE,acc_test_helper_code,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,163}]},
      {acc_e2e_SUITE,init_per_suite,1,
             [{file,"/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
              {line,66}]},
      {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1562}]},
      {test_server,run_test_case_eval1,6,
             [{file,"test_server.erl"},{line,1165}]},
      {test_server,run_test_case_eval,9,
             [{file,"test_server.erl"},{line,1012}]}]}}

Report log

@bartekgorny bartekgorny force-pushed the strip-accumulator-before-filter_local_packet branch from 0aec90e to c3a5fb8 Compare October 23, 2019 07:57
@codecov
Copy link

codecov bot commented Oct 23, 2019

Codecov Report

Merging #2510 into master will decrease coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2510      +/-   ##
==========================================
- Coverage   78.93%   78.92%   -0.01%     
==========================================
  Files         339      340       +1     
  Lines       29349    29354       +5     
==========================================
+ Hits        23166    23169       +3     
- Misses       6183     6185       +2
Impacted Files Coverage Δ
src/ejabberd_service.erl 67.74% <100%> (ø) ⬆️
src/pubsub/mod_pubsub.erl 72% <100%> (-0.04%) ⬇️
src/mongoose_local_delivery.erl 100% <100%> (ø) ⬆️
src/ejabberd_sm.erl 84.1% <100%> (ø) ⬆️
src/ejabberd.erl 45% <0%> (-10%) ⬇️
src/mam/mod_mam_rdbms_prefs.erl 92.59% <0%> (-3.71%) ⬇️
src/mongoose_bin.erl 90.9% <0%> (-2.43%) ⬇️
src/rdbms/mongoose_rdbms.erl 69.74% <0%> (-2.06%) ⬇️
src/dynamic_compile.erl 34.21% <0%> (-1.32%) ⬇️
src/mam/mod_mam_utils.erl 83.49% <0%> (-0.67%) ⬇️
... 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 ecb2932...17e9f66. Read the comment docs.

@mongoose-im
Copy link
Collaborator

mongoose-im commented Oct 23, 2019

7378.1 / Erlang 22.0 / small_tests / 7a248f2
Reports root / small


7378.2 / Erlang 22.0 / internal_mnesia / 7a248f2
Reports root/ big
OK: 1271 / Failed: 0 / User-skipped: 138 / Auto-skipped: 0


7378.3 / Erlang 22.0 / odbc_mssql_mnesia / 7a248f2
Reports root/ big
OK: 2490 / Failed: 0 / User-skipped: 199 / Auto-skipped: 0


7378.4 / Erlang 22.0 / mysql_redis / 7a248f2
Reports root/ big
OK: 2485 / Failed: 0 / User-skipped: 204 / Auto-skipped: 0


7378.7 / Erlang 22.0 / elasticsearch_and_cassandra_mnesia / 7a248f2
Reports root/ big
OK: 328 / Failed: 0 / User-skipped: 28 / Auto-skipped: 0


7378.5 / Erlang 22.0 / riak_mnesia / 7a248f2
Reports root/ big
OK: 1404 / Failed: 0 / User-skipped: 145 / Auto-skipped: 0


7378.6 / Erlang 22.0 / ldap_mnesia / 7a248f2
Reports root/ big
OK: 1240 / Failed: 0 / User-skipped: 169 / Auto-skipped: 0


7378.9 / Erlang 21.3 / pgsql_mnesia / 7a248f2
Reports root/ big / small
OK: 2503 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0

@@ -53,3 +72,13 @@ alter_message({From, To, Acc, Packet}) ->
PCh2 = lists:keyreplace(<<"body">>, 2, PCh, NewBody),
{From, To, Acc, {xmlel, PName, PAttrs, PCh2}}.

cached_my_jid(User, Acc) ->

This comment was marked as resolved.

drop_if_jid_not_mine({F, T, #{ stanza := #{ type := <<"chat">> } } = Acc, P}) ->
%% since we are in filter_local_packet, means we are just about to deliver the message
%% sender-side processing is already completed and now we want the other guy values
MyJid = jid:to_binary(jid:to_lus(T)),
Copy link
Member

Choose a reason for hiding this comment

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

There is no real need to convert this JID to binary, does it?

M = escalus_stanza:chat_to(escalus_client:short_jid(Bob), <<"hi">>),
escalus:send(Alice, M),
R = escalus_client:wait_for_stanza(Bob),
ct:pal("R: ~p", [R]),
Copy link
Member

Choose a reason for hiding this comment

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

Debug to be removed.

@@ -127,6 +140,23 @@ message_altered_by_filter_local_packet_hook(Config) ->
ok
end).


This comment was marked as resolved.

@mongoose-im
Copy link
Collaborator

mongoose-im commented Oct 24, 2019

7396.1 / Erlang 22.0 / small_tests / 51a1e38
Reports root / small


7396.2 / Erlang 22.0 / internal_mnesia / 51a1e38
Reports root/ big
OK: 1272 / Failed: 3 / User-skipped: 138 / Auto-skipped: 0

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE84.603471@localhost/res1">>},
        {<<"to">>,<<"bOb84.603471@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE84.603471@localhost/res1' to='bOb84.603471@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE84.779109@localhost/res1">>},
        {<<"to">>,<<"bOb84.779109@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE84.779109@localhost/res1' to='bOb84.779109@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE84.948056@localhost/res1">>},
        {<<"to">>,<<"bOb84.948056@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE84.948056@localhost/res1' to='bOb84.948056@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7396.3 / Erlang 22.0 / odbc_mssql_mnesia / 51a1e38
Reports root/ big
OK: 2491 / Failed: 3 / User-skipped: 199 / Auto-skipped: 0

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE20.839807@localhost/res1">>},
        {<<"to">>,<<"bOb20.839807@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE20.839807@localhost/res1' to='bOb20.839807@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE21.44971@localhost/res1">>},
        {<<"to">>,<<"bOb21.44971@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE21.44971@localhost/res1' to='bOb21.44971@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE21.241556@localhost/res1">>},
        {<<"to">>,<<"bOb21.241556@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE21.241556@localhost/res1' to='bOb21.241556@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7396.4 / Erlang 22.0 / mysql_redis / 51a1e38
Reports root/ big
OK: 2486 / Failed: 3 / User-skipped: 204 / Auto-skipped: 0

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE60.577633@localhost/res1">>},
        {<<"to">>,<<"bOb60.577633@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE60.577633@localhost/res1' to='bOb60.577633@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE60.799773@localhost/res1">>},
        {<<"to">>,<<"bOb60.799773@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE60.799773@localhost/res1' to='bOb60.799773@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE61.16097@localhost/res1">>},
        {<<"to">>,<<"bOb61.16097@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE61.16097@localhost/res1' to='bOb61.16097@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7396.7 / Erlang 22.0 / elasticsearch_and_cassandra_mnesia / 51a1e38
Reports root/ big
OK: 328 / Failed: 0 / User-skipped: 28 / Auto-skipped: 0


7396.5 / Erlang 22.0 / riak_mnesia / 51a1e38
Reports root/ big
OK: 1405 / Failed: 3 / User-skipped: 145 / Auto-skipped: 0

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE96.7967@localhost/res1">>},
        {<<"to">>,<<"bOb96.7967@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE96.7967@localhost/res1' to='bOb96.7967@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE96.283836@localhost/res1">>},
        {<<"to">>,<<"bOb96.283836@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE96.283836@localhost/res1' to='bOb96.283836@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE96.556661@localhost/res1">>},
        {<<"to">>,<<"bOb96.556661@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE96.556661@localhost/res1' to='bOb96.556661@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7396.6 / Erlang 22.0 / ldap_mnesia / 51a1e38
Reports root/ big
OK: 1241 / Failed: 3 / User-skipped: 169 / Auto-skipped: 0

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE41.456008@localhost/res1">>},
        {<<"to">>,<<"bOb41.456008@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE41.456008@localhost/res1' to='bOb41.456008@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE41.630866@localhost/res1">>},
        {<<"to">>,<<"bOb41.630866@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE41.630866@localhost/res1' to='bOb41.630866@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE41.811960@localhost/res1">>},
        {<<"to">>,<<"bOb41.811960@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE41.811960@localhost/res1' to='bOb41.811960@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1748}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1263}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1195}]}]}}

Report log


7396.9 / Erlang 21.3 / pgsql_mnesia / 51a1e38
Reports root/ big / small
OK: 2504 / Failed: 3 / User-skipped: 186 / Auto-skipped: 0

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE21.600417@localhost/res1">>},
        {<<"to">>,<<"bOb21.600417@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE21.600417@localhost/res1' to='bOb21.600417@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1562}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1080}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1012}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE21.831275@localhost/res1">>},
        {<<"to">>,<<"bOb21.831275@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE21.831275@localhost/res1' to='bOb21.831275@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1562}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1080}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1012}]}]}}

Report log

acc_e2e_SUITE:message:message_altered_by_filter_local_packet_hook
{error,
  {{assertion_failed,assert,is_chat_message,
     [<<"bye">>],
     {xmlel,<<"message">>,
       [{<<"from">>,<<"alicE22.57226@localhost/res1">>},
        {<<"to">>,<<"bOb22.57226@localhost">>},
        {<<"xml:lang">>,<<"en">>},
        {<<"type">>,<<"chat">>}],
       [{xmlel,<<"body">>,[],[{xmlcdata,<<"hi">>}]}]},
     "<message from='alicE22.57226@localhost/res1' to='bOb22.57226@localhost' xml:lang='en' type='chat'><body>hi</body></message>"},
   [{escalus_new_assert,assert_true,2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_new_assert.erl"},
       {line,84}]},
    {acc_e2e_SUITE,'-message_altered_by_filter_local_packet_hook/1-fun-0-',
      2,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/ejabberd_tests/tests/acc_e2e_SUITE.erl"},
       {line,139}]},
    {escalus_story,story,4,
      [{file,
         "/home/travis/build/esl/MongooseIM/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1562}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1080}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1012}]}]}}

Report log

@mongoose-im
Copy link
Collaborator

mongoose-im commented Oct 24, 2019

7399.1 / Erlang 22.0 / small_tests / cf93548
Reports root / small


7399.2 / Erlang 22.0 / internal_mnesia / cf93548
Reports root/ big
OK: 1271 / Failed: 0 / User-skipped: 138 / Auto-skipped: 0


7399.3 / Erlang 22.0 / odbc_mssql_mnesia / cf93548
Reports root/ big
OK: 2490 / Failed: 0 / User-skipped: 199 / Auto-skipped: 0


7399.4 / Erlang 22.0 / mysql_redis / cf93548
Reports root/ big
OK: 2485 / Failed: 0 / User-skipped: 204 / Auto-skipped: 0


7399.7 / Erlang 22.0 / elasticsearch_and_cassandra_mnesia / cf93548
Reports root/ big
OK: 328 / Failed: 0 / User-skipped: 28 / Auto-skipped: 0


7399.5 / Erlang 22.0 / riak_mnesia / cf93548
Reports root/ big
OK: 1404 / Failed: 0 / User-skipped: 145 / Auto-skipped: 0


7399.6 / Erlang 22.0 / ldap_mnesia / cf93548
Reports root/ big
OK: 1240 / Failed: 0 / User-skipped: 169 / Auto-skipped: 0


7399.9 / Erlang 21.3 / pgsql_mnesia / cf93548
Reports root/ big / small
OK: 2503 / Failed: 0 / User-skipped: 186 / Auto-skipped: 0

@@ -136,10 +136,7 @@ socket_type() ->
-spec process_packet(Acc :: mongoose_acc:t(), From :: jid:jid(), To :: jid:jid(),
El :: exml:element(), Pid :: pid()) -> any().
process_packet(Acc, From, To, El, Pid) ->
Pid ! {route, From, To, mongoose_acc:strip(#{ lserver => From#jid.lserver,
Copy link
Member

Choose a reason for hiding this comment

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

I'm wondering now that it could break some logic (such as metrics? calls to DB pools?) because now the lserver is taken from the recipient JID, which totally makes sense but in case of components and PubSub actually changes the value in this acc field (when compared to the original code).

I'm not saying it's wrong but have considered all consequences?

@fenek fenek merged commit 7f709cd into master Oct 25, 2019
@fenek fenek deleted the strip-accumulator-before-filter_local_packet branch October 25, 2019 11:55
@michalwski michalwski added this to the 3.6.0 milestone Jan 22, 2020
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