diff options
-rw-r--r-- | src/ejabberd_config.erl | 2 | ||||
-rw-r--r-- | src/ejabberd_s2s_in.erl | 6 | ||||
-rw-r--r-- | src/eldap_filter_yecc.yrl | 4 | ||||
-rw-r--r-- | src/mod_offline.erl | 3 | ||||
-rw-r--r-- | src/odbc_queries.erl | 16 | ||||
-rw-r--r-- | test/ejabberd_SUITE.erl | 29 |
6 files changed, 26 insertions, 34 deletions
diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl index 612cd84ce..dd1db765d 100644 --- a/src/ejabberd_config.erl +++ b/src/ejabberd_config.erl @@ -989,7 +989,7 @@ report_and_stop(Tab, Err) -> halt(string:substr(ErrTxt, 1, 199)). emit_deprecation_warning(Module, NewModule, DBType) -> - ?WARNING_MSG("Module ~s is deprecated, use {~s, [{db_type, ~s}, ...]}" + ?WARNING_MSG("Module ~s is deprecated, use ~s with 'db_type: ~s'" " instead", [Module, NewModule, DBType]). emit_deprecation_warning(Module, NewModule) -> diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl index 4fde814fe..6c594185a 100644 --- a/src/ejabberd_s2s_in.erl +++ b/src/ejabberd_s2s_in.erl @@ -374,8 +374,8 @@ wait_for_feature_request({xmlstreamelement, El}, #xmlel{name = <<"success">>, attrs = [{<<"xmlns">>, ?NS_SASL}], children = []}), - ?DEBUG("(~w) Accepted s2s authentication for ~s", - [StateData#state.socket, AuthDomain]), + ?INFO_MSG("Accepted s2s EXTERNAL authentication for ~s (TLS=~p)", + [AuthDomain, StateData#state.tls_enabled]), change_shaper(StateData, <<"">>, jlib:make_jid(<<"">>, AuthDomain, <<"">>)), {next_state, wait_for_stream, @@ -515,6 +515,8 @@ stream_established({valid, From, To}, StateData) -> [{<<"from">>, To}, {<<"to">>, From}, {<<"type">>, <<"valid">>}], children = []}), + ?INFO_MSG("Accepted s2s dialback authentication for ~s (TLS=~p)", + [From, StateData#state.tls_enabled]), LFrom = jlib:nameprep(From), LTo = jlib:nameprep(To), NSD = StateData#state{connections = diff --git a/src/eldap_filter_yecc.yrl b/src/eldap_filter_yecc.yrl index a70ea3e74..fe2a075c0 100644 --- a/src/eldap_filter_yecc.yrl +++ b/src/eldap_filter_yecc.yrl @@ -38,9 +38,9 @@ any -> '$empty': []. initial -> value: initial('$1'). final -> value: final('$1'). -extensible -> xattr ':dn' ':' matchingrule ':=' value: extensible('$6', ['$1', '$4']). +extensible -> xattr ':dn' ':' matchingrule ':=' value: extensible('$6', ['$1', '$4', {dnAttributes, true}]). extensible -> xattr ':' matchingrule ':=' value: extensible('$5', ['$1', '$3']). -extensible -> xattr ':dn' ':=' value: extensible('$4', ['$1']). +extensible -> xattr ':dn' ':=' value: extensible('$4', ['$1', {dnAttributes, true}]). extensible -> xattr ':=' value: extensible('$3', ['$1']). extensible -> ':dn' ':' matchingrule ':=' value: extensible('$5', ['$3']). extensible -> ':' matchingrule ':=' value: extensible('$4', ['$2']). diff --git a/src/mod_offline.erl b/src/mod_offline.erl index bb488f8c5..95c5881df 100644 --- a/src/mod_offline.erl +++ b/src/mod_offline.erl @@ -296,8 +296,9 @@ get_sm_features(Acc, _From, _To, _Node, _Lang) -> store_packet(From, To, Packet) -> Type = xml:get_tag_attr_s(<<"type">>, Packet), + BodyElem = xml:get_path_s(Packet,[{elem, <<"body">>}]), if (Type /= <<"error">>) and (Type /= <<"groupchat">>) - and (Type /= <<"headline">>) -> + and (Type /= <<"headline">>) and (<<>> /= BodyElem) -> case has_no_storage_hint(Packet) of false -> case check_event(From, To, Packet) of diff --git a/src/odbc_queries.erl b/src/odbc_queries.erl index e0637f840..09549c0a2 100644 --- a/src/odbc_queries.erl +++ b/src/odbc_queries.erl @@ -97,10 +97,14 @@ update_t(Table, Fields, Vals, Where) -> of {updated, 1} -> ok; _ -> - ejabberd_odbc:sql_query_t([<<"insert into ">>, Table, + Res = ejabberd_odbc:sql_query_t([<<"insert into ">>, Table, <<"(">>, join(Fields, <<", ">>), <<") values ('">>, join(Vals, <<"', '">>), - <<"');">>]) + <<"');">>]), + case Res of + {updated,1} -> ok; + _ -> Res + end end. update(LServer, Table, Fields, Vals, Where) -> @@ -115,10 +119,14 @@ update(LServer, Table, Fields, Vals, Where) -> of {updated, 1} -> ok; _ -> - ejabberd_odbc:sql_query(LServer, + Res = ejabberd_odbc:sql_query(LServer, [<<"insert into ">>, Table, <<"(">>, join(Fields, <<", ">>), <<") values ('">>, - join(Vals, <<"', '">>), <<"');">>]) + join(Vals, <<"', '">>), <<"');">>]), + case Res of + {updated,1} -> ok; + _ -> Res + end end. %% F can be either a fun or a list of queries diff --git a/test/ejabberd_SUITE.erl b/test/ejabberd_SUITE.erl index e842d7975..f6f6bef44 100644 --- a/test/ejabberd_SUITE.erl +++ b/test/ejabberd_SUITE.erl @@ -1551,29 +1551,10 @@ split(Data) -> clear_riak_tables(Config) -> User = ?config(user, Config), Server = ?config(server, Config), - Slave = jlib:make_jid(<<"test_slave">>, Server, <<>>), - Master = jlib:make_jid(<<"test_master">>, Server, <<>>), Room = muc_room_jid(Config), - {U, S, _} = jlib:jid_tolower(jlib:make_jid(User, Server, <<>>)), - {USlave, SSlave, _} = LSlave = jlib:jid_tolower(Slave), - {UMaster, SMaster, _} = LMaster = jlib:jid_tolower(Master), - {URoom, SRoom, _} = jlib:jid_tolower(jlib:jid_remove_resource(Room)), - US = {U, S}, - USSlave = {USlave, SSlave}, - USMaster = {UMaster, SMaster}, - USRoom = {URoom, SRoom}, - ok = ejabberd_riak:delete(roster, {USlave, SSlave, LMaster}), - ok = ejabberd_riak:delete(roster, {UMaster, SMaster, LSlave}), - ok = ejabberd_riak:delete(passwd, US), - ok = ejabberd_riak:delete(passwd, USSlave), - ok = ejabberd_riak:delete(passwd, USMaster), - ok = ejabberd_riak:delete(roster_version, USSlave), - ok = ejabberd_riak:delete(roster_version, USMaster), - ok = ejabberd_riak:delete(last_activity, US), - ok = ejabberd_riak:delete(last_activity, USSlave), - ok = ejabberd_riak:delete(last_activity, USMaster), - ok = ejabberd_riak:delete(vcard, US), - ok = ejabberd_riak:delete(privacy, US), - ok = ejabberd_riak:delete(private_storage, {U, S, <<"storage:bookmarks">>}), - ok = ejabberd_riak:delete(muc_room, USRoom), + {URoom, SRoom, _} = jlib:jid_tolower(Room), + ejabberd_auth:remove_user(User, Server), + ejabberd_auth:remove_user(<<"test_slave">>, Server), + ejabberd_auth:remove_user(<<"test_master">>, Server), + mod_muc:forget_room(Server, URoom, SRoom), Config. |