aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ejabberd_config.erl2
-rw-r--r--src/ejabberd_s2s_in.erl6
-rw-r--r--src/eldap_filter_yecc.yrl4
-rw-r--r--src/mod_offline.erl3
-rw-r--r--src/odbc_queries.erl16
-rw-r--r--test/ejabberd_SUITE.erl29
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.